Skip to main content


User login



Hosted by Sargasso Networks
World of Goo Fans!

How to make Ctrl-Tab switch tabs in a JTabbedPane

July 3, 2011 by davidc

When using tabbed panes, the user expects Ctrl-TAB to move to the next tab, and Ctrl-Shift-TAB to move to the previous tab. This is not the default behaviour in Java, which uses Ctrl-TAB to move to the next focusable component. This allows you to escape from a text box, where pressing TAB alone would insert a tab character into the box, but it is not what most users would expect to happen in most instances.

Experimental Gameplay: Wise Up!

February 27, 2011 by davidc

The Challenge

This game was written in seven days for the Experimental Gameplay Project February challenge.

The challenge was to design a game using only ASCII characters (letters, numbers, punctuation). I've held true to the spirit of this theme, and although I've spruced it up with some background graphics and a user interface, this doesn't affect the fundamental gameplay which is pure text.


February 17, 2011 by davidc

This article describes the licenses I usually use for my work. This is a guide to those licenses and their terms, and where I generally use them; however, you must refer to the specific work to determine the license that it is available under.

Code samples

Code samples and snippets are placed in the public domain using the Creative Commons CC0 license:

Experimental Gameplay: Hued Awakening (Inanimate)

February 1, 2011 by davidc

screenshot This is my unfinished prototype for the Experimental Gameplay Project January 2011 theme of "Inanimate". Working title: "Hued awakening".

I was in two minds as to whether to post it: unfortunately I've only had time this month to work on it 4 of the allowed 7 days (and much of that was spent in setup since I haven't done any serious graphical programming before). Some of the concept is done but no real gameplay. So come back here after trying it out for the story about how it's MEANT to work.

Diff XML documents to an XSL stylesheet

December 21, 2010 by davidc

This is an XML diff tool that takes two XML documents and produces an XSL stylesheet describing the differences between them. Transforming the first document with the stylesheet will produce the second document again. This is useful for diffing/patching XML files.

I got drunk and fell in love (a drinking game)

December 10, 2010 by davidc

In my game design workshop this week, the task was to come up with and iteratively redesign and prototype a game based on two fundamental concepts provided by another team: an action, and a feeling.

I gave out "flying" and "nausea", and that group had fun making a terribly sickening game where one player is an airplane, spins around rapidly five times, and tries to "land" at an airport - another player - by touching their hand. Dizziness and nausea does indeed rapidly ensue.

Another Quiet Night in England

September 8, 2010 by davidc

Oysterband are one of my favourite bands, and I've had the privilege of hearing them live many times. My second-favourite song of theirs is "Another Quiet Night in England", but nothing I find through a Google search gives me the correct lyrics - at least for the version I have. Strange, but here's the real lyrics of Oysterband's "Another Quiet Night in England":

Just another quiet night in England
And far away, the dogs are barking
Just another quiet night in England
Rubbish burns in an empty mall
And money rides while people crawl
And another quiet night goes by

How to SSH to an HP MSA1510i

August 22, 2010 by davidc


david@netman1:~$ ssh -l admin's password:
shell request failed on channel 0

Doctor Who Series 5 and Blockbusters sheet music

June 28, 2010 by davidc

I was trying to the transcribe the epic music from Doctor Who series 5, but it's been a very long time since I've had any musical training. So I figured I'll put it here in case someone else can do a better job. dr_series_5preview is the source MP3 I was working off - the ID3 tag claims the song is named "Every Star, Every Planet". There's also an attempt at "Quiz Wizard", the old Blockbusters theme music.

Reading the Windows Registry from Java without JNI

June 19, 2009 by davidc

Here is a class that allows you to read the Windows Registry without having to install any JNI library. It is implemented purely using introspection and will therefore compile and run on any platform. It would be possible to extend this to also write to the registry, but I didn't need this functionality. I hesistate to call this "pure Java" as it does make native calls, but it does avoid the need for external dependencies to do so.