Best downtime message I’ve seen recently
Thursday, July 2nd, 2009I was just following up on an android article, and got this instead:

I laughed.
I was just following up on an android article, and got this instead:

I laughed.
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
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.
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:
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.
Using libconcordance and congruity, you can access the logitech website directly, then hit the update file and let congruity process the 2 hex files (it will hand them to you in the right order) to update your remote. Here is the congruity interface processing the second one:

And with that, I think I crossed off the last app that I still had to keep a windows virtual machine around for.
I was working on the MHVLUG wiki, and needed to find a good color of orange. Typically I just launch gimp, and use the color wheel in there. But I stopped this time, and did this instead:
apt-cache search color picker
which returned 3 results, including gcolor2.

First off, this is exactly the application I needed. It launches fast, and just gives me a color wheel to pick colors. But, it turns out it has something else that’s great.
You see that little eye dropper? You can click it and then click any pixel on your computer, and it will give you the RGB color of that pixel. It doesn’t need to be anything special, as it’s pulling directly from the xbuffer. So handy. I can’t believe I didn’t know this existed until now.
I found that Liferea (my rss reader) was starting to get really slow. Hitting space bar to go to the next article was getting somewhat painful levels of delay.
The Fix
Liferea uses sqlite to store it’s information. Over time, when you delete from sqlite, the db gets pretty unoptimized (lots of tombstones). This can be fixed with the following command (make sure Liferea is NOT running before doing this):
sqlite3 ~/.liferea_1.4/liferea.db vacuum
(adjust the directory if running a different version of liferea.) It both made my liferea.db 1/2 as big, and now everything is snappy again.
If you are in the San Francisco area in early August, I’ll be giving a presentation on OpenSim at the Linux World Conference. Our local linux users group got a preview of that talk this past week. For the talk I started up an OpenSim instance on my laptop and let everyone with wireless and a capable video card connect to it, with much hilarity ensuing. It worked so well, that I’m definitely going to include that portion in my talk at Linux World.
If you are going to be around there, let me know. I’d also love to meet up with OpenSim folks in the SF area during my trip out.
Things that I spent too much time figuring out again today with OpenOffice
Now my life with open office is a bit better.
Having been at a Web 2.0 conference for a chunk of the week, I figured I’d finally download an try Adobe AIR, as they announced a Linux version last week at the Linux Collaboration Summit. I am massively underwhelmed.
First off, only 1 of the top 6 air apps on their site actually run on the Linux build of AIR. That app, an rss reader, which is basically a clone of Liferea, but not noticeably better in any way.
Secondly, transparency doesn’t work. I installed the Screenboard app and the Ruler app, both of which we useless as they didn’t do alpha channel.
Thirdly, their AIR app installer makes a new Gnome application menu for Air Examples each time it installs an application. So I now have 3 Air Examples folders in my application menu, each with 1 application in them.
Finally, air fonts seem to be hard coded to something smaller than my desktop settings, with no clear way to scale them up. Any application framework that doesn’t respect my system font settings is pretty useless to me.
Hopefully a lot of these get fixed in the near future. The only thing that AIR seemed to do was a lot of animated menus, which are pretty, but not actually useful. Perhaps if the alpha layer stuff had worked, I’d be a bit more impressed, but without that all the demo apps seem pretty pointless right now. And the one app that I might actually care about, TwittAir, uses functions the Linux AIR runtime doesn’t have yet.