Why I hate ant


$ strace -f ant > out.txt 2>&1
$ grep "stat.*java" out.txt | wc -l
32933

WTF? No wonder our build times suck. I still have yet to hear a rationale for the existence of ant that had any more substance than “but make uses tabs!”

Phoneless

My Nokia 6230 apparently bit the dust last week, so if you called me, I didn’t get it. The phone no longer turns on, even with a freshly charged battery and with a new memory card. Darn. I have a crappy $40 unlocked phone on the way in the mail to tide me over until I can get something decent or fix this busted one. Anyone know when an android-capable phone is going to hit the market? Maybe it’s time to sign up with grand central

Robots!


Talking Robot 2
Originally uploaded by bluesterror

Angeline and I went to the KC to see the ballet last night. They are having this celebration of Japan’s “hyperculture,” whatever that means. But one thing it means is there are robots there!

Actually, the robot display is somewhat disappointing. Asimo and the trumpet player thing are there for occasional demonstrations, but they weren’t out on the floor when we were there. So, the only robots we got to see were this little yellow thing that supposedly can talk (only in Japanese, however), a small menagerie of Aibo-like toys, and the creepy “Actroid” DER2, pictured. DER2 does look somewhat realistic, actually, but you wouldn’t mistake it for a real person. You can ask it canned questions, then it will do the speech recognition stuff and say a canned response. Eye-rolling stuff such as, “I’m looking for a guy with a heart of gold and brain circuits to match!”

Still, robots!

Scripted

A month or two ago I was thinking about test-driven development and what a pain it is to write test cases. Or, well, test at all for that matter. Who needs testing when you have users to do that for you?

At work we have this fairly complicated UI that eventually interacts with stateless session beans in the whole wizbang J2EE world. Usually, I spend most of my debugging time tickling the backend rather than fooling with the UI so all tasks of logging in, navigating windows, setting up data and so forth are just overhead.

One previous company I worked at had an excellent solution to automating all of that without winrunner or other similar crap: everything in the GUI created a command string that was then fed to a command parser to perform the task. You could use these command strings exactly as a script to control the app. Had a crash? Just replay the customer’s log to see the segfault.

So I had the rather obvious idea: use an EJB 3 interceptor with XStream to record method calls, their parameters and return values to the server logs. Later, we can execute these logs to replay all the SLSB calls and check the return values. Ta-da, we have some automated tests without even trying. Not full coverage of course, but better than nothing at all.

Another developer got the lucky task of implementing it, but I’ve just started using it today. Very slick. Now we just need a Lisp interpreter and an email client.