Paul Graham is spot on (as always)

Holding a Program in One’s Head

In fact, if you look at the way software gets written in most organizations, it’s almost as if they were deliberately trying to do things wrong. In a sense, they are. One of the defining qualities of organizations since there have been such a thing is to treat individuals as interchangeable parts. This works well for more parallelizable tasks, like fighting wars. For most of history a well-drilled army of professional soldiers could be counted on to beat an army of individual warriors, no matter how valorous. But having ideas is not very parallelizable. And that’s what programs are: ideas.

And some interesting thoughts from the comments:

One possible alternative organization pattern is the “band.” …

It would be interesting to see how a band-style organization would apply towards more practical software products. Software so produced would come in boxes with the band’s logo, but more importantly, a _list of credits_, anecdotes about the software’s creation, etc. That is, to make the delivery of the software more _human_.

Back in the day, when credits on software were more commonplace, it was possible to judge the quality of a product (to some extent) based on who was involved with it. Some people became reknowned coders, reknowned technical writers, etc. I think it gave two incentives: first, your name is going on the box of that package — this gave prestige in the community post-sale; second, it allowed the customers to predict the overall feel of the software prior to actually purchasing it, based on their experiences with software written by the same or similar authors.


The only part I don’t really agree with is the implicit condemnation of programming done by large companies. Yes, their methods result in mediocre software, but that’s often what you want. There’s a reason they try to treat programmers as interchangeable cogs, and resist having an entire program in one person’s head.

To use the tired “building a house” metaphor – you can get a renowned architect to design the next landmark in a city, or you can get mediocre, interchangeable architects to design a row of townhouses. Both approaches are valid and have their own place, but there’s no point asking the famous architect to build townhouses.

Saying good bye to Lotus…

Its been two years in at IBM, so that is about time for the “I‘ve Been Moved” pseudonym to take affect. Starting this past week (since I was on vacation the week prior) I left the yellow box plastered walls of Lotus and head to a group inside of the CIO office.

The short of it is, I’m moving away from product development toward prototype/research development. Not research in the academic sense (though I did consider that), but research in the sense of experimenting, learning, and innovating.

… intermission

Please remember that I’m not IBM, so these thoughts are 100% owned by Timothy J. Finley and not HAL^h^h^hIBM.

…And for the longer version (which has turned into quite a history lesson (more for my own archival purposes))

At Lotus I’ve been working on the Activities project from the first day I started, but Activities has meant many different things over the past few years. I was originally inspired to join IBM to help work on the productization of the Activity Explorer research project (wahoo a new way to collaborate!). When I started the team was just releasing the preview of Activity Explorer in IBM Workplace.

But it wasn’t very long before momentum started moving away from Activities as a traditional rich client application toward focusing on a web experience. This was great for me since I was one of the few people on the team that already had some web development skills. The period that followed was the best programming experience I’ve had so far in my life. We (me and my tech lead) were pumping out code left and right, righting decent tests, quickly getting a prototype usable, continually responding to feedback from use, and adding features all the time.

Honest and caring politician?

This opinion editorial from the Miami Herald may be exaggerating a bit, but still if he (Robert Steinback) even only had a small chance of being right we should be worried. I’ll again say that I’m no longer proud to be an American (that reaction wasn’t caused by this article, I’ve held that opinion for some time).

Now I shouldn’t be too negative since America can and still does great things, but I think we could do so much more. Maybe it would be best for us to stop telling the world what they need and to start helping it genuinely (aka, honest care and support… even asking how to help). Is it too much to hope for a honest and caring politician?

Forwarded to me by Steve

Laziness…

![51385754][small][] As I’ve been thinking of productivity, efficiency, procrastination, and laziness recently (and I still haven’t gotten around to reading that book yet) I’ve come to realize that I’m making things harder by worrying so much. It is obvious that trying to make yourself productive by worrying about it constantly only suffices to waste time that you could have used to actually do work. Yet I rarely notice that this is exactly what I’m doing — and moreover I think that the previous assertion only just scratches the surface.

So the first step is admitting that you have a problem, right? I certainly am the type that constantly is calculating my time and what I can do to promote better usage of my time. The funny thing is that after calculating and forecasting I barely ever end up actually making productive use of any of it. My prime example is that I normally set my alarm every day since I can’t let myself sleep in and waste that precious extra hour I could be using to do something. And guess what happens with that extra hour?

I think the root of the problem is that by worrying in advance, I’m already making negative associations in my mind with a task/project. I’m making myself feel guilty already and by the time I sit down to get started, I react against that guilt and end up feeling more compelled to not do it. Wasn’t the whole point to help myself get things done in the first place?

Fortunately I don’t often get into this cycle during my day job (probably since there are so many other external motivating factors at work, such as career development, gaining respect from peers and management, and money — or lack thereof if fired). But for everything else, errands, chores, projects, coding, artwork, and unfortunately socializing, I do (some to a greater or lesser extent though).

The plan is to almost force myself to waste time, in order to make myself better utilize that time. (A better idea is probably to just have more things to do so that I just fit in what I want to do when I can. I bet making myself more busy will make myself a heck of a lot more productive).

Can you hear me now?

![51708085][small][]
I’ve had a cell plan with Verizon for about 5 years now and for the most part I cannot complain. The phones have been decent and the reception has been above average. Heck, sometimes I got one bar of service at my good ol’ home in the “ruralburbs” of Southern Maryland (that’s rural for y’all urbanites and a suburb for those whom have a more country descent).

So why start complaining now? Well its because I’m finally joining the rest of the world that wants to do more with a cell phone than just talk. The first thing that comes to mind is txt messaging. I never bought into the txt hype for the past few years since it never seemed very useful. Sure I could do in situations when I couldn’t talk… but in how many of those situations is it convenient to mangle my thumbs for 5 minutes writing a few sentence message?

So why now? I’m trying to fix my forgetfulness. In the past I’ve tried to use pdas but unfortately those always ended up lost, broken, or stuck in a black hole in my backpack from which there was no return (aka, I never remembered to use it). Recently, I’ve been hyped by the GTD phenomena and have started using a hipster pda. So far that actually has not been working too badly and I’ve found it very useful for keeping track of tasks at work. (Plus it has the benefit of being a pda that won’t break and costs a few bucks). The problem is that I forget to carry it around with me. And when I actually do carry it I don’t ever take it out… the same problems with the fancy electronic pdas. So I’m still seeking help for remembering to calling that person back, picking up milk at the grocery store, or finally getting around to get someone to fix that window I broke in my apartment (whoops).

So what is something I do always carry around with me? My phone (even more so when I don’t have a land line.. well that’s a lie, I do have a land line since its free with our current telcom setup, but I don’t even know what the number is). And now, since all the new fangled Web 2.0 apps can send txt msgs (namely backpackit) I can alert myself via my cellphone. Just set a reminder and later (when I’m sure I’ve totally forgotten about the reminder I’ve set) I’ll get a nice vibration in my pocket and just the kind of kick in the but I need to actually remind myself to do something. And even better, I can txt from my phone to backpackit to remotely jot down something on the web. Next throw in a cell phone with a basic web browser and I’m in cell phone notes/reminder heaven.

So how does this all come back to Verizon? The cost of txt msgs. I know that txt messenging is all the rave in the rest of the world, but things have been somewhat slow in the US. Right now, without getting a plan change I’m charged 10 cents for every txt msg sent or received. You are kidding me right? Ok, lets do some math. I pay $40 for 450 minutes so that is around 9 cents a minute. So one text message costs more than a minute of air time? Lets assume that my cell phone can transfer data at around 50Kbps (and it probably can transfer much faster). That events out to be 6250 bytes per second. So a txt message has a max size of 160 characters and I’ll be nice and assume they are using a double-byte chatacter set. That’s 320 bytes. Sure the data has to be packaged up somehow, but there is no way that packet it even going to approach 5000 bytes. By my (wonderfully assuming) calculations a txt message uses up a fraction of a second of air time. Sure I left out the whole part about having to check and negotiate for a connection, but come on that can’t be the sole cost of the message, can it?

Arg… sure I can get around this by paying $5 a month for a whole whopping 50 messages.. ahem. Thats. Still. The. Same. Price. Even better the I can get the “Great Deal” of 250 messages for $10! The sad thing is that despite this rant, I’ll be signing up for that Great Deal next month. Sigh.

I guess supply and demand is only a benefit if people actually pay attention to how much something costs. So America please start txting like the rest of the world.

ps: I did a bit of looking around and it seems like the other companies are about the same, though some do offer decently priced additional txt plans. Fortunately/unfortunately nearly all of my family (and a few friends) have Verizon, so free in calling prevents me from switching carriers.