Tag Archives: ubuntu

Ubuntu One – Cannonical’s storage cloud

I’m quite impressed by how agressively the Cannonical team is getting when it comes to cloud computing.  They’re integrating eucalyptus into Ubuntu 9.10, which is open source software that lets you build your own “Amazon-like” cloud.  Eucalyptus even implements the same APIs so that all those hundreds of EC2 applications work with it.

But the Cannonical folks haven’t stopped there.  They recently launched Ubuntuone, which is a storage cloud.  Anyone running Ubuntu 9.04 can sign up for an invite (I did last month, and just got mine yesterday).  This provides you with 2 GB of cloud storage for free, or 10 GB for a nominal fee.  The mechanics behind Ubuntuone is an applet that’s running which synchronizes $HOME/Ubuntu One directory on changes.  It’s not rocket science, but it is seemlessly integrated.

At 2 GB of free space, this isn’t for keeping media in sync.  It will do a fair job with text documents, and I’ve started to put my ebooks and pdfs into it for easy reading wherever I am.  I’m also considering redoing my dot files sharing in this manner, though that will mean symlinking into the Ubuntuone directory, as it doesn’t seem like you can share beyond it.

Another interesting feature is a “share with others” on those documents.  That opens this up to be a ghetto version of google docs, at least amongst Ubuntu users.  Again, while this is not rocket science, usability is a huge feature here, and the fact that it is so seemless starts to bring a lot of value to having a whole office on Ubuntu. 

This is where I think Cannonical is making a really brilliant play.  Previously Linux on the Desktop was always about being interoperable with other people’s stuff, as it was the edge case, and the value in running all Linux on the desktop was low.  With really useful, Linux only, services like Ubuntu One, there is now an incentive to get everyone there.  The Mac folks have been playing this game for years with all their zeroconf tools that work on a local network, and it definitely helped shore up offices of Mac users.

Kudos to Mark and the Ubuntu folks for thinking past just desktop clones and really starting to push cloud as a concept into Ubuntu across the board.  It makes me excited to be both a Linux and Ubuntu user, and I can’t wait to see what they add to my platform of choice next.

Ubuntu Jaunty Roundup

I’ve now migrated my work laptop to Ubuntu 9.04 (Jaunty), which went pretty smoothly.  I played some games to use internal mirrors, but still use the graphical update process (instead of just dist-upgrade), which all worked out well.

New in Jaunty

One of the bigger items that got press for Jaunty was their new notification system.  I really does rock.  It looks slick, and is very consistent, and I’m a fan.  I’m also a fan of the new splash screen.  All these bits are cosmetic, but something that looks beautiful is important in using a computing environment.

Bugs Fixed

I’ve had a number of bugs that I used to have to work around, now they work correctly:

  • there used to be a race in bringing up superswitcher when gnome started that meant it didn’t get to lock out the caps lock key.  So I had to stop and restart it after a fresh login.  That appears fixed.
  • Jaunty now understands the right suspend settings for my nvidia card, no need to adjust that in the acpi hal configs any more.
  • emacs-snapshot is now current enough that it loads my configs perfectly.  For the first time in 10 years I’m now running a prebuilt version of emacs/xemacs for daily development.  /usr/local just got a bit smaller for me.

Dear Amarok… why do you suck now?

The Amarok team took their application off a cliff with version 2.0 (which is now what’s in Jaunty).  All support for syncing devices is gone.  While some aspects of their UI is neat, including podcast search, I’m really not interested in going back to rsync for device management.  It’s also really unclear that is ever coming back.  Fortunately, banshee seems to have gotten pretty good, so that’s where I’m at now.

Update notifier, where did you go?

Update manager doesn’t display the orange star for daily updates any more.  There is a workaround listed in the bug, and a lot of this is wrapped up in the philosophy of the new notification system.  However, I really liked my daily updates.  I get that the team was trying to get stuff out of the notification tray but this seems to be throwing the baby out with the bathwater.

Final Thoughts

It’s really nice to see Canonical push Linux into something that is beautiful, consistant, and flexible.  I find myself tweaking my volume settings just to get the nice notifications. 🙂

Live from Hardy Herron

Yesterday seemed like as good a time as any to actually do the upgrade to Ubuntu 8.04 on my laptop. A series of wireless card crashes got me fed up to the point that I had to do something.

The upgrade, via update manager, only had one hitch, when the wireless card bonked out in the middle of it. I suppose it adds appropriate insult to injury, given how often the iwl4965 crashed on my over the last couple of months. Resuming the upgrade on wired ethernet, and all was well.

The Good

Upgrade went flawlessly; fonts look even better; wireless seems better; ssh-askpass now seems to actually trigger on login; firefox 3b5 is fast; liferea is much faster

The Bad

Pidgin 2.4’s usability improvements are anything but; A few of my firefox plugins (delicious links, firebug) don’t work with firefox 3b5 yet (as such, my daily links won’t be on the blog until delicious gets fixed).

The Amusing

During installation some 3rd party packages were removed, including Lotus Notes. While I appreciate Ubuntu’s attempt to make my life better, I sorted of need that for work. 😉 I’m pulling from our internal repos now.

The Year of The Linux Desktop?

Like all previous years, this year probably isn’t any different, and it won’t be the break out year for Linux on the Desktop.

But…  (there’s always a but).

Something interesting happened over the last year.  People I never expected to be Linux users have installed Ubuntu.  My sister in law and nephew both count in this list.  At some level “regular folks” have now come to Linux.  I have no idea if this is a trend or not, but I find it interesting regardless.

More fun with dbus

Since my dbus post last week, I’ve been playing around more with dbus whenever I get a few minutes. The modern Linux desktop is pretty good, but with minor tweaks, you can make things even better. (all this code is now up in a mercurial repository called dbus-hackery).

Automating Inactivity

Pidgin makes sounds on every message to me, xchat makes sounds on certain key words. Without these cues, I’d never remember to go check these applications. Because I have a tendency to leave my laptop on overnight, I found that I’d often have xchat ringing away at midnight when someone was looking for me. If I forgot to mute my machine before that, it would often wake me up.

One of the programs sending signals on dbus is gnome-screensaver.

def connect_screensaver(session_bus)
    ss_dbus = session_bus.service("org.gnome.ScreenSaver")
    ss = ss_dbus.object("/org/gnome/ScreenSaver")
    ss.introspect
    if ss.has_iface? "org.gnome.ScreenSaver"
        ss.default_iface = "org.gnome.ScreenSaver"
        puts "Connected to screensaver"
    end
    return ss
end

def mute()
    IO.popen("aumix -vq") {|r|
        r.read.scan(/(d+)/) {|m|
            @@vol = m
            puts "saved volume: #{@@vol}"
            break
        }
    }
    puts "muting"
    system("aumix -v 0")
end

def unmute()
    puts "unmuting"
    system("aumix -v #{@@vol}")
end

ss = connect_screensaver(session_bus)

ss.on_signal("ActiveChanged") {|s|
    if s
        mute
    else
        unmute
    end
}

The connect will look exactly as expected from the previous look at dbus. The ActiveChanged signal outputs a single parameter, a boolean, which is true when the screensave goes active, false when the screensaver is deactivated.

Volume control on the command line is most easily done with aumix (though if you are on Ubuntu Gutsy you’ll have issues until you rebuild aumix yourself. Hopefully they’ll fix that bug soon.) A little regex fun captures the current levels to a package variable, and restores them back on unmute.

Now I’ve got global mute when the screensaver fires, restored when I return.

Better Away with Pidgin

My screensaver being locked is a pretty clear indication that I’m away, though it being unlocked isn’t a clear indication that I’m back. Especially on weekends, I pop back for a quick check of something, then the computer is put away again.

def set_away(pidgin)
    puts "trying to set away"
    name = "screensaver"
    status = pidgin.PurpleSavedstatusFind(name)[0]
    if not status > 0
        status = pidgin.PurpleSavedstatusNew(name, 5)[0]
    end
    puts "Status #{status}"

    pidgin.PurpleSavedstatusSetMessage(status, "screen saver auto away")
    pidgin.PurpleSavedstatusActivate(status)
end

ss.on_signal("ActiveChanged") {|s|
    if s
        mute
        set_away(pidgin)
    else
        unmute
    end
}

In order to set a status with a message, it has to be a saved status. To prevent growing that to infinity, I first look to see if it is defined, creating a new saved status if not. 5 is a magic number here meaning STATUS_AWAY (reference the pidgin status.h for more info). Then we set the message on that status, and activate it. A single line change on our screen saver signal adds this into play.

Keep on Hacking

One of the things I’m hoping to impress in these posts on dbus is that with a highly functional language like ruby, linking applications on a modern gnome desktop can be done even by mere mortals. Linking sound to your screen saver is something that would have required a reasonable chunk of c code. Now you can do it in 20 lines of ruby, thanks to dbus.

I’ve thought about creating some sort of extended control panel to enable the features I’ve hacked together, but the reality is the code is so small, and so simple, it seems like overkill. With code this easy, you should just jump in and hack it to your own needs.

As I keep playing with dbus, I’ll post more bits here. Twitter integration is still on my list of things to do, and maybe something I’ll even manage to get to this week.