Happiness is…

26 02 2006

… getting Amarok to play MP3’s again.
Various n sundry pointerst to Kubuntu Dapper KDE installs pointed at installing libmad and using the gstreamer plugin. I ended up not going down that path, and there I found victory!
What I did was install the Arts MP3 plugin, and told Amarok to just play through Arts, and All Was Well!

libarts1-mpeglib - mpeglib plugin for aRts, supporting mp3 and mpeg audio/video


Anachronistic buildings… The Ryugyong Hotel

25 02 2006

Found this interesting article about the Ryugyong Hotel in the middle of Pyongyang, in North Korea. It’s apparently an ENORMOUS hotel (over 1000′ high), built in the middle of this city, and abandoned for 10 years. It was never completed, never occuped.
Further, the population won’t even refer to it. Ask someone where it is, they’ll claim to have never heard of it. But, as seen in the pictures, it’s impossible NOT to see it from just about anywhere in the city.
Fascinating stuff. Wikipedia has an article on it, pointing out that construction of the hotel was estimated to cost $750 million – almost 2% of the countries’ entire GDP. Unusual structures are always intriguing, and this one definately is unusual, not just for the politics and social issues surrounding it, but also because of the very design of the place.
I have to admit that building in concrete can be beautiful and organic. I spent many weekends exploring Fonthill, the home of Henry Mercer, who was active at the height of the Arts and Crafts design period, building not only his amazing home entirely of poured concrete, but also the Mercer Museum, a fascinating collection of antiques and artifacts, also in the poured / sculpted concrete style.

Castle Island, Boston, MA

24 02 2006


Originally uploaded by eidolon.

While waiting to go to the New England Boat Show, Zach and I walked around Castle Island, home of Fort Independence, a well known sight to anyone who has sailed or boated in Boston Harbor.

It was extremely windy, and cold (well, it’s February in Boston. Whadya think?) but the clouds and light were just too beautiful to ignore.

This particular shot (one of 3 of this setting) was actually shot while sitting in the van getting up the gumption to go walk outside. 🙂

Click here to see the entire Cloud series

Linux Annoyances du jour…

23 02 2006

It’s been noted I tend to fly off the handle a bit at The Worlds Largest Software Company, deservedly or not. But lest you, dear reader, feel I am one-sided in my condemnations, let us touch on some poor decisions made in the Linux camp as well.

Long ago in a college not so far away, it was decided that most of the proprietary Unix tools could be rewritten under the GPL, and made free. The tools chosen for this transition were the very basics of Unix shell operation. The command line programs that us unix geeks use day by day. We’re talking about the GNU Coreutils.

Now, in general, I consider the rewrite to be a good idea. The tools are aptly named – they are the core of the Unix environment. We’re talking ls and who here. Very basic stuff. But naturally, when a couple programmers decides to rewrite something, they can’t help but ‘improve’ on them a little. This means adding some new features, throwing in some little tidbits to make the tool a little more interesting.

None of these ‘features’ was ever really vetted or examined as to whether they made sense or not, they were just tossed in willy nilly, and now are in every Linux and Unix distribution on the planet.

I take as a prime example the addition of the ‘-h’ option to ‘ls’. In it’s basic concept, it sounds like a great idea. Lets add a ‘human readable’ format to display the size of a file. Instead of counting decimal places to find out what order of magnitude a file is, just ‘ls -lh’ it, and you get a readable form:

dbs@boomer:~$ ls -l mbox
-rw-------  1 dbs dbs 8629133 2006-02-23 18:33 mbox
dbs@boomer:~$ ls -lh mbox
-rw-------  1 dbs dbs 8.3M 2006-02-23 18:33 mbox

Simple, eh? Well, sure, except when you realize ‘ls’ is rarely used on just a single file. It’s used to compare and list out large directories, sorting things by size, or getting an overview of what you’re looking at. The bright lights who wrote the ‘-h’ option into ‘ls’ apparently had never considered anything approaching a human interface guideline, so we end up with some serious readability problems. Remember, this is meant to be HUMAN READ. I give for reference, an example directory listing, taken from my home dir:

-rw-r--r--   1 dbs dbs     58 2005-11-23 23:13 cipher.txt
-rw-r--r--   1 dbs dbs    40K 2005-07-05 22:52 claimit-backup.tgz
-rw-r--r--   1 dbs dbs   3.8K 2005-06-28 14:55 claimit.dump
-rw-r--r--   1 dbs dbs   6.6K 2005-07-05 23:48 claimit.tgz
-rw-r--r--   1 dbs dbs   162K 2005-09-09 12:07 commons-collections.jar
-rw-r--r--   1 dbs dbs   3.6M 2006-01-10 10:25 congo-20060109.tgz
-rw-r--r--   1 dbs dbs   4.7M 2005-07-25 22:41 cvsdir.tgz
-rwxr-xr-x   1 dbs dbs   3.1K 2005-11-20 10:55 dbs@boomer.homeport.org
-rw-------   1 dbs dbs   1.8K 2006-01-17 12:11 dead.letter
-rw-r--r--   1 dbs dbs    12K 2005-09-02 12:37 decisions.dump
drwxr-xr-x  20 dbs dbs   4.0K 2004-10-18 12:09 docs
drwxr-xr-x   5 dbs dbs   4.0K 2006-01-13 23:19 dumps
-rw-------   1 dbs dbs    509 2005-07-21 11:56 INBOX.Drafts
-rw-------   1 dbs dbs    22K 2006-02-09 12:52 INBOX.Sent
-rw-------   1 dbs dbs   3.0M 2006-02-22 19:57 INBOX.Trash
  • The formatting is inconsistent. A file that is not an order of magnitude (an ‘M’, or a ‘K’ or a ‘G’), has no extension at all, presuming it means ‘Bytes’. It wouldn’t have been hard to put ‘B’ at the end for consistency, but that didn’t cross their minds. Additionally, some entries include a decimal point (3.0M), and others do not (22K). WHY?
  • The characters chosen are in capitals. This does not differenciate them from the digits in any meaningful way, so it’s very easy to mistake a letter for a digit, and you have to look very carefully to get real information out of the listing.
  • Because of the mixed formatting, it’s almost impossible to, at a glance, determine real file sizes. Looking at that listing, are there any files that look unusually large or small? I can’t tell. Geeks will point out that “well, if you’re looking for large files, you should have sorted by size” – well certainly, if I had a specific question, yes, but what’s the point of making a ‘human readable’ format that a human can’t read?

    This format is now well established in the Unix world, and probably will never go away. I’m assuming some shell hack wrote it 15 years ago on a lunch break, and it will never be removed or updates. ‘ls’ is such a core utility, changing any of its functionality to remove or alter the output will raise a huge outcry from script-writers everywhere, because scripts that had been running perfectly for years will suddenly break.

    Sure this is a small thing. I’m picking nits. But when I see BAD DESIGN decisions, I feel it’s my moral duty to stand up and foam at the mouth about it. Thank you, and good night.

  • Grumpy Geek! T40 Radeon driver twitch

    23 02 2006

    Okay, I’ll admit it. This is a bit of a rant, as I’ve had a less than stable day, and coming home to annoying system problems is really not what I was up for tonight.
    Faithful readers will know my pet laptop hunter intimately by now. Well, since I did my conversion to Kubuntu, I’ve been pretty ecstatic with stability, constant updates and upgrades, and general “This is a machine I don’t have to think about maintaining, it just keeps itself configured and clean.” And so things had been… until…. (“Quick Bob! Bad guy! Minor key!”) … something changed…
    It took me a helluva long time to track it down. The symptons were the T40 wouldn’t sync right with the external monitor. In dock, out of dock, monitor off when powered up, monitor on but in ‘green’ mode, restarting kdm, some magic combination would make the external monitor come up in the right resolution when I asked it. This HAD been working flawlessly (see my posting on Xorg configurations for some tidbits about it). When I went to Kubuntu, it Just Worked. Now it wasn’t, and I wasn’t sure what was wrong.
    It turns out somewhere in the last 2 weeks or so of constant apt-get upgrades, my driver settings in /etc/X11/xorg.conf got reset back to the opensource ‘ati’ driver. This driver is fully GPLed and opensource, but is not as robust as the driver provided by ATI, called fglrx. I KNEW I had been running fglrx, somewhere it got reset. One change to the ‘Driver’ entry in Xorg.conf, a restart, and voila! I had my external monitor back and functioning.
    What changed, why it changed, and why the apt system didn’t nudge me before changing it, I’m not sure, but it sure made me grumpy. Really the first serious yak-shaving I had to do on this machine since I installed it, so I shouldnt’ complain, but I sure didn’t need it at the end of a yucky day.

    Honda putting out a new Hybrid

    22 02 2006

    As reported on on Yahoo news :

    TOKYO (Reuters) – Honda Motor Co. (7267.T) plans to sell a low-cost hybrid car, a version of its popular Fit subcompact, a Japanese daily reported, signaling the auto maker’s long-term commitment to the fuel-sipping powertrain.
    Japan’s third-biggest auto maker aims to sell the Fit hybrid as early as next year for around 1.4 million yen ($11,790), or about 200,000 yen more than the gasoline-only version, likely making it the world’s first hybrid to cost less than 2 million yen ($16,840), the leading Japanese business daily said on Wednesday.
    The model could be launched in the business year starting April 2007 and would be sold globally, the paper said.
    The newspaper said the Fit hybrid would have fuel economy comparable to that of the Honda Insight and Toyota Prius, which the auto makers advertise in Japan as getting around 35-36 km to a liter (82-84 miles per gallon).

    The cars.com entry on the Fit has pictures and other details.
    Low teens price-wise, 4 door hatchback, getting 82-84mpg? Now to see if I can actually FIT in it. Hah. I’m such the funny.

    Profile of a Work at Home Dad

    22 02 2006

    I often enjoy telling folks what I do for my day to day life. They frequently get that wide-eyed “Wow, that sounds perfect and awesome and my dream job”, and for the most part, I have to agree. It’s pretty nifty having a total commute of only 4 1/2 feet, and I can work most of my morning in… err… attire that probably wouldn’t pass as business casual.
    However, this arrangement is not without it’s challenges. Challenge of the first part, I’m always home. That means I’m also first in line to get things done that need to be done at home, or can be done best by someone with a flexible schedule. I don’t really mind these things, since I can always flex things around so I’m working a little later, or doing some work at night, but it does make for chaotic scheduling.
    Lets look at today’s life-example. This week has seen me ramping back up for deliverables to my current contract – this tends to involve some fairly intense coding and communication with a client that’s over 200 miles away and somewhat email and phone call averse. Layered on top of this we have the following challenges…

    • Another client has just notified me they need their badges printed TODAY and overnighted BY TONIGHT. They have not confirmed badge design, layout, or other details.
    • Zach is on vacation this week, so is home. Now, this is not as big a challenge as it was when he was, say, 4, but every erg of parental energy in me has to be applied not to give in to the “Zach, go play games on your computer, I’m busy” temptation. The digital babysitter is mighty compelling, but I shall resist. Thankfully, we have other families in Mosaic that are in similar straits, and arrangements for kid-hangings-out have already been made. Rockin.
    • I’m still getting over this cold that laid me low over the weekend. I arose saviour-like after 3 days of death yesterday morning, and I didn’t even have to move a big honkin boulder. Alas, I missed something along the way, and my malaise hasn’t totally left me. Must’ve been skipping the whole nailing bit I guess.
    • The band continues to limp forward toward a fairly busy March schedule, doing 2 gigs, one of which is a Biggie, playing the Mayoral Ball in Marlborough. I’m naturally worried about how well we’ll be prepared for it, and practice is tonight. Chalk off the evening for catching up on missing work, but practices must go on! (We’re hunting for a new lead singer, btw. Got a strong voice, like being on stage, and want to lead a blues band? Let us know!). We’re also playing the Cottage Street Pub in Franklin (see our gigs page if you’d like to see us. Poke me in email for details and disclaimers about the venue 🙂
    • Very few offices include piles of laundry that also need to be put away *waves hands airily* at some point.

    Pile all these together, and it sure doesn’t sound like a normal day at the office, but all in all I still wouldn’t give it up for a forced daily march to cubeland.
    Coffee’s brewed, gonna go fix me a mugful and start planning the haulout of the badge printer.

    Nifty posting on software development

    20 02 2006

    Came across this nifty posting about software development evolution. It’s a very good rundown of how a software project should be run when it involves a team doing various roles (as opposed to ‘just a couple developers’). The graphic is particularly amusing.

    Planet Geek word cloud!

    17 02 2006

    Okay, this is pretty neat. Snapshirts has a system that’ll make a word cloud out of your blog or livejournal or whatever. They’ll even put it on a T-shirt.

    Thanks to Adam over at Emergent Chaos for the pointer.

    New Java Tool – JarIndex

    17 02 2006

    I was getting tired of having problems when building Java apps that required a certain library to be on the classpath or imported into the current app. Another site on the net had a simple lookup mechanism, but that site has gone to a paid subscription model. That just seems silly.
    Enter JarIndex
    The idea is if you get a compiler error like this:

    Exception in thread “main” java.lang.NoClassDefFoundError: javax/wsdl/OperationType
    at org.apache.axis.description.OperationDesc.(OperationDesc.java:59)
    at org.apache.axis.client.Call.setOperationStyle(Call.java:650)

    You can just go to JarIndex, enter ‘javax/wsdl/OperationType’, and JarIndex will tell you what library that class comes from. Add it to your classpath, and you’re back into happy compilation mode!
    If you program in Java, check it out, let me know if there’s anything missing!