Tag Archives: linux

Sometimes it pays to read the changelog

From this morning’s updates on ubuntu.

Version 2009n-0ubuntu0.9.04.1:

  * Add argentinas-dst-2009.diff: Disable DST switch for Argentina tomorrow,
    as the Argentina government decided yesterday. Careful planning is boring.
    Thanks to Margarita Manterola for the patch! (LP: #453165)

I find timezones fascinating, especially how much they get messed with for no particularly justifiable reason.

I’ve got an Android in my pocket

On Friday morning, I picked up my shiney new HTC Hero from Best Buy.  It had been nearly 4 years since my last new cell phone, and the tech at Best Buy was really confused about that.  It was the longest between upgrades for anyone he’d ever seen.  But in 2007, when I became eligible for a phone upgrade, the Open Handset Alliance was formed, with Sprint as a founding member, and I made a decision that I wasn’t going to buy another phone until it had Android on it.

Android is a Linux based operating system that can be used for smart phones (though many folks are looking to put it into all manner of small form factor devices).  Beyond the base operating system it also provides a Java SDK for creating applications, which is one of the cleanest development models I’ve seen to date.

In the past 2 days I’ve been putting my phone through it’s paces, and have to say I’m just down right psyched about this phone.  I was always a touchscreen keyboard skeptic, but the wideform + predictive correction in this phone pretty much washed away that skepticism.  The Sense UI (which is this 7 virtual desktops thing) is just awesome.  Each is configurable with widgets and icons seperately, and you get to have as many saved configurations of those as you like.  My brain is already thinking about widgets I could build to pull in some of the information I want into this UI.  The NFL widget that Sprint wrote and added showed this off quite nicely, as it gives you a heads up on your favorite team, including live play by play updates during the game.

The phone strongly integrates with google services (go figure!).  You feed it your google account info during setup, then your calendar is live synced, as is your contact list, email’s connected, and off you go.  You can break any of these links if you want, but having it all just work is great.  There is also strong integrate with facebook, myspace (which I don’t use), and twitter.  Enter you account details into the phone for facebook and the first thing it does is cross reference your contact list with your facebook friends and say “I think these folks are the same, want me to link them?”.  From there on out you get people pictures from facebook for those contacts, as well as their birthdays in your contact list.

While the app store is still a little light at this point compared to the Apple one, I suspect getting Sprint online this month, and Verizon next, is going to change that.  Application development is one of the reasons I was most excited about the phone.  While the iPhone looks cool, the combination of Objective C, having to own a Macbook Pro, and the random whims of Apple application approval, was just a no win situation for me.  With Android there is an eclipse environment + simulator that works on Windows, Mac, and Linux.  The code is Java… or python, javascript, jruby, lua, etc via the Android Scripting Environment.  A checkbox in the phone preferences lets you download and install applications from anywhere.  Typically people are using QR Codes to encode their app installation urls, and there is an app on the phone that just scans those to install.

The phone just feels great.  With all the android phones that are about to come out, I was hesitating earlier this week about whether I should wait until the end of the month for the Samsung Moment with the hard keyboard.  I’m glad I didn’t.  This phone just feels awesome, and I can’t wait to start hacking on mobile apps later this week.

Ohio Linux Fest 2009

If you had told me the biggest community Linux event in the United States took place in Columbus Ohio, I don’t think I would have believed you before this last weekend.  But Ohio Linux Fest blew away all my expectations, with 1100 in attendance, it was a truly phenomenal event.  There were many great stories from the event, but I’ll just drop in a few highlights.

OpenSim Presentation

My main reason for being out there was giving a technical presentation on OpenSim.  I’ve done this presentation in a few other places, so this information I was quite comfortable with, and even had a bit of live demo.  Because I had a last minute tech issue with my laser pointer I wasn’t really paying attention with how full the room had become once I got started.  I must have had at least 200 people in that room, and 250 is probably not an unreasonable guess.  Compare that with the 15 I had a Linux World last year, and you get a sense of how much more committed people are here to the tech agenda.

I had intentionally kept the content light and short, as I’d always run over in the past, and the OLF folks are very strict on time keeping (which I highly appreciate as both an attendee and speaker).  With my talk going from 4:00 – 4:55, I had slides, then a live demo, then figured I’d open up with questions.  The slide portion went over ok, but it was hard to guage where the audience was at, when I got to the live demo at 4:25, things seem to perk up, and as I’d already gotten a quick audience question when starting up OpenSim I decided to go for broke, and just end the demo after 10 minutes and open up the floor for questions.  Leaving a 20 minute question gap was a gamble, because I’d been in a few other presentations that only got 1 or 2 questions at the end, but I figured I could always go back to playing with things if it got really quiet in the room.

It didn’t.  I had questions from all over the floor, must have answered at least 10 of them in that 20 minutes.  That even included a question from Doug McIlroy, the evening’s keynote speaker.  After the talk I had another half dozen folks follow me out and ask more questions out in the hallway, always a great sign.  I couldn’t have asked for a better audience, and really appreciate what the organizers of Ohio Linux Fest are able to pull off year after year.

The Guys from NOOSS

Before I left for the event I was found internally at IBM by on of the guys from the Northern Ohio Open Source Society to do an interview with them on OpenSim for their live all day podcast.  That was a great time.  Even though I’m becoming less active in the OpenSim project now, I’m hoping this push to get the word out on the project helps further grow the community.

As we wandered out from the after party the NOOSS guys had moved their recording setup to the lobby, and enticed us with some Great Lakes Brewery beer and Scotch to hang out on the NSFW portion of the podcast.  Don’t go and listen to that unless you are a brave soul.  It did however let me put in a plug for my Brother In-Law, Andy Tveekrem, who has recently left as brew master of Dog Fish Head, once was the brewmaster of Great Lakes Brewery, and is planning on setting up a Brew Pub in Cleveland next year.  I’ll have to get word out to the NOOSS guys once they open, because their impecable taste in beer means I’m sure they’ll find a home there. 🙂

It’s worth the 11 hours in the Car

There were so many other good times, too many to retell here.  Joe, my driving companion, took some video on the trip, which we may manage to cut down to something reasonable for posting online.  It took us 11 hours each way to get there and back.  Before the trip I was really concerned that it was going to be a lot of driving for not much.  But this event was definitely worth the drive, and I’m already planning on going back next year, speaker or not.  It was a really great event.

gwbn – goto window by name in Linux

Years ago when I was using the Ion window manager.  Ion had many very nice features, not the least of which was goto window by name, which you could do from an interactive console or script into other tools.  I created an “e” command, which loaded the file in emacs, then moved you to the emacs desktop window.  This was a great minor productivity boost.

Ion went off the rails for me in a number of ways, so I left, and started using stock gnome in ubuntu.  Using a combination of tilda, superswitcher, and devilspie you can get very close to the functionality that I missed, with the added benefits of all the modern bits of the gnome desktop, like dbus, nautilus, and hardware just working and doing the right thing when you plug it in.  But I never got goto window by name back.  I played with libwnck for a while 2 years ago, and never could figure out what I was doing wrong.

Yesterday, with an hour of idle time in the morning waiting for people to get back to me, I decided to look at the problem again.  This time I started with the libwnck perl bindings, because getting rid of the compile time meant I could experiment a lot more in less time.  After about 20 minutes of guessing on the API I figured out what I had probably missed before, the screen object needs a second stage initialization.  After 20 minutes more, I had gwbn, a perl program that took a regex on the command line and moved my desktop to the first window that matched.

The code is available on github now, and probably on cpan or a ppa for ubuntu before too long.  Now I have my “e” command again, and am a very happy camper.

Talking at Ohio Linux Fest

As it turns out I’ll be giving 2 talks at the Ohio Linux Fest, coming up on Sept 26th in Columbus Ohio.

OpenSim: Open Source 3D Worlds

For OpenSim folks seeing this in the planet (or elsewheres), I’ll be giving an overview of OpenSim at Ohio Linux Fest.  A little bit of history, a little bit of architecture, and hopefully some live demo (if the wireless holds out).  I’ve done this before, and it’s quite a bit of fun, especially when folks in the audience figure out the build tools for the first time, and the in world presentation gets a bunch of random things building in and around you.  If you are within driving distance of Ohio Linux Fest, you should come out for it.  And if you do, please come up and introduce yourself afterwards.

A Decade of Linux at IBM

I was asked today to fill another slot, with a talk that’s become called a Decade of Linux at IBM.  I’ve been part of the LTC for 8.5 years now, since near the inception, and part of some of the underground Linux movement at IBM before that.  Starting in early 1999 I began running Linux as my primary desktop inside the firewall, and never looked back.  I managed to sneak Linux into the Sydney 2000 Olympics, and was lucky enough to move into the LTC as it was starting to spin up in early 2001.  This talk will be a mix of history and tech, with hopefully a couple of fun annecdotes from the early days of Linux at IBM, through to modern day, highlighting a lot of what we’ve accomplished as a group along the way.

Now I just need to work on my slides… as it’s only 15 days away!

Microsoft and Linux

A curious thing happened yesterday, a thing that had been feared for years, Microsoft code started down the road to be included in the Linux kernel.  But, unlike the fears of old, it wasn’t slipped in in the middle of the night as a secret time bomb.  It was presented at the front door, going to LKML directly.

Well, maybe it was the side door.  As it wasn’t actually a microsoft.com post to LKML, it was actually Greg K-H doing the heavy lifting, as Microsoft is working it’s patches in via Novell.  Greg is one of the harshest reviewers out there, so in working through him, these should actually be well up to community standards now.  It also shows some street smarts in not running the gauntlet directly.

I’m still not sure what to make of all of this, as earlier this year Microsoft sued TomTom, and forced crippling of the Linux vfat driver to dodge MS patents.  That being said, I’m also of no illusion that MS speaks with one voice.  Big organizations don’t do that, and breaking in lawyers to understand open source principals takes a good few years (I know, I’ve done it before).

It will be curious to see if these drivers make it in to upstream.  There are plenty of good reasons, and many bad, why they wouldn’t.  Far more useful features have managed to not make it mainstream in the past, and nothing draws the lightning like Microsoft.  I look forward to seeing how this will play out.

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.

Build your own real time whiteboard sharing on Linux

I can’t even remember the last time I had a coworker that was co-located with me in the same town.  Within IBM the other software developers that I typically work with are in: Minnesota, Texas, Germany, Great Britain, Switzerland, Germany, Brazil, and Australia.  These are the folks that I would have 1 or more technical discussions with a week.  If I openned that umbrella up to a month, we’d add another few countries, and a whole lot more states.

A truly unsolved challenge in collaboration is replacing white board discussions with some sort of online equivalent.  I’ve got a drawing tablet, but honestly, my brain doesn’t think quite as well with it as when I get on a proper whiteboard.  After a phone conversation earlier this week that I realized was circling for lack of common artifacts, I took some time to try and figure out how I could get people to see the whiteboard in my office.

Ingredients of Real Time Whiteboarding

  • Logitech 9000 web cam.  This has 1600×1200 resolution, runs about $90, and does low light scenarios really well.
  • mjpg_streamer
  • a Linux machine that’s at least a P4 processor

Install all this software onto you Linux machine.  Then run the following to start streaming your webcam as video in real time:

mjpg_streamer -i "input_uvc.so -d /dev/video0 -y -r 1600x1200" -o "output_http.so -w /webcam_www -p 8080"

Viewing the results

The results can be viewed a number of ways.  There is a built in client in the source tree (screen shot below is from that).  You can also view it from vlc or firefox with the url http://your.server.name:8080/?action=stream. (In firefox I found you need 1 reload to get it to update frames, not sure why).  If you want to just get the current frame you can use http://your.server.name:8080/?action=snapshot.

The results a quite impressive (you may need to right click to get to full res):

This is definitely readable to as small as you are going to be able to write.  It’s about a 5 second delay from capture point to writing, which isn’t too bad considering.  I’m definitely going to use this in the days ahead, as it works a heck of a lot better for me than trying to diagram in a computer program interactively.  You’ll get motion blur on people, but given that this is mostly about the text on the whiteboard, that’s not really a big deal.

Update: I figured out how to do this with firefox and vlc, so the text now reflects that.

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. 🙂