Sunday, October 30, 2005

Art Deconstructed

If you've ever pondered modern art and artists and been a bit confused, the following post is for you. Express Yourself, It's Later Than You Think

via metafilter

Wednesday, October 26, 2005

The Pacific Northwest Tree Octopus

It's amazing, I studdied marine biology for all those years and never learned a thing about the amazing Octopus paxarbolis, probably because it lives in trees instead of the ocean, duh! (Hey Bob, have you seen one of these yet?)

via Ronnie at Gubment Work

Tuesday, October 25, 2005

Source Code Display

Why is source code display stuck in the 70s? As programmers we've parented a wide array of innovations across the spectrum of software but we still live with simple colored text as our primary means of communication. Talk about lowest common denominator! I don't know about you but I want more.

I've made a little HTML mockup of what I think code should look while being edited. I choose to use Java as the language being displayed, but the basic ideas should work for most languages; certainly the block structured ones anyway.

I used HTML and CSS for my mockup and it was pretty fun tinkering with the look. I don't expect it appeals to everyone but that's OK. What I really want is for modern editors to just auto-magically create a tagged up version of the code based on standard syntax components, like blocks and keywords and then allow us developers to design our own CSS style sheets to display it. That's just what I did, but I did it by hand.

In a real system we probably would never see the structured code, although we might want to, but the conceptual model of divs and spans, using documented CSS class names, placed around code elements would provide sufficient richness for us to develop a pretty snazzy code display CSS.

Monday, October 24, 2005

Geek Generalist

Have you ever wondered whether you were truly geeky enough? Do you worry that you're not keeping up with all your geek friends. I know I do but luckily so does Loyd Case. The main difference between us is he wrote an article about it. I feel so much better now.

Saturday, October 22, 2005

RUP and the Law of Unintended Consequences

Here's a recent post I never quite finished. I wish I had something more to say on the topic, but will just post what is here as is, instead.

The recent release of a subset of the Rational Unified Process to the open source community gave many of my friends who have worked with it a chuckle. On paper it seems like a pretty reasonable process. In practice, what I've seen is, management focuses too much on the process itself rather than the software the process it is trying to produce. In addition there are all the unintended consequences of such a heavy handed approach to development. I found the following list of some of these consequences on a SlashDot posting talking about this exact subject.

don't forget "The Law of Unintended Consequences" which shows that:

1. As accountability goes up attitude, morale, productivity, and efficiency go down

2. Once you hit critical mass on paperwork, process, etc you destroy motivation - there's some point on the curve at which point everyone just says 'who cares' and 'why bother'

3. It's impossible to really anticipate everything upfront, which means that minor changes that in a system and organization that embraces agility & resilience can be easily handled in stride take 40x as long in an organization afraid of blame.

4. Most of the work is done by the motivated and talented 10% of the staff. these people leave rather than put up with the bureaucracy designed to hinder the 90% that are unproductive.

Friday, October 21, 2005

I'm a Hurricane Evacuee

I've been quite the past few days because I've been on vacation. The plan was to spend a week in Key West with my wife to celebrate our 9th anniversary. Those plans got cut short on the 19th (our actual anniversary) when the people in charge of such things ordered a mandatory evacuation of all visitors, trailer residents and live aboard residents from the Keys due to hurricane Wilma lingering off the coast. The hotels basically just kick you out and tell you to leave. No additional advice. Luckily we had a rental car and a connecting flight in Ft. Lauderdale for later today so we packed up our stuff and headed to South Beach, Miami. As we passed through Islamorada and we stopped for lunch we got filmed by the local channel 10 news team as we sat at the bar eating. I don't know if we made the news or not. It was kind of surreal. The locals were all feeling pretty jittery and storm weary. Talk centered around downed trees and the pain in the ass of boarding up windows and such. Getting a chance to visit South Beach has been fun. I like the Keys better, they're more my style, but South Beach is a funky and fun place too.

Saturday, October 15, 2005

Out of the Darkness Walk

I just wanted to thank all of you who supported me in today's Out of the Darkness walk. The weather here in New England wasn't very cooperative, in fact it rained cats and dogs. The rain didn't dampen peoples spirits however and many people from around NE came out to brave the elements, remember their loved ones lost to suicide and raise money for a good cause. The walk was both sad and fun at the same time. One particularly moving group was 20 or so teenagers who walked in support of their young friend who took her own life.

If you were meaning to send a donation but forgot, the American Foundation for Suicide Prevention is always taking donations.

Thanks again.

Tuesday, October 11, 2005

Making Peace with Life

I'm about three quarters of the way through Susan Senator's book, Making Peace with Autism. I knew very little about autism before reading the book and only really read it because I work with Susan's husband Ned and have met the family on a couple of occasions, regardless I'm finding it a fascinating read. There are two things that have hooked me on the book, learning about autism with it's similarities to my own mental make up and the fact that tangentially it's a story about the everyday life of people just like me.

The more I read about autism the more I see parallels between my approach to the world and how Susan describes their autistic son Nat's. This is not to say I think I'm autistic, only that there's a very thin line between one state and the other. Take for example the following: I'm a loner. In loud or crowded social situations I often get anxious and zone out. I see patterns in odd places. I'm very much a creature of habit. In general I don't like change but preparing for it always makes it better. From reading the book I've found out all that all of these attributes could be ascribed to an autistic person (or at least Nat). I know these attributes could also be ascribed to a classically nerdy programmer type, but that's really why I find it so fascinating. Cognition is really a mysterious, fragile and wonderful thing.

The second reason I mentioned liking the book, and this is really the primary reason for me, are the insights into the Batchelder family. It feels pretty voyeuristic at times, peering behind the facade of a modern family like theirs, but that's also what makes it so compelling. If you take away the family specifics, you could just as well be reading about my wife and me instead of Susan and Ned. It's a very personal and honest portrayal that I give them all kudos for having the courage to publish. None of us have the perfect easy lives we try to present to the outside world so it's very refreshing and life affirming to see other people, especially people you know, live through pain, fear, and doubt and yet come to find some level of peace and happiness.

Monday, October 10, 2005


Here's an interesting link on development environments I found from Sami Shalabi. The premise is simple: create an environment that's fun to work in and your team will thrive. Fun in this context doesn't mean playful or frivolous, it just means a productive work environment. Developers want to create stuff. If you create an environment where people can work together to create, it will be fun.

Back in the day, Iris/Lotus used to include the goal of a fun environment in their mission statement. Sadly, but not unexpectedly, this was one of the first things expunged when the big blue glue flowed through the works. Right after the take over there was a new mission statement that clearly removed the word fun from the list of goals.

To be fair, I had some of the most fun of my career working at IBM. Unfortunately this was short lived and probably only occurred because we were working on the first version of Workplace in a kind of stealth mode outside the normal bureaucracy.

Thursday, October 06, 2005

The Power of a Bad Idea

Until recently one subsystem I own at Kubi was a mess. It worked for the most part, but it was fragile and hard to understand. The sad thing is I wrote most of it. It was one of the first things I took over when I joined Kubi and there was already a skeleton of an idea there. Unfortunately, I took that skeleton and put meat on it.

Once I had lived with the code long enough to learn the sad truth, I told my manager about the state of affairs and that I thought we needed to spend some time rewriting it. He was supportive of the idea and gave me a few days to do it. I figured, no problem, I've been doing this stuff for twenty years, I will just think about it for a while and type in a new solution. This is when my troubles began.

As I tried to think of a new approach to the problem, the existing implementation haunted my thoughts. I kept comming back to the same ideas that I knew had problems. Rather than do nothing and stare at the screen, I did what I normally do in this sort of situation, I refactored. I pulled the monster apart and examined the pieces.

Unfortunately, no new insights emerged, so I cleaned up the parts and put the thing back together. As I worked to address some of the issues that had necessitated this work, the same problems kept nagging me. The code needed something more but I couldn't tell what.

I reworked that code furiously for hours before the light finally dawned on me.
In retrospect the solution seems obvious - classic even. A judicious use of the MVC pattern and some better abstractions cleaned the whole mess up.

The reason I'm posting about this isn't because I think my solution is great or unique, rather the opposite. It's just a couple old lessons I keep learning and re-learning as time goes by. Programming is easy until it becomes hard and there's nothing harder to change than a plausible idea that just doesn't work.

Saturday, October 01, 2005

Linux MP3 players

I have a friends who wants to buy an MP3 player for their spouse. The issue is the spouse in question is a Linux guy. If it was Windows or Apple, I would recommend the obvious iPod with iTunes combo, but when it comes to Linux I have no idea what's the best option. Any ideas?
The Out Campaign: Scarlet Letter of Atheism