Recently in Geekitude Category

Joe Wilcox of Betanews writes an excellent article on why Microsoft is stumbling, and how they lost their initiative after the major gains in the late 90's and early aughts...

Microsoft executives and product managers -- Chairman Bill Gates, above all of them -- showed great technology vision for the new millennium. The company was right about so many trends to come but, sadly, executed poorly in bringing too many of them to market. Microsoft's stiffness, perhaps a sign of its aging leadership, consistently proved its foible. Then there is arcane organizational structure, which has swelled with needless middle managers, and the system of group competition -- and in the new century compensation -- that worked well for a growth company but not one trying to manage mature markets.

Read the entire article over at betanews.com...


Mail.app vs Thunderbird - Which one?

| 2 Comments

It's been about two and a half months since I got my Macbook Pro, and all in all, it's been a productive, happy relationship. The Mac functions beautifully for all the things I need to get done, and from my side, I haven't had to spend any time yak shaving. In fact, I can't think of a time where I really had to dig into the filesystem or look up tech articles to get something configured on the machine. Everything just plain works.

Somewhere along the line I decided to complete the Kool-Aid conversion, and switched from using Thunderbird to using the Mac's native mail application, collectively known as Mail.app. Why? Well, part of my philosophy on tech platforms is to try to not carry over preconceived notions of "how things should work", and immediately critiquing a new environment simply because it doesn't exactly mirror the one I'm used to.

I've been using Mail.app for about a month and a half now, and... I'm not impressed. It works, it talks nicely to my personal IMAP server and to Exchange at work, but... sorry Apple, the UI has some pretty painful choices.

In a recent Facebook conversation (based on a tweet I sent out), folks asked what my issues with Mail.app were. So, here they are:

  1. The 'file to folder' function is irritating to use. Shortcuts change regularly (F3-space-foldername-enter - BLEAH) - it's better than the default non-existent methods, but still difficult. (Note this is in reference to using Act-On, a plugin for Mail.app that brings some of the functionality of the super-awesome Nostalgy plugin for Thunderbird)
  2. Window management is poor. Composition windows are not floating in alt-tab rotation. If I want to flip back to my Inbox to view something, I have to mouse (no KB shortcuts to switch between inbox / composition / whatever)
  3. No identity management - I can't say "Compose this mail, but it's business mail, so use my Biz address, footer, etc)
  4. The thread management is WEIRD. So, If I have a single message, it's one row in my inbox. If I have 2 in a thread, its' THREE rows in my inbox. That makes no sense.
  5. I can't find anyway of skipping to the next unread message in the inbox. So I'll see Inbox(1) and have to scan where in my inbox that one message is.
  6. And who the heck determined that control-shift-D means "Send message" ? What, Control-Enter, a keystroke that is nigh on universal, wasn't appropriate?

I haven't come up with a good reason to stick with Mail.app yet. One thing I do worry about is contact management. I'm not sure how to manage that path yet, or how Thunderbird contacts will interract (if at all) with the contact manager on the Mac. That being said, I don't know if I've been using the contact manager at all, so it may be a moot point.

The UI issues in Mail.app though are enough to have me close to jumping ship. Any reasons I shouldn't?


It's time for one of those long chatty posts about goings on at Chez Geek, where obstacles are overcome (and reestablished), perfectly working solutions are broken, and equipment is flung about.

Today's challenges - getting yawl to play with the other machines nicely.


"keming"

| No Comments

As shared with me by some friends tonight.

See IronicSans.com for the full dirt.


I do a lot of work on MySQL as part of the CONGO project (oh, and incidentally, as part of my full time job), so I was somewhat stymied when, after my upgrade to Snow Leopard (aka OSX 10.6.0), I was unable to start my local MySQL server - I'd get this:

yacht:~ dbs$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start
Password:
Could not find MySQL startup script!

It turns out that as part of the MySQL upgrade, the path to the MySQL installation changed (or a symlink was removed, or something to that effect) - at any rate, /usr/local/mysql no longer existed.

Easy enough to fix, just put a symlink in:

yacht:~ dbs$ cd /usr/local
yacht:local dbs$ ls -ldt mysql*
drwxr-xr-x  17 root  wheel  578 Sep  1 00:31 mysql-5.1.37-osx10.5-x86_64
yacht:local dbs$ sudo ln -s mysql-5.1.37-osx10.5-x86_64/ mysql
yacht:local dbs$ ls -ldt mysql*
lrwxr-xr-x   1 root  wheel   28 Sep  2 12:52 mysql -> mysql-5.1.37-osx10.5-x86_64/
drwxr-xr-x  17 root  wheel  578 Sep  1 00:31 mysql-5.1.37-osx10.5-x86_64

After making the symlink, the startup script ran just fine:

yacht:local dbs$ cd /Library/StartupItems/MySQLCOM/
yacht:MySQLCOM dbs$ sudo ./MySQLCOM start
Starting MySQL database server
yacht:MySQLCOM dbs$ _

I share this to ya'll for the betterment of geek-kind. :)


There's an amazingly good post over on Slashdot that points out this article on TechCrunch regarding Apple's rejection continuing review of the Google Voice application. The TechCrunch article does a good job summing up my reaction to Apple's response to the FCC.

I feel that Apple has stumbled badly here, and is facing a public relations nightmare. Google is widely... well, if not adored, certainly respected (perhaps not by Steve Ballmer of Microsoft) - and while there may be legitimate reasons to be concerned over Google's continued growth in the industry, making flat out lies about Google Voice (a product that's getting enormous amount of attention) isn't going to win Apple any points.


I've blogged before about being tempted by Macs, and in some ways my iPhone could be considered something of a 'first taste' of Apple products. But until now I've fought hard against really going whole hog into the Mac world.
I has a MacBook

Until now.

I'm the proud owner of what can arguably be called Apple's top of the line laptop - a Macbook Pro 13.

This is a huge step for me. I am not only investing a significant amount of money into a small device that could easily be considered a 'toy', but I'm changing over to an environment I only have a passing familiarity with - OSX.

I've owned it for about 24 hours, and I will say - I've never worked with a sexier implementation of high end computing in my life. This is by far the fastest computer I've ever owned, let alone as my personal workstation, but with all it's screaming horsepower, it is beautifully designed, with an operating system and environment I find... different, but not irritating. There are things I don't know how to do, but I'm figuring them out. I have not had a single "oh that's just plain idiotic" moment. I'm sure they'll come, but so far it's just been a series of "Hmm, that's interesting... what if I... ah, that did it. Cool." moments.

I'm still installing things, and still setting up my tools. This machine will be my life and blood for the next 3 years, so there's a lot of work to do to bring it into full functionality. So far I have mail and chat and web stuff working fine, next will be my development environment. After that, virtual machines for running some of the business apps I'll be using.

A particular thanks to all the people I talked to while making this decision. There was a lot of fantastic feedback and good commentary. It helped me affirm that I'm making the right decision.

Now, off to download Eclipse and get things set up so I can work on CONGO !


New server rack
This morning we moved Homeport's 3 servers, plus the blog host, over to their new home in Mosaic's Common House. This is something of an experiment, as we'll be seeing how well the Charter business cable handles hosted servers. So far so good.

The move went mostly okay, with a time overrun of about an hour and a half due to a mysterious firewall problem that we finally got resolved. All services are up and running now.

It's nice to have immediate physical access to the boxes. I know I can go into the server room and make configuration changes, add new machines, whatever. The only real problem that has cropped up so far is noise. The 5 existing servers + network hardware makes a heck of a racket (though I suspect the Rackable server is making the lions share). We may have to do some sound remediation - I mean more than the blanket I nailed up over the door.


A recent series of changes at Yahoo have made the Yahoo Messenger portion of Pidgin misbehave. There have been various workarounds (such as using some of Yahoo's non-converted servers), but finally the 'proper' fix is in the pipeline.

I just did an Ubuntu update, and it included the patch that has been working through various versions. Thanks bigtime to the Pidgin team and the Ubuntu maintainers for backporting the fix into Ubuntu Jaunty.

For full details on the patch, see this page which discusses the issue and gives good suggestions.


With all the bruhaha going on about finding the 'lost' NASA moonlanding tapes, a conversation came up on a tech list I'm on regarding some of the misinformation floating around. Scott Dorsey, a man who has been involved in audio tech for many many years, sets the record straight:


Heavy Metal DVD - Awesome Documentary

| No Comments

hm.jpg One of the fun things about being settled into the new house is going through all my old movies and watching them again. I'd been putting off watching Heavy Metal for a while - through no other reason than "I want to wait until I'm in the right mood." Last night was that Mood.

While exploring the DVD, I came across a sort of 'making of' documentary that I hadn't seen before. It was Fantastic.

It was an ongoing interview with all the animators, as well as chats with Ivan Reitman and other folks involved in the film.

I found hearing the stories behind each segment, and the unabashed forwardness of everyone associated with the production ("It's all about breasts!") absolutely fascinating. One of the more intriguing bits was seeing the original model for Taarna going through the motions that were film-captured and animated over, including a sort of 'half and half' film clip - with Carol Desbiens acting out Taarna's motions, and half of the animation filled in over her form. Absolutely riveting to watch.

It was intriguing to listen to the folks who worked on the film not making it as a 'stoner' film or anything of that ilk. It was science fiction fantasy material, very male oriented, targeted directly at the audience the Heavy Metal magazine was targeted at - adolescent and post-adolescent boys - particularly us sci fi geeks!

I highly recommend picking up the DVD release and watching the interviews. Really brings another level to the movie.


Posting this one for the masses of humanity out there that are just slobbering for a quick fix to this problem.

There's a twitchy problem in GTK under Linux regarding sound that sometimes lets the 'bell' sound get handled by the motherboard beep - a sound that is INSANELY LOUD, and no amount of muting, volume adjustment, or sound board fiddling will silence it.

The beep can happen during 'vi' sessions, in Eclipse when 'search' fails to find something, in X-chat when backspacing to the beginning of the line, or in Pidgin during the same situation.

The fix is remarkably simple. Tell the X-server to mute the hardware beep:

xset -b b 0

To check to see if it's set, use the 'xset -q' command:

dbs@clipper:~$ xset -q
 Keyboard Control:
  auto repeat:  on    key click percent:  0    LED mask:  00000000
  auto repeat delay:  660    repeat rate:  25
  auto repeating keys:  00ffffffdffffbbf
                        fadfffefffedffff
                        9fffffffffffffff
                        fff7ffffffffffff
  bell percent:  0    bell pitch:  400    bell duration:  100

That's it! If you put this in your ~/.bashrc or whatever you use for a startup, this will mute the hardware beeping sound, but leave normal soundsystem stuff working.


free-memory-iphone-app.jpg

So I'm sure ya'll are sitting on the edge of your seat wondering how my iPhone upgrade has gone after the the other day's fun. Seems this wasn't a problem limited to just me, which is cold comfort, but it is what it is.

In the end I did get the phone re-activated, and carried on with my day. After a bit I noticed that the phone was 'hot', and the battery was draining at an alarming rate (full to 1/4 in under a half hour). This is a sure sign of a stuck thread or process. A quick reboot is usually all that's necessary to clear it.

Three reboots later, and a phone that wouldn't stay charged overnight, the problem still persisted. There was obviously a problem - but I had no way of telling what was going on.

Enter "Free Memory" - an iPhone application available in the AppStore that lets you not only do a little 'cleanup' on cached data on the phone, it includes a process list, showing what processes are currently active. Apple is very stingy about releasing 'utility' type applications through the appstore, so this is a rare find.

After installing Free Memory, I watched the process list, and noticed two applications bouncing back and forth regularly in the top slot. One was 'ReportCrash', and the other was 'Mail'. Things began to fall into place pretty quickly. I have a split mailbox setup, where the iPhone reads not only my IMAP folders on my personal mail server, but is also coupled to the Exchange server at work, which is set up to 'push' content into the phone (I get realtime meeting invites, etc directly on my phone - rather nice actually). It was obvious that there was something 'out of sync' here, and the push update was causing Mail to crash, which would try to update via push again. Wash, rinse, repeat.

So now I had something to focus on - Mail. Initial tests were showing that my IMAP connections were not completing successfully. I'd try to sync the 40-50 messages in my queue, Mail would crash, and it'd try again. I was having regular mail crashes under 2.2, but it was always a matter of just restarting Mail, and it would complete successfully. This time it wasn't.

Some magic combination of changing back to my 'view inboxes' screen, going into Exchange, back out again, then back to IMAP seemed to clear whatever condition was causing this. My iPhone ceased eating it's battery in half an hour, and is now nice and cool to the touch.

What do I think of the 3.0 release? It's good. There's nothing that completely rocks my socks off - I've used the cut and paste, which works fine (but as many others have said... a lot.... this is a feature that should have been in from day 0), and Spotlight is pretty nifty as well. I've noticed some other small things, like the SMS app no longer 'wedges' during a send - it backgrounds the sending so you can work on something else (like another text) while the first one is sending, etc.

My new Bluetooth headphones should be here in the next day or two, and that's when I'll explore the feature I most want - A2DP enabled playback. Booyah.


iphonefail.png

Well this isn't going so well.

I'm all excited about the iPhone 3.0 update. I docked my iPhone, started iTunes and saw it download the update pretty quickly. This is good, I think - that means the servers are handing out the updates just fine.

Not so fast. The update appears to have gone just fine.

The problem is there's another step that is apparently hammering the bejeezus out of the iTunes store, and is failing to allow the phone to be re-activated after the update. My phone currently has the USB->iTunes connection graphic on it ("Connect me with iTunes!"), with an emergency-use-only slider.

Until the iTunes store gets unpaniced, I have a useless phone.

Thanks Apple.

(Update: Apparently I'm hardly the only one seeing this.)

(Update again: It appears to be the activation server that is getting hammered. Not sure if this is an Apple problem or an AT&T problem)

(Update the third: I made it. You just have to keep trying on the activation screen. Eventually it'll get through, and things look fine now.)


The Language Umbrella

| 1 Comment

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!

| No Comments
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 
#!/bin/sh
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'

| No Comments

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.

Nimitz

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

| No Comments

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

| No Comments

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?


Recently I was successfully marketed to by Woot.com 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!

| No Comments

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

| No Comments
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.

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.


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>
dbs@clipper:~$ 

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

| No Comments

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.

Conclusions
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!!!

| No Comments

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.


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

| No Comments

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.


Classics app for the iPhone

| No Comments

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.


It's alive! ketch is powered up

| No Comments

Ketch lives! About six months ago, it became pretty apparent that boomer's newest brother, guardian, wasn't going to be enough to bring the load off the main server, and that applications needed to be shifted off boomer soon. The paired 80gig SATA drives were getting full - it was time to expand the cluster.

Because homeport is a community cluster, I couldn't just go to the CTO and requisition up another couple servers. One of our community members coughed up a little cash, thereby setting a budget, and I was off. After much ebaying and craigslisting, I came home with a pair of Penguin Computing Relion 130 1U servers. These were pulled out of a computation cluster, and were missing some small parts (one had no fans in it, and between the two of them they only had 2 40gig drives), but the price was right, the CPU oomph was good (dual Xeon 2gig CPUs), and the budget allowed for further upgrades.

Last week I got the final parts and did the assembly last weekend. 'ketch' here is the first machine assembled and loaded, and so far things are going fine. I moved the 2 40gig drives into this machine, and set up RAID-1 mirroring. 'ketch' will be an application server, taking the load off 'boomer' (which is only an AMD Sempron 2400+). The real kicker load wise was that I'm now deploying Tomcat based applications, and boomer just can't handle big Java footprints and still manage 20-30 users comfortably.

'ketch' will stay here until configuration is done. I still have to build 'dock', which is an identical machine, except for a pair of 500gig drives that, once mirrored, will act as homeport's NFS and MySQL server, further unloading boomer. We have dozens of Drupal sites running now, and the MySQL traffic is pretty hefty.

I haven't made the final decision on directory services. There's more and more pressure to just knuckle under and use NIS, certainly the easiest and best-known mechanism for replicating user information around a cluster, though I still hold out hope of a central LDAP based authentication / authorization system.

I hope to have 'dock' configured in the next week or two, and once they're both ready, they'll be shipped off to our colo facility for installation, bringing our homeport-specific server count to 4 (6 if you count 2 other machines that we share services with).

Pretty durned cool.


A few of my favorite iPhone apps

| 1 Comment

I've had my iPhone for a few months now, and gone through the brain replacement that's sometimes necessary to use Apple products, so I think it's time to talk about some of my favorite iPhone applications.

At the top right now is AirShare from Avatron. It's a simple app that starts up on the iPhone and sets up an active WebDAV enabled HTTP server. With some tools under windows, mac, or linux, you can mount that DAV as a filesystem, and voila, you have your own portable wireless data repository.

Admittedly, what I really do is play a lot of games on the phone. So, here's a quicky list of some of my favorites:

  • Dr. Awesome!
    This game plays much like the old arcade game 'Qix', but has a wonderful comic bent to it. Presentation and gameplay are excellent, music track is enjoyable, and the steadily increasing difficulty isn't too hard to deal with, though I agree with some commenters that after a certain point, it's nigh on impossible to win the levels.
  • Tap Defense
    In the 'Tower Defense' model, this game fleshes out the premise with a mildly interesting storyline (Demons are escaping from hell, you're trying to keep them from getting into Heaven). It took me about 4 weeks to complete the game on all three levels (easy, medium, and hard). And on the Hard level, I had to go to the net to get some hints. Each full game can take 30 minutes to an hour to complete.
  • Jewel Quest 2
    This is an oldie but a goodie. It's been around for ages from I-Play in various forms, but the iPhone version is a good clean port of it. Very long storylines, steadily increasing difficulty. Took about 3 weeks to complete the game end to end.
  • Galcon
    Galcon is a realtime strategy game for the iPhone that's faster paced than most RTS games, but still keeps the tactics element alive. It borrows many ideas from some old skool strategy games I played in college. The higher levels are hard to win, though you can play network play against other 'live' players anywhere on the net.

The potential for the iPhone to be a powerful gaming platform I feel is only just being realized. More and more high resolution excellent games are coming out, and the phone handles them with great aplomb. I'm looking forward to finding more.


Grump about Compiz + GL + blinking

| 1 Comment

Being home sick makes me turn my attention to gaming. I've gotten back into Puzzle Pirates, and that's been good for multiplayer, general quiet entertainment. I've backed off on Eve Online, for a number of reasons (not being home / in front of a windows game machine all the time is pretty key).

Last night I decided to do a little more involved gaming on 'algol', my linux laptop. HappyPenguin provided a couple interesting options, a few showing up in apt, so I installed one.

The problem is, the app I chose (SuperTuxKart), blinks like crazy when running. I'd seen this behaviour in the Compiz / Xscreensaver screens, but thought it was something specific to XScreenSaver's interraction with Compiz. Alas, that's not the case.

This is a known problem with Ubuntu installations that use Compiz as their default compositing window manager. According to this page on the Ubuntu wiki...

Summary
Currently opengl apps do not work correctly when composite is running. This is a BIG bug and annoyance for desktop users, especially as composite-by-default is set to be included for gutsy. This should be fixed via redirected direct rendering. It is especially important as modern applications use opengl interfaces, such as blender and google earth, but also for smaller opengl parts, such as the visualisations in amarok.

Rationale
Users of ubuntu, both advanced users and novices, find it annoying to have to disable the compositioning window manager whenever they want to run an opengl accelerated application. Solving this requires deep changes to the structure of the X server and the display drivers, and is a future plan for the Xorg devs: http://dri.freedesktop.org/wiki/DirectRenderingToRedirectedWindows (A prototype for this has been developed by Kristian Hogsberg: http://hoegsberg.blogspot.com/2007/08/redirected-direct-rendering.html). However, it is a big job, so I believe that the Ubuntu devs should help out.

So, if you use Ubuntu and GL apps and Compiz, and you have the blinks, there's no known fix. I'm guessing it's specific to certain video drivers, because I know some systems work fine, but on this machine (which uses an Intel 945GM chipset), looks like it's no GL for me.


Oh yes, I must.

| 2 Comments

When the workshop is up and functioning at Mosaic this will be one of my first projects. I see it now. I hope I can do half as good a job as this fellow has.

Giant Atari Joystick bedside lamp

Found via UniqueDaily.


I'm looking for suggestions on how best to set up filesystem services for my local network. I've built out a decent fileserver ('yawl', running Ubuntu Linux) with a series of external HD's, and I want to make those filesystem(s) available to client machines.

There's a couple caveats. Whatever solution I use has to have the following features:

  • Centralized Authentication / Authorization
    Per my recent post, I'm liking the idea of using a centralized authentication server for account management. This is the role traditionally filled by Microsoft Active Directory. I have no interest in dedicating a new machine, paying Microsoft money, and introducing a whole new layer of 'customizations' to standards, as Microsoft is wont to do. Whatever solution I use needs to provide cross-platform support based on existing standards and tools. LDAP + Kerberos is what I have running now, but I can look at others.
  • Multi Platform Support
    I'll need support for various client platforms. The big three - Linux, Mac, and Windows are a given. I don't mind needing to install simple tools on each platform (for instance, for Kerberos ticketing on Windows, you need Kfw, etc).
  • Inexpensive or Free
    I have zero budget for this project, other than hardware. If I'm supporting my half dozen clients initially, with a possibility of a larger deployment later, the solution should be available in opensource.

Now, I already hear the cry. "Why not just use CIFS, the 'windows' fileshare protocol? Everyone uses it, and Samba is a great system." That's because from everything I've read, Samba cannot use an external authentication system OTHER than active directory. It vaguely supports Kerberos, and vaguely supports LDAP, but only to the level that an Active Directory server provides. I can find no clear documentation or even loose information that states how to configure Samba to authenticate in a non-windows Kerberos realm.

So where's that leave us? Well, there's a couple to consider:

  • AFS - Andrew Filesystem
    AFS is used at MIT and CMU, and is directly coupled with Kerberos. My understanding is it's pretty damned cool, but it's not really meant for 'small' environments like mine. I'd be happy to be proven wrong. I also don't know if AFS clients exist for Mac and Windows
  • SSHFS - the SSH filesystem
    Not a bad idea. SSH is widely supported, well known, and seems like it'd do the job. Unfortunately, the sshfs is a FUSE system, and requires some tweaking on the Linux box to make it work. Secondly, I can find no support for sshfs clients in Windows or Mac. Alas.
  • NFS - The original Sun Network Filesystem
    Ahh, the good old days of NFS. Everyone knows it, everyone supports it, as far as I know, no one really likes it. At least NFS's weaknesses are well known. In addition, I don't know how good the NFS client support in Windows and Mac is.

So whadya think, world, what should I look at? Is there hope?


It's certainly no secret that I've been a KDE fan for ages. I've been using KDE as my primary Linux desktop for going on 10 years now. In all that time, I've made occasional forays into GNOME, but every time ran in fear at the sheer idiocy of the interface. Either it was too 'smart' doing 'really cool stuff!' or it was dumbed down to the point where it was impossible to use. A steady litany of "Oh, just edit gconf to fix that" or "you need to recompile such and such a module, that's been patched" made me run back to KDE's stable, consistent, powerful interface.

When Ubuntu 8.1 came out, I installed it onto a Dell D520 that I had available. Being a KDE geek, I said "Sure, lets run KDE4."

What a disaster.

KDE4, despite the fact that it has been marked as stable and ready, is a complete mess. Unusable, unintuitive, unstable. I spent 2 days trying to make sense of the frequent crashes and missing componentry, and gave up. It was time to try Gnome

Gnome, on the other hand, was delightful. They had finally struck the balance between "make it as simple as you can" and "make sure all the necessary functionality is there." The package managers are sane and work, the configuration tools are consistent and do the job, the desktop, while sparse, is eminently useful, and it's fast. I have done 4 Ubuntu 8.1 installations now, and each has gone without a hitch. The only 'missing' bit I've had to deal with involved a missing package from my first Kubuntu -> Gnome upgrade.

This bothers me in a bunch of ways. What happened to KDE? I think it can best be summed up as 'Gnome grew up'. KDE stayed ahead of Gnome for a decade. It took that long for the Gnome folks to get it together and come up with something that actually works. What I worry about is that didn't happen through careful UI design and deliberation, but the result of years of trial and error. The fear is that just when they get it right, they'll either stop working on changes to the desktop (thereby stagnating the environment), or will try more radical 'upgrades', breaking things again.

Time will tell. But for now, I'm pretty happy with Gnome.


Baby steps on centralized authentication

| No Comments

I've had a small project churning along in the background for the past couple weeks. The goal is to come up with a way to have Active Directory like services for an all Linux environment without going through a major yak-shaving exercise of setting up all the individual components.

My first glimmer of hope in this idea was finding Zeroshell, a Linux live CD application designed to run all the major components for a network from one simple install. It includes LDAP, Kerberos, DNS, and a well put together web interface, making setting up the server side of things quite simple.

The goals of the project are pretty straightforward. Mimic the single-point authentication / authorization services that Active Directory has, and configure all clients in the network to use a centralized server for these functions. Adding a user to all machines should be as simple as adding said user to the central server.

Here's where I am so far...

  • Build a central server with all the services enabled and accessble. Status: Done - Zeroshell is the answer there. Booyah.
  • Learn enough about how central authentication and authorization works. Status Done - These sorts of functions require LDAP, DNS, and Kerberos services.
  • Set up a single client machine that can retrieve credentials from the central server. Status: Done - Enabling Kerberos on Zeroshell and installing the krb5 suite on Linux and KFW - Kerberos for Windows allow single login and ticket generation.
  • Configure a host computer to act within the realm and accept credentials from the zeroshell server. Status: Done - My media server, 'yawl' is acting as my guinea pig. It's now a part of my internal realm, and accepts Kerberos credentials from the zeroshell server when requested.
  • Configure a host computer to use LDAP for extended GECOS information. Status: Done - 'yawl' now allows me to look up users that are being served from LDAP as if they were local users. I can use 'finger' 'getent' 'id', etc - and as far as 'yawl' is concerned, they're local users.
  • Configure PAM to accept Kerberos authorization for ssh logins. Status: Done, dammit. This was the trickiest bit, because it requires the correct fiddling between PAM, Kerberos, LDAP, and ssh. But this afternoon, I was able to log into 'yawl' via kerberos-backed authentication from both my Windows box and my Linux laptop, without needing to provide a local password. Score!
  • Allow Samba shares to be mounted / authenticated via Kerberos. Status: Not working yet. I've only just started this side of things, but I want to be able to browse shares on 'yawl' as if they were natural Windows CIFS volumes, while authenticating via Kerberos, as managed by the zeroshell machine. This'll take some time.

99% of the work for this process has been learning the terminology of Kerberos, LDAP, and PAM. Once all the pieces are in place, it actually makes an awful lot of sense. But there is one well shaved yak behind me. I'm documenting each and every step of this process, so that when I upgrade my colo'ed servers, I can implement a similar setup.

Feel free to catch me online if you have questions, but stay tuned - I'll be writing a pretty in depth HowTo on this entire process once I'm able to repeat the configuration end to end from scratch.


KnetworkManager equivelent for Gnome?

| 4 Comments

Am I totally bonkers, or is there no Gnome equivelent of knetworkmanager for Gnome? This seems like a huge missing piece. (Knetworkmanager is a wireless network browse and configuration tool - a standard component of any modern OS).

I'm currently experimenting with using Gnome as my primary OS, and so far it's doing quite well, but not being able to browse and connect to wireless networks graphically seems pretty glaring.

Or am I just missing something?


When will it End? MacOS on an iPhone??

| No Comments

Have to share this image. Perley has installed a Mac emulator on his iPhone, and now has MacOS running. I'm not sure to be blown away or horrified. I think I'll do both.


A Scary Metric of my Geekitude

| 1 Comment

I'm sort of frightened that I've either owned or worked with virtually every Obsolete Technology computer pictures page. A few I had to think about a few minutes, but I've owned about half of those machines at one point or another, and either supported or worked directly with another third.


MPD Music Server - A followup

| No Comments

So a week or so ago I posted about setting up a music server based on MPD. The whole setup has been running along for a few days now, and so far I'm impressed.

There were still some loose ends from the original install. One was getting audio streaming working properly (the initial install was just playing through my Bose Lifestyle system via a patch cable). I wanted to be able to stream audio to laptops and other computers. This required setting up Icecast - a feat not as complex as I feared. Icecast is in the Ubuntu package archives, so installing it was just a matter of "aptitude install icecast2".

(no subject)Configuring Icecast and MPD was pretty simple as well - I followed a few references on the net, and had it running in about 10 minutes.
One of the other changes I did was moved from using Sonata to using GMPC from Qalaxy. I found it has a much better interface and is more comprehensive in it's functionality.

The other client I installed is called 'Pitchfork' - a PHP + Ajax based web client. Unfortunately, it appears to have gone into abandonware mode, and it's website is down. I found someone on #mpd on Freenode that had a copy of it, and I installed that directly. It's a handy, decent web front end that has the added bonus of having a built in audio streamer - so you can listen to the Icecast stream directly via the browser. Nifty.

The rest of my time has been taken up importing music. I had various music archives lying around, and of course my own fairly hefty CD collection. Ripping CD's seems to go fairly well using Grip - even so, it's a slow process. Fortunately I can do it while doing other things - I just haul down one of my cd books, and start feeding them to the laptop. When I finish a few gigs, I copy the entire directory over to the server, and tell MPD to update.

dbs@yawl:~$ mpc stats
Artists:   1459
Albums:    2066
Songs:    25235

Play Time:    2 days, 16:12:08
Uptime:       3 days, 12:05:52
DB Updated:   Fri Nov 28 22:15:14 2008
DB Play Time: 73 days, 7:11:13

I've introduced the roommates to the server, and pointed out how they can listen to music stored there. Having only one audio stream is going to be a problem as more folks are interested in listening to what is stored there, but for now, being able to save and update shared playlists and switching the current music around remotely is a big enough win, I'm not going to worry about the next stages until after we move.


Compiz memory leak?

| No Comments

Recently I've started working on an all-linux laptop (named 'algol', more on this later), and I'm enjoying using Compiz as my compositing window manager.

Unfortunately, I've noticed a problem with memory usage. It appears to be connected with suspending and resuming the machine (which works fine, except for this). Compiz memory usage skyrockets on restart:

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
 4610 dbs       20   0  848m 626m 5068 S    1 31.2  13:40.13 compiz.real  

(Yep, that's a resident size of 626 megabytes, on a 2gig laptop. I'm a Java developer, I'm used to large memory footprints, but when your window manager outshadows the footprint of your IDE, J2EE server, and compiler by a factor of 4, something is amiss).

After a logout / login, the footprint drops to 'sane' :

 
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND            
14990 dbs       20   0  221m  17m 6552 S    0  0.9   0:00.98 compiz.real 

A very fast suspend / resume I just did did not make the footprint grow... I'm wondering if it has to do with big screensavers or something (since last time I restarted, it came back up running a GL screensaver). More details when I have 'em, but anyone have an idea what might be causing this? I hate having to restart my entire desktop environment when I resume.


Music Server Remote Access with MPD.

| 5 Comments

It seemed like a simple question. Consider the problem of [a], a collection of ripped music from a large CD collection, [b] a server containing said mp3's, located on a bookshelf in the corner, [c] a very nice Bose Lifestyle 48 audio system, and [d] a couch potato like myself wanting to listen to that music, but not willing to walk over to the workstation, hook up a monitor (it's normally headless), and play something.

There were several things I wanted under the general heading of "I want to listen to music stored on that machine," but no clear path in sight.

So how to approach this problem?


Frustrating Eclipse + Ubuntu + JVM Crash

| No Comments

I'm spending some time setting up a new Linux environment for CONGO development - mostly because I haven't used a Linux desktop for heavy J2EE work in quite a while, and I have a decent laptop available to run it on.

The problem is the JVM is crashing regularly on the machine. I end up with a huge crashdump file, but the gist of it is:

# An unexpected error has been detected by Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007f22e44e025a, pid=31427, tid=1077770576
#
# Java VM: Java HotSpot(TM) 64-Bit Server VM (10.0-b23 mixed mode linux-amd64)
# Problematic frame:
# V  [libjvm.so+0x1f125a]

Normally the JVM under Linux is amazingly stable, so this sort of internal crash is really puzzling. I'm going to post on the Sun forums for help, but just wanted to vent a little frustration here. Grr!

UPDATE Apparently this is a known bug in the JVM that is tickled on 64 bit systems, and has been around for a while. There's a couple workarounds posted on the bug page at bugs.sun.com


Randomness...

| No Comments

Misc ramblings, just have to get them out there.

  • KDE4 - Not Ready
    KDE4 is so not ready for prime time. Or maybe it's whatever version is currently bundled with Hardy. Ick ick ick. Not stable, unuseable, bleah.
  • Struts2 - So far so good
    I'm getting into the proper mindset to go "Make that, wire it up, go." in S2. I'm missing a good powerful JPA layer though - too late to roll Hibernate into v2.0, but I so see it in the future.
  • Laptop battery, not so good
    clipper has a dying battery. After 3.5 years, I'm not surprised, but it is sad. I'm only getting 15-20 minutes out of it now, the question is replace the battery or the laptop and the battery. Decisions decisions.
  • Scratch is still cool
    Zach is still totally emfatuated with Scratch. I watched him 'program' for a bit today, and he clicks and moves components around with the best of them. He even figured out how to get it to generate an error and pop up a diagnostic window ("Cool, huh? What is that?" "That's smalltalk." "Neat!"), etc. Ahh, my little hacker.
  • Work kicks my ass
    Tech Barbie says "Work is hard!". It is - it's taking up a huge portion of my brain and focus, which is something I'm not used to. I finish the day drained and wrung out, but still force myself to get code done for Congo before falling over for the night.
  • Hudson is cool
    We have a hudson install going on one our servers. It's doing continuous integration builds and deployments. FAR better than the hacked up scripts of yor. Need a new build? *click* Build in progress!
  • Perl made tolerable
    I'm still stuck with working on perl sometimes. But if I have to go total immersion, I'll likely use EPIC. It's a Perl IDE plugin for Eclipse, and actually seems to work. Very tasty.

Nuff rambling. Back to the grindstone.


The weekend. Let me tell you about it.

| 1 Comment

So this weekend had me out to Ubercon down in NJ. All in all, things went pretty well. It was the second time I took Zach with me to an event, and he and blk's son Justin had a riproaring time gaming, socializing, and geeking.

On a personal level, this wasn't one of my banner events. It's been a while since I ran at at-con registration of a reasonable size, and a lot of things conspired together to fail so that, by today (the last day of the con), I felt pretty down about my showing. Let me esplain. No, there is too much, let me sum up.

  • Mame - My MAME cabinet, which I'd been hauling down to Ubercon for now the third event, gave up the ghost last week. deathstar refused to boot, and I almost cancelled bringing the machine. The UC folks happily offered up some spare hardware, and I decided to bring the machine down. Early Friday morning I did an emergency load of Kubuntu 8.10 on a spare laptop, installed my MAME drive that has my roms in as an external drive, and configured up KXmame. The end result? Unstable, video modes not working right, and general bleah. I managed to keep it limping along through the weekend, but it was not the glorious, elegant machine of the last event. There needs be work here.
  • CONGO - Hardware - The server I use for events, 'endor', has been running faithfully for almost 20 events now. I've done one full OS reload, and for the most part it has been dependable as all git out. This weekend however some hardware twitches started to come up. First, the CMOS battery died, which causes the 'things have reconfigured!' message on boot. What I didn't realize was it had also reset the dates, so that all the log entries for CONGO this weekend have a datestamp somewhere in 2006. This will require manual fixing. We also lost power twice due to a flaky outlet. The last bit was I attempted to cut back the amount of hardware I bring to events, and in doing so managed to arrive short 2 keyboards. Fortunately, Ubercon loaned me a pair so things were fine, but Grr.
  • CONGO - Software - For the most part, CONGO behaved appropriately and did all we asked of it. I'm itching to get v2 up and running, because of all the deficiencies I keep seeing in v1. But, the old tried-and-true still chugs along, and we cranked out hundreds of badges over the weekend.
  • Organization - I normally have a very competent reg manager running the event with me. This time, the normal Ubercon chap I work with was unavailable (due to health issues). While other folks helped man the desk (we were never short on people), not having an "In charge" Ubercon person with us really pointed out weaknesses in the process control in CONGO (things like cash drawer management).

Despite my grumblings, the convention was a success, and I think we did a bang-up job on keeping everything flowing nicely. I am utterly, 100% exhausted - the drives up and down take their toll, and caring for a 9yr old while running an event can be a bit taxing. Would I do it again? Absolutely, and will next year. For now, I'm going to go fall over.


A Visual Overview of Smartfphones

| No Comments

I came across this great article on Gizmodo that goes over the major players in the smartphone market, from a visual standpoint. The article briefly discusses the various platforms out there, and gives a nice summary of the pros and cons of each.

It's a very simplistic overview, but it's nice seeing all the players together.

Read the full article at Gizmodo.


Jay Walker's Library

| 3 Comments

I'm certainly a collector. Scouring eBay looking for another odd component to add to my esoteric toy collection is an age old pasttime.

But Jay Walker, the founder of Priceline.com and entrepreneur extraordinaire, has taken it to the ultimate.

Wired.com has an article and pictorial about his private library, containing centuries old books, originals of the milestones in technical and intellectual history (one of the spare Sputnik satellites, Enigma machines, an Edison kinetiscope, a 1960-era vacuum tube processor from IBM), all housed in a custom built 35,000 sq foot room.

Magnificent.


Nobody Cares about your Build

| No Comments

My pal Owen (who, incidentally, is doing some wonderful work on CONGO) has just written an excellent high level of of build system philosophy entitled Nobody Cares about your Build. If you're a developer or release engineer, or are just plain curious about build systems, check it out - here's a sample:

A reliable, comfortable build system has measurable benefits for software development. Being able to build a testable, deployable system at any point during development lets the team test more frequently. Frequent testing isolates bugs and integration problems earlier, reducing their impact. Simple, working builds allow new team members to ramp up more quickly on a project: once they understand how one piece of the system is constructed, they can apply that knowledge to the entire system and move on to doing useful work. If releases, the points where code is made available outside the development team, are done using the same build system that developers use in daily life, there will be fewer surprises during releases as the “release� build process will be well-understood from development.

Not what I wanted to see tonight

| 1 Comment

I knew something looked fishy when I looked at this drive and only saw half the volume size I thought was there....

/dev/sdd             240365240 206665208  21490104  91% /media/usb3
dbs@yawl:~$ sudo umount /media/usb3
dbs@yawl:~$ sudo fsck /dev/sdd
fsck 1.40.8 (13-Mar-2008)
e2fsck 1.40.8 (13-Mar-2008)
The filesystem size (according to the superblock) is 61049646 blocks
The physical size of the device is 33554431 blocks
Either the superblock or the partition table is likely to be corrupt!
Abort?

This is the 500gig external USB drive I've been carting around. In reality, there's nothing particularly critical on it, some, er, backed up music files which I'm loathe to part with, but at least it's not irreplaceable data.


Pandora - Try It. Really.

| 3 Comments

If you haven't tried Pandora, you should. So far, it's the only thing that has attracted me away from listening to Radio Paradise.

Here's how it works.

You create a 'radio station' (basically a 'channel'). In that, you hand it a few songs, or bands that you like - best if you choose a specific genre. For instance, I created a 'progressive rock' channel, and seeded it with Spocks Beard. Pandora will start playing songs it thinks are similar. From what it plays, you can say "Yep, that's great!" or "No, I don't like that at all." If you find the station is drifting, or is not including other similar styles, you can seed in new band names or tracks.

So far I've set up a couple channels:
  • Progressive
    Spocks Beard, ELO, Alan Parsons Project, Yes
  • Modern Folk?
    The Duhks, Nickle Creek
  • 80's Mix
    Tears for Fears
  • Live Blues / Jazz
    Les McCann, BB King

If you'd like to listen to any of these tracks, they should be available on my profile page, just click on the feeds (they're named after the first band or song you add to them).

These channels have netted new bands I'd never heard of, and songs that were new, but, 8 times out of 10, they were songs and artists I liked. So I tell Pandora "Yes, please, more like that!" When I find a band I'd like to really find out more about, I 'bookmark' them. I have a list of new bands I hadn't heard of before, but now I'll look for more of their music:

  • The Flower Kings
  • Tim O'Brien
  • The Green Cards
  • The David Grisman Quartet
  • Pete Murray

It would be unlikely that I'd run across these folks listening to broadcast radio, though RP might play them. Both sources (RP and Pandora) are opening me up to wonderful new music. I love technology.


Perl GRRRR.

| 7 Comments

Warning. I'm ranting. I'm annoyed. I'm frustrated. You might want to put on your rant-proof galoshes before proceeding.

Ready?

Perl should be considered a Write-Only Language.

Code that is written in it is generally incomprehensible by anyone but the person who wrote it. It's great for one-offs, quick simple jobs, and low-scope tools. But anyone who says it's appropriate for an enterprise level application (and I mean anything over about a thousand lines) should be strung up, draw, quartered, glued back together, and shot into space.

The main problem is Perl is so weakly typed, it should be considered not to have any. That means that parameters passed to methods are not type-checked, and therefore there's no way to tell if you're calling a method correctly, except to see if the app blows up when you run it. Editors and IDE's cannot magically determine that "such and such a method requires an integer, a string, and a hashmap containing such and such values. You're doing it wrong."

Because of this weak typing and lack of structure, Perl libraries become worthless. Let's leave aside the fact that Perl OOP implementations are complete and total trash (OOP is designed to organize your data into object form, and stabilize how components are used, defining a rigid structure so that when you use the component, you must use it correctly). In the case of libraries, it's impossible to use a library unless you understand how it works. Libraries are not self documenting, they don't even have a standard method of organization. They're just loose collections of Perl code, again, with very little defined structure.

Therefore, people who come along to maintain code after the first person has suffered the above fate has no clue how a method is supposed to work, unless the original coder documented it, or built in type checking in their code. I have seen NO Perl code that actively makes sure the parameters being passed in are of the correct type. At best, they make sure the parameter are not null. And if they're super-advanced, they even use prototypes.

And yes. I am in the unenviable position of maintaining thousands upon thousands of lines of undocumented, badly maintained, incomprehensible Perl code. Yes, the developers could have documented, formatted, and put the code into a form that's easier to maintain. But they didn't, and to me that's the languages fault, not the developers. A language should have some element of maintainability, and not require the programmer to make up for it's inherent ambiguity. If it does, it's doubling the burden on the programmer. They not only have to write the code, they have to document it, and make it maintainable.

In my opinion... Perl by its very nature encourages sloppy organization and unmaintainable code.

And now, back to the trenches.


My iPhone - 2 weeks on.

| 1 Comment


Taking a break here to chatter a bit about my iPhone. Catya and I got ours at the same time, and I have to say, it's been a pretty nifty experience all around. The iPhone is pretty much the first 'quasi-perfect' melding of handheld computer, telephone, and portable internet device I've ever used.

I've named mine 'speicus', a reference for you Roger Zelazny fans. It's really more of a companion than my Treo ever was. I have it hooked to my 2 email accounts (work and home), and viewing / responding / filing mail works perfectly, whether I'm on the 3g network or on a local WiFi connection. I love not having to carry an iPod around around for music. Not to mention having a web browser that is powerful, well supported, and fast, and there are volumes of applications coming through the AppStore that keep things interesting.

However, naturally, it has it's faults. I wouldn't be a blogger if I didn't gripe and groan about things, so here's my current 'stuff that is aggravating me' list...

  • Contacts
    The Contact manager is quite powerful. I was able to sync it against my Google Contacts via Outlook (bleah), and all 400 contacts came into the phone just fine. The problem is that it's SLOW. Pulling up my Contacts list and scrolling it can take 7+ seconds to get started, that's just plain too long.
  • SMS
    I text a lot. The SMS interface is good, but it's hard to get to - it's just a normal icon in the program listing. You can shortcut the one useable button on the phone to get somewhere quickly with a double tap, and I have that set to go to my favorites in Phone, but to get to an SMS conversation, I have to tap Home, scroll to the first window, tap SMS, and then select which convo I want to participate in. Startup of the SMS app is also quite slow, sometimes taking 4-5 seconds to come up.
  • Buttons
    I applaud the design of the iPhone. The screen is a joy, touch sensitive, multitouch, fast and beautiful. There are 5 external controls (Home, Volume up/down, Silence, and Close (?)). The last 4 have fixed, non-changeable functions,and the Home button is required to always be Home, but has 1 programmable function (double-tap). IMHO, a button on either side of the home button would have been a huge win. They could have been reassignable, and having shortcut access to certain well used applications would be great.

That's it. For 2 weeks of heavy usage, these are really the only things that have made me go "grr". If I were pressed for another problem it might be the battery life. But really, the volume of things this device is doing, from internet connections to bluetooth to playing games to playing music, coupled with easy charging via USB cables, I'm okay with having to plug it in once a day to recharge it.

My first store-bought new Apple product, and I'm impressed.


A WeekBlog - A Post a Day - CONGOv2

| 4 Comments

So this week I'm faced with a situation I haven't had in front of me in, well, as long as I've been married... at least as long as I've had kids in my life.

This week Cat is up in Maine with Zach. I have my normal work going on during the day, but no commitments for the evenings.

A unique opportunity to be sure.

The Plan [tm]
So here's what I'm going to do. A few months ago I started work on a complete rewrite of CONGO. The rewrite is underway, and has been getting attention fairly regularly over the last couple weeks, but I need to make the final push to an alpha release.

This week, I will dedicate 2 hours a night every night to continuing work on CONGO v2, with the goal of reaching an alpha-testable version by the end of the week. I will also make a post each night with an idea of where my progress is on the rewrite, and what I've accomplished. (I do reserve the right to post the next morning if I'm up until Oh-Dark-Thirty coding and fall asleep in the middle of writing an exception handler.)

Anyone wishing to follow the riveting details of my work, I subscribe to the Commit Early, Commit Often philosophy of source code control, so when I'm working, you'll see commits firing off pretty quickly. If this sounds interesting, you can sign onto the mailing list, or, if you're uber-hip, subscribe to the RSS feed.

Yeah? So? Why us?
So why bombard ya'll with my chattering? Well, I work better with encouragement, or if I know folks care about what I'm doing. Curious about bits of CONGO? Ask! Wanna help out? Give a "wow, kick butt, dude. Go for it" comment or two.

Hopefully I'll have some work to show for tonight, but if not, stay tuned for truly exciting blow by blow Java coding!


So... shiny...

| 6 Comments

So, 3 days I've had my iPhone now, and I tell ya, it's hard to put down. So hard I've had a hard time finding time to write to the blog about how much I'm enjoying it.

Here's a couple highlights of my first, realistically, 2.25 days with the phone. It's a black 16gig iPhone 3G, just to make sure everyone is on board.

  • Within two hours of powering up the phone (20 minutes of which I was driving), I had successfully attached to my SSL IMAP server at home and was reading my inbox, connected to my gmail account, AND attached to the Exchange server at work. All quite seamlessly. The accounts play well with each other, I can set up Fetch or manual updates (so cute having the phone next to me go "chime!" when I get new mail, but for busy inboxes, gets old fast).
  • Getting my Contacts synced from Google Contacts was a little trickier, but iTunes for windows just BARELY had enough functionality to make this possible. But, it sure was nice getting all 400 some odd contacts back into my address book.
  • The iTunes Appstore is wonderful. Many good applications available, and it's trivial to install them either via iTunes, or directly via the appstore link on the phone.
  • It's very hard to keep reminding myself this is a 3G, unlimited Data plan unit. Once I got past that mental block I tuned into RadioParadise, hit the streaming 3G feed, and listening to the station all the way home. That's a 45 minute driving commute, RP didn't burp once, feeding music to a moving car in Boston at 128kbps. Just too sexy for words.
  • I've ordered a simple skin from Gelaskins - I'm constantly afraid of scratching the phone - having some sort of barrier to keep it's gleaming body away from my pocket change is a must.
  • The keyboard took some getting used to - but with Apple's smart fingertip placement, AND a very intelligent replacement algorithm that 'just plain works' (none of the 'did you mean This?' nonsense. 99% of the time it guesses right, and you don't have to do anything, it just replaces the text for you, after letting you know via a very nice animation that it was doing so).

In short. I love it. I've named it Speicus.

More kvelling later.


It looks like Cat and I will be getting iPhones. The decision to jump away from PalmOS was pretty much made for my by Palm's inability to innovate. That article was posted in August, 2007. In response, Ed Colligan, the CEO of Palm, responds with platitudes and vague promises:

Let’s remember that it is very early in the evolution of the smartphone and there is enormous opportunity for us to innovate. We have only just begun to fight!

Well Palm, it's a year later. And Palm has done nothing with PalmOS. In fact, they have further deepened their relationship with Microsoft, coming out with more and more Windows Mobile devices, and doing nothing to pull focus back to the PalmOS platform.

In the meantime, Apple has gone ballistic with the iPhone.

This posting on PalmAddicts sums it up perfectly for me. The iPhone is not perfect, and I've spoken of my concerns before, but Apple is at least addressing the shortcomings in their platform. Unlike Palm, who is simply letting their once beautiful system fade away.


I'm looking for something, maybe folks can help me out.

I want a small MP3 player that will stream audio over the network. The commercial version is the Roku Soundbridge. I wouldn't mind building my own, hacking together parts, whatever, but I really haven't found something that fits the bill.

Here's the requirements:
* Must stream MP3 from a remote (network) source
* Can be wireless or fixed wire
* Should be small enough to mount on a wall
* Laptop running Linux is POSSIBLE, but only something that could mount / sit in Tablet orientation
* Total cost should be less than $50
* Should have at least a minimal display showing volume, source, and current track
* Line level output (RCA or headphone jack)
* Prefer opensource / linux based, but a commercial solution would work also.
* Should have local controls for pause, next track, volume, but not a requirement

The best configuration I can come up with is a handheld device running Angstrom or the like, but the most baseline iPaq or similar is still $50-$60, and I dont' have a lot of experience with the current generation of iPaqs.

I've also considered picking up a Zaurus SL-5500 or two and using them. They seem to go for a good price on eBay, and certainly are opensource. Good video, touchscreen, and can take an SD card for network.

Anyone else have any ideas? There are zillions of opensource MP3 player boards on the web, but none have network interfaces on them (that I could find). I'm open to suggestions!


Picker / Selector for GSM phones?

| 8 Comments

So I'm getting ready to make the jump away from Verizon, and it looks like we're going to be going with a GSM-based provider. I'd like to see a picker / selector for GSM phones that lets me pick phones based on criteria.

Anyone know of such a beast?

My baseline criteria is:

  • Does not run a Microsoft OS
  • Is not an iPhone
  • Is not a PalmOS Treo.
  • Has a full Bluetooth stack - including A2DP, various HID profiles, etc
  • I'd prefer a full keyboard, but I can wiggle on that
  • Music support, with open formats (I can put my own MP3's on it)
  • Very good Bluetooth 'modem' capability. Want to use it as a data gateway for my laptop
  • At least a few games. The only game I really play on my Treo anymore is Sudoku. I think that may be a dead requirement on any replacement device.

My current top contender is the Nokia N95-3 (the North American version). Pricing is down to about $300 (the -3 is a slightly 'older' version, but has a removable Micro-SD slot - pretty good for loading music and other stuff on it), but I want to make sure I'm not missing out on something. (Oddly, I can't find that price on Amazon now. I'll keep looking).

One possibility is going with a fairly cheap, capable Bluetooth enabled handset now - no music, games, etc, but able to function as a phone and a GSM modem, and look toward an Android based solution in the next 6 months.

Pointers?


Eclipse XML Validation can BITE ME

| 5 Comments

There are times when I want to take an axe to Eclipse. Today's particular grief is due to the XML editor. There are numerous faults with it (one of the biggest is that it 'captures' the control-pgup and control-pgdn keys into local tabs, so if you have an XML file open, and you use the keystrokes to navigate through your files, when you switch tabs to an XML file, the only way you can view a different file is to click on it), but todays stabbity-stab comes from the validator.

eclipse-48Eclipse shows you errors and warnings in realtime. Usually, they're fairly accurate. Today I was editing a struts.xml file, and was getting a validation warning. When Eclipse senses a problem with the XML (based on it's DTD), it tells you "this XML file fails the DTD validation".

But it doesn't tell you where.

This completely baffles me. "Somewhere in the following several hundred lines of XML code, there's a problem. But I won't tell you where or what it is."

Off to the W3.org Validation service. I fed the XML file into it, and lo! A detailed description of the problem, and where it was:

Line 26, Column 39:
document type does not allow element "include" here.
<include file="struts-editevent.xml"/>

Was that really that difficult?

Gnar.


Jumping the RSS train Again

| 2 Comments

About 3.5 years ago I changed my web surfing habits and went totally into "RSS Aggregator" mode. Initially I was using the Sage RSS reader, a Firefox plugin. It worked well, and with Google Browser Sync I was able to sync my views. Or so I thought.

The syncing of my feeds never actually worked too well, so if I finished reading articles on one machine, when I sat down at the other, I couldn't be sure if the '18 new articles' really meant 18 new articles. Also, Google Browser Sync is being end of lifed, so I need to find an alternative.

For a while, I switched to using Akregrator for KDE. All in all, I found it a fantastic tool, very fast, easy to use, and well integrated into KDE. Alas, I don't always sit at my desktop machine, and really started pining for a way to stay synced on my feeds while out and about, while still being able to read at home.

After denying the inevitable for so long, I'm now working with Google Reader, which appears to do everything I need in an RSS aggregator, and is not localized to one specific machine. I'm slowly migrating my vast array of feeds (somewhere around 200) into it, and organizing them into folders by subject.

So far, I'm reasonably happy with it. It works, it's fast, it's ubiquitous, and, well, it's Google. I have some real issues with how Google is overly dependent on their AJAX magic to get things done, though Reader doesn't seem to too overboard with it (unlike, say, something like Picasaweb, which I loathe).

I'll give it a few weeks and see how well I like it. Fortunately, it hasn't required a major investment in time or configuration to set up. About an hour of basic twiddling and I'm up and running. Stay tuned!


Weird Ways of Working

| No Comments

I was gone all weekend on a wonderful camping trip, hence the radio silence. Today I'm back in the saddle, and faced with an annoying situation with my home setup.

I've come to the conclusion 'yawl' just can't cut it as a development host. I had no idea that Pentium 4 CPU's were such garbage. A 2.26 ghz machine isn't fast enough to do serious work in Eclipse.

Most of my development is done on 'clipper', but alas it's a Windows machine (it can't help it, it was born that way). I wanted to start fiddling with CONGO (v2.0) via Konqueror, and hit upon running up ye ole VNC viewer on 'yawl', and just 'moving' the Eclipse environment onto yawl's desktop.

Lo, it worked remarkably well. Clipper's monitor is powered down, and I have an Eclipse environment on my Linux KDE desktop, but actually powered by the Windows dual core laptop next to it. I could overlap a Konqueror browse window and flip between it normally, and keyboard interaction was snappy and useful.

It's not quite like having a local Eclipse install, but it's mighty close. It gives me a feel for what it's like for folks having big vmware server installations, and other less fortunate folks dealing with the variety of RDP based solutions, and being able to just pop into an existing running machine and work with it directly.

Really though, I should have a faster desktop machine. Alas, that'll have to wait, it's pretty low on the budget tree nowadays. And, in case anyone is curious, that is in fact a snapshot of CONGO v2 running in a pure Java environment - screens and back end all running within a Tomcat server. Sure it looks identical to CONGO v1, but that's by choice. Quick port to Struts + JSP, then enhance and refactor. Progress is being made.


Over 5 years ago, I began work on an application called CONGO, a registration and badging system, not only in the vein of "There's gotta be a better way", but also to help out a friend who was running registration at con in Philadelphia.

The first versions of CONGO were crude, but worked well - with a custom Swing interface, custom terminals and servers, it was an impressive setup. What wasn't apparent was this was my first foray into writing any decent sized Java application. I made what I thought at the time were good design decisions, and looking back on 30+ events run, and hundreds of thousands of badges printed, I'd say the design was, for what I knew at the time, solid.

But it's time to change. With everything I've done over the last 3 years in Java and enterprise-level applications, I feel I'm ready to rewrite CONGO into a proper Java based webapp. CONGO 1.0 was part Java, part PHP, part templating. CONGO 2.0 will be a pure java application, based on Struts, and will allow features that I could not shoehorn into the old model

I started work on CONGO2 about a week ago, and I have my first screens working properly and chaining together as they should. Part of this process is factoring in the old logic code, and linking it up with the new presentation layer I'm building using JSPs and Struts. This means making calls to 12,000+ lines of Java code that was written as I was learning the language.

But one thing I did consistently - I documented my methods. Every piece of the CONGO appserver has full Javadocs describing how to call the method, and what it returns

Because I'm doing CONGO2 using modern tools (like Eclipse and Tomcat, my GUI is showing me these docs whenever I try to link to my old code, and is reminding me how to use the old libraries. Why is this remarkable? Because other than generating static documentation, I've never actually seen my own comments and documentation popping in interactive windows in my IDE. Until now.

It gives me a little thrill each time I see my own docs pop up as helper windows in Eclipse, showing me comments I made half a decade ago on structures and calls, and reminding me how to use the system.

It wasn't easy to learn Java, it wasn't easy to learn Swing, it wasn't easy to learn JSPs, JSTL, and Struts. But now I do know them - some more than others, and I'm enjoying this massive refactoring of one of my proudest creations.


And now, a word from my day job.

| No Comments

I don't talk about my day job much. For those outside of the Java Geeky circles, it's pretty dull stuff. But today has been particularly active, so I thought I'd share some of the bits I learned while teaching myself the wonders of Struts. This can best be summed up by the following revelations...

1) When changing a struts.xml file, within an Eclipse WTP environment, being serviced by Tomcat, WTP does not click that the Tomcat server needs to be restarted. The 'Dynamic' part of WTP does not take effect, and no matter how many times you save what you're working on, it won't go live in the server until you actually restart Tomcat.

2) Despite all the awesome advances in Eclipse in the last few years, there's twitches that still drive me absolutely gonzo. One is that the 'smart insert mode' (which helpfully closes XML tags and closes quotes and parentheses for you) cannot be turned off globally. You can do it on a per-editor basis, but not globally, so I'm always forgetting to turn it off when I open a new editor. Another is XML syntax validator is still quite twitchy, and occasionally will flag incomplete tags or non-well-formed XML when the file is just fine. A close and re-open fixes it, but ugh.

3) Last, but not least - that which almost got me up on the roof with a high powered rifle. I give you a quiz as my example. One of these two struts.xml configurations apparently tickles a bug in Struts2 and will cause an internal server error and stacktrace with a Null Pointer Exception. The other will not. Can you figure out which is which?

<action name="/*">
	<interceptor-ref name="mystack" />
	<result name="success">/WEB-INF/jsp/{1}.jsp</result>
	<result name="login">/WEB-INF/jsp/index.jsp</result>
</action>
<action name="*">
	<interceptor-ref name="mystack" />
	<result name="success">/WEB-INF/jsp/{1}.jsp</result>
	<result name="login">/WEB-INF/jsp/index.jsp</result>
</action>
Just for fun, here's the actual stack trace:
1. INFO: Server startup in 954 ms 2. Jun 17, 2008 7:41:14 PM org.apache.catalina.core.StandardWrapperValve invoke 3. SEVERE: Servlet.service() for servlet default threw exception 4. java.lang.NullPointerException 5. at com.opensymphony.xwork2.config.impl.ActionConfigMatcher.convertActionConfig(ActionConfigMatcher.java:168) 6. at com.opensymphony.xwork2.config.impl.ActionConfigMatcher.match(ActionConfigMatcher.java:144) 7. at com.opensymphony.xwork2.config.impl.DefaultConfiguration$RuntimeConfigurationImpl.getActionConfig(DefaultConfiguration.java:316) 8. at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:169) 9. at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:41) 10. at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:494) 11. at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:419) 12. at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 13. at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 14. at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213) 15. at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) 16. at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 17. at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 18. at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) 19. at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174) 20. at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:874) 21. at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 22. at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 23. at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 24. at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) 25. at java.lang.Thread.run(Thread.java:619)

How the hell am I supposed to debug that?

I finally did, after a good 2 hours of hair-ripping, gnashing of teeth, and spewing my venom upon the #struts IRC support channel.


Hooray Dell!

| 3 Comments

Wait, what? Hooray Dell? Dave, have you gone MAD?

Nope! I finally managed to get Dell tech support to acknowledge that the fan in clipper was shot. Last time we went through a service call, the suggested fix was a BIOS upgrade. (Folks may remember the problem was that clipper would overheat doing just basic things, like just sitting in it's dock, powered on).

As the warm weather came around again, the overheating was getting worse. The laptop couldn't be used except under extreme circumstances that involved levering up the underside, and placing various fans around it. Hardly optimal.

On Tuesday I settled myself into a long online chat with a Dell technician, and convinced them that yes, indeed, my cooling fan and/or heatsink needed servicing, and could they send someone out please?

The fellow turned up yesterday, and after 2 hours of surgery on my kitchen table, clipper was up and running again.

Since then I've used the machine on my lap, in it's dock, and run heavy duty compiles and testing on it, and I have yet to hear the cooling fan kick up above 'normal'.

Hooray for field techs! (And I used to be one!)


Decisions, Decisions.

| 4 Comments

So a rare alignment of the planets has happened, and I have a little bit of cash available. Enough to not only pay off some credit card debt (wootah), but also indulge in a little toybuying. Of course, the eternal question comes up, what should I do with it?

Here's the current list of candidates, in a very rough order of preference. It is possible to get more than one, but I'd like to keep things down to somewhat reasonable.

  • EeePC or similar small-mobile laptop (Approx $350)
    I've been hauling Clipper around as my primary 'mobile' machine for about 2 years now. It's large, heavy, runs RIDICULOUSLY hot, and is saddled with WindowsXP. I don't need to have a Core2 running just to get my email and chat on IRC, or SSH places. An EeePC will do 95% of what I need to do when out and about, at a fraction of the power and weight.
  • A Nokia N95 ($590?)
    Boy o boy is this a sexy phone. I'm tired of my Treo and it's abysmal 2' range on Bluetooth. The N95 is a beautiful platform. I'd need to change providers to AT&T though, and that means getting off my wife's phone plan. Complex and dangerous!
  • Get Rock Band ($170)
    This is pure unadulterated Fun. Zach loves playing it, I have a Playstation 2 to run it on. I wanna beat some drums! (Probably add another $30 or so for a second guitar)
  • Upgrade my desktop machine(Approx $200)
    I'm realizing my desktop machine, yawl is not the powerhouse I had thought it would be. Sure it says Pentium 4 2.26gig, but the P4 CPU is an absolute dog. I can get a motherboard, ram, and CPU from newegg that will outperform this machine for $150-$200. I even have a chassis to put it in.
  • Decent GPS ($300)
    My travails with my Mobile Crossing GPS are well documented, and that machine has now been tossed into the trunk, awaiting some other project. There are several really good GPS platforms around now, and getting one for the my car (Cat has one built into her Prius) is on the list of "really want"s. The TomTom 910 was on the top of my list last time I did this search, as the platform is very good, and it includes blueooth hands-free usage for my phone. A total bonus. Looking around, it looks like the 910 has really come down in price ($300?).
  • A new monitor ($200?)
    You'd think I had enough monitors. But I sacrificed one of my monitors to the Mame cabinet, which leaves me with a really poor 1024x768 monitor as screen #3. I'd like to get another Dell 19"er.
  • Upgrade the Mame cabinet ($100)
    Rebuilding the controller on the Mame cabinet would be a win - I'd like a trackball and some better joysticks. Not really a big expense - it's more work than cost. But still on the wishlist.
  • Zoom lens for the Canon (Approx $600)
  • Flash for the Canon (Approx $250)

Decisions, decisions...


The Cellphone Blues.

| 1 Comment


Ya'll are probably tired of me yammering about phones, feel free to 'n' or '^W' or whatever you do to skip this posting.

As mentioned previously, I'm getting pretty tired of my Treo. It works okay, though it's really aging. Physically too large for the features it offers, absolutely dreadful Bluetooth support... it's really time to move on.

The problem is, the offerings are slim. In my previous posting, Matt commented regarding the Nokia N95. All in all, it looks like a fantastic phone. There's only a few small problems.

First and foremost, no one has it! It was released in europe, and there is a US version, but none of the carriers are carrying it. You can order it from Nokia, but then you have to go through the joy of getting it one of the US networks, and even then it'll only be T-Mobile or AT&T. There's some noise about a 'north american version' for lower frequency WCDMA stuff, but I'm really lost about the offerings here.

Second, it's very expensive. The lowest price I've seen is in the $595 range, and the highest I've seen is over $800. Now, granted, this things is basically a laptop in phone form. Wifi, GPS, acceleromter, 3d accelerated graphics, media player, SD slot, bluetooth, kick butt CPU, etc. The reviewers are showing people happily networking via bluetooth through it onto the data network (something Verizon actively blocks, for totally unknown reasons).

IF I knew I could order an N95, walk into an AT&T store and activate it, and IF I could get a reasonable data plan on it, so I could use it as my primary wireless 'gateway' for my laptop(s), and IF there weren't any major obstacles I'm not seeing (like, oh, there are no plans that can do SMS + Data + voice for something < $200 a month), I'd be seriously ready to do this. But there's too many unknowns, too many variables.

And. I can't find anyone in the Boston area who HAS one, so I can't even get one in my hands to play with it.

Growl!


It's no secret I'm a huge booster of KDE, and specifically Konqueror, the built-in web browser. It's fast, powerful, standards compliant, and just plain works.

But please, KDE folks, ferchrissake, fix the damned spell checker.

When editing things in TEXTAREA fields in Konqueror, occasionally you'll get the red text of a misspelled word (or one that is simply not in the dictionary). That's fine, no problems. In the Gnome world (and the variants such as those used in Thunderbird, my other most-used app, you can right click on the misspelled word, and it'll happily give you a list of alternate spellings.

But no, not in KDE. The right click menu has no context for the misspelled word. It simply gives you the option of 'check spelling', which pulls up a dialog that spell checks the entire textarea, from beginning to end. Every time.

That means I get prompted for 'href' and 'png' and 'img' and 'valign' and all the other fun things that I type into my blog postings, long before I get to the current word.

Dear KDE. Please fix this behaviour. Make a context-sensitive spell checker. Luv, me


One more nail in the coffin of Palm

| 5 Comments
According to Palm's website:
JVM download for Palm OS® devices no longer available from Palm

As of January 12, 2008, Palm no longer has rights to distribute the IBM WebSphere Micro Environment Java Virtual Machine (JVM) to our customers. JVM allows users to install and run Java applications and games on Palm OS® devices.

Palm is not able to offer the JVM download or version upgrades. We will continue to support existing installations of JVM on our website.

Opera Mini
We have advised Opera support that the Palm OS JVM is no longer available. There is no alternate Java Virtual Machine that we are aware of for Palm OS. We know of no way to run Opera Mini on Palm OS if you do not already possess the JVM. We regret the inconvenience.

Sigh. I wish the iPhone SDK licensing didn't suck so much (which is also preventing the release of a JVM for the iPhone). Or that the Android phones had some hope of being more than vaporware in the near future.

My Treo 650 won't last forever. And I refuse to run Windows on my phone. What's a geek to do? As noted on the Palm Blog, the Centro seems to be the only thing left in the lineup to move to (of course Verizon doesn't support it), but it's still the same ancient platform, with no new features except coming in a nicer package. I want wifi, I want bluetooth that doesn't suck, I want a web browser that doesn't suck. I fear I am destined to be disappointed.


Go go gadget Greylisting!

| 1 Comment

Our spam levels here at Chez Geek are, shall we say, astronomical. About a year ago, we installed and configured SQLGrey, a tool for Postfix that enables Greylisting on inbound mail. Initially, it had a great impact, but somewhere along the lines, our configuration got modified in a way that stopped the greylist from working.

Last week, the spam levels got to be too much, and I checked into the greylisting configuration on our main server. It wasn't enabled! Somehow our postfix entries had gotten removed (we're guessing an overzealous edit with an RCS checkout overwriting things).

Anyway, after restarting, I've had a few days to see what impact there is. The spam dropoff has been ridiculously dramatic, as my spam reporter shows:

Breakdown by day: (10172 posts, average of 1453.1 posts per day.)
----------------------------------------------------------------------
	 Apr 20 | Apr 19 | Apr 18 | Apr 17 | Apr 16 | Apr 15 | Apr 14 
	   130  |   143  |   136  |   1393  |   3038  |   2417  |   2915

This is showing only mail that comes into my inbox, and has been tagged as spam by Amavis. This doesn't show how much mail is being rejected, but it's pretty obvious since I enabled greylisting (middle of the day on Apr 17th), things have... fallen off to something like 5% of the original level.

Now that's good stuff.


Linux vs Windows XP Bootup Speed

| 1 Comment

I got into a conversation on IRC today about relative performance between Linux and Windows XP machines. A true blue dyed in the wool fellow was falling all over himself about how much faster WIndows XP was, and how sluggish Linux was, and he couldn't see how anyone would use Linux because it was such a performance hog.

I have on my desk two machines that are relatively equal in use configuration. They are both development machines, configured with MySQL, Apache, various editors and other environments, including chat clients and a variety of daemons. In general terms, they're equivelent.

So I decided to boot each machine from scratch, starting a timer at the end of POST, when the first part of the OS loads. Stop-timer was when CPU usage went down to 'idle'. Windows XP meant the Task Manager CPU usage indicator was hovering around 6%, and on my Linux box, when my load manager showed the job queue was basically empty.

Machine 1 : yawl (Kubuntu Linux, Pentium 4 2.26gig, 2 gig memory):
Time to startup: 2 minutes, 0 seconds.
Machine 2 : clipper (Windows XP, Dual core 2.16gig, 2 gig memory):
Time to startup: 2 minutes, 53 seconds.

The XP machine was slower, but it shouldn't have been. It is a dual core machine. While that doesn't translate immediately to 2x the performance, it should at least show an improvement over the older, slower single core machine. Apparently not.

Lets try some other bits.

yawl: Time to start up eclipse: 22 seconds.
clipper: Time to start up eclipse: 34 seconds.

I don't know what other benchmarks I can run here. XP is a slower OS than Linux.

I'll caveat something though. There are tools for XP that are optimized for it. Some GUI apps are far faster under XP than they are under Linux. But to my mind that shows that things can be made to run faster on an XP box. But for folks who make blanket statements about XP being faster / less bloated / whatever than Linux, think a little more about what you're using as a basis for that statement.


Coconut gets a facelift

| 1 Comment

Ever since I first wrote Coconut, the web interface to CONGO, I've been using the same stylesheet. It was really my first foray into stylesheet-driven design and layout, and while it was a good first try, it was ugly as sin.

Last night I finally sat down to rewrite the stylesheet into something reasonably attractive. I got rid of the dark background and greytones, and the 'All Caps' font styles, and used more pastels.

I'm pretty happy with the result, but for the hundred or so folks who are used to the old look and feel, it'll be a dramatic change!


Oh Apple, you guys crack me up!

| No Comments

Those crazy guys at Apple. Look at this wonderful April Fools joke they did.

So. So. Check this out. They modified their Apple Updater on Windows machines to pop up a window, and... I swear, I can't stop laughing... even though I don't even HAVE Safari or iTunes installed, they've put them on the updater list (as a "Software Update" *BWAH*), and automatically CHECKED them! Not only that, the highlighted button on the dialog is to "Install 3 Items", so anyone could easily come along, see the update window "Oh yes, I need the Quicktime update" and... and... BANG! They have another 88 megs of software installed that they probably don't even want!

I tell you, those guys have the best designs, the best platforms, and they make some great stuff, but it's the little tweaks like this, the little jokes, that just crack me up. I mean, cmon. An updater that tried to trick you into installing software you don't have. Hee hee hee!

Thanks Apple, for making my week!


Apache sneakiness.

| No Comments

This is a story about system administration. It's about a system, and it's administration. In particular, it's about configuring up Apache to do some magical rewriting of URLs so that a site we're working on can translate /foo/bar into /foo.php?item=bar . Ready to journey with me? Let's go...

I'm running XAMPP on clipper - it's a very nice 'prepackaged' solution for developing LAMP-like applications on Windows. It includes MySQL, Apache, PHP, and a handful of other tools, and it makes building and testing apps under PHP quite tolerable under Windows.

What we were doing sounded like a fairly simple application of mod_rewrite. The specific function was whipped up by Tim, and I SVNupped it to clipper - and it didn't work. I was getting something that basically said "you're running this script without initializing it properly".

It got more and more bizarre, as I realized that in fact, mod_rewrite wasn't even loaded in my Apache install, but it was obviously doing some bizarre bit of rewriting. hits to http://localhost/foo/bar/baz would not give a 404, but would attempt to run the script 'foo.php', passing in parameters.

I spent a good 2 hours S'ingTFW on issues with XAMPP, PHP5, Apache, mod_rewrite - grepping through a few dozen configuration files (oh, sorry, 'find'ing - windows equivelent of grep. Which, incidentally, sucks.). Nothing was coming together.

Eventually I fell to the #apache channel on FreeNode, and sang my tale of woe to them. I stumped several of the more knowledgeable folks there for a good half hour ("it's a mod_rewrite, but you don't even have the module loaded. Huh"), when, just like a good mysterious western, a previously silent voice in the back piped up, and uttered one word.

"Multiviews"

It was the word that was to haunt me for... 15 minutes. This is an option that I've seen countless times in configuration files, but really had no idea what exactly it did. I metaphorically dragged out the Apache 2 reference docs, and, blowing the dust of the pages, read about Multiviews:

The effect of MultiViews is as follows: if the server receives a request for /some/dir/foo, if /some/dir has MultiViews enabled, and /some/dir/foo does not exist, then the server reads the directory looking for files named foo.*, and effectively fakes up a type map which names all those files, assigning them the same media types and content-encodings it would have if the client had asked for one of them by name. It then chooses the best match to the client's requirements.

I was stunned. This option, as Tim put it, had the equivalent effect of... "the server closes its eyes and THROWS DARTS AT THE FILESYSTEM until it finds something that looks good."

Naturally, my vhost had it enabled in it's Options line. Taking out Multiviews, hupping the server, and lo, no more magical mystery rewriting!

I've been administering Apache installs since before it was called Apache, and I've never hit this problem before. Let's hear it for learning experiences! :-/


How a bigger battery changed my life.

| 2 Comments

clipperOkay, that may be a bit more grandiose than is appropriate, but it does put a finger on how I feel about getting a new laptop battery for clipper, my work laptop.

Previously, I had been getting a around an hour of usage on it on the internal battery. When thinking about places to park and work, having a power outlet nearby was an absolute necessity for anything approaching real work. Sure, on the old battery I could fire it up, check email, do some quick surfing, but it put a hard limit in my head on what I could accomplish. I knew that I'd have to stop within a short window and move or shut down or whatever.

Recently I went from the 6 cell Li-Ion battery (56 watt-hour) to the 9 cell battery (85 watt-hour). The first improvement came from just having a new battery (Dell laptop batteries are notorious for losing their 'oomph' after a few years of use), but the other boost was getting a 40% increase in capacity. This drove my work time from a smidge over an hour up to over 3 hours of off-outlet use.

Now, that may not seem like a huge change ("just another 2 hours or so") but in my work-pattern, it's enormous. It means I can spend the 1/2 hour after just sitting down checking mail, getting settled, starting up what I need to do, and organizing my brain a bit, and then get into my work groove... without immediately needing to be interrupted by a power-fiddle.

I'm comfortable parking myself in a random restaurant booth and settling in for a good hack session without thinking about how to manage power outlets and cords, or even firing things up while sitting in my car waiting to pick up my son from school.

Yay technology.


Onward and forward on my quest to avoid using Mozilla-based products on my desktop. I've been frustrated by having to load Firefox to get to my Google Calendars and Google Maps. For some reason Konqueror had been refusing to render these sites, and since I've started using things like GooSync, I really do need to get into Google Calendar without jumping through hoops.

Last week, on a whim, I tried Google Maps, and then Google Calendar. Lo! They loaded! Cleanly and quickly! Obviously something had changed (one of the drawbacks of 'web sites as services' is that you don't necessarily know when they change things). But whatever happened, I can now view and update my Google calendar via Konqueror, and can GMaps with the best of them.

There are a few small twitches. Streetview is not working in Konqueror, and occasionally there are rendering ghosts, but I can look up, scroll, and even print directions without a problem. Calendar, oddly, is even more stable - I haven't had a problem yet with it.

Thanks whomever!


Remember those little air popper things you can use in offices to make smoke rings and foomph folks at a distance? The guys at Erbert and Gerberts (a midwest sandwich shop chain) decided to build a mighty big one.

Check it out on Candlecannon.com (embedded youtube video)

(Thanks to GeeksAreSexy)


Join our BOINC team! Again!

| 4 Comments

I suppose it's okay to mention every two years or so that I have a BOINC team that is collectively pooling all idle computing power and using those idle cycles for scientific research and analysis. Since 2 years ago, the number of projects that use the BOINC software has increased and diversified widely, though the core projects (SETI@Home, Folding@home, etc) are still extremely active.

If you have a machine that's frequently idle, why not consider installing the BOINC client on it, and signing up to join our team? I've recently re-started many of my idle clients in an effort to shore up some of the sliding numbers (many of our long time computing partners have stopped submitting updates, due to job changes or just disinterest.)

At our best, we were ranked # 662 about a year ago. Currently we ranked #935 in the world (out of 71,588 teams), according to our page on Boincstats.com.

If you'd like to join, our SETI@Home project page has signup information, though we also have teams at Rosetta and Predictor, both great projects.


Dear Jboss. QA yer damned site.

| 4 Comments

Why is it so hard for any organization, from opensource on up, to understand it's a good idea to give the users information they want, in a form that's useable?

I zipped over to JBoss.org to see if there was an update to the 4.2 server I've been using for the last year. Sure enough, there's a 4.2.2 release that came out in October. Great, I wonder what changed?

Well, the downloads page has the new release on it, and a link to the release notes. Which, you'll note, is completely illegible because the lines are not wrapping. (I tested this in Firefox under Linux and Windows, Konqueror, and under IE6 in Windows. None of them make that page useable.)

Was it so hard for the JBoss release engineer to click on links and check if they worked? Apparently that capacity is beyond them. Sad.


Animation with GIMP, and a new icon

| No Comments

I've been thinking about learning how to make animated GIFs. They're super-popular on Livejournal and other forums, so why not figure out how to put it all together?

Turns out The Gimp has a very simple mechanism for making animations. Just open multiple images in layers, and then save it as a GIF. When you go to save, it'll pop up a dialog "This has multiple layers, and you're saving as a GIF. Do you want to animate all the layers as frames?"

And that's it! So, naturally, I had to try it out. I needed an icon for gaming, and this seemed easy to put together. It's 27 frames, took me about an hour to draw the pieces, and then another hour of fiddling with GIMP to get the timing and assembly correct. Mad props to blk for figuring out that if you re-open an exported GIF, you can edit the timing on the frames just by altering the name of the layer (which is TOTALLY screwy in my book, but whatever).

Folks are welcome to scarf it and use it as much as they like. A pointer back to the blog here would be nice, but not required. :)


Decorated laptops?

| No Comments

That's the third time I've had a comment about my laptop this week. I guess it's unusual enough to have a Flying Spaghetti Monster plaque on the machine, but the addition of a large "for SCIENCE!" black bumper sticker just made it that much more comment worthy.

Though, spending a few minutes trying to explain both to an obviously clueless panera-patron really wasn't on the schedule.


The Spam, it burns!

| 3 Comments

Just in case you were curious about the levels of spam I have to deal with daily. I have a filter running on my inbox that tracks how much mail I get each day, how much of that is list traffic, and how much of it is spam. Each night, the program (which is available here) generates a report that lets me see how things have been going.

I have many spam defenses running on boomer, and it does an admirable job of filtering out the spam. This week I've noticed a fair amount of the 3 line plain text spam getting through to me (which Thunderbird does catch). This spam is notoriously hard to filter due to it's simplicity. I was sort of curious how much spam actually -was- getting caught.

Here's my last 7 days of total mail I'm receiving:

Breakdown by day: (17606 posts, average of 2515.1 posts per day.)
----------------------------------------------------------------------
	
	 Feb 10 | Feb  9 | Feb  8 | Feb  7 | Feb  6 | Feb  5 | Feb  4 
	   1983  |   1619  |   2636  |   2878  |   3020  |   2985  |   2485

That is the total mail received addressed to me on perhaps half a dozen domains. They all funnel to the same mailbox. How much of that is spam? Lets look:

Breakdown by day: (12676 posts, average of 1810.9 posts per day.)
----------------------------------------------------------------------
	
	 Feb 10 | Feb  9 | Feb  8 | Feb  7 | Feb  6 | Feb  5 | Feb  4 
	   1656  |   1216  |   1918  |   1990  |   2135  |   2101  |   1660

An average of 1810 spams received each day. By one mailbox.

The spam report is showing 'caught spam'. I get very few false positives (mail caught as spam and misfiled), so I have my filters set fairly liberal. Thunderbird is probably catching another 200 spam messages a day. The rest of my mail is list traffic (I'm on a dozen or so mailing lists). And what's left? Legitimate mail, probably 25 messages a day.

One out of every hundred messages I receive, only one is something I need to pay immediate attention to.

Email is broken. It's time to look at a radical paradigm change. I'll be posting some more about this as I move ahead, but I constantly worry about situations where important mail may be missed, and it's become abundantly clear that the current email situation has to change in order for net communication via electronic mail is to continue being a viable medium.


Grrr du jour, KDE + Flash = FAIL!

| No Comments

Well doesn't that just frost your fingernails.

This morning an update came down the pike from the Ubuntu distribution that updated the Adobe Flash (nonfree) plugin, a plugin I use primarily in Konqueror. While it's nice that Adobe is actively supporting the Linux community, this morning's screwup makes me grit my teeth and take another long look at the rabbithole.

The new flash player is incompatible with the the Gutsy Gibbon (aka Ubuntu 7.10, aka 'stable') version of Konqueror. When you try to view any flash content, it the plugin crashes with a SIGSEGV fault.

Some whining on the #KDE support channel pointed me to a workaround using the KMPlayer tool, but after attempting a build under Gutsy, I realized that this patch will only work on Hardy Heron (the next 'unstable' release of Ubuntu).

Which I'm not running.

So, as it stands now, I have no flash player under Konqueror. I can start Firefox and use that, but I've been avoiding that as much as possible. So in some ways, yeah, I -can- view flash content. But I don't like it.

As far as I know, there is no fix for this problem, at least until Hardy Heron goes into wide release.

I am grumpy.

UPDATE 2/11/2008 - The folks at Ubuntu have been redeemed! A patch was released that updated much of KDE, and included a fix for the embedded flash player in Konqueror. We're back to using the Netscape plugin properly. Hooray!


Useful Firefox Plugin du jour

| No Comments

This one's been nagging me for a while. When doing work on CONGO, I spend a lot of time editing templates and stylesheets within <textarea> blocks. This is all fine and dandy, except Firefox (and most other web browsers) consider the 'tab' key to mean "move to the next input field". Makes it very hard to edit XML or HTML in a textarea when you can't actually indent the text.

So I was mighty happy to find tabinta, a Firefox plugin that simply allows the tab key to type a 'tab' when editing a textarea. Nothing fancy, nothing major, but ZOMG what a difference when editing content.


Wanted: Real Bluetooth Audio Management

| 9 Comments

Okay folks, I'm looking for help here.

I'm looking for the Right Bluetooth Setup. It consists of two setups:

  • Bluetooth Headphones
    I had a set of Blueant X5 headphones for a while, trying to get them working with my Treo 650. While that experiment failed, it set the tone for what I was trying to do. So, first, I need a good set of BT headphones + unobtrusive mic. Stereo headphones with A2DP support to talk to whatever streaming device I have. Which brings me to:
  • Bluetooth source devices
    I'd like the headphones to be able to take multiple BT sources. For instance, allow me to listen to music streaming from my iPod, but interrupt the music stream to answer my cell phone call, listen to that, then go back to streaming from the ipod. If that's not possible, I've come up with a sort of hybrid arrangement, that has a number of very strong advantages...
  • Bluetooth HFP for Laptops
    If I can't necessarily switch between Bluetooth feeds, why can't I have my laptop act as a 'Bluetooth Audio Manager'? Install a bluetooth HFP profile into the bluetooth stack on the laptop, so the mic and headphones I attach to the laptop become my wireless headphones for my cell phone. Now, before you laugh too hard about this, think. When I'm sitting in Starbucks working away, listening to Radio Paradise via my laptop, what happens when my cell phone rings? A lot of times, I miss the call - even with vibrate. But if I do get a call, I have to take off my headphones, answer the phone, and try to be heard over the general clatter of the coffeehouse. Why not have the laptop pop up a "A call is coming in", and then I tap [Answer], and the mic in my headset (or on the laptop) goes active, my audiostream switches to the phone call, and the music pauses. I can have my conversation, then 'hang up', and RadioParadise returns.

I've STFW'ed for this, and apparently there is no HFP profile for Windows or for Linux. I'm sorely tempted to finally break down and buy a Nokia N810, which has quite capable bluetooth support, and see about rigging up an HFP profile for it. Listening to music from the Nokia, and having it switch over to handle my phone calls, then switch back at the end of the call, would be just about perfect. In that case, I wouldn't need the wireless headphones at all, the N810 would act as my 'communications client' to my audio devices.

Any suggestions? I just gotta geek more!


Dear FOSS Developers

| 3 Comments

I'm speaking specifically to FOSS developers who are involved GUI / Human Interface type development and design.

There's apparently a percentage of ya'll who seem to think that the proper way to execute a program represented by an icon is to just click on it.

Once.

I have one thing to say to that. Or. Several things. With the same message...

NO NO NO! WRONG WRONG WRONG! BAD BAD BAD!

Every once in a while someone seems to think that it's proper to make it so if you click on, say, a Firefox icon, it means 'Start Firefox RIGHT NOW'. This is ridiculously, painfully WRONG. A desktop contains objects. If you touch something, it doesn't mean "EXECUTE THIS RIGHT NOW, NO MATTER WHAT IT IS".

Imagine if this were taken on in the real world. Your car would start whenever you touched your keyring. If you touched the handle on your sink faucet, water would come gushing out immediately.

This pattern has been cropping up in KDE on occasion, though I'm assured it will not be the case in KDE4. Gnome is rife with it. And Puppy Linux, an OS that can run via LiveCD, will happily start up a 60meg program (Firefox) if you happen to touch the Firefox icon on the desktop. Just touch it. A process that can take 4-5 minutes in LiveCD mode.

So, in conclusion. No. For the love of all that is sane, do not do perpetuate this bad design.

Warm regards, me.


Rockin in the Workshop

| 1 Comment

So there's this house we're calling Interlude. It's a rental, we're living in it since we sold Homeport and is our home until Mosaic is ready for us, sometime late next year.

It has a usable basement, with a high ceiling and dry floors. Not particularly warm in the winter, but usable.

I've moved my workbench, my tool chest, all my tools and parts and other debris into a nice little work area, and have been slowly working on various projects (such as the Mame cabinet - see that post for a picture of my workshop space).

But something was missing.

Broken RokuThis past weekend, I finally gathered together all the pieces of the Roku Soundbridge M500 I won from Radio Paradise two and a half years ago. Not long after I got the Roku, it broke in a funky way - part of the LCD display went blank. I contacted Roku about getting it repaired, they said to send it in and they'd look at it, but I never got around to doing so. Ah well.

This past weekend I powered it up again, just to see if I could get it useable in the workshop. Oddly, it came up fine, even connected to our wireless network. With 3" of the left side of the LCD out of action, I had a hard time navigating the menus until I found the 'brightness' function, cranked all the way up, gave a sort of 'shadow' on the LCD where the text was. A few updates later, and I was up and running with RadioParadise, listening through the old stereo I had installed a while back.

Ahhhhhh.

I really wish these devices (that stream audio either via wireless or network) were less expensive or easy to put together by hand. I could totally see having a bunch of these for Mosaic for public spaces around the community. "I'll be out in the workshop, I'll run up RP there."


Apple continues to lose my respect.

| 2 Comments

Update 15:23pm.. - THIS BLOG ENTRY IS REFERRING TO A FAKE POST ON THE FAKE STEVE JOBS BLOG. I was duped, hook line and sinker. I'm annoyed at being deliberately mislead, but relieved that my rabid furniture-chewing has no real basis. I'll leave the post here as an example of my own duplicity.

It's been a hard fight for me.

I'm completely taken by Apple's designs, platform, and technology. They're the only company to take Unix seriously enough to put a front end on it that WORKS. Their hardware is sexy as all git out, and for the most part, works very well.

I have considered seriously going the Apple route more than once. Ditching this Linux thing and embracing Cupertino.

There's always been this nagging, though. Apple is very lawyer-heavy. They tolerate no smack-talk from the little guy, and have a tendency to go all Corleone on anyone who even HINTS at revealing their deep dark secrets.

But now I think they've overstepped their bounds.

In the past, when Apple threatens a writer or publisher, the contents of the negotiations are kept secret. A site disappears, the negotiations are private, and we assume they reached some amicable settlement.

One fellow isn't going quietly into the night. Daniel Lyons, the author of the "Fake Steve Jobs" blog, which has been a satirical poke at the head of Apple, is being attacked by a pack of rabid lawyers. While there may be a small bit that they disagree with, Daniel has gone the unusual route of publishing exactly what the lawyers are saying to him. The most recent exchange has said lawyers saying, in essence, "You should play nice with us. Here's a list of your assets you own. Here's where your family and your home are. Would be a shame if something were to, like, you know, happen to any of them....

And then, I swear to friggin God, there's a list of my assets with an estimated value for each and I suppose the implied threat that I stand to lose them. Which kinda scares the living shit out of me, to be honest, since they've got a pretty thorough list, which means they've been doing some research on this and the offer didn't just come out of thin air. Their lists includes my home address, most recent assessed value of my house and all the information about my mortgage; a rental property that we own; my bank accounts and investment accounts, including the college funds for our kids, whose names are used; and our boat and two cars.

This is disgusting. The Fake Steve Jobs site is satire. It's amusing, entertaining, and does nothing to harm Apple. But Apple is coming down on Lyons like a pack of wild dogs, and no ethical, moral, or financial boundary will stop them from destroying Lyons.

This is not a company I can, with any real conscience, support.


XO Laptop environment - Try it yourself!

| 2 Comments

I can't help it, I'm too impatient. While waiting for my Zach's XO laptop to arrive, I wanted to get a feel for what the environment was going to be like.

The XO uses a modified version of Redhat's Fedora operating system, with a custom written 'desktop' called Sugar. Coupled with Sugar are several tools, including a music editor, video application, several programming tools, a web browser, etc etc. The environment had to be built in a way that non-english-speaking children could pick it up easily, and if the early reports are true, the team has done a great job at this.

But I wanted a chance to work with the environment before the laptop arrived. Fortunately, there's a great series of pages on the OLPC Laptop wiki that describes how to set up an emulator, and run the laptop OS on your desktop machine.

After a little fiddling, I got it up and running, and was able to play around with the environment for a while.

First note - the emulator runs things -slower- than the laptop itself does, so I had to take into account I was seeing things at about half the speed a typical user would. But even with that, I was able to get a good feel for what the user experience was like.

I recommend anyone interested in this system to follow the emulator steps and take a look at it. I'm of the opinion that with several million of these going out to kids all over the world, the environment and tools are going have a major impact on the net at large. Opensource code (all written in Python, very good visual programming tools (like the Logo environment pictured here) - all will contribute to a new digital landscape over the next few years.


Dear Intarweb...

| 5 Comments

Somewhere, back in the mists of UI design, some bright light came up with the idea of making options in an application or desktop environment selectable by using a mouse to point at a menu along the top of a work area, clicking on the menu, and having it present more options.

This was called a 'Pull down menu'

Handy! Picks were readily available when needed, and stayed out of the way until requested.

I'm fairly sure the original designers of menuing systems never said to themselves, "Hey guys, I think it would be a good idea to SHOW A PULLDOWN MENU JUST BECAUSE YOUR MOUSE HAPPENED TO ROLL ACROSS IT ON ITS WAY TO PAUSE YOUR MUSIC!

I'm flabbergasted that the 'popup menu' has become de rigeur in web pages. It's a terrible UI design, and consistently gets in the way when trying to do other things. There's no other menuing system on the planet that does this. Menus should show up when you ASK for them, not because you happen to TOUCH it. That's what the little button the mouse is for. See? Clicky clicky. Now you try it.

Not that I expect this to change anytime in the near future. There's a revolution going on in UI design now, with AJAX services redefining what it means to write a UI. Unfortunately, I have yet to see any AJAX application that comes near the functionality of existing systems. It appears programmers are going back to 1985 and starting over, thus jettisoning all the lessons learned in the last 20 years.


Google Sketchup - Okay, this is cool

| 8 Comments

I've been having fun playing with Sketchup, Google's 3d modelling system. At first I avoided it because there was no native Linux version, even going as far as to get it to run under Wine (a process that... well, didn't fail completely, but did result in a tool that's unuseable - invisible menus, etc).

After biting the bullet and installing it on clipper, I set about learning what it could do. The project I had in mind was to model Mosaic's building site in Berlin, MA, so folks could have a feeling for what it would be like walking

There was certainly a period of mental adjustment. After all, it's not easy trying to model a 3d object using a 2 dimensional input and display method. But after a while, the keyboard shortcuts began to come naturally, and I found myself enjoying manipulating objects in this non-existent space.

I'm probably halfway through things so far. I'm regularly updating the drawing in 3dWarehouse, Google's sharing service for Sketchup. If you have the tool, feel free to download the drawing so far...

I'll let folks know when I'm done. But Google. Please? Make a Linux native version. You've already got Windows and Mac. This can't be that hard.


Linksys router upgrade

| 2 Comments

Nothing like a nice quiet thanksgiving weekend to take it easy around the house, enjoy some quiet time with the family, and... UPGRADE YOUR ROUTER!

Our Linksys WRT54g has been happily managing our net connection for about 2 years now. I've been noticing some twitchy problems with it off and on (about once a month it stops handing out DHCP addresses, we have to reboot it), and it has shown other small problems. The final straw came about 6 months ago when I realized I had lost the administration password. This meant I couldn't even log INTO the router to find out what was wrong with it. Something had to be done!

(6 months later)

Okay, time to fix it! I reset the router (holding in the reset button for 10 seconds does this) which resets it to factory defaults. The default password on Linksys routers is just 'admin' in the password field (surfing the neighborhood? See an SSID of 'linksys'? Hit 192.168.1.1, and try 'admin' in the password field. Welcome to someone's router! - some versions of the linksys may require admin in the username field as well).

The first thing I did was confirm that I could log into the router and that default configurations worked with our Comcast cable modem (they did). After resetting the password and the SSID, I took the opportunity to upgrade the firmware in the router. And I'm super-happy I did.

The firmware I was using was v 1.00.02. The current version is 1.02.2. The number of 'fixes' between those versions? somewhere around a bazillion. On the one hand, I do appreciate that Linksys is actively updating their firmware. On the other hand, that's a lot of bugfixes for a router that's only 18 months old.

I'm seriously considering checking out DD-WRT, the opensource firmware for the WRT54G. It has a truly impressive feature list, including native OpenVPN client and server support. Unfortunately, my router is a Version 6, which only has 2mb of flash in it. That means I can't run fit a larger firmware image onto the device. Alas. Maybe I'll eBay an older revision that has 16meg in it.

For now, I'm back up and running, and hopefully won't have my roomies having to fight with constant connection drops and router resets.


I have a strong attraction to flight, in all it's forms, but I feel the strongest attraction to things that are the closest to free flight... it's one of the reasons I'm very interested in soaring - it's as close as I can get without actually growing wings.

But, what if you can't fly yourself... How about flying models? Okay, that's fun, but you can't actually get IN the plane and fly it around.

Or can you?

This was linked from all over the place, but today's reminder of it came from Hackaday.


Photo Managers - Digikam rocks

| No Comments

Today I am full of Mad Love for DigiKam, the photo manager distributed with KDE. I've been using it off and on for a few years, and for one reason or another, I would stray away and use manual file copies for a while.

As of about a year ago though, I've moved to using it full time for managing the (sometimes hundreds) of pictures I take in a given session. There's a whole slew of wonderful functions in it, but the ones that made me finally stick with it can be summed up as follows:

  • Automatic directory creation and sorting when importing from the camera. Directories can be created according to the date the picture was taken (importing 250 pictures from my camera may make 4 directories, if I was shooting over several days)
  • Direct support for my Canon 400D. When I plug in the USB, KDE prompts me to start Digikam, and everything is imported.
  • Full support for Exif data, including image orientaton, etc. Exif data is never removed or 'flushed' from the images.
  • Excellent export functionality to either Flickr or to a series of HTML files and thumbnails.
  • Very good gallery organization, sorting, and previewing. I can work with thousands of images and sort them into appropriate directories.
  • Tagging allows sorting and categorizing of images without reordering the directories. Searching for tags, dates, or other data generates a new view based on the tag criteria.
  • Easy calling of external programs such as The Gimp for post-processing.

All of this, combined with, well, it LOOKS great, make Digikam one of my favorite KDE apps.


Thank you Sun and Ubuntu!

| 1 Comment

... and the cast of thousands that made installing a Sun JDK onto Linux as simple as:

root@endor:~# apt-get install sun-java6-jdk
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
gcc-3.3-base java-common libstdc++5 odbcinst1debian1 sun-java6-bin sun-java6-jre unixodbc
Suggested packages:
equivs binfmt-support sun-java6-demo sun-java6-doc sun-java6-source sun-java6-plugin ia32-sun-java6-plugin sun-java6-fonts
ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-kochi-mincho ttf-sazanami-mincho ttf-arphic-uming libmyodbc odbc-postgresql
libct1
Recommended packages:
libxp6 libnss-mdns gsfonts-x11
The following NEW packages will be installed:
gcc-3.3-base java-common libstdc++5 odbcinst1debian1 sun-java6-bin sun-java6-jdk sun-java6-jre unixodbc
0 upgraded, 8 newly installed, 0 to remove and 0 not upgraded.
Need to get 42.3MB/43.1MB of archives.
After unpacking 128MB of additional disk space will be used.
Do you want to continue [Y/n]?

For those on the sidelines, Sun has not been particularly forthcoming regarding a licensing arrangement that makes the RMS-ites at least mildly comfortable with automating an installation. In point of fact, I believe Debian is still uncomfortable with the whole license arrangement, though they do have it in the non-free repository.

Up until recently, getting Java onto a Linux box was, well, not difficult, but certainly not trivial. I'm happy to say it's gotten as easy as installing any other package, which, with current package managers, means it's a breeze.

Yay progress.


It's been a challenging few days here at Chez Geek. In true journal fashion, here are the highlights, because I know my devoted readers are sitting on the edge of their seats, waiting for every geeky installment of my daily encounters with recalcitrant hardware, misconfigured servers, and twitchy environments.

Ahem.

Of Mame...
Mame console underneathOn Friday night I finished wiring the console. I'm short a half dozen buttons, so some functionality is missing, but I really wanted coin drop buttons. I picked up a couple small single-throw pushbuttons I had lying around, and wired them in with duct tape, so now I can 'drop coins' to get credits just by pushing a button on the console. Looks like ass, but it does work. I've ordered the new buttons, and they'll arrive in a couple days, and I wanted to play games NOW.

There's a whole post about things I'm learning regarding building a Mame cabinet, but that can wait. For now, I'm using deathstar, my MythTV box, as my 'mame front end'. MythGame is "okay" as far as interfaces. Mostly it's "okay" because it's actually working correctly, and works with the controller. I'm hoping to haul the entire setup to Ubercon this coming weekend, so minimizing fuss is a big win.

Of Stonekeep and Conventions...
Next weekend I'll be down at Ubercon in New Jersey. This of course means I need to get most of the CONGO system up and running to run badges. Unfortunately, endor is not behaving. After almost 4 years of constantly apt-getting and updating packages on it (Starting from a Debian 'woody' install), a series of packages failed miserably during an upgrade (I haven't really worked on it in about a year), and has left it in an unuseable state. I've backed the data off it, and reloaded Ubuntu Feisty Fawn on it. There's a bunch of configuration that still needs to be done, and that's making me nervous so close to an event. At least the install seems to have completed cleanly.

Those are the two primary things on my mind these days. Oh, and in the background is ongoing Java work and the slow moving ahead of Mosaic Commons, but that's sort of the 'steady noise' bits. I'm just covering the highlights right now.


Audacity Ate my Konqueror

| No Comments

I've been having a problem in KDE for the last 6 months or so (perhaps longer, I'm not sure). On the face of it, it seemed like a standard file association problem, but it was pervasive.

Recently I switched to using Konqueror as my primary web browser. With the advances in plugin support for things like Flash and Shockwave, the actual browser platform has become less important. Since I switched away from Firefox, I've been using Konqueror and, for the most part, things have been pretty good.

Except for one annoying bit.

Because I'm a developer, I have to, on occasion, do the 'View Source' thing from inside my browser to see how the HTML, CSS, and JavaScript in a page I'm working with is put together. For some bizarre reason, Konqueror had decided that when I selected View Source, it would try and open the source in... Audacity.

Now, I'm all for great programs like Audacity. It's a fantastic multi-track audio editor. But in no way, shape, or form is it a source code viewer.

This afternoon I finally sat down to try and figure out what the heck was wrong. Konqueror has a great tool for associating various file types with helper applications (something old time users of Mozilla are very familiar with), but the sheer number of associations is staggering. And since I didn't know what type was that was causing the external app to be launched, I didn't know which one to look for.

I got my first clue when I noticed that Konqueror had associated .py (Python) files with Audacity. "Aha!" sez I, "That's not right!" - I started to change the association, then went "Wait, I don't want Audacity started ever. Just remove the helper." Which confronted me with the dialog box stating that Audacity had been attached to text/plain and could not be removed.

Another clue! Navigated to text/plain, saw Audacity listed in the helpers, and promptly moved it down to the bottom of the list (Okay, maybe someday I'll want to use Audacity. Allow me my foibles.) Clicking Apply and then trying a view source finally got me... the source!

Note that this entire problem was solved inside KDE without resorting to editing configuration files, typing cryptic commands, or knowing esoteric and mystical Linux incantations. It was a misconfigured browser, nothing more. In the good old days this would have required said gyrations to fix, but I'm constantly impressed at how far environments like KDE have come, making problem solving like this a lot more intuitive.


My Gibbons Runneth Over

| No Comments

Now there's a topic that won't make much sense unless you're in the Linux community.

This week saw the release of Ubuntu 7.10, aka 'Gutsy Gibbon'. I've been firmly in the "Stick with the stable releases" Linux camp for quite a while, even when Debian was pushing 2 years behind on their 'stable' release.

I've been running Ubuntu 7.04 (aka 'Feisty Fawn') on yawl for the last year or so, and have had nothing but good things to say about it. It's been stable, useable, and lets me do my work. Excellent.

Yesterday I ran the update process and told the system to update itself to 7.10. The total processing time would be about 2.5 hours, due to a gig and change of data that needed to be downloaded (okay, I have a lot of packages), so I decided to go to lunch.

Upon returning, I answered 2 questions about local files I had modified, let the installation finish, and, with a small dose of trepidation, rebooted.

It came back fine.

In fact, everything came back fine. I have seen not the tiniest indication of a problem. Ubuntu just upgraded something like 1100 packages on this machine to newer versions, and everything Just Plain Works. All my basic tools are fine, if upgraded and showing some new bells and whistles. The traditional boondoggles of Linux system maintenance never even flinched. Sound, network, accelerated graphics (I have an nVidia card) - all came back up flawlessly, even with my desktop back as it looked before.

There are some noteable changes in the new release. The file manager has been replaced with 'Dolphin', which I have to say the jury is still out on. Initially I was very nervous about replacing my beloved Konqueror file system browser with something new, but my initial impressions of Dolphin are good. Everything seems there, if a little heavy on the big icons. I'll play with it a while and see if it will cut the mustard.

This is how computers are supposed to work. No license hassles, no nightmare changes from one revision to another, no "Burn it to bedrock and reinstall from scratch" problems with upgrades, or problems with "This app worked with my old OS, but doesn't work with the new one!" - one big distribution contributed to by everyone, with everything updated at once and confirmed to work together.

Yay Ubuntu!


The XO Laptop - OLPC comes true.

| 7 Comments

I rarely get involved in rallying folks to humanitarian causes or try to entice people to donate time any money to charities. When I do, it's generally about something I feel quite strongly about.

About 2 years ago the faculty members at the MIT Media lab launched a project called One Laptop Per Child, the idea being that if a laptop could be built for $100, millions could be produced and distributed all through the developing nations through donations, government support, and other forms of philanthropy. The driving force is to try and make a direct impact on the socio-technological gap that is so apparent across the worlds population.

The result of this project is the XO Laptop, a machine designed by the OLPC team to address the specific challenges that will be encountered by children using the machine where there are no power outlets, or no internet, and where conditions may not be as squeaky clean as they are in your typical home office. The laptop itself, by modern standards, is underpowered, but the design is so open, so green, and so sturdy, you can't help but be impressed.

This is a laptop designed for children to carry around with them, anywhere, anytime. It is waterproof, dirt proof, the battery lasts many many hours, it can network itself to other laptops arond it (a 'mesh'), and it can run off a $10 solar panel (and recharge from it too).

There is an excellent video review of the XO by David Pogue on the NY Times website. Even if you aren't interested in the machine directly, watch the video for an idea of what it's all about.

Now, the XO laptop didn't come in at $100. It actually came in at $183. As things ramp up, they hope to get the price down, but it's still a little more than they anticipated.

So as part of their launch, the OLPC project has a special offer.

On November 12th, you can go to XOgiving.org and enroll in the "Give one, get one" program. You pay $400, and get an XO laptop of your very own. "Wait, $400? That's twice what you said!" - Yes, it is. Because if you purchase an XO laptop for $400, a second laptop will be sent to a child in a developing nation.

My wife and I are seriously considering one of these laptops for our 8 year old son, and the added benefit of benefiting a child elsewhere is just icing on the cake.

If nothing else, watch the David Pogue video for all the details on the machine. It's a remarkably green, well designed, and rugged little machine.


While working on my current Java project, I needed to better understand how the Preferences API stores data. My initial instinct was to dig around in my home directory looking for a .java/Preferences file or something similar. Perhaps under Linux, this would have been the case, but Preferences is platform agnostic, and under Windows, it uses the Windows Registry.

I've long since tried to drive out my knee-jerk reaction to the Registry. The initial implementations of it were awful, and prone to easy corruption. Navigating the registry has never been what one would call 'simple', but after a while things settled down a bit and stabilized.

In this case, I was using a simple Java command to store some values for a Webstart launched client:

prefs = Preferences.userRoot().node(nodeName);
prefs.put("ExpoLoginName",userField.getText());
prefs.put("ExpoPassword",new String(passwordField.getPassword()));

Pretty straightforward stuff. In general, the code was working as expected, but I was seeing doubling of some of my values. What I needed to be able to do was actually see the registry stored values themselves, without going through the interface, to see if I was actually storing the values properly, or things were going wrong on the way out.

This unfortunately brought me in contact with the Windows native tool 'REGEDIT'. This tool came out quite a while ago, and is the defacto standard way of editing, browsing, and searching the Windows Registry. Unfortunately, regedit hasn't seen any interface upgrades in approximately an eon. It is painfully difficult to work in, and while yes, it gets the job done, little interface quirks can flat out destroy productivity. For example. The FIND function (amazingly, bound to '^F'), does in fact let you search the registry for a key or value. But, it is a one-way search, from the current position forward. It does not wrap. It also does not RESET when you change to a new search term. So if your first search finds a match, say, at the 5th from the bottom key (by the way, the window does not scroll to show you where your match hit. You have to scroll it manually), and you decide to search for a second term, it will only search the last 5 rows in the registry.

I lost half an hour searching for keys I KNEW were in the registry, because my first search had set the pointer so low. GAARRRHHHH!

What I found most entertaining about this path was it gave me a chance to look under the thin veneer of civility that Windows brings to the operating system experience. Take for example the screen shot above. Note that the keys stored in the registry have been altered from their internal values. Some bright Windows developer back in the dark ages realized they should tell the difference between an upper case letter and a lower case letter. Rather than, say, writing that into the logic of the registry, they cleverly decided simply to preface upper case characters with a forward slash.

Ah, but that brought up a problem! You could now not store a forward slash into the registry! Not to worry, we'll just change any forward slashes in the registry to backslashes! Sounds like a great plan!

This sort of tortured logic is what you see happening in student built technology experiments, hacked together during all night jolt-driven marathons. It's not something you'd see in the largest software company in the world. Their programming practices, in theory vastly improved from the early days, wouldn't allow such awful hacks.

Would they?

Update - it appears, due to notes in the comments, that the registry values hack is due to Java's interpolation, not Windows. Java needs to specify slashed items because the backing store being used in this instance (Windows Registry) is case insensitive. If a different backing store were being used, that wouldn't be happening. My apologies to Redmond for assigning blame. On this one thing. :)


Journeying Abroad - Life without Mozilla

| No Comments

It's become almost a truism that if you use a Linux machine for your desktop, you must be running Firefox as your web browser, and Thunderbird as your mail client. The former is certainly more prevelant than than the latter, but even so, both of these programs are fairly common in the greater Linux community.

However, despite their popularity, they have their drawbacks. On the Firefox side, the program suffers from it's core dependance on XUL, the XML based rendering engine that is at the core of the product. While XUL is remarkably flexible, powerful, and useful, it is also a performance hog. Firefox, even on yawl, my desktop machine, which should have enough oomph to drive it, can come to a painful crawl after only a few hours of use.

The memory leaks in Firefox are well known, and to Mozilla's credit, they are being addressed in Firefox 3, currently under development.

On the Thunderbird side, I've been having some absolutely infuriating problems with sending mail. Hitting send will regularly cause a pause of 5-10 seconds in my complete desktop before the mail actually gets sent. I've checked DNS, my SMTP configuration, everything, I can't find the problem.

So why not use this opportunity to play the field?

Here there be dragons...
For the last week, I've been on a No Mozilla campaign, with an audience of one. I have on occasion needed to start Firefox (most notably to view Google Calendar), but for the most part, I've been using Konqueror, the browser within KDE, as my primary web browser.

Konqueror has been remarkably stable and useful, I will happily admit. It is noticeably faster than Firefox in almost every way, and I've seen only 1-2 websites where rendering has failed completely (noteably Google). KDE's inherent ability to allow keyboard redefinition has made the transition to Konqueror quite easy (for instance, Firefox uses ^L to jump to the address bar and edit/copy/whatever your current URL. Konqueror has ^L bound to 'clear address bar', something that was driving me bonkers for a few days, before I realized I was simply using the wrong function. A quick key redefinition, and I was happy again).

For the most part, all my plugins are working correctly as well. Konqueror adapts the Flash, Java, and Shockwave plugins as used in Firefox without any problems. In stream videos and animations work just fine.

Will I continue using Konqueror? Most likely I'll stick with it for a while. I do miss a few basic things though. For instance, I use Google Browser Sync to make sure all my bookmark folders are synced across all my machines. My Konqueror installation does not have my, er, large selection of bookmarks I've accumulated. Secondly, I've been using Sage as my RSS reader (as it syncs in with the Firefox bookmarks quite nicely). That naturally won't work with Konqueror, so I'm without a centralized RSS reader right now.

Even with these niggles, I'm finding myself using Konqueror more and more. Speed, stability, and functionality. How pleasant!

Great Dave, but what about mail?
Oh yeah, the mail. Well, this one doesn't have quite as happy a story.

In my journey away from Thunderbird, the first choice was naturally KMail, the mail component of the Kontact system in KDE. I'd used KMail on and off several times over the year, and I'm sad to say, it really hasn't improved at the pace other applications have. In many ways it's quite pleasant to work with, snappy rendering, good layout and feel, complete and workable dialogs, but it still suffers from a Linux 'half complete' feel. The keyboard bindings for mail navigation are obtuse and, oddly, impossible to reassign (I even have a bug open on it - it's still not fixed). The thread model in KMail is abysmal - making it very easy to freeze the entire interface on very large mailboxes, etc etc.

So KMail was okay for a bit, but wasn't cutting the mustard for regular use. The next natural check was of course Evolution, the Gnome mail client.

I've used Evolution off and on a lot over the years, and in general, it's okay. I don't particularly like GTK based apps (I find them overly hungry for screen real estate, and a bad combination of eye candy and ham-handed attempts at UI design), and Evolution shows many of these traits. However, even with those faults, it's not a bad client. I got it up and running without any problems, and it's working fine.

So why am I gripey?

I miss Thunderbirds spam filtering. I get a LOT of spam. My monitors regularly log 500-700 spam messages a day into my inbox. boomer does an awesome job of catching the lions share of the spam (about 80%), but the rest shows up in my inbox. Thunderbird was catching perhaps 90% of -that- spam, and tagging it for me. I could review what was tagged, agree with whatever it set, hit "purge", and it would all go away.

Evolution has very rudimentary junk filtering, and it's not catching much of this spam. I'm finding myself spending much of my time just deleting spam messages, and growling.

Conclusions
Will I stick with Konqueror for a while? Yes, I think so. I have to rethink my RSS aggregation and viewing. I'm not keen on a locally managed RSS list (because I change machines so often), but I'm also not excited about a remote 'web' based system (Web 2.0 can bite me, and old sk00l type applications are not fast enough for my reading habits). So that need is still missing.

Will I stick with Evolution? Perhaps, if I can fix the spam filtering problem. Evolutions handling of multiple accounts is FAR better than Thunderbirds (have a bug open on that one too), and the UI is one I can deal with, if if if...

I'm just never satisfied I guess.


Oh why must they taunt me so?!

| 10 Comments

This evening saw me visiting the New and Improved [tm] [reg us pat off] Natick Mall here in sunny Natick, MA. There's been a major rebuilding going on over there, and seeing as this thing is only about a mile from me, and the fact that I had an evening free, I felt it was time to go take a look.

First, the original mall was of average size and layout. Natick Mall has always been slightly 'upscale' compared to others, but with the other biggies nearby like the Burlington Mall renovating and upscaling, some developer it was time to upgrade the Natick mall

And boy howdy did they.

I don't want to get into a review of malls, but did you know that there are Wikipedia entries on malls? Weird, eh? But the entry for the Natick Mall does have pictures of the inside of the renovated space. According to the article:

This expansion project includes the renovation of approximately 100 new stores and the addition of two new anchors, (Nordstrom and Neiman Marcus), making Natick Collection the twelfth largest in the country, fourth largest on the East Coast, and the largest in New England.

Now, in this vast space, you'd think I could find something interesting.

Think again.

The newly expanded space has nothing of interest in it. It is huge, to be sure, well decorated, elegant to a fault, and simply drips of sophistication. It is, however, populated with... clothing stores, perfume stores, and luggage and pocketbook offerings. Many were outlet names, but it was simply store upon store upon store of clothing. A vast wasteland of chrome, steel, glass, and fashion manikins.

Until... in the midst of all this rampant hoity toity consumerism, I see one beacon of elegance that does not involve silk, tweed, or leather.

Apple has opened a store within this vast new space. Yes, it is similar to all the other stores, with the genius bar, young hip store attendees, and ranks of elegant hardware, but now they've gone and done it. They've put this store in my back yard.

So, naturally, I went in.

Those who have been in an Apple store need not hear the details of what the store was like. It had by far the most customers I'd seen in that entire bleak landscape for the mall, but wasn't crowded, and it only took me a moment to find a free iPhone and start playing with it.

This was the second time I had touched an iPhone, and while there were no clear revelations from my first exposure, I was again impressed by the design, elegance, clarity of purpose, and all around "rightness" of this device. I left the store after a brief chat with one of the employees, and went in search of food, visions of well designed hardware and software systems dancing in my head.

I chanced by a Verizon store and had a chat with the folks there. My aging Treo 650 is on a Verizon plan, and I had recently heard about a possible offering for 'tethered mode' modem operation for $15/month. That might be handy, thought I, and went to ask them about it.

Oh no, not so fast. Sure it's $15 a month. On top of an 'unlimited' data service plan ($49/mo). Oh, and it won't work with the Treo 650, you'll need to upgrade to a Treo 700p. "Oh, that should be fine. I'm within my upgrade window now, I should get a big discount" *flipflipflip* "Yep, you are, you'll get a $150 discount on a new phone." "So, if I wanted to upgrade from my 650 to a 700p, how much would it be?"

The sales person actually walked around and started referencing various displays, and said "$450, minus the $150 credit you'll get.". I glanced down at the display for the 700p there, and a brand new service, with the 700p, would run me $345. "But that sign says $350 if I buy a Treo 700p now, why don't I just apply the $150 to that?" "Ah, that's just for new subscribers."

I'm really really really done with Verizon.

It looks like AT&T's plans have FAR better data services, as well as a platform I'm interested in supporting. (The Verizon droid basically said I should ditch the Palm platform and use a Windows device. Not in my game plan, thanks)

There are only a few things stopping me from running pell-mell for iPhone land...

  • Initial cost is high. Even with the $200 price reduction, we're still talking $400 out of my pocket (I'd get the 8gig version. Just makes sense). I don't have that sort of cash right now, not to mention the new service activation with AT&T. My phone number SHOULD port. Will it?
  • Bluetooth limits. The iPhone is not a full bluetooth device. It supports only the Hands Free Profile (HFP) and the Headset Profile (HSP). No support for data access, OBX, A2DP, any of the cool things that Bluetooth can do. My biggest whine would be the lack of bluetooth keyboard support. I can get a mobile bluetooth keyboard that's quite functional, and about the size of my Treo. But I couldn't use it with the iPhone. Will Apple update this? A huge unknown.
  • The jump to Apple. I've avoided purchasing Apple products for me personally. It's a slippery slope, but I cannot ignore that Apple's designs are fantastic, and their support policies are the best in the business (see a recent post by a self-avowed Windows adherant). Should I make my first real foray into Apple land an iPhone?
  • Last but not least, do I really need it? In all honesty, the answer here is no. My 650 is working fine for me for now, though it's aging, the Palm platform is most likely dying, and it's twice the size and heft of the iPhone. I don't need to change devices now.

So, I haven't bought an iPhone yet. But durn Apple for putting a store right in my back yard. It's a plot I tell ya.


Today's GeekSquee

| No Comments

I have much geek-joy this morning. Yesterday was a banner day in playing with all the little toys I have, and building up some new ones. Without boring you all to smithereens going on about details in my Java / XML project, lets go with a few things that are slightly more tactile. Gaming, Cons, CD's, and wafts of fresh air.


The Monitor Dilemma

| 5 Comments

I'm in a quandry.

Up until recently, I had 3 17" 1280x1024 monitors on my desk. On the right, the monitor for clipper, the laptop. In the center, the nice Dell monitors, used for yawl, my primary looky-atty one. And on the left, the 'spare', which was used for various projects.

Well, the one on the left just went away to be part of Beth's desktop. Which leaves a hole where there used to be a screen.

I've been considering upgrading my main monitor for quite a while, and tonight I sat down at my old T40 Thinkpad and marvelled at it's 1400x1050 resolution. Pixel density was obviously an issue - a 15" screen at that resolution will look finer than a 1280x1024 17" monitor.

The thing that bothers me is that 'high resolution' monitors, (which nowadays are almost exclusively LCD), don't seem to be catering to resolutions over 1280x1024, or more directly, 1400x900 ('HD' format displays). These resolutions are no improvement over what I have, and the monitors I do have are almost 2 years old.

I understand that LCD monitors are driven by the consumer and basic business market. It's much harder to make 1000 high resolution LCD monitors (out of the million 'normal' monitors) than it is to crank out 1000 high resolution CRT displays, but dammit, it's frustrating to see 19" 1280x1024 monitors going for $170, while it's nigh on impossible to find monitors that have a higher pixel density. Sure they have wider resolutions. Common ground is 1400 or 1600 horizontal resolution (Depending on if it's 'widescreen' or not) and 1050 vertical resolution (yay another 26 pixels?), but nothing higher until you start talking $500 for a 24" monitor.

"Nice whining, but what is it you really want?"

I want a dependable, high contrast LCD monitor that has a resolution of 1600x1200, or durned close to it, and I don't want to fork out serious cash for something like the Apple Cinema displays. This was easy to find in the 21" monitor CRT days, though the challenge THEN was finding a video card to drive it, a problem easy to solve with current video boards.

Any suggestions?

Update 9/9/07 Jonah, the dark and sinister influence on my life he is, points out that Dell actually has a decent 20" monitor for $309 that has the specs I want. Hmmm.


Calendar sharing. Nirvana found?

| 6 Comments

What is seemingly the bane of existence for most non-Microsoft users is the constant problem of "How can we share calendars?" Exchange does this extremely well, and there are many a Linux zealot, when confronted with the "Okay, we'll try Linux. How do we share calendars?" has had to hide in shame.

For me, the problem has been "how do I sync my Treo 650 so I can see my family and friends' calendars, without having to manually do some rigamarole involving synchronizing through some Windows based custom tool?

My savior may have arrived in the form of a tool called GooSync.

The concept is simple. The world in general has failed to come up with a standard calendaring system that actually makes sense, and allows multiple people to share, view, and update each others' calendars. iCalendar, while very good for publishing calendars and allowing people to subscribe to them for viewing, does a poor job of allowing others to update someone else's calendar.

Along comes Google Calendar. Ahh, a good, interactive, free calendaring service that allows multiple users to share, update, and publish calendars interactively. Not only that, Google Calendar has a published API specification that allows users to write programs that interact with it.

I had been using CompanionLink to hotsync my Google Calendar down to my Treo, but after months of complaints to their tech support and sales department, explaining that without multiple calendar support, their tool had only limited functionality, and after they even said to me "If you can figure out a way to keep the calendars synchronized without duplicating entries, feel free to tell us how" (and I did), and still not getting an update, it was time to look elsewhere.

GooSync has a number of very strong advantages over CompanionLink and, frankly, any other tool I've seen so far.

  • The base version is free. It allows you to sync one personal calendar to and from the Treo to a single Google Calendar
  • For a small fee (about $20 a year), it supports multiple calendars, with read and write access.
  • It keeps all the calendar entries separate on the Treo, either via a text tag in the entry, or using categories.
  • It syncs wirelessly. That means it'll use the Treo data network (whichever one you have) to talk to their servers to get updates and to post changes. This means you do NOT have to cradle-hotsync your Treo and run some Windows app to synchronize your calendars

That last item bears closer scrutiny. Once the GooSync client is installed on your phone, all subscriptions and maintenance to your calendar list is done via Goosync's website. Want to add a new calendar to your phone? Go to the website, say "show me all my Google calendars" (and it does), and click the checkbox next to the one you want to show up on your Treo. On the phone, run the Synchronize function in the GooSync client, and 30 seconds later, your Treo is updated with all the new entries.

I've tried this with my own calendar, and shared calendars I have write access to, and it works perfectly. No duplicate records, nothing showing up in calendars that I didn't have there before, it just plain works. I now have full control and view into all my Google Calendars from my phone.

With all the gloom and doom about the PalmOS platform (both from me, and also from very well known tech blogs like Engadget), this is a small ray of sunshine. Note that GooSync supports a ton of different devices, so even if you don't have a 'smartphone' per se, you can probably sync your Google Calendar to your device.

Yay technology, and thank you Google for making it possible, and thank you GooSync!


Another Linux user. Our ranks grow.

| 7 Comments

About 6 months ago I was having a conversation with my roommate Beth, talking about her aging Dell laptop. She was considering getting a desktop machine to use as her primary workhorse for her up and coming graduate student immersion.

I thought a bit, and said "Hey, I could probably get you something decent. We could even make this an interesting experiment. Tell you what, I'll get you a machine, but it'll run Linux. Up for it?"

"Sure!"

And we were off...


Eve Crankiness

| No Comments

It's mighty frustrating when your chief distraction / addiction starts being totally unuseable.

Grrr.

And, in the rant department, I really detest 'debugging' Windows problems, as I've had to do twice today. Windows gives you NO feedback on what's going on. It either works, or it doesn't, and the process for 'fixing' the problem involves playing whack-a-mole with driver versions, tools, and clicky-clicky interfaces. Except the mole is invisible, and the big bell is broken. You may fix the problem, but you won't know it until you try again. And then it might work, it might not, or it might work on the next reboot, or, you may be blessed with your fix working, but may stop next time you reboot, or run an update, or move your mouse, or whatever.

I'm boggled by how people can call this platform 'maintainable', when the chief answer seems to consistently be "Doesn't work? Reboot! If that doesn't work, reinstall from scratch!"

*takes grumpy self off to bed*


Vague amusement at technology.

| 2 Comments

I find it terribly amusing, coming from a long history of data communications involvement, that my tactic, when deciding to walk away from my computer, is to turn the volume down so I don't disturb others.

Why is this amusing?  Because I don't even bat an eye at the fact that I'm streaming 128kbps worth of music from a server in California through 4 companies' networks and 2 dozen routers, moving something like 20k worth of data a second (that's 10 full pages of text, to give it context) into my machine where... it is not heard, and discarded.

We've become so bandwidth-jaded.


Powered by ScribeFire.


ScribeFire - A handy blog posting tool?

| No Comments

I'm trying out a new tool today called ScribeFire. 

The idea is to provide a rich user interface for doing blog postings via a Firefox plugin.  I've tried this a few times before with other tools, and have always gone back to just using plain old HTML pages.

So far, the interface is useable, and appears to support many different blogs (including Livejournal, Wordpress, and other content management systems). 

It appears to also support editing existing postings and content, but maybe it's because PG has several thousand posts, the list never actually came up.

The intriguing thing is that ScribeFire is supposed to support Drupal, which would be awfully handy for some of the work we're doing, but I can't seem to get it working.

Folks who do LiveJournal, WordPress, Blogger.com, or Movable Type should definately give it a try.


Recently I had to spend a fair amount of time working on CONGO on a Windows XP platform. Stonekeep is doing doing it's first event where CONGO will be running entirely on Windows XP, so all the environmental stuff I'm used to having under Linux doesn't work, naturally. Things needed to be updated. This presented many challenges...


In one of those random conversations on IRC, my friend Duncan pointed me toward Alfresco. It took a little bit for me to understand exactly what the tool DID, but after a bit it clicked in, and I read more about it. The more I read, the more impressed I was by it.

Alfresco is an enterprise-class document management tool. It allows organization and categorization and management of dozens of document types, via a variety of mechanisms. Documents may be checked in and out of the system, revisions monitored, and indexes updated automatically. High end searching is handled by the server, so searches across Word, PDF, and OpenOffice documents is a snap.

As someone who has more than a passing understanding of CMS tools like Drupal, I made the mistake of assuming this was a similar approach. Nay nay! Alfresco is targeted at the organization that is trying to manage tens of thousands of documents and more.

One of the more intriguing aspects of it is it's built in CIFS server. You can mount the Alfresco Intelligent File System directly from your desktop machine, and browse documents stored in the Alfresco database (backed by MySQL or the like), as if it were a normal file share. Plugins are also availabale for NFS and FTP.

At the moment, I'm not sure if I'm involved in an operation that could take advantage of such a high end system, but it's awfully tempting to pull it down and give it a whirl.


Flickr vs Picasaweb? Sorry Google.

| 1 Comment

I have a lot of pictures in my photo archive on Flickr. Occasionally some wag comes along and goes "Dude, you should use Picasaweb!, cuz, it's like, Google!"

Ohhkay. Today I got a link to a friends' photo album on Picasa, so went to check it out.

Alas, I see more of what Google is getting very good at doing. And that is breaking inherent functionality in environments in favor of the way 'they' think things should be done. The rapid AJAX-ification of every function on a webpage is making old tried and trued basics stop working. Sure, it might have some gee-whizzo effect, but Google's way of doing some link is not like Bob's way of doing a link and is not like Fred's way of doing a link. Now we have a world wide web that is fragmenting, rather than sticking with at least a basic access methodology. I shudder to think what this does for accessibility issues.

Case in point. Here is what you cannot do with Picasaweb - this discovered in 15 seconds of browsing the site.

* You cannot middle-click on a photo album picture and open the link in a new tab. In fact, you can't middle click on anything. If you do, you either get nothing happening, or it just refreshes the page. How unhelpful.

* You cannot right click on an image and view it. If you do, you get "You have chosen to open PBLAH.JPG, which is a GIMP IMAGE. What should Firefox do with this file?" This is wrong. It should view the image as I told it to. Google has deliberately broken their MIME settings to force that dialog.

* Screen refreshes are unintuitive and slow. If you do a search, and click 'Search Photos', the screen refreshes, but is blank. Oh, but wait! This is AJAX, it's still searching! 5 seconds later I have a screenful of pictures. How did I know it was still searching? Apparently I was supposed to mind-read what was going on. The 'active' spinner in the browser said things were done.

Dear Google. Stop trying to remake the web in your own image. You're hurting everyone in the process.


Seems simple enough. Put an icon in the tooltray to notify you when ther eare updates for your OS. Ubuntu and others have outstanding package management, this is just the next step.

Oh look, it's showing me a ! - must be updates. *double-click*

Bzzt, bad UI experience! 10yd penalty! Click once, get the "please type your password". Double click? You get TWO "please type your password" dialog boxes.

There's a serious level of inconsistency in tooltray management on Linux desktops. I suspect some of it comes from the slow convergence of KDE and Gnome based tools, each having 'their own way' of doing things, but I have no baseline from which to make a safe assumption about what to do with a tooltray icon. Do I double-click it? Single? Right click? Each application is different.

So close! :)


Updating Jarindex

| No Comments

Grump. I had no idea, but Jarindex was not working at all. Searches were coming up blank. Frustrating, when it's supposed to be a handy search tool for finding classes in the vast swampland of Jar files out on the net.

Anyway, I fixed the indexer, and loaded up Hibernate 3.2 and Jboss 4.2.0 into it. Probably should update other packages as well. Currently I have:

apache-ant-1.6.5 eclipse-SDK-3.1.2 jakarta-oro-2.0.8 jboss-4.0.2 jdk1.5.0_04 jetty-5.1.10 junit3.8.1 OROMatcher-1.1.0a velocity-1.4
axis2 hibernate-3.2 jakarta-slide-webdavclient-bin-2.1 jboss-4.2.0.GA jdom-1.0 jpcap-0.01.16-win32 lps-3.1.1 rss_utils_1.1 velocity-tools-1.2

If any Java geeks want to see other packages loaded into it, let me know.


Cool power supply hack!

| No Comments

This is pretty durned neat. I use a standard bench power supply when doing geektinkering. It has a dial for 9v, 12v, etc, and has the normal banana-posts for connecting up power leads.

Some bright folks noted that PC power supplies, which are a dime a dozen, are +/- 5v and +/- 12v already. Why not just scavenge a power supply, put contacts on it, and use it as your bench PS?

Just like this.

I have to try this!

(Special thanks to Hack-a-day for the link.)


JBoss Release Grumpiness

| 6 Comments

This is a geek gripe. Particularly for Java programmers. If you're not doing JEE development, this probably won't make a lot of sense unless you like seeing open source companies being beaten up for version incompatibilities.

Hello, I'm Dave, and I'm a JBoss developer. (Hi Dave...)

Until recently, I was quite content with the series of tools available for JBoss4, and my chosen IDE, Eclipse. JBoss provided a lovely little plugin interface called JBoss IDE. I encourage people to click on that link, because you'll walk through a series of redirects until you land on a page that, amazingly, has no information on where to get JBoss IDE! How wonderful!

It turns out that JBoss (now wholly owned by Redhat has pulled JBoss IDE in favor of another Eclipse plugin called Exadel. Fantastic, a new IDE plugin that has a lot more functionality than JBoss-IDE ever had. Lets take a look!

An hour later, and Exadel is installed and running and grand. But. Wait a moment, the latest version of the JBoss application server is 4.2-GA. That's General Availability. Meaning the platform is released and is the recommended system for users.

Exadel has no configuration support for 4.2-GA. Only for 4.0.x releases.

And JBoss-IDE has been pulled completely (and even it's '2.0.0-beta' version, the most recent version they posted, did not support 4.2).

"Must be coming out shortly." So I mailed off to Exadel tech support asking if there was 4.2 support in the works, or when it will come out.

I get a direct, and undeniable response from them:


Dave Belfer-Shevett wrote:
> > Exadel Support Team wrote:
>> > > Exadel Studio Pro is going to be re branded as Red Hat Developer Studio in
>> > > later summer. Red Hat Developer Studio will support JBoss 4.2 .
> >
> > So the answer is "no, it does not support 4.2 now, and won't until late
> > summer" ?

That's correct.

-The Exadel Team

Excuse me, but WHAT THE F??? We've pulled the old IDE toolset. We've released a new product. But you CAN'T USE IT WITH OUR IDE TOOLS! Hahahahha! And you won't for a couple months. Sorry bout that, have a nice day.

There are workarounds. You can run the jboss server externally in a windows shell and deploy to it. This is a painful arrangement, but I guess I have no choice?

Thanks for leaving us all in the lurch, JBoss.


Rampant Eye Candy

| 3 Comments

It's about time I did something with some of this horsepower on my desk. So this week I fired up a couple toys just to have some fun.


Enabling Relationships

| 2 Comments

I have to admit, there are times when having an enabling partner brings unexpected benefits.

In this case, my wife happens to work for Bose as a project manager, and as such as access to their employee discounts and specials. Because of her signing bonus, we have a lovely Bose Lifestyle 48 soundsystem to complement the Big TV. I would never have the money to be able to afford such an extravagant system, but it's hard to argue with the discount.

Tonight I added some more pieces to the mix. We got some new speaker stands for the satellite speakers, and rewired the MythTV box a bit. The new stands look great!

Next step will be to use the new video switcher on the LS48 to route video and audio all via the Bose box. That'll require ducking into the nest O wires behind the display. Something I'm really not looking forward to. :-/

One thing I am toying with though is calling up Comcast and upgrading our cable tuner to HDTV. The whole "we'll stretch 4:3 to fit on an HD form factor" thing is getting wearing. Unfortunately, I'm guessing that Comcast is not providing boxes with enabled Firewire ports, so the usefulness of my MythTV tuner card is dropping daily. Damned corporations.

On the plus side, though, Ben has successfully aquired the HDTV cable for the Gamecube, so we'll be enjoying true 480p signal shortly from that little puppy. Mmm, SSX3 in full glory.


This one is going out to the world in general, because it took me 2 hours of googling to find it, and I want to lessen some poor other slobs pain...

MySQL , in this case on a Debian Etch (stable) install, has a limit set on the number of files that can be opened in the mysqld server. Apparently when you start getting close to this limit, like doing something that opens a LOT of tables at once, you start bumping into it. This article describes how to fix this.


Omgomgomogmg.

| No Comments

TOTAL geek squee.

Starcraft 2 is official. And it's not a huge variation from the original game - updated after, what, 8 years, naturally, but same 3 races, new vehicles and ships, new engines, all that, but it's the same game, redone.

Starcraft was one of the few games that totally sucked me in, and I still occasionally play it, years and years later.

The Wikipedia article on Starcraft II is under heavy editing right now, but the details are there.

I highly recommend watching the full cinematic trailer. It totally rocks.


KDE Gripe Du Jour

| 1 Comment

So this sure doesn't make sense.

I like pushing my desktop around a bunch, seeing what it can do, what it can't do. To me this is the way good software gets made. Use it, try to do what you want to do with it, find out where it fails. The trick in this approach is avoiding the "I want it to do what {XXX} application does, and do it JUST THAT WAY!" - that will ultimately result in failure. The question you should ask is "What am I trying to accomplish, and how would I do that with this tool?"

Today's puzzlement was born of humble beginnings. I wanted to change the 'new mail' notification sound that Thunderbird uses. Simple enough, eh?


Days of Sunshine, Days of Clouds

| No Comments

The Linux environment is such a love-hate world for me. In general, it's mostly love. All the tools I want, speed, eye candy, toys, productivity, it's all there.

Then there are the cloudy days. When things that should work, don't, and I can't figure out how to make them work.

After a couple sunny weeks, I've hit the equivalent of spring showers, and the clouds have rolled in.

First, I'm having all sorts of performance problems with Thunderbird. I suspect this is down to some twitchy DNS problem, but I've never seen it before, and others have not seen it as well. Right now I'm in 'suck it up and deal' mode, but it's infuriating waiting 5-6 seconds of total GUI lockup whenever I hit Alt-Enter.

Second, I'm still working on setting up the new replacement machine for my roommate. This is a bellwether project for me - can I replace a windows machine completely with Linux. For the most part, we're ready to go, except I cannot get the VPN to their Windows server (a PPTP connection) to work properly. I had great hopes for a new KDE tool called KVPNC, but either due to the programs' newness or traditional complexity of setting up VPNs under Linux, I have had no success. At the moment, this is a showstopper on the project.

And last night, I wanted to edit some recordings I had done with my minidisc recorder at band practice. "No problem!" sez I, "I'll just use Audacity," an excellent free multitrack editor. BZZT! Audacity refuses to talk ALSA properly, and I cannot play the tracks I'm editing. I've used Audacity many times under Windows, and I thought I had also used it under Linux, but now on startup Audacity is yelling about not being able to access the ALSA device. Various forums have said that is because ALSA has sound device locking issues (which I mentally flag as bogus - wasn't ALSA's point to allow multiple applications to access the sound device at the same time? Avoiding the dreaded /dev/dsp lock? Frustrating)

So I have 2 projects held up, and one constant, ongoing annoyance. And, over on the side, my windows machine running quite smoothly, without any of these problems.

I want the sunshine back.


Ubuntu Postfix relayhost configuring

| 1 Comment

This is primarily so I can remember how to do this. I have yawl set up as a postfix host here at Chez Geek, but my smart mailhost is actually off in colocation land.

So with my problems with Thunderbird still unresolved, it was time to try setting yawl up as a smarter mail client.

First things first, make sure postfix is installed. With Ubuntu, it comes installed by default, but not enabled.

Second, set up an /etc/postfix/main.cf file, and put in there:

relayhost = my.smarthost.name.com
myorigin = name.com

Obviously substitute in whatever domain you're using normally for 'name.com'.

Restart (or start) postfix:

/etc/init.d/postfix start

Make sure there's no problems:

tail /var/log/mail.log

And off you go!

Update : several hours later... this has NOT resolved the slow performance problem with Thunderbird, and its' maddening. T-bird on my windows box runs perfectly fast over an ssh tunnel to the same host (cept using securecrt there). Very frustrating


Ubuntu installerBefore I scooted off on my last business trip, I got the little blinky notification on yawl that a full upgrade was available from Edgy Eft, the Linux distribution I was using, to the latest release, called by version number '7.04, but referred to as "Feisty Fawn". I thought it would be a bad idea to do an entire OS upgrade just before I left on my trip, so I deferred the process until I had some more time this week. On Thursday I decided it was time to hit the button, and off I went.

Windows USB Gripe dujour

| 4 Comments

A little further down the path spearheaded by my USB bus runneth over post, I've hit a snag that, while minor, is starting to infuriate me in that "little pointy bit in your clothing that keeps jabbing you" way.

When clipper is docked, the docking station links it up with the vast array of USB devices I have scattered about my desk. Windows usually happily gives me the 'baDOINK!' sound of "I just reconnected to something" and occasionally I'll get the little popup window saying something has happened (like a network device came online).

Recently though, while the laptop is sitting idle, I'll get the USB 'baDINK.... baDOINK' sound from Windows. This is the sound made when something disconnects and reconnects, usually via USB. Cept I haven't touched anything.

Okay, fine, some USB device is in 'marginal' mode, or may not be powered properly, or I have a twitchy port. All I need to do is find out which device is it. So I went looking for how to do that.

And looked.

And looked some more.

There doesn't seem to BE a way to find out what devices are connecting and disconnecting.

Sure, I can find out what Windows thinks is connected (My Computer->Properties->Hardware->Device Manager->USB), but that is a static reference. If the device disconnects while I happen to be looking at that screen, I'm not even sure if it'll update dynamically. But remember, these disconnects are happening randomly. I'm not going to spend my day staring at a device screen. I have a life to live.

Okay, fine. Must be in the Event manager. A device being connected to the system or disconnected must log the event somewhere, right? Okay, off I go to the ever-so-easy-to-find Start->Settings->Control Panel->Administrative Tools->Event Viewer, where I see 'Application' 'Security' 'System' and 'Internet Explorer' (IE is apparently so important it ranks it's own logging category. Go figure)

It was a good theory. These baDOINK / baDINK system events apparently happen without leaving any form of audit trail as to what's happening. The Event Log shows things where I undocked and redocked the laptop, but there is no mention of any event around the time I -know- this sound was happening (Just after I went to bed last night, about 12:30am. It was easy to remember because it annoyed me, and I had to get up and turn the sound off on the laptop). Event log? "Nope, everything is COPACETIC man! Nothing wrong here!"

Grr.

As a last slap in the face of Windows, how would I diagnose this problem in Linux?
$ tail /var/log/messages

No doubt Microsoft will come out, sometime in the future, with a USB Logging and Analysis tool for debugging missing USB events - furthering their pattern of system 'improvement' via the whack-a-mole technique.


Another spike in my Treo joy

| 3 Comments

As if the week couldn't get even more enjoyable.

I've been frustrated trying to find free wireless hotspots during my travels. Frequently I find myself parked outside my son's school waiting for him to finish up something, and would like to get online and do, you know, those things I do online. Mail... and stuff.

Glancing at my Treo the other day, I did the "Hey, wait a sec. I have broadband access on that. I should just be able to use it as my modem and connect up. Piece o cake!" realization.

Hah. Fool that I was.

Apparently the Treo 650 does not function as a broadband modem in 'tethered mode' (ala, via a USB cable). The Treo 700w and 700p do, but, ya know, I don't have either of those. I could probably have used the Bluetooth DUN (Dial Up Networking) function in the phone, which was put there explicitly for this sort of operation, but Verizon, in it's infinite... well, Verizon made a decision to deliberately disable that function (no one really knows why they've done this. One would assume it would drive -up- usage of the phone and broadband services, which would benefit... Verizon. )

I could also get one of Verizon's PCMCIA broadband access cards, but that would require me to renew my contract for two years, fork over the $50 for the card (though this card is now outdated, I should get a newer one for $100), AND up my data plan to the 'unlimited' plan, which would increase my bill by $50 a month.

At the end of which, I'd still be stuck with a phone that is rapidly aging, and will most likely need to be replaced in the next 12 months.

Interestingly enough, Verizon is continuing this policy even with the 700-series, by disabling the DUN functions, so you'll buy another 3g subscription. Can you feel the love?

I have little reason to think I'll stick with Verizon for my phone and mobile data usage come mid-June.


Don't get me wrong, I love Linux. It's everything I wanted from an OS. Speed, flexibility, games, eye candy, productivity, and powerful development tools. But there are certain things it lacks that remain as barriers to wider adoption.


Build Your Own Electric Motor

| 6 Comments

This Sunday Zach comes into my room asking about how he can further his plans to build his own space ship. He was looking for motors and wings and combustibles. Boy is ready to go. After some discussion, he asked "Dad, I understand electricity, and how power gets to motors and batteries and lights, but how does the electricity make the motor turn?"

I hearkened back to my physics class days and remembered building my own motors out of nails, dowels, and simple power sources. A little digging on the net brought us to this series of pages, where you could assemble a small motor in about an hour using some wire, paperclips, a magnet, and a battery.

Zach was all over it, and about an hour later, we happily had a spinning rotor running on my desk. He understood how brushes are used to reverse the polarity of the rotor as it passes the magnet, and we had an example of a wire coil acting as an electromagnet. We also had a direct example of what happens when a motor gets power applied to it but is not actually turning, in the form of nice curling smoke. That was a nice object lesson, for sure.

All in all, a really interesting exercise, and I still like seeing the little spinning wire object whirring away. "I made that. Cool."


Scrounging

| 1 Comment

I'm a scrounger.

I can't help it, I love it. The joy and *squee* ness I have for something I acquire is made all the better if I get it at some amazing discount, or find it under a box of 'junk' and get it for a song, or get it via some bizarre wrangling where I end up with the better end of the deal.

Flea markets are the best for this. You can naturally divide flea markets into 'tech' events and 'family' events. The family ones aren't as interesting for the piles of tech gear, but you do have the chance of someone unloading a piece of equipment they know nothing about. "Yeah well, grampa had this in his room, we don't know what it is, it's in German, you want it? $5." - I'm sure someone has acquired an Enigma machine that way (I haven't, but I still hold out hope.)

But the tech flea markets are the best. For me it goes back to my happy days attending the Trenton Computer Festival every spring in New Jersey. This was (and still is) an epic event - we'd plan for it for weeks, load up the trailer / van / car / truck / whatever, and arrive on site at some ungodly hour (usually in the neighborhood of 6:30am). The flea market didn't open until 10, and in many cases, most of the best deals have already happened between the vendors by the time the general public showed up. It was great to see 4 guys go by hauling a big equipment cabinet "Dude! 2 RL02 drives, and controller!" "Hey, good find!" We'd frequently have radios rigged up "Bob, I found a pile of Unibus controllers in a 4 slot backplane. Need it?" "See if they have an RLV11 in there, okay?" "Right..." It was awe inspiring.

This week has brought up another scrounging opportunity though. In the last few days, I've been to 2 fire sales. Computer businesses that are closing out their stores and liquidating their inventory. Sometimes this makes for amazing bargains, but it's totally the luck of the draw, whether you can spot something before someone else does, and how you time it.

The first one was a visit to the sad remains of Comp USA in Framingham. Probably one of the last of the 'computer stores' around (anyone remember places like Computerland?), CompUSA is closing a large number of their stores. This place had that "doom!" feel that many of these stores get as they liquidate. Any pretense of civility by the staff is gone, they just want to be done with it.

Unfortunately, CompUSA's prices started at the astronomical level (which I'm sure contributed to their downfall), so when they advertise "20% off sale! Everything must go!", it's not exactly something you go charging into expecting massive bargains.

Regardless, I did score a few things. Picked up a copy of Black and White 2 and C&C Generals for around $12 each (normally they're around $40), as well as a few other tidbits. Many of the things I might be interested in were either gone already (like a Nokia 770, or still ridiculously overpriced (ATI Radeon high end cards which RETAIL for $250 ish were marked down a whopping 15%. No thanks). I think they're still there, still trying to get rid of stuff, I'll try and stop over there tomorrow and see what's left.

The other opportunity was a very small computer business in Watertown closing down. This was one of those friendly neighborhood computer stores, owned and operated by one person, that's been around for years. The fellow had some problems going on, and decided to sell everything in the store for $1 a pound. Now we're talkin!

Unfortunately, all the mail and notifications I saw said they were going to open at 1pm on Friday. I got there at the crack of 1pm, and probably 80% of the stuff was gone already. I waved hi to a few friends, and picked through what was left. In the end, I found a very nice aluminum hauling cart that was tucked under a table, as well as a box full of power strips, ethernet cables, and other handy tidbits. Total price: $42. Can't really argue with that.

My next opportunity for scrounging will come when the MIT Swap Fest resumes in a few weeks. That's always a load of fun, though it's gotten somewhat uniform (the same vendors with the same things every month). Occasionally there's gems there, and I go, as always, for the thrill of finding something Neat.


Subversion + SSH - Close but no banana

| 8 Comments

About a year ago, I switched my primary source code control system from the venerable old CVS to the (relatively) new kid on the block, Subversion. On the whole, I've been ecstatically happy with the system. It patched many of the ridiculous problems with CVS, and added on things that opensource community has been asking for for ages (like 'rename'), but never made it into CVS.

Now I have all my projects stored in SVN, and my main client is using it as well for their code (they've chosen to go with SVN and are planning to End Of Life their VSS server - to the dismay of no one).

Subclipse
One of the best tools that made this switchover workable (aside from SVN's similarity CVS in many respects, particularly on the command line) is the Subclipse plugin for Eclipse. Subclipse provides a great easy to use interface into SVN servers, giving all the functionaly one would have on the command line via a very simple, tightly integrated GUI.

One thing that had been bugging me, however, was the access methodology I was using to get to my (remote) SVN server. It involved setting up a tunnel in SecureCRT (though Putty can do it as well), and then telling subclipse to use my 'svn://localhost/stonekeep' repository.

SVN+SSH configuration under EclipseWhile doing some surfing, I found that Subclipse supports the svn+ssh syntax for specifying the repository. "Great!" says I, "I won't need to set up the tunnel each time!"

A few more fiddles, a pleasant discovery of a configuration screen in Subclipse, and I had an SVN over SSH connection to my repository, even using my ssh key pair.

Danger, Will Robinson!
But wait! All is not well. When I tried to browse the repository from Subclipse, I quickly hit this error:

Could not open file system at /var/lib/svn/stonekeep (13)Permission Denied: Berkley DB Error while opening environment for file system /var/lib/svn/stonekeep/db:

This vexed me, because I had been having no problems accessing the repository locally on the server, and over my ssh tunnel. Both used the locally running 'svnserve' on the repository host, so why wasn't the svn+ssh connection using it?

The answer comes in the SVN documentation, and via a little research:


What's happening here is that the Subversion client is invoking a local ssh process, connecting to host.example.com, authenticating as the user harry, then spawning a private svnserve process on the remote machine, running as the user harry. The svnserve command is being invoked in tunnel mode (-t) and all network protocol is being “tunneled� over the encrypted connection by ssh, the tunnel-agent. svnserve is aware that it's running as the user harry, and if the client performs a commit, the authenticated username will be attributed as the author of the new revision.

When running over a tunnel, authorization is primarily controlled by operating system permissions to the repository's database files; it's very much the same as if Harry were accessing the repository directly via a file:/// URL.

The Problem With This
I'm really unhappy with this model. The problem is that now the user must have read/write access to the entire repository tree. When using a local socket connection (or one over ssh via a normal tunnel), the Subclipse client connects directly to the svnserve process running on the repository box, and interactions with the server happen under that processes ownership.

The svn+ssh protocol does not use the svnserver on the target machine. It tunnels the command to a user-invoked svnserve process, and that process must have read-write access to the repository.

"Well gosh, that doesn't seem too bad. What's the issue?"

The issue is that to make this methodology work, I have to give the user read/write access to the repository tree. Meaning, they could happily type 'rm -rf /var/lib/svn' and destroy the entire repository. Even worse, the configuration files (including the password / access file, which has passwords in plaintext) must be made available to the general users.

Why svn+ssh doesn't simply make a local socket connection to the svnserve process already running, I don't know. But I can find no way to make that happen.

The fix?
As far as I can tell, there really is no direct fix for this. There are various workarounds, which the SVN documentation discusses, including setting up an 'svn user' for the svn+ssh logins, and the possibility of using unix groups for permissions, but I feel that if you have a listening socket server on your repository host, you should use it, not introduce a second methodology and have to jump through hoops to implement it.

For now, I have to abandon the svn+ssh possibility, and go back to my hand-configured socket tunnels. There's no real loss here - they work remarkably well, are very secure, and quite stable. The slight annoyance of having to open up a SecureCRT session before doing work in Eclipse is just that - a slight annoyance. I've dealt up until now, and I'll just continue to deal.


A successful geocache find!

| No Comments

Photo_032307_002
Originally uploaded by eidolon.
Zach and I took some time this afternoon to haul the bikes out and go on a geocache hunt. I had been trying to do more of this last fall, but various problems with my receiver got in the way, and we weren't able to find anything.

I'm really frustrated with how poorly my Mobile Crossing Waypoint 200 works (or, in many cases, doesn't work at all). It's been back for repair 3 times now, and even in it's best mode, it 'only sorta works'. The Windows Pocket PC is woefully underpowered for the task at hand, and frankly, the software sucks. Navigating around it is too similar to working on a desktop machine, and I guess Microsoft -still- hasn't gotten the hint that a handheld device is NOT just a smaller screen for Windows. The interface is completely different, and 14 different 'start' mechanisms just add to the confusion.

At any rate, with the weakness of the platform, combined with the poor software from Mobile Crossing, I never quite got any navigation system working to my comfort.

For this trip, though, I downloaded GeoNiche, a Palm application that worked fine on my Treo. It had it's own interface problems, to be sure, but it did happily connect with the Bluetooth GPS 'brick' from the Mobile Crossing device, and I was able to carry both in my pocket. Once I got my target defined (a Cochituate Lake View cache), we were able to do the normal "Walk around and get closer with hints, and yay, we found it!" path that most geocachers are used to.

This was the first 'new' cache Zach and I had found together, and it was pretty exciting on all fronts. It was challenging because my assumptions of the first location were wrong, and we ended up on the wrong side of the lake. "The arrow keeps poinging .2 miles that way. But... that's the other side of the lake! Alright, back on the bike!"

A nice hike up into the woods, and GeoNiche got us within about 10' of the final location. A little rummaging around, and lo, we found a wonderful old ammo box under some wood, with lots of little toys and notebooks and the like.

This particular cache had not been visited for over 2 months, but everything was nice and dry inside. We signed the book, didn't take anything because we hadn't brought anything, and tucked it back in it's hiding place.

A really nice day out. We're going to do more this summer, now that I -think- I've ironed the bugs out of the process.

I tried, I really tried.

| 2 Comments

While working on yawl this morning, I finally had had enough. I just can't get my head around Gnome and what to me are very poor design decisions. Without much fanfare, I installed the Kubuntu KDE packages on yawl, restarted X, and was happily back in KDE land. For those curious on how to install KDE on Ubuntu:

sudo aptitude update
sudo aptitude install kubuntu-desktop

I completely replaced the GDM login system with KDM, and after a restart, all was restored.

Why did I make this choice? I'll freely admit I'm a lot more comfortable with KDE than I am with Gnome, but in the interest of learning, and that it seems most folks are defaulting to Gnome in their installs nowadays, I decided to try it. I lasted about 2 months before the frustration level got to be too much.

Here's a brief summary of why I switched back.

  • Dumbed-Down interface
    Gnome has made many decisions to 'dumb down' it's interface, so it is not as 'intimidating' to new users. In doing so, however, it's made the interface too sparse, too simplistic, and frankly dull.
  • Audience targeting is wrong
    The choices that Gnome has made in their interface seem to fall into two categories. The first is the aformentioned 'dumb' mode. Make the interface simplistic and boring to avoid confusing users. The second set of choices is 'make it not look like Windows'. My question here is "WHY?" The number of 'new' users on the planet right now who have never touched windows is incredibly small. Of those that fit into this category, many are Mac users. So building an interface that deliberately avoids any of the 'existing' UI designs is a ridiculous approach. What audience is trying to be targeted by making those choices?
  • Deliberately limiting power users
    I'm a power user, I admit it. I will tweak, update, and modify my desktop the way I want to. I enjoy doing it within the paradigm of the environment, to understand the design philosophies that went into it. The Gnome interface appears to either be "Dumb dumb dumb, it looks like this, maybe in a shade of blue", or it is "Edit the gnome registry to get what you want." The entire desktop experience seems to have been shoved into "We make a pretty window manager, everything else is up to you to hack." KDE's desktop, applet, toolbar, and UI tuning is vastly superior, with mature, stable, and complete tools for doing whatever you'd like. These tools also stay out of the way unless you need them. Another bonus.
  • Konqueror
    I can't say enough about Konqueror. Gnome's equivelent to the filesystem browser, Nautilus, is a sham. It looks like something dragged out of the Amiga days, and never updated since. I would never even remotely consider doing serious file manipulation work with Nautilus. Konqueror has a long history of stability and growth and expansion. Nautilus appears to change with every gnome release.
  • KIOSLAVES
    And this is the final win. Because KDE is truly an integrated desktop environment, it's quite possible to define alternative IO methods. An excellent example is the 'fish' kioslave plugin. It allows urls within file open/save dialogs that reference a remote SSH server, just as if it were part of the local filesystem. When I do a screenshot with ksnapshot, I save it to a bookmarked location called "fish://boomer.homeport.org/home/dbs/public_html" - which pops up in my Save as... dialog, as if it were a local filesystem. This occurs in all KDE applications. Bookmarks, kioslave pointers, links I've defined - they're all there in the file save/load dialog.

I recently had a conversation with an old friend of mine who, while his wife's computer was down, decided to give her a try on Ubuntu linux, running Gnome. They set up Thunderbird and Firefox, and let her work on it. She was intensely frustrated and annoyed at the environment, because it was totally UNLIKE windows, which she had worked on for years. This deliberate 'breaking' of paradigms that users are used to, for no other reason than "We don't want to be like windows", is, I believe, one of the major reasons Linux desktops do not have more widespread use. The interface is TOO different, and too hard to understand, despite the 'dumbing down'. The intuitiveness level is non-existent, so people will not want to use it.

Gnome folks, sit down with the KDE people and start learning about UI design. Shut down your emacs editors and bash prompts and learn how the rest of the world has advanced beyond these poor outdated models. Perhaps you'll begin to understand that a desktop is not just pretty graphics on top of shell prompts, and start designing accordingly.


Kids Programming?

| 3 Comments

There's been a lot of chatter around the net lately about trying to find programming and introduction to computers-type software for kids to learn on. I mean, we all know where we started, right? TRS-80 and a READY prompt, or the wonderful ] prompt. 5 1/4" floppies, simple programs, and tinkering through the weekends were how we learned.

But how do you get a young one into these environments nowadays?

There's been various attempts at a 'kids' software environment, things like Logo and the like. The problem is nowadays finding implementations that are either free or useful. The only real Logo environment I've been happy with is KTurtle, a Logo implemention for the KDE desktop. On the one hand, I'm terribly amused that by far the best Logo setup I've seen REQUIRES Linux to run, and at the moment, Zach doesn't have a Linux desktop to work with. This sorely tempts me to set it up for him, I have to admit.

But Logo has limitations as a fully useful programming environment. In the modern age of "games a click away", kids really want to start writing adventures and excitement right off the bat. We all remember spending weeks debugging "PICK A NUMBER FROM 1 TO 10" programs. How do you code Tetris in a few weeks when you're still learning your multiplication tables?

A long time ago I read an article on SmallTalk in BYTE magazine (yes, a REALLY long time ago, like 1980). It was a discussion about object oriented languages and environments, and described the model of "Everything is an object". At the time, it was somewhat of an intellectual oddity, though many folks really got into it.

Apparently there is an outstanding opensource project to build a comfortable Smalltalk based environment that can be geared toward kids. It's called Squeak, and I first learned about it associated with the One Laptop Per Child project, which incorporates some of the Squeak environment. Once I got past some of the initial environment oddities, I found that Squeak provides a platform independent runtime environment, where object-oriented programs can be run compeltely independent of the OS they're running under. This means apps written on a Mac will work fine on a PC or a Linux box.

Squeak really isn't something ready to take on the Windows desktop or an environment to write accounting packages in. However, in educational circles, distributions in Squeak have really gotten quite a following. The Squeakland site is designed for educators who are looking for Squeak based information.

I'll be writing more about Squeak as I get more and more comfortable with it, but unless someone else tells me about another educational / intro to programming environment that's available for kids, that does NOT require a commercial license, Squeak is where I'm going to put my energy.


Books on Treo? Sure, why not.

| 3 Comments

During some random chattering online, I pointed a few folks at David Weber's works. I've really enjoyed the Honor Harrington series. Talk about pure unadulterated space opera. Big capital ships, multiple system alliances at war, fleet operations, and military politics all rolled together into a coherent and rich universe. Fantastic.

I have gotten in the habit of picking up each book as I go on my regular road trips. I usually finish one per visit, and there's something like 14 books, so things are moving along nicely. I had also heard that Weber had published all the books onto CD, which sounded like a mighty inexpensive way of getting the material, but I didn't relish having to haul my laptop around to read a story over a slice of pizza.

The other night I came across the Baen Free Library, a series of books that are available, for free, from the publisher. I highly recommend folks take a look at this page, where Eric Flint has an excellent commentary on copyright and why the current "brass knuckles" approach to enforcement is the wrong way to go.

At any rate, navigating around, I happily found the next book in the series I was looking for, and went "Hmm, I guess this should be put onto my Treo. I've been meaning to give this a shot..."

Off to Mobipocket to pick up an e-book reader. A quick sync later, and lo, I have the new book, and a reader, on my Treo.

How well does it work?
Surprisingly well. I admit I was a little leery of trying to read what has always been a paperback-sized book on a screen only 3"x3" in size. Mobipocket does a good job of making it as painless as possible. I found myself settling into a comfortable reading pattern once I had made some small preference settings (go full screen, when scrolling to the next page don't overlap lines - show the entire next page, etc etc). I think my one nudge is that a screen only holds about 1/4 of a page of text, so to read a single page, I have to 'tap' somewhere on the treo to tell it to go to the next page. Fine if I'm holding it in my hand, but when I'm eating lunch, it's tedious to have to reach out and tap the screen or hit a button every 15 seconds or so. If there were a way to make it, oh, I don't know, change pages when I tap my foot or something, that would be something. I guess I'll have to wait on that toe-interface.

Commentaries on E-Books
So, it comes back to E-books. There's been chatter for years about the idea that electronic book readers would replace paper books. Folks could just download the books they want into their reader, and they'd never need a paper version. Why hasn't it really caught on? There is an electronic book market, but it's tiny compared to the volume of paperbacks in the wild.

For me, it's a combination of DRM and pure practicality. If I spend $6 on a paperback, I have it, I own it, it's there. I can read it anytime I want, I can toss it on the shelf, come back to it in 10 years, and read it again. I can loan it to a friend, I can make notes in it, I can let my son read it. If I spill a drink on it, it gets wet. Then I dry it off, and read it again. If I run over it with the car, I can still read it, though it might be a bit mooshed.

If I spend $6 on an e-book, I have... a file. That file is most likely encrypted, and cannot be moved or copied around freely. I have to store it somewhere, perhaps on my Treo. I will not have this Treo in 10 years, so what do I do with the book? Store it on a CD? Okay now I have to make copies of it to a CD, and store that CD on a shelf. In 10 years, will anyone actually own CD readers that can read the filesystem on it? How about in 20 years? 30?

Or, if I download the book, put it on my Treo, and oops! I've mistakenly deleted it. Or the file got corrupted. Poof, it's gone. The publishers will happily say "No problem! Just re-download the file" - assuming you can prove you own it, and the publisher is still in business, and you have the license key. Try that in 5 years. Or 15.

No, I don't see E-books replacing paperbacks. The DRM issue is first and foremost a dead end roadblock, because there's no working around these problems. The physical issues of 'keeping track of media' is something people can work on, and come up with their own solutions, but unless the media is free, there's really no point in investing in a book collection where someone else holds the keys.


The Squee just keeps on comin...

| No Comments

My love affair with my Sony MZ-RH1 Minidisc player / recorder just keeps rolling along. After a few bumps getting it set up and running, I'm quite happily listening to music off little handheld disks. The player is working great. Soon I'll be able to test it as a recorder, as a recently ebayed microphone is on it's way.

Tonight, though, I had my first 'walkabout' with the player, listening to it as I went on a hike. Once I had figured out it's sort of odd 'Group' structure for music, I was able to set up my albums and playlists on the one disk I had filled (well, to 700meg) with MP3's. All works just as it's supposed to. I once again have a perfectly useable, long battery life, high sound quality portable MP3 player that has the added bonus of having removeable media, be able to do high end recording, AND is the half the size and weight of an ipod.

But that's not what I'm here to tell you about.

While it's true the new Hi-MD Minidiscs use a non-standard format for their filesystem, that doesn't mean the new player doesn't function well with others. In fact, I randomly plugged the unit into my Linux box, to see if I could see my music filesystem.

[19860885.124000] usb 4-6: new high speed USB device using ehci_hcd and address 6
[19860885.260000] usb 4-6: configuration #1 chosen from 1 choice
[19860885.456000] scsi2 : SCSI emulation for USB Mass Storage devices
[19860885.456000] usb-storage: device found at 6
[19860885.456000] usb-storage: waiting for device to settle before scanning
[19860890.456000] usb-storage: device scan complete
[19860890.460000]   Vendor: SONY      Model: Hi-MD WALKMAN     Rev: 1000
[19860890.460000]   Type:   Direct-Access                      ANSI SCSI revision: 00
[19860890.476000] SCSI device sdc: 494023 2048-byte hdwr sectors (1012 MB)
[19860890.476000] sdc: Write Protect is off
[19860890.476000] sdc: Mode Sense: 00 2a 44 00
[19860890.476000] sdc: assuming drive cache: write through
[19860890.492000] SCSI device sdc: 494023 2048-byte hdwr sectors (1012 MB)
[19860890.496000] sdc: Write Protect is off
[19860890.496000] sdc: Mode Sense: 00 2a 44 00
[19860890.496000] sdc: assuming drive cache: write through
[19860890.496000]  sdc: unknown partition table
[19860890.672000] sd 2:0:0:0: Attached scsi removable disk sdc
[19860890.672000] sd 2:0:0:0: Attached scsi generic sg2 type 0
[19860895.184000] FAT: utf8 is not a recommended IO charset for FAT filesystems, 
filesystem will be case sensitive!

Well this certainly looks promising. And look! I have a new filesystem mounted!

dbs@yawl:~$ cd /media/usbdisk-1
dbs@yawl:/media/usbdisk-1$ df -k .
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/sdc                987904    665728    322176  68% /media/usbdisk-1
dbs@yawl:/media/usbdisk-1$ ls -l
total 32
-r-x------ 1 dbs dbs     0 2007-02-21 19:15 HI-MD.IND
drwx------ 2 dbs dbs 32768 2007-02-27 20:07 HMDHIFI

Alas, it's not quite trivial to browse the music I've stored on the disk, as it appears Sony has their own way of clustering music. But, I'm okay with this. Sony has finally removed all the DRM insanity that has plagued the Minidiscs since their inception over a decade ago, and now the format is actually useful - in fact, it's downright sexy.

Stay tuned for a more indepth review of the unit. I need to go play some more.

Update 2/28 9am - Fixed a little formatting problem with <pre>.

Off to a... spooky start.

| No Comments

Well, today I received my spiffy Sony MZ-RH1 minidisc recorder and player. It's a fantastic little machine, very sexy and elegant. It does, however, require the SonicStage software from Sony. I did the full installation, and went to run it, and got this dialog.

I haven't rebooted yet, but I'm just getting that little shiver of "Oh, this can't bode well."

I'll file further reports as events warrant. But for the moment, I need to reboot. I'll be back after start the computer.

Update - It rebooted fine, and the Sony software came up as expected. 20 minutes later I have a gig of data on the MD player, all sourced as MP3's, loaded onto a disc without a problem, and without corruption. Whee!


Interactive Tabletop Synthesizer

| No Comments

This thing is by far one of the COOLEST gadgets I've ever seen. Watch the videos - it's hard to explain what it does without seeing it in action. The summary on their page is:

The reactable, is a state-of-the-art multi-user electro-acoustic music instrument with a tabletop tangible user interface. Several simultaneous performers share complete control over the instrument by moving physical artefacts on the table surface and constructing different audio topologies in a kind of tangible modular synthesizer or graspable flow-controlled programming language.

The wonder of it all is the entire thing is opensource and downloadable. Build your own!

Thanks to HackADay.


My USB bus runneth over.

| 5 Comments

Is this a problem for the 2k's or what?
mydesktop.jpg

Poor clipper is having a hard time dealing with my rampant gadget-itus. Since USB has really taken over the 'small component' interconnect need, the number of devices connected to your standard power-users desktop machine has gone through the roof.

Well, I've hit the wall myself. clipper lives in it's docking station most of the time, which provides 3 nice USB ports in the back of the dock (I ignore the 2 ports on the side of the laptop, to avoid having to plug and unplug things everytime I undock). One of the ports on the dock is a cable to my external powered 4 port hub.

Doing the math, that gives me 6 available connections. Here's how they're wired up:

  • Labtec USB webcam (Used with Skype and MSN Live Messenger)
  • USB audio dongle (Dell D620's for -some- nutty reason have no speaker connector on the dock. So when the laptop is in the dock, I would have to plug in my desktop speakers everytime I dock. Screw that, $10 from newegg got me an external audio device.
  • Microsoft 4000 ergo keyboard (IMHO one of the best keyboards ever made)
  • USB 'LED' mouse
  • HP deskjet 5150 printer (I got this printer about 2.5 years ago for $70 from CompUSA. I've never regretted it, it's a great printer.)
  • Dock for a Mobile Crossing GPS
  • Sync cable for my Treo 650

And I'm out of ports. I'm somewhat amused that the Dell monitor I have has a pair of USB ports on the side of it, but that's pretty ugly, and would only gain me one more port (it would take up a port to plug it in).

The search is now on for a super-geeky 8 port hub. I want lights and blinky bits and cool live activity. I have to thank Mort for finding this Evil Genius USB hub which is mighty tempting, though it's only 4 ports. (And no, I -do not- have USB powered manicure kit :)


It's AAALLIIIVVE!!!

| 2 Comments

Nothing like posting on Thursday some details about what happened a week ago, eh?

Yawl under the knifeWell, one of the things I did on my absurdly productive weekend was bring yawl back from the dead. Some may rememeber that the poor Dell suffered a fatal drive crash back in December. Since then it's been sitting, forlorn, silent. I had actually purchased the replacement 160gig drive already, but just never got around to putting it in.

Well this weekend provided the final kick in the pants to finish the upgrade. I realized that yawl was the host to the external drives I use to back up our colocated server. With yawl down, I couldn't run the backups. THAT needed to change.

So open went the case (Yay for Dell creating -really- nice SFF (small form factor) cases. This case just opens right up with two button pushes, and the drive pops out via a simple plastic clip). In went the new drive, and back together it went. Total surgery time - perhaps 15 minutes.

The next problem of course, what to install on it? Since I've had Windows on clipper for the last 6 months or so, I haven't been using a Linux desktop. Before that I had been running Debian etch with KDE as my desktop. For the new 'yawl', I decided I needed to get in on what is now the most popular free distro - that being Ubuntu. This distro is primarily Gnome based, which is something I've been avoiding for quite a while, but I figure I should give it a run for a bit and get at least mildly familiar with it, even though it doesnt' match my preferences.

The install went perfectly, with an excellent clean installer (came right up in X and walked me through the setup). Rebooted, and lo! A clean desktop with sound and graphics all working perfectly.

I won't go into a more detailed rundown of it quite yet, but it's good to have it back. I was able to mount my external drives and run my backups, letting everyone breathe a little easier!

At any rate, we happily welcome 'yawl' back into the planet-geek system farm!


Happy Birthday!

| No Comments

This is a big Happy Birthday to an entity near and dear to all of our hearts. One year ago, we brought boomer online. It has been running without fault ever since. Boomer provides web, mail, chat, database, and other services to over 30 users, handling 5000+ mail messages daily, on a 1.6gig AMD Sempron with 512meg of RAM and a pair of mirrored 80gig drives.

(In reality, it was brought online in September or thereabouts of 2005, but a power-nudge caused a reboot one year ago. It's been up ever since)

20:09:11 up 365 days, 3:28, 20 users, load average: 0.11, 0.30, 0.34

Yay stable, long running, dependable Linux boxes!


Nokia N800 - So close!

| 3 Comments

I was just reading a cool review of the Nokia N800 written by a Sean Luke, an assistant professor at George Mason University, and fairly serious Apple Newton Hacker. In the article, he runs down how much better the N800 is over the Newton Messagepad 2100, but also really lambasts the UI designers for making abysmal decisions on decisions.

nokiaI have to side with the Sean on a number of points. There seems to be a mindset in the Linux community that GTk is the be all end all of UI's, and it's simple to just adapt it to whatever machine or environment you're running it on. But in reality, GTK is a badly designed environment. The widgets are painful and inconsistent, they, as Sean says, borrow some of the worst ideas from Windows, and apply them poorly.

In the case of a handheld PDA-like device, these metaphors break down even further. Desktop processes for managing applications, tools, and workflow simply do not work in a handheld, pen based environment. This has been proven time and time again with the success of the Palm line of products (an environment that has nothing to do with windows), as well as the Newton line itself (also has no desktop equivelent). Both these environments were designed from the ground up to work on a small screen, doing basic tasks, interracting with just a stylus. I believe that many of the issues with the WindowsCE line come from this basic poor assertion. Windows isn't a great GUI to begin with. Adapting it to a handheld device just by making it smaller doesn't work, and even now, 10 years after the original version, the UI is difficult to work with and notoriously inconsistent.

I think the only 'open' environment that has come close to tackling this problem has been the fine folks at Trolltech, with the QTopia handheld environment. They've taken the QT environment and re engineered it to work on an embedded platform. The very first iterations of this, running on the Sharp Zaurus were functional, but still had that 'first time' porting problem. Trying to fit an Xwindows based environment on a small handheld screen, without a mouse.

Later versions have reached a high level of stability and functionality. Why doesn't Nokia use this environment? The best I can think of is "Because it's QT! Not GTK! Not real Linux!" Which makes me sad. This argument has been going on for years now, and frankly it's time to bury the hatchet. But while the linux world continues to back GTK and Gnome, while ignoring the (IMHO) technically superior, more consistent, and better designed QT based environment, I feel that Linux UI's will stay in the also-ran category, never considered a serious alternative.

Having said all that, I still find the N800 sexy as all get it. It does take things to the next possible level of Ubiquitous Computing, with it's wireless capability and long battery life. Closer and closer.


Well, it's hit that point. With the astronomical increase in spam lately, it's getting quite obvious the problem will not abate on it's own. The open-ended 'we trust each other' process of mail delivery is now in it's death throes, it's time to look at other solutions.

According to my spam report, my personal inbox is getting 450-650 caught spams a day. Unfortunately, that is only my Stage One filter. I also use Thunderbird as my email client, which has excellent spam filters of it's own, and that catches another 100-150 messages there. I have monitors showing me the total mail I receive daily, and it's in the 1500 messages range, of which 500 or so are mailing list messages. That means one out of every 100 messages I receive is legit. And lately, the filters have occasionally gotten things wrong. Mail intended for me is marked as spam, and I never hear about it.

In 12 hours of operation on our only mail server, here is an account of the volume we move:

Grand Totals
------------
messages

   4801   received
   5413   delivered
    173   forwarded
     79   deferred  (434  deferrals)
    230   bounced
    484   rejected (8%)
      0   reject warnings
      0   held
      0   discarded (0%)

  45428k  bytes received
  49843k  bytes delivered
   1416   senders
   1092   sending hosts/domains
    334   recipients
    148   recipient hosts/domains

In the past, it was okay to occasionally go through your spam box and see if there's anything legitimate in there. That is simply not possible in todays climate. It may take an hour to go through a days worth of spam, and is mind numbingly tedious. There's a good chance you'll miss something just because it -looks- like spam.

So what are the options? This is where I'm asking for help. I'm speaking not only for myself, but also for the greater Homeport community. I maintain user accounts for 20-30 people, and they're all under the same attack as I am, maybe to somewhat of a lesser degree, but it's still hurting.

I'll note for the record that we are currently running Amavisd, with Spamassassin, all through Postfix. Amavis is happily removing -all- virii from our mail, so that is not an issue. SA with some filter tweaking is doing an admirable job considering the masssive load it is contending with.

  • Option A - A commercial filtering service
    There are several vendors that offer commercial filtering. Many of them are simple 'mail accounts' that you can POP your mail off of, letting them handle the filtering. Others will forward a specific mail address in and out of their system. Are there services that will filter an entire domain? I'd be willing to pay for a service that maintains its filters, rulesets and RBLs in a respectable fashion.
  • Option B - Fiddling my own configuration
    I've been doing this for quite a while. It's tedious, it's time consuming, and it's never 'quite right'. It'll work perhaps for a few, but how do you really know if it's working correctly? I'm probably going to do one major wash-through to enable the various Postfix standard rules, but in reality, unless someone wants to take over being Spam Master for Homeport's servers, this is not a task I'm keen on doing much longer.
  • Option C - Massively restrict received email
    I like the idea of using some form of sender authentication. I'd be willing to say "If you PGP sign your message, I will accept it". This is something that's available to most mail users, and is easy to enable. It makes tracking easier, and I can rank accepted mail by if I've accepted their PGP key onto my keyring. The drawback to this is that not everyone I communicate with will have PGP set up, and while it will help with authenticating known users (everyone I bludgeon into using PGP), I still run the risk of missing important mail from people I have not corresponded with.
  • Option D - Whitelisting
    This is probably the easiest to implement, but gets the most grief as a poor solution. I know the list of people who I correspond with regularly, I know they are not spammers. There is a slight risk a spammer may forge their email address in a From line, and therefore get through my filters, but in reality, I have seen NO spam of this type ever in my mailbox. Ever.
  • Option E - Give up on email altogether
    No, not give up in this whole concept. But give up trying to run my own server. Gmail and Yahoo both have excellent mail clients, and they are available to remote clients. Why fight this anymore? Everyone should just get their own accounts on gmail, and be done with it.

So that's where I am. I invite folks to chime in with ideas or suggestions on where to go from here. I know this discussion is happening all over the net right now, but wading through that is tedious and rarely productive. I also invite the members of the Homeport community to chime in with their suggestions, observations, or thoughts on how the systems are running now, and where things should go.


Windows Idiocies

| 4 Comments

I'm sure this will end up turning into a nice long list, but lets start with this particular rant. If you have a Windows XP installation, and you're trying to enable or disable something from starting when the machine boots, where do you go?

Well, naturally, you right click on Start, go to Explore, look at Programs->Start menu->Startup and... hm, your app is not there. Ah, must be on the global settings. Explore all users, programs, start menu, startup... hm, not there either.

At this point, the spectre of editing up the Registry comes in, where you have to navigate ridiculously long lists of keys to possibly find the switch that may actually fix your problem.

Today I found a new one. Microsoft has decreed (jedi hand-wave here), that all Windows XP computers must start MSN Messenger when they boot. You don't have a choice, it's enabled by default. Sorry if you don't actually want to use it, or you're group policyusing some other IM system.

Microsoft, by the way, doesn't -tell- you it's running. It's not in the tool tray, it has no startup screen, it's just 'there'. The only reason I knew messenger was running was that when I logged in via Jabber, a little popup window told me, nicely, that I had been forcibly logged out of MSN messenger because I had logged in elswhere. Afterwhich, the popup disappeared, and again I had no access to Messenger. Thanks guys.

Today I decided to finally rid myself ot this behaviour. There may be occasion to use the Messenger service, but I want to determine when I run it, and when I don't. It would be easy to go to Control Panel->Add/Remove software, and evict the application entirely, but that's not what I wanted to do.

Apparently there's an alternative to this mayhem. I dug through various google results and came up with this gem:

Simply mention the word "registry" and some folks cringe! There's a much easier way to stop Windows Messenger from starting and running in the background in Windows XP. And this can easily be done without doing any registry editing. All it takes is a few clicks of your mouse.

Go to Start>Run and type in gpedit.msc which will take you to the Group Policy and Local Computer Policy settings. Now click on User Configuration>Administrative Templates>Windows Components>Windows Messenger. Set both settings to “ENABLED� and reboot. That’s it! This will allow you to disable Windows Messenger, which will stop it from loading at start-up.

This is by far the most straight forward and easiest way to disable Windows Messenger. And should you decide to use Messenger in the future, just simply reverse the changes you made and turn it back on anytime you like!

Sounds good, and after a few clicks, lo, there's the policy. To me this seems like yet another interface that applications under Windows may or may not adhere to, but it seems like it's worth a shot.


The iPhone : Another blow to Palm

| No Comments

By now everyone has heard about Apple's latest contribution to the War on Available Cash, the iPhone. What's been amusing to me is watching the impact this has had on the Palm world. It would be foolish to assume the introduction of an OSX embedded device with more features than ANYTHING on the market won't have an impact on what has up until now been about the best in handheld general purpose telephone devices - the Treo. As a steadfast Treo owner myself (not without my share of gripes admittedly), I found myself, like most of the geek populace, seriously lusting after the new iPhone.

But don't take my word for it. Lets take a look around the net a bit.

PalmAddicts led off this morning with an article 'I'm getting that nagging sensation again:

Don't get me wrong: the iTunes compatibility is a non-issue in an era of 4GB SD cards and PTunes, and my cellphone needs are very modest. What really intrigues me, though, is that the iPhone is a real computer in a PDA format, but one that runs on gestures instead of a thumbboard. In essence, I'm seeing the iPhone as the logical successor to the T|X.

I'd also recommend taking a look at this whimsical conversatin between an owner and his Treo.

There's also the impact of the announcement on the stock market in general, including Palm. Apple's stock soars, all the other manufacturers tank. Granted, this is a short-term plot, but it's telling. Apple's stock is trading higher than ever (as of this posting, at around 95).

The excellent Treonauts.com does a side by side comparison of the iPhone vs the Treo 680. They make the comment:

the iPhone is primarily a consumer multimedia phone and not a business smartphone.

I have to disagree. The undercurrent is that the Treo is a 'business smartphone', and, frankly, it isn't. The Bluetooth is so crippled as to be unuseable, the software suite is slow and painful, Wifi is a bulky and unwieldy bolt-on, and corporate network interraction is almost non-existent. It's also hard to say that PalmOS is considered a business OS, when the alternative on the iPhone is... OSX - a fully featured, multithreaded, portable operating system.

Will the iPhone be a success? Undoubtedly. Palm has nothing in the wings to compete with it, and no other vendor has the design moxy that Apple has. I predict there will be a raft of new product announcements in the next 6 months until the iPhone is officially available as other vendors scramble to "Me Too!" their product lines, but in the end, the Treo will slide down into the also-ran territory, and the iPhone will take top slot as the preferred mobile platform for geeks and tinkerers.


Jabber: I return to the fold.

| 1 Comment

Quite a while back, I was a fairly avid user of Jabber, the XML based open source messaging system. This was mostly during the Yahoo / MSN / AIM / ICQ 'instant messaging' wars, where each company was trying to push their own system for the hearts and keyboards of the world.

It turned out apparently that marketshare in messaging really wasn't the panacea they had all hoped it was, and the "YOU VILL USE OUR MESSAGE SYZTEM, AND YOU VILL LIHK IT!" approach many of the vendors were pushing has taken a back seat to other business models, like, say, making a good product.

I had no real need for a strong IM platform for a few years, as most of my communication was either done in e-mail or over IRC, but recently I've been spending a fair amount of time in IM with a my client down in New Jersey. As they are primarily a Microsoft shop, they naturally opted for Windows Live Messenger. With a somewhat heavy heart, I installed the Messenger client, and started using it fairly regularly.

In short, it sucks. First, Microsoft seems to be in this model of "Oh, we realize that the Windows interface is butt ugly, so we'll redo the interface again, in sort of a hacked up interface-inside-an-interface model." I first saw this with the Windows Media Player, which has an infuriatingly obtuse interface, while it tries to be 'super-hip'. WLM is just as bad, but it tries to be an effective business tool (shared whiteboards, VOIP, etc) while also trying to be something kids want to play with (online games, cute icons and sounds, etc). The resulting mishmash makes me feel like I'm trying to do business over a speak n spell.

It was time to go back and see if I could use the MSN network, which my customer was wedded to, with a client that didn't suck. A few years ago, this was problematic, as the various IM providers were occasionally blocking certain servers from connecting. (AIM is in fact still doing this for the big public Jabber servers, and Yahoo has a long history of actively blocking non-Yahoo clients.) Recently, the IM providers have backed off their rabid territorialism, and third party clients are easier to work with.

I once again considered multi-protocol clients such as Trillian and GAIM, but to me they solve the problem the wrong way. They make one piece of software that can talk all the different server protocols. Jabber does it differently. It's up to the SERVER to connect to all the providers. You just need to run one client that talks Jabber, and the server does the rest.

My Jabber server has been running without maintenance for over a year, and I was using it occasionally for Yahoo and AIM connections, but now I needed to make the MSN gateway active as well. Fortunately, it was just a matter of apt-getting the msn gateway tools, and enabling it in the server configuration.

Now I'm back - I have a single Jabber client (at the moment I'm using Exodus, which IMHO is the best Jabber client on Windows), and it is happily showing me contacts from MSN, Yahoo, AIM, and Jabber. My old contact lists happily repopulated (they're stored on the server, not on the client), and off I go.

It's been pleasant to note that other services are coming onto the Jabber network, including Google Talk (A jabber system), and LJ Chat for the Livejournal folks - also Jabber.

And, as I type this note, I'm getting messages from the MSN-based folks I mentioned earlier, and Exodus is happily showing them as simple Jabber messages. Joy!

Are you on a Jabber network? Say hi! My Jabber ID (JID) is 'dbs@jabber.stonekeep.com'.


GM gets closer to a decent EV car.

| 1 Comment

Now this is a GM product I might actually buy. And I ain't talkin Genetically Modified.

At the Detroit Auto Show, GM has unvailed the 'Chevy Volt'. It's somewhere between a concept car and production, in that they've hired a line manager for the vehicle, but they're having problems finding a supplier for the 100,000 mile Lithium Ion battery.

GM is calling it a 'Plugin Hybrid', but to me that's a terrible misnomer. It's an EV car with an onboard generator. It'll run about 40 miles on full battery power, at which time the engine kicks on and starts recharging the batteries. It can plug into wall outlets and recharge in about 6 hours. The onboard gasoline / ethanol engine isn't even mechanically connected to the wheels, it simply runs a generator.

And, it doesn't look so bad either!


The bullet that whizzed by.

| No Comments

yawlWell, a few days ago I mentioned a problem I had with 'yawl' involving a blown hard drive. Fun this wasn't, and unfortunately I was so swamped with work, I didn't really have a chance to work on the machine, so it sadly sat, turned off, while I wrestled with the vagaries of Java and EJB3.0.

With some slack time this weekend, I set about seeing what I could recover from the smoking ruin that was the 20gig drive in the machine. Booting the machine revealed only 'Grub loading' then 'Error 17'. Many folks on the net have said this is a blown bootloader, usually happening after a failed upgrade. I know I hadn't done any upgrade, this was something more serious.

But what to do about it? I couldn't boot it, it was time to go for a repair CD. Fortunately, I had some experience using the Sys Rescue CD, an opensource toolset that fits on a CD (in fact it'll fit on a flash drive), and contains most tools an admin will need to repair or maintain a system that has had Something Bad happen to it.

One burned CD later, I had the machine booted. cfdisk happily reported "You have a nice 20gig partition that's empty! Want to install anything to it?" Not an auspicious start.

I could not mount the faulty partition, so really the only thing to do was to hand it over to fsck and mutter a few incantations.

fsck had a grand old time with the filesystem repair. First indications were good - it actually found the partition, and said there were files on it, though one of the two superblocks was completely missing (linux filesystems have a primary and a backup superblock - sort of the 'master directory' for the partition - for just this reason). Without the backup superblock, the entire filesystem would have been gone. Phew.

A good 20 minutes later, after much gnashing, queries about whether I wanted to fix the deallocated blocks and other fun filesystem issues, I had a mounted, readable filesystem. The SysrescueCD is a fully functional single user Linux environment, so I could mount, manipulate, and archive the newly repaired filesystem. I don't trust it to run on its own - the damage touched just about every open file on the machine (including things like kernel modules), so I doubt the machine is stable. But, I could bring up the network interface and copy off my ~/docs/ directory - where I keep all my business documents. I had a backup of it, but it was quite old.

I feel a lot better now that I've gotten my important documents off the machine. The next step will be determining what to do with the box. I've already received a replacement 160gig drive I'll be installing (nothing like an 8x space increase!), and I'd like to archive some 'less critical, but still nice to have copies of' files, but for now, I just barely ducked that bullet.

NB -interestingly, this is the only mildly catastrophic hard disk failure I've -ever- had. The only other recent failure I can think of was dropping poor hunter while at band practice. It twitched the drive, which I replaced. But I consider laptops to be 'volatile' environments, and everything was backed up - no loss. I suppose I should be knocking wood everywhere, but I prefer to think I'm careful enough and don't do Stupid Things with my machines.

Or maybe this is pure hubris. I gotta go run my backups.


ZoobTube for RadioParadise!

| 1 Comment

This is pretty durned cool. A fellow has whipped up a sort of digital kaleidoscope that streams audio from Radio Paradise and generates a topical video montage using video from YouTube and images from Flickr. Sometimes it's rather striking, sometimes it's just weird.

Check it out at DionLeroux.com.


And a fine good morning to you too.

| No Comments

Well there's truly no great way to celebrate the post-consumerist-feeding-frenzy joy that is Boxing day than waking up and settling down to get some work done, and finding out that at some time during the night yawl seems to have blown it's drive.

As things stand now, yawl is not my primary work machine (clipper is), so I'm not horribly inconvenienced. But I did have things archived on there I'd like to back up, and yawl was also the host to the external drive that is the backup for boomer, our big colocated server. But most importantly, yawl also acts as my music streamer from Radio Paradise. This, of course, ups the priority quite a bit.

Ah well, time to download a new System Rescue CD and see if I can at least copy some files off the drive.


All hail USB rechargers!

| 1 Comment

Gosh, the fellow who figured out that USB devices had enough oomph on the bus to recharge the plethora of mobile geek devices we carry around should get some sort of award. With these gadgets, I've lowered the number of small chargers and other hardware I need to haul around with me when travelling. Here's a couple basics...

My bluetooth headphones have a small Mini-B style plug where the microphone normally plugs in. Pop out the mic, and plug in your Type-A to Mini-B cable in, and voila! It recharges! Conveniently, this cable is the same one I use to download images from my Olympus C770 camera, so there's the first 'combination of functions' solution.

By far the most useful item is charge and sync cable for my Treo. First, it allows hot-syncing between the Treo and clipper. I'm forever losing sync cables and getting lost in the maze of wiring on my desk. This cable not only syncs, but it -retracts- into a the size of a keyfob. No tangling! It lives happily in my backpack pocket. That alone would be handy, but it also charges the Treo from the USB port. Yep, no more carrying another charger around, I just need this one cable. Hooray! As I type, the Treo is sitting on the desk next to me happily vampiring off some of clippers' spare wattage.

What am I missing? Not a lot. I'd like a decent USB based charger for the battery in my camera, but that is probably not too likely, alas. As it is, I've been able to limit my power supply portage to just the laptop brick, which is fine by me. Besides, on cold nights, that brick makes a dandy foot warmer.


Overheard on IRC

| No Comments

<Xilet> everytime you uninstall sendmail, an angel gets its wings.


When the geekery works!

| No Comments

About 2 months ago, I picked up the Blueant X5 headphones, and had high hopes of them being my primary audio interface to my machines. Unfortunately the Treo fell down pretty hard as my primary music player, but I've managed to shift over to other sources, and today I had my first "okay, that worked really well" moment.

As most folks know, clipper is my primary platform now, and, despite it being saddled with WindowsXP, has been doing pretty well by me. One of it's drawbacks was that it did not have a bluetooth adapter in it. I played around with a USB BT dongle, but was very frustrated with the support stack for it. I eventually picked up a card specifically for the Dell D620, and installed it. Ahh, much better - built in bluetooth and no dongle.

A little fiddling, a call or two to Blueant, and I had the headphones configured properly for basic stereo music listening. This has been very pleasant, as I can listen comfortably without dealing with cables or plugs or the like. The only drawback has been that the microphone arrangement has a very low sensitivity, so it hasn't worked well using X-lite. Despite this, getting 8+ hours of listening time on a usb-charged battery really does go a long way to making them useable.

Today, I was sitting in a hotel lobby (a comfortable environment for me), doing my work on my laptop, availing myself of the free wireless, listening to music, when a call came in on my Treo. The X5 headphones happily switched into 'handsfree' mode, and trilled a little "You have a call" sound. I touched the button on the side of the headphones, and lo! I was talking to my wife. The call went along, and when we were done, I touched the button on the headphones again, and RadioParadise was once again in my ears. At no point did I touch my cell phone.

It's nice when technology actually works. Now if I could have my laptop always streaming audio, and function for 8+ hours on a charge, and have ubiquitous network access, and NOT feel like I'm holding a small fusion reactor on my lap, all would be perfect!


Chasing the Power

| 6 Comments

Every once in a while I get a good dose of greeniness, and look around my little corner of geekiness and sort of wonder "How much juice is this actually using?" After asking Cat what our monthly electric bill was ($300!), I decided this question needed a closer look.

A month or two ago I had picked up a Kill-a-watt (terrible name, ain't it?) power monitor. This little gadget plugs into a wall outlet, and tells how much power is being used by things drawing through it. Today I jacked it into the single outlet that feeds my nest o machines, and powered things up.

The meter dutifully reported the load as things came online, and steadied out at about 280 watts. All in all, that's not too bad for 3 computers, 3 lamps, and associated peripherals, but I was curious how that load was distributed. What was actually pulling all that juice?

Unsurprisingly, the single largest draw is yawl, my 2.2gig P4 Linux box. It accounted for about 85watts of power (without monitor). The second biggest draw was, oddly enough, lights. I have 2 compact flourescent desk lamps (about 15watts each), and a single halogen desk lamp (35 watts). I knew the halogen light was pretty dreadful, and this pretty much confirms it. That chalks another 65 or so watts. Which leaves me with 140 unaccounted for.

Well, the two laptops were about 30 watts each (pretty nice considering the horsepower in clipper and hunter). Down to 80 now. This last chunk was pretty much the combined load of the LCD monitors, various chargers and other desktop doodads, a pair of external USB drives, and the like.

So what's to be done about it? Well, I've been considering moving to LED based lights for a while. They're small, cool, draw -very- little power, but have the current drawback of being ridiculously expensive. A single bulb equivelent to a 100 watt incandescent bulb would cost around $52. The equivelent compact flourescent bulb costs around $5. The advantage to using LED is the current draw is miniscule. For the equivelent amount of light, the bulb would only consume about 2watts of power, AND have the advantage of being dimmable - something impossible with CF bulbs.

If I replaced my 3 desktop lamps with LED lamps, I could cut my power consumption by a third. I also have 4 other lamps in the room that could be replaced as well. The question is, is it worth it?

I'm still puzzling this one out. If anyone has suggestions for good sources for inexpensive LED fixtures and lamps, please let me know!


Bad Dell designers! No biscuit!

| 5 Comments

In many ways, working with clipper has been quite a joy. Everything works well, I only have to reboot once every 2-3 days (hey for Windows, that's pretty good), and it's pretty zippy.

But part of my job includes teleconferences every morning, which requires a headset. Headsets need to be plugged into the Mic and Speaker jacks.

Some Dell designer decided that:

  1. The jacks should NOT be color coded. Basic black works great for everything! I now know intuitively that the Microphone jack is toward the 'back' of the laptop.
  2. The jacks are NOT duplicated on the docking station. This is just daft. The docking station is supposed to be used to dock and undock the laptop with a minimum of hassle. NOW I have to plug and unplug my headphones -everytime- I dock or undock the laptop.
  3. And, of course, I situated the laptop to the -right- of my monitor stand, so it's in the way whenever I need to do this. I blame Dell for that one too, while I'm at it.


Flickr Command Line Uploading - sort of!

| 7 Comments

So the ongoing project right now is to upload all 4000-some odd photos that I have stored on various machines up to my Flickr account. The sheer volume of images is quite staggering, as each uploaded pic has to be put into the appropriate set and tagged. Some of the uploading tools have been somewhat handy, but since the vast majority of my pics are stored remotely on a linux box, GUI tools aren't much help.

There's really no decent 'command line tool' for batch uploading pictures, but I think I've found a fairly decent way using Flickr's upload by email function.

Using a simple hand-entered script and Mutt's powerful command line functions, a directory full of images can simply be emailed to flickr, tags, text, titles and all.

Here's a sample run uploading a single directory. The tags can be set in the Subject line of the mail, or via the email page on Flickr. You pre-set the tags, then submit the images:

dbs@boomer:~/pictures/maine-may9-1998$ for i in *.jpg
> do
>   mutt -a $i -s $i yourprivateemail@photos.flickr.com < `pwd`
>   echo $i done.
> done
dave-1.jpg done.
dave-n-michael.jpg done.
don-finishes-up.jpg done.
final-dock-assembly.jpg done.
house-1.jpg done.
lake-1.jpg done.
lake-2.jpg done.
ready-to-unload.jpg done.
scott-steel.jpg done.

Simple, eh? Then I go to Flickr's 'organize' function, toss the new images into a set, and then I'm ready for the next batch. The images show up on Flickr in a matter of seconds, so I can do any size directory, from submission into a set, in about 2 minutes. The script is entered on the command line, so to upload the next directory, I reset the tags on flickr, cd to the new dir, and just up-arrow to the script, and hit enter. Boom!

Of course I have something like 400 directories to work through, but if I do a dozen or so a night, I'll get through them eventually.


We're in the top 1000 teams. That's out of over 54,000 teams worldwide. Go us!


It's all about the tools.

| 2 Comments

In a previous post I admitted to the world that I, an avowed Linux weenie, was now using a Windows desktop for all my geeky endeavours. This continues to be true, but I've taken the steps necessary to make my environment comfortable to work in, without going the easy route of "I will do everything in my power to make Windows look and feel just like my Linux box." To me this defeats the purpose of potential learning experience of working with a new environment.

So about those tools...


I feel like I've taken the bluepill. All I see around me is a sham, the wool that has been pulled over my eyes.

But, ya know? It's going okay.

A grandiose change has happened to my work environment at Chez Geek. Due to the long-running contract with ${customer}, we worked out a deal where due to the instability and possible imminent death of hunter, I was issued a new laptop. The laptop, however, runs Windows, and it was made abundantly clear by said ${customer} that they'd prefer I worked in the same environment as they do, that being, of course, Windows.

So here I am, with a spanking new laptop named 'clipper', and running it as my full time primary machine. After my initial revulsion at the concept, I have to concede - it's going quite well.

I shan't go into the details of what is different between WindowsXP and Linux. That subject has been debated, chewed on, spat up, kicked about, and shot out of a cannon plenty over the last few years. But what I'm using this machine for is exactly what Microsoft has been working on for 15+ years. A stable, high powered desktop environment that can interract with a multitide of peripherals, platforms, and hardware without very little fiddling or complaints.

Over the next few weeks I'll talk more about some of the applications and challenges I've been hitting with this migration, but for now, I seem to have reached a happy detante. My view for the moment is "This is stable, it works, it does things I could not do under Linux, but I still have all the power of my Linux machines handy just a few network segments away. I can deal."

I'm sure this will be the case until I get my first virus or malware installation, but for now, I'm a happy bluepill.


Idiot AP Reporters

| 2 Comments

What is it with supposedly 'technical' reporters? They apparently haven't clue ONE about the material they're writing about.

Take for example an article appearing in the Herald Tribune - Europe. The subject is a good one, Tim Berners-Lee discussing research into the future of the 'net. A worthy topic, but the short article contains this little gem:

Sir Tim Berners-Lee, the Massachusetts Institute of Technology scientist who is credited with creating the Internet, said in an interview with the British Broadcasting Corp. that the way the Web is used should be examined by a broad spectrum of experts.

NO. WRONG. TBL had nothing to do with the 'Invention of the Internet'. TBL is credited with first linking hypertext documents with a mechanism for linking these documents to remote servers. He wrote the first webserver, and the first web browser, and coined the term 'World Wide Web'. This is an application that runs OVER the internet.


LDAP and Thunderbird

| 7 Comments

I have an ongoing project dream. Someday, have a fully functional suite of opensource-driven services available to our community that gives, if not the full functionality of something like Exchange, but gives enough so that the users can interract and exchange information cleanly, without having to jump through hoops or pay ridiculous amounts of money or subscribe to proprietary, predatory application suites.

I made another step toward this lofty goal this week.


Nifty Flickr Toy - BigHugeLabs

| No Comments

Tripped over BigHugeLabs tonight while flitting around Flickr. They have a profile widget that generates a nifty little summary bar - this is automatically updated every 1/2 hour... Cute...

eidolon. Get yours at bighugelabs.com/flickr


Computer ads through the ages.

| No Comments

This has been linked to from everywhere, everywhen, but here it is incase you've been under a tech-media rock for the last couple days.

PCWorld has put together a great Youtube collection of television computer ads. Some are hysterical, some are pitiful, some are sad. I'm particularly mournful of the loss of the Apple Newton, one of the finest pieces of technology ever designed, IMNSHO.

See the collection...


Join my BOINC team!

| 1 Comment

I nudge about this occasionally, but here's a quick reminder.

I have an active team using the BOINC distributed computing system called the Stonekeep G