New Filebrowser
There’s a new ATG Filebrowser available at datafaber. This is a very useful debugging utility, because now you can edit your JSP pages through the same interface that you view JSP pages. This can be a big help when you’re working on a foreign dev machine, or when you’re just tired off bouncing between apps. So go get it.
Firefox Development Extensions
Okay, time to go through the toolkit again. It’s been a while since I did this. This time it’s Firefox Extensions.
HTML Validator. If you are an HTML designer, a page developer, or indeed anyone who makes web pages for a living, you need this extension. I can’t tell you the number of headaches it has saved me by pointing out exactly where something doesn’t match up.
Aardvark. This application is superficially similar to the DOM inspector, but it has a far nicer interface. You turn it on, and all the page elements are tagged for you on the page. This sounds a little abstract, so here’s a demonstration:

Firebug. This is a number of different things, and it’s already had very good press. It does a number of things, but the best thing from my perspective is that it validates CSS, debugs Javascript (in a way far superior to Venkman) and can track XMLHTTPRequests. If you’re working on AJAX applications, Firebug pulls many different things together to form a unified whole.
Scrapbook. This extension changes the way I surf the web. You drag and drop a bookmark or a page into it, and it stores the page for you. You can then read the page offline, without being connected to the web. And because it’s local, you never have to worry about losing the URL. I’ll drag pages in and use them for reference at meetings, for long articles, for web page receipts…
That’s it for now – there are other firefox extensions I like, but they’re personal preferences rather than new features.
Wired vs Wireless
So it turns out IF you have a Windows machine which uses a wireless connection for the Internet, AND you wire it up to an ethernet network for an internal subnet, AND the ethernet is faster than the wireless connection, THEN Windows thinks “hey, this new network is faster than the old one, let’s send everything there!” And tries to send Internet packets to the ethernet.
So you can’t rely on the automatic metric. More details here.
Bush flips out 4
The footage of Bush flipping out in the second debate is here.
Mirrored from Oliver Willis.
Visiting Republicans can check out Andrew Sullivan, Republicans for Kerry, John Kerry is a Douchebag but I’m voting for him anyway, or the (very nice) Republicans shown in the Real People ads.
Speed Reading
w00t. I love tests I can ace.
Death by Schedule 2
Laurent Bossavit talks about how schedule pressure can lead to people dying.
This happens all the time. Afterwards, people say “Oh, if we had known… Now it will be different.” And then they do the same thing all over again.
EDIT: And it doesn’t even work.
PSP Time Tracking 3
I read Watts Humphrey’s Introduction to the Personal Software Process a long time ago, probably when it first came out in 1996. There were some good ideas which sounded inpractical at best, and some okay ideas which didn’t seem like they deserved a book. One of the things I remember best from the PSP was the idea that the best way to fix bugs was to print everything out and go over the code as if you were a compiler, holding the state in your head. This turned out to be a great idea, and it taught me the benefits of reading code as opposed to just scanning through it.
However, for the most part the PSP is a complete bore. Forms. Spreadsheets. Metrics. Detailed time tracking. I mean, detailed to the minute time tracking. Under PSP, you’re supposed to write down what you do before you do anything.
The most horrible part was the assumption that this was somehow doable or worthwhile. Also, there was another feeling as well… the feeling of dread that under such fine scrutiny, my life might be horribly inefficient and wasteful. In some ways, PSP is the every minute Zen. Everyone would like to be an incredibly cool Zen master if they didn’t have to pay attention all the time.
Luckily, everyone else felt the same way and I never had to use it. The few people who admit to this freakish habit have to hide it from their friends and family. The only places I’ve ever seen PSP mentioned have been in CMM and IEEE presentations, and the odd thesis here and there.
The fact remains that PSP has been proven to be useful. It’s been taught to people in groups – perhaps with a lot of pain and not a little denial, but normal people can do this.
Christopher Duncan brought up the idea independently in The Career Programmer. One of the techniques he advocates is tracking time in a database. Here’s his quote:
“Yeah, yeah, I know; it seems like a hassle. And it is, in the beginning. However, you quickly get used to it, and in reality it takes less than thirty seconds to make an entry. If it takes any longer than that, you might want to brush up on your typing.”
What finally convinced me is that time tracking serves two purposes. You have a record of where your time is being spent. But you also have a record of every stupid little task that tripped you up when you were trying to get something done. If you keep a technical log, then you never have to remember anything. Every thing you do is repeatable.
Not only that, you no longer have to guess at how long a task will take you. You know, because you’ve done it before.
So I’m sold on the concept. However, getting to the implementation is different.
There are a number of time trackers out there. Some of the ones I’ve tried have been Time Shadow, TimeCore, and Ecco Pro’s internal time tracker. They all have some problem or another. TimeShadow doesn’t export data easily. TimeCore’s interface is clunky. Ecco’s internal time tracker is clearly cludged into the rest of the system. But the big problem they all have is that they don’t account for flakiness.
For a period in January, I logged my time using TimeCore and Karen’s Countdown Timer. I set the countdown timer to pop up every 30 minutes so I could find out what I was doing over the course of the day. This didn’t quite work – if I was away from the computer or was locked out, or there was a phone call… it wouldn’t pick up the change. Or I just didn’t see the thing. Whatever. The issue is not that I forgot to log my time, but that TimeCore and the other utilities made it really hard to shift my entries around and make them reflect reality… they complained about overlapping times, and then they complained about gaps.
So I remembered time tracking. But I didn’t remember PSP. Once I remembered that PSP talked about the exact same thing, I stopped looking for time trackers and started looking for PSP Automation Tools. I had far more success doing this.
Software Process Dashboard, Personal Time Manager and PSP LogControl seem to be the top standalone tools right now. Personal Time Manager looks really intimidating (36 MB?!?), but looks like it has masses of functionality. PSP LogControl tends to the other extreme… very small, but very well defined.
On the other hand, the Collaborative Software Development Laboratory has a project called Hackystat which looks just incredibly cool. It’s actually an advancement over PSP, as it validates work already done with the user’s estimate instead of forcing the user to enter in the time manually. It requires the use of software sensors embedded into your tools though, so there’s an Emacs plugin and an Eclipse plugin. But for what you get… wow. With an entire development team using this system, you could plot out completion of a system in real time.
Will try these out and see what works. Setting up a Hackystat server might be a pain, but if it means I get PSP without the pain, it’ll be worth it.
And as far as logging technical information… if it’s important, I’ll dump it into Ecco’s Inbasket and sort it out later.
Heretics' Forum
Not often I do the MLP, but The Heretics’ Forum is just plain cool. (via Stephen Norrie)
Books on handheld devices
Online books are fun. You can read them on your laptop. But I can download books onto my PDA now, and that changes things completely.
I used my iQue for little things. I would download the New York Times using AvantGo and read it at lunch. Still, I didn’t really get the whole idea until I was playing around and found that my iQue came with the Wizard Of Oz installed. The entire book. Just sitting there. I could go to the coffee shop and read the Wizard of Oz, any time I wanted.
I found that there was a whole little industry around eBooks. Even more startling, out of copyright books were available in PalmReader format. And then it turned out that PalmReader format, for the most part, is just plain text with some TeX-like markup. I can make my own.
And then, I found the libraries. The King County Library System has an eBook library where you can check current texts out. They don’t have a very big selection, but… still. Two hundred books, just waiting to be downloaded.
And so at the moment, I have more than two dozen books worth of reading material, nestled in one corner of an MMC memory card the size of my thumb. I may never read them. But I have them whenever I want, read them whenever I want. I don’t have to put them away or carry them. If I ever feel the need for more, there’s a whole ocean out there to drink from.