Too many ways.
September 24th, 2003
There's been an uproar about Phillip Greenspun calling Java the SUV of computer languages lately. I don't agree with the general theme of the entry that a project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a scripting language.
Truly reliable software?
September 21st, 2003
I've been thinking. We have lots of software crashing these days. Some due to bugs. Some due to viruses and worms. Some due to hardware failure. And yet software is becoming more common and important than ever before. So what can we do to make software more reliable? Can it be 100% reliable when it is written by failable humans.
The two opposing forces of software: why career programmers will always have a job.
September 15th, 2003
A lot of people have been complaining about the loss of jobs in the programming field, and it's only going to get worse they say. I don't think it's true. There will always be work for the career programmer. We just have to make sure we move up the abstraction ladder. Even in a world where basic coding is done overseas and many components are opensourced, there's still plenty of work to be done, and paid for.
Passive Tech on the Ocean
September 9th, 2003
Last week I spent a much needed vacation in The Outer Banks. If you ever see a sticker with OBX in a circle on it, that's the Outer Banks. Beautiful and isolated barrier islands off of the coast of North Carolina, they provide great rest and relaxation. And also the opportunity to think about how technology fits in our lives. I've got lots of new ideas to discuss in my coming entries, but one in particular struck me: Passive technology.
SwingHack: keyboard spinner
August 28th, 2003
While crusing through the AWT/Swing documentation for another project I ran across a method I never knew existed: Toolkit.setLockingKeyState(int keyCode, boolean on)
. It's been there since 1.3 (which is what, 3 years old now) but I never noticed it before. Hmm, I thought. What could I use that for?
Swing Hack: Window Snapping
August 22nd, 2003
While working on another project I came up with a silly idea. How could I force windows to remain completely on screen and to snap to the screen edges? A simple form of window snapping. Since you can receive an event every time the window is moved it's easy to create a Component Listener to do it.
Strong vs Weak Typing: Can't we have the best of both worlds?
August 15th, 2003
I've seen lots of arguments on the merits of weak typing. It encourages flexiblity. It lets me write code faster. I don't worry about the details until later. I can do cool runtime tricks.
Where are my free JavaBeans?!
August 11th, 2003
I have a webserver. It's a small box sharing a friend's static DSL line with a few other boxes. It does the job pretty well, hosting the websites for my family members. When the blogging revolution hit I wrote some journaling software for myself. It was written in Perl originally, later switching to a servlet with XSLTs. This was great for me but not so great for my sister when she wanted a weblog. She can write HTML and copy links. That's about it. No javascript and certainly no knowledge of XSL templating. My solution was to switch to JSPs. I told her as long as you don't edit these magic tags everything will be fine. All is good until she says she wants a counter.
CVS or Else?
August 6th, 2003
In my years as a professional programmer I have used many Revision Control Systems (RCSes). It's that software that manages and protects the software you use. One of the tools of the toolmaker. Many companies pay tens of thousands of dollars for this software, often licensing it per-seat, and yet a perfectly good free alternative exists: CVS. In fact I will argue that there almost no reasons not to use CVS. While there are some other RCSes which beat CVS on technical grounds like parallel development I think that CVS has the edge in everything that counts.