The Language Umbrella

What happens when there’s a rampant conversation going on on a geek channel? It’s time for Umbrella Metaphors.
“If a language were used to make an umbrella, what would it look like?”
Naturally, there were several suggestions for certain languages.
– PHP umbrella is made of ragged pieces of duct tape
– VB umbrella is old and kids-size
– C++ umbrella requires a 15-digit code to open
– Java umbrella is sold with the handle and material seperately, and you need to match them up, and you have to download it from github
– Ruby umbrella is shaped like a cube, but if you stand in just the right place, it keeps you try
– ASP umbrella is large, but has big holes cut into it
– Fortran umbrella is made of iron, and is rusted shut 😉
– haskell umbrella is inside-out.
– .net umbrellas are a range of colour-matching umbrellas, but they only work with certain types of rain.
– lisp umbrella is old, but still works, and all the new umbrellas coming out look like it more and more
– lisp umbrella is incomprehensible as a functional umbrella. but pushing a button appears to keep the water off you, just have no idea how.
– lisp umbrella is patterned with a bunch of images of other lisp umbrellas on it, which are in turn..
Thanks to Avatar-x, ojacobson, the_goat, Optic, elmood, and the other happy geeks at the Toronto Hacklab

Azureus / Vuze under Ubuntu FAIL!

I’m not sure who to blame here, but someone should get drawn and quartered.
I’m working on setting up Azureus Vuze to run headless on yawl while I’m not around. To test it, I decided to install and run it on clipper.
Things were going quite well – with aptitude installing Vuze fine. I had to run java-update-alternatives to make sure I had the right JVM:

dbs@clipper:/usr/bin$ sudo update-java-alternatives -l
java-6-sun 63 /usr/lib/jvm/java-6-sun
dbs@clipper:/usr/bin$ sudo update-java-alternatives --set java-6-sun

Then, Vuze wouldn’t start:

dbs@clipper:~$ vuze
exec: 11: /usr/lib/jvm/java-6-openjdk/jre/bin/java: not found

“Oh no, they didnt….”
They did. The vuze script starts up the azureus startup script, which is hardcoded to the java-6-openjdk java path:

dbs@clipper:/usr/bin$ head -5 azureus
JAVA='/usr/lib/jvm/java-6-openjdk/jre/bin/java -Xmx1024M'

This isn’t hard to fix, it’s just a quick edit to the startup script – but cmon package maintainers. Get a grip here. The whole java-alternatives stuff is specifically made to avoid this sort of crap. Get it together!

Say hello to ‘Nimitz’

It’s been no secret that the computing power in our friendly server cluster has been falling behind demand. We have 30-40 users and dozens of websites being driven by a pair of 1U servers that, to their credit, are doing a bang-up job.
‘boomer’, our main server, is but a poor Sempron 2400+. It has performed beautifully for 2+ years, but during the day, it’s showing signs of needing some relief.
We added ‘guardian’ about 6 months ago to handle front end mail loads (greylisting), DNS traffic, web proxies, and basic firewall duties. It’s a single 2.4gig Xeon box, and has done a great job.
I’m now deploying several Java applications for customers to use, and I really need some more CPU/Ram to run with.
Welcome ‘nimitz’. Thanks to a long term loan from Alex, we’ll be able to put some rockin dual AMD Opteron action in place. This box will act as an application host, primarily using Tomcat to serve up CONGO installations.
As I type, it has rebooted to it’s ‘nimitz login:’ prompt, and is ready to go.
Oh, why is it called ‘nimitz’? Upon powering it up for the first time, I was nearly jolted off my seat by the sheer noise level of the machine’s 6 internal fans. When it’s running, I can hear it all the way downstairs in the kitchen (2 flights of stairs). It’s flat, noisy, and powerful. So, ‘nimitz.’

Feeding the Tweets

I find myself doing a heck of a lot of twittering lately. The updated version of Twitterrific has an excellent interface, allowing me to post pictures, follow threads, do things like like “show me tweets that are coming from nearby me physically” (which has led me to make some new friends!).
This unfortunately has meant I don’t blog as much. When I see something I want to talk about, I just throw out a twitter post – which may include a picture of something I’ve just seen.
I understand that many of my readers don’t log into Twitter at all, and that’s fine. There is, however, a nice RSS feed of my postings available.
To read my tweets via RSS, use my RSS feed link (which is available on my twitter home page). My tweets are also forwarded into my Facebook page.
Last but not least, there’s a cute widget on my blog home page that shows the last couple tweets I’ve posted.
Twitter, for all it’s buzzwordism, is an interesting medium. I’ll stick with it for a while.

TechGripe – iPhone Mail app

First and foremost, I still love my iphone. It’s become my internet-in-your-pocket device. When I’m not carrying it, I feel like something’s missing.
But that doesn’t mean it doesn’t have it’s faults – and today’s itch is with the Mail app.
I have Mail configured to chat with the Exchange 2007 server at work (which works remarkably well – I get meeting notifications, etc). I also have it configured to talk to my Homeport mailbox over IMAPS. This works… well, but has some quirks.
First, Mail crashes like clockwork on startup. My guess this is due to a large inbox (frequently I’ll update and see 50-75 messages waiting to download. It’ll get 2/3rds of the way through the download, and BOOM). A restart usually completes the update.
I’ll do my mailbox cleaning, removing a bunch of spam, checking notices, etc… and then go on about my daily business.
When I sit down at my desk and run up Thunderbird – which connects to the same IMAP server, I see that all the messages I deleted or marked as read are still in my inbox.
I can’t find a way to tell the iPhone to sync it’s view of my inbox with the server. It does happen eventually, during some dark and sleepy period when I’m not watching it I’m sure, but I can’t figure out how to make it happen on my time – like, say, after I’ve updated my inbox during a boring meeting, and before I sit back down at my desk.
I know OS 3.0 is right around the corner, and will be a monstrous update. Perhaps there’ll be some Mail app tweaks?

The Portable Stack – Is there a place for the EeePC?

Recently I was successfully marketed to by and aquired an Asus EeePC 900 Linux netbook. For those who are not familiar with these puppies, they’re hyper-small fully functional ‘laptop’ computers, scaled down to be the size of a hardcover book. The Netbook article on Wikipedia is a good summary of these devices.

The Asus EeePC 900 is an ‘older’ version (hence the reason I got it for only $149) with 512meg of RAM and a 4 gig SSD drive. It has all the basic features you’d expect for a laptop – wifi, decent screen, touchpad, USB ports, good battery life (about 3.5 hours), etc. In all respects, it should be a geeks dream. A fully functional Linux box that is only a few pounds, and can run for hours.

So why am I considering handing it off to my son?

The main problem is that in the current portable computing environment, the ‘slot’ that Netbooks like the EeePC can fill is narrowing rapidly. On the ‘full laptop’ side, there’s a trend toward longer battery life, lighter designs, and stuffing all the functionality of a full desktop machine into a portable form. Many people don’t even have desktop machines anymore, they use their laptops for all work (that’s my situation). On the other side we have the emergency of smartphones like the iPhone (which I have). The iPhone is an enormously capable device. I can read my email, chat online, browse the web, play games – all the things I’d likely do on my laptop if it were small and light – the space that the EeePC and others are shooting for.

Even in the face of all this, I really did give the EeePC a try. I carried it around for a week, trying to see where I’d use it and where I wouldn’t. I never ‘clicked’ into it in any particular fashion, due to a number of obstacles that were either filled by my iPhone or by my laptop:

  • Very small keyboard
    The EeePC has a very small and somewhat wobbly keyboard. I have quite large hands, and though I could ‘shrink’ my hands down to type away, it took some serious concentration, and really only worked when the EeePC was flat on a desk and I was sitting in a proper chair. If I were in that situation, I’d just use my laptop.

  • Wireless twitchy
    This is probably a fault of the Linux distribution the EeePC uses, but I had all sorts of problems with the machine waking up and not reassociating with any available wifi (it wouldn’t even show networks available).

  • No LEAP support
    The wireless also could not use LEAP authentication on wireless. This meant I could not use the EeePC anywhere at the office. Total loss there – I was hoping to be able to bring the machine with me to meetings so I didn’t have to undock and haul my normal laptop along.

  • Update failures from Asus
    ASUS has broken their updater. The EeePC will not software update properly from ASUS’s servers. This is a real problem. There are workarounds, naturally, but it likely means there won’t be OS updates from the manufacturer anytime soon. The answer seems to be to use Eeebuntu, a version of Ubuntu linux designed specifically for the EeePC netbooks.

  • Touchpad
    I don’t like the touchpad. I don’t know why – I just can’t get comfortable with it. The two-finger scrolling is cumbersome and prone to ‘pausing’ (this compared to the two-fingered scrolling on a macbook, which is smooth as silk).

  • Yet Another Power Supply
    I have a problem with power supplies. If I’m going to carry another laptop, I have to have another power supply with me. So now I have 2 laptops, 2 power supplies. This is not saving me anything in weight in my backpack.

Given all these issues, I find myself either picking up my iPhone to twitter or check something on wikipedia, or get out my laptop if I’m going to do any real work.

So what to do? The current plan is to reload the EeePC with Eeebuntu and evaluate that. If it’s stable, is able to browse youtube, run Python’s IDLE environment, and play nethack, then it will be a perfect upgrade for my son, as he’s outgrowing his XO laptop.

Kingdoms Live – Army Invite Codes!

Oh, and I also appear to be playing Kingdoms Live on the iPhone. It’s a lot of fun, pretty straightforward play, and enjoyable. Limits moves so you don’t spend your entire life on it. Not sure how far it’ll go, but if you’re playing, and you have an invite code, comment here, and expand your army!
My code is VNS22

My next project: Fibre Channel

image402486551.jpgThere are times I realize there are big holes in my tech-savvyness. In particular, my experience with more enterprisey storage systems, while it exists, doesn’t have a lot of ‘hey wouldn’t this be cool…’ to it.

Recently a friend asked if I’d be interested in a fibre channel disk array and associated accessories that he was disposing of. After a few seconds deliberation, I said ‘sure’ and a week later, here it is.

This is a 10 slot fibre channel chassis, hub, and a pair of HBA’s to round it out (the rackable box on top is a different project). The array has a mere 7 18 gig drives in it. In modern desktop drive land, it’s pretty pitiful. But FC drives on eBay are going for $30 for 73gig, so I can kit out this box with some pretty fast storage for very little.

For now though I have to learn about HBAs, GBICs and all the other tech that slipped by me.

This should be fun.

Firefox trick of the Day – Deleting History

Ever have that link show up in your history list that you just don’t want to have flash up in the middle of a demo with a client? You know, the one about fuzzy bunnys and jello? Right, that one. You don’t have to clear your entire browsing history just to avoid embarrassment…
In Firefox, when you start typing something in the address bar, and the history appears, use the arrow keys to highlight the offending history entry, and just hit Delete – voila! No more bunny-related distractions. At least for now.
Firefox’s URL history is pretty nifty, and I like how it will ‘bubble up’ frequently used URL’s toward the top, but I also like that you have detailed control over what gets displayed there.

Ubuntu Sound problem – won’t work after suspend – quick fix

Pursuant to my last post regarding PulseAudio problems under Intrepid, there appears to be a workaround.
The issue has to do with the PulseAudio system not being ‘suspended’ properly when a laptop goes into suspend. There’s a very easy way to sort of ‘nudge’ it back on track.
After resuming, type the following – this is done on my laptop ‘clipper’ :

dbs@clipper:~$ pacmd
Welcome to PulseAudio! Use "help" for usage information.
>>> suspend 0
>>> suspend 1
>>> <control-d>

I just tried this, and things started making noise appropriately – didn’t even need to restart Firefox to get youtube videos going again.
This is documented in Bug 202089 in the Ubuntu bugtracker, but I’m reproducing it here if folks can’t find the answer.

Ubuntu Linux Gnome Desktop Gripes

I’ve been using Ubuntu Intrepid Ibex as my desktop platform of choice on clipper for a few months now. As part of that changeover, I also switched to using Gnome as my desktop environment.
I have to say, after my initial “ohh, look, this just works” with Gnome, the shine has certainly come off. There’s a consistent series of twitches that are causing me to grit my teeth whenever I come across them. Some of them have been identified in the Ubuntu bug tracker, and even after numerous comments and “me too” updates, the powers that be have not seen fit to include the fixes into the regular updates.
My guess is they’re waiting for Jaunty Jackalope, which is scheduled to be released this month. Be that as it may, I’m going to list out my current gripes now, and hopefully in a few weeks, when Jaunty is released, we can see if these will be addressed.
Compiz Window issues
There’s an annoying bug in how Compiz interracts with gnome’s window manager. In particular, transitory windows (such as the calendar popup, the ‘shut down..’ dialog box, etc), tend to pop up underneath existing windows. So it’s common to go to System->Shut down, and apparently nothing happens. Alt-tabbing, you find the shutdown dialog box buried under existing windows.
Shutdown Madness!
Speaking of the shutdown dialog, lets hear it for inconsistent interface design. On other Linux installs, and under KDE, hitting control-alt-delete brought up the suspend / logout / shut down dialog. Not so under Ibex! Control-Alt-Delete brings up a dialog that JUST has “Switch User” and “Logout” (and, as noted above, it tends to be under other windows). Suspend is not on that panel. To suspend, you have to mouse to System->Shutdown and select Suspend. Or, I found out recently, in the upper right corner you can click on a little ‘power’ icon, and select ‘shutdown’ on that menu. (Small tidbit – that pulldown menu looks completely different than the system menus. No icons, different layout. Nice going Gnome.)
Sound + PulseAudio
Anyone who has touched current versions of Linux has seen this come up, and the rants and vitriol have been piled all over the net. Some bright light in linux-land decided to set sound under Linux back half a decade. Getting sound working used to be quite a challenge, using the old OSS sound drivers, later replaced by the enormously stable and well supported ALSA (Advanced Linux Sound Architecture) toolset. All was fine and dandy through multiple releases.
Then someone decided that that wasn’t good enough, and they introduced PulseAudio. Naturally, some tools support PulseAudio, some tools support ALSA. Under many circumstances, this will cause a deadlock, where an audio application simply will not play sound. The only way to clear it that I’ve found is to reboot, and even after that, chances are it will lock up again at some point.
Further research has shown that this instability is being blamed on a botched release of PulseAudio by the Ubuntu team (the Pulseaudio folks are blaming Ubuntu for the craptastic port), but be that as it may, it still has not been remedied. To me this is a HUGE issue, as I listen to sound and watch video every day on my laptop, and not knowing whether sound is going to work next time I sit down to do some coding for half an hour is a huge impediment.
Wireless Tools
I consistently have problems with the wireless browser not being able to ‘sniff out’ local networks. There appears to be no mechanism to say ‘scan for new networks now’ – there’s some passive ‘oh, I’ll get to it at some point, maybe’ timer mechanism there, and there’s no way to tickle it and say “No, really, you’re RIGHT NEXT to the WAP. Browse please!” Frustrating.
I’m not sure exactly where I’m going to go when Jaunty is released. I may do a from-scratch install (saving my home directory), just to make sure I don’t have old configuration details lying around. I’m still willing to stick with Gnome for one more release, but if the issues I’m finding have not be fixed, and progress on the environment doesn’t move forward, I’ll have to seriously consider seeing how KDE4 is doing, and switching back.

iDracula for the iPhone. iCarnage!!!

Just a quick one before I head off to my next meeting. My latest addiction for the iPhone is called ‘iDracula’. It’s sort of a mix of Diablo vs Quake vs Robotron. The 19th century ‘van helsing’-esque setting is beautifully rendered, and the soundtrack adds the appropriate head-banging necessary for any good vampire slaughtering.
There’s a great video of it in action on YouTube.
One thing I have to comment on – this is the first interactive action game on the iPhone that I feel gets the controls right. They use a pair of ‘wheels’ on the screen – one for motion, one for firing. Given the iphone’s lack of any other gaming controls, this seems to be an excellent compromise, allowing very easy motion and action.
There are a few known bugs. Settings aren’t being saved between games, it’s occasionally tricky to switch weapons in mid-melee, and there are occasional pauses. I picked it up off the appstore during a sale for $1, but it’s easily worth a lot more than that.
I hope the developers do continue to update it – a larger play area, or a decent levelling mechanism (finish this level, waste the bosses, move on to the next level) would be a definite win.

The problem with cloud computing – or “BITE ME, GOOGLE”

While browsing around this afternoon using the (usually) awesome Google Reader, I saw a sudden change in my entire look and feel. Apparently Google decided to punch out an update to Reader while i was using it. No notification, no information about it, just “oh, by the way, here’s a redesign of your page layout.”
Fortunately, the reader blog has a handy link to their “news” blog – that should have some information on what just happened…
Guess not. (for those perusing this later, the first article on that page is currently ‘READ WRITE DRINK”, or this article here. Nothing about an update, no news about changes to the site. Guess we’re on our own.
A mark against cloud computing, and a mark for locally installed apps.

A Panoply of Pidgin Plugins

pidgin-screenshot-20090308.pngI have this ongoing personal philosophy. “Don’t get too wedded to a single environment, because the designs will channel your way of thinking, and those ‘new fangled’ ideas about UI’s and systems? They they may have something there, give it a try.”
To that end, not long ago I switched from KDE to Gnome. That has had it’s ups and downs, but regardless of whether it’s been a good move or not, I now understand Gnome a lot better.
One of the tools I’ve used the longest has been X-Chat – a fairly decent IRC client that does pretty much everything I want in a client. I have screenshots of me using Xchat going back many years – a sure sign it might be time to try something else.

Continue reading “A Panoply of Pidgin Plugins”

Classics app for the iPhone

A few years ago, I posted about reading books on my Treo – an exercise I thought I’d never enjoy, but in the end, enjoyed quite a lot.
Ever since I got my iPhone, I’ve been considering setting up an ebook reader, but never got around to it. Recently I found the Classics app, a reader for the iPhone that is set up to provide a series of ‘classic’ books for the iPhone.
The reader app is quite good, and very easy to navigate (and pretty to look at). What I’ve been enjoying the most though is that the books that are available are, as the name implies, all ‘classics’ – books I should have read, but never got around to.
I finished reading ‘Flatland’, and now I’m about halfway through ‘Robinson Crusoe’. As always, it’s convenient having books with me at all times. I suspect when i’m done with these books, I’ll look at another reader app for other books, but for now, Classics makes it so I have at least 15 books with me at all times.