Readying for launch

To correct my earlier post, the kite festival is actually tomorrow, March 29, not March 28th. Our final count for # of kites between the two of us is 5. I couldn’t find a spar for #6. (Why do I have 6 kites?) Meanwhile, I still need to finish up my 10-kite rollup bag tonight.

On the programming front, I officially posted OMFS for kernel inclusion as I’m tired of having to make minor changes every time someone updates the VFS api. The #ifdef jungle was getting dense. So far the review hasn’t been overwhelmingly negative, so maybe this will encourage me to flesh out the remaining unimplemented features that the FUSE version has.

March 28, 2008 · bob

Diebold: With a Vengance

If there was any doubt (who am I kidding) that election machine manufacturers are pure evil, check out the nastygram Ed Felten got from Sequoia. Incidentally, my home county election officials are batshit insane on this issue. Notice “[printable]” doesn’t mean “voter verifiable.” Just because they can print from it doesn’t mean they do.

March 18, 2008 · bob

Brute force ftw

I write dumb scripts with git! Here’s how to (slowly / automatically) remove any @SuppressWarnings annotations that don’t do anything: for i in `grep -rl @SuppressWarnings src` ; do echo $i cp $i $i.tmp grep -v "@SuppressWarnings" $i.tmp > $i rm $i.tmp git-commit -a -m "Disable warning suppressions for $i" ant compile > build.txt res=`grep "[javac].*error" build.txt || grep "[javac].*warning" build.txt` if [[ ! -z $res ]]; then echo error! git-reset --hard HEAD~1 fi done

March 17, 2008 · bob

cat

I updated my resume today. I’m still not sold on the “Other Experience” section, but on the other hand, I surely learned a lot more doing that stuff than doing the job that pays the bills. It could use a better title at least.

My brother-in-law was visiting this weekend, helping Ange study for an upcoming difficult medicine exam. So I had lots of time to kill. I released a new version of OMFS for kernel 2.6.25, and finished up the man-eating panda kite. (He enjoys human flesh, I assure you.)

And, I welcomed a new tool into the fold: a Steinel temperature controlled heat gun. This is ostensibly for pulling the tile off the wall in my bathroom, but I’m sure I can find additional uses for a hair dryer that hits 1200 degrees. I only got to spend a few minutes testing it on thinset adhesive in my bathroom, but they were an exciting few minutes. I look forward to a day or two of salvaging components from junk PCBs when I next get some free time.

March 16, 2008 · bob

Panda Kite

Panda Kite Applique Originally uploaded by bluesterror

Here’s my first kite since the Pokemon rok. The Smithsonian kite festival is on March 28 this year, and the theme is “China.” I tried, and more or less failed, to make a kite last year in time for the same event. But here we are a year on and I’ve learned a lot since then.

The hanzis supposedly say ‘China’ in simplified Chinese, but really I’m just guessing. I chose a “small” (3 feet by 4 feet) sail for this one because I wanted to be able to get it mostly done in a day, which I did. It still needs hemming and framing but otherwise it’s ready to go.

With a couple of store-bought kites and four homemade ones, my kite bag is going to be rather full this year, so take that as an invitation to head down to the Mall and fly one for me!

March 3, 2008 · bob

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!”

February 28, 2008 · bob

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…

February 18, 2008 · bob

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!

February 17, 2008 · bob

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.

February 7, 2008 · bob