kafsemo.org

“Genuinely shocking or tasteless, campy fun?”

Hullo!

More proprietary platform desktop hacking

Monday, 3 December, 2007 (#)

While Java’s still my first choice for a mainstream systems language with great server support, .NET’s Windows desktop integration is a refreshing change. It’s full of proprietary APIs and historic hacks and sometimes those aren’t deal-breakers. Sure, there’s some real language development going on over there as well, but let’s not pretend I need LINQ and lambda expressions to write a dumb screen saver.

Anyway, the photos in our staff directory are available internally and I wanted a quick hack to get them fading in and out at random. Not quite as quick as I’d hoped, given the need to re-learn C#’s minor changes from Java and the slightly baroque launch interface for screen savers. Well, it’s all packaged up now in case that seems like something you might like.

(Music: Kristin Hersh, “Slippershell”)

Futoshiki solver applet

Thursday, 8 November, 2007 (#)

Sun are making another push towards a better Java runtime on the desktop. “Better”, in this case, meaning taking care of a few more ways that applets can turn users away.

I’m really keen to see this — the pincer movement of a quality desktop experience and opening the reference implementation can only help to deliver. Sun’s ambivalence over trademarks and branding notwithstanding, there’s still a lot of untapped potential.

The Guardian’s contribution to the genre of obsessive grid-filling games (of Sudoku, “As soon as I saw the grid with the empty squares, I felt very tempted to fill them in”) is Futoshiki. Being unable to do one week’s puzzle was enough to tip me over into writing a Futoshiki solver; it’s an applet, somewhat justifying the first paragraphs.

So here’s the test — how annoying is it to deploy? For Windows, I’ve got a JVM installed anyway. The Distributor License for Java makes a huge difference under Debian. Still very much non-free but certainly far more practical than before.

I’m not a huge fan of the suggested replacement for the ‘applet’ element. There may be a simpler form without all the browser sniffing Javascript if I’m prepared to give up on IE, but if I can bump my HTML down to ‘transitional’ and keep applet then that’s a whole lot simpler.

The actual implementation is an exercise in evolving GUI code, keeping unit tests passing without being too concerned with upfront design, and some profiled tuning of the solution algorithm. I’m still impressed by the combination of generics and collections, and still trying to figure out if wildcards aid expressivity or just overcomplicate the type system.

(Music: Bad Religion, “Submission Complete”)

999.7 miles

Thursday, 20 September, 2007 (#)

It’s been a while since my last cycling holiday and it seemed like time to get out there again, for two weeks cycling across France, Dunkerque to Marseilles. Fantastic weather after the first couple of days and the expected blend of leisurely touring and late-night rushes to reach places in time.

My French is pretty much GCSE-level, so it’s always satisying to get by without people giving up and moving over to English. Yes, I can buy cakes, book hotel rooms and ask people to write down directions.

I’ve got my GPS tracks, too, which I’d rather redact the loops and backtracking from before publishing. Hey, I got there in the end!

(The mileage is true — 999.7 miles, door to door. I could have gone round the block to push it over a thousand, but that would be cheating. Next time!)

(Music: PJ Harvey, “Is This Desire?”)
Joseph Walton <joe@kafsemo.org>