« Git Server | Home | Beyond Fear »

January 27, 2009

A Proper Entry

Right then.  Time for a proper post, I guess.

Welcome to the WizBlog.  Here you can follow my adventures as I eventually manage to leave Cambridge after my PhD and move on to new and exciting things.  Also: read about the progress of my work on 3D acceleration for the SMedia Glamo chip used in the Openmoko Neo FreeRunner phone, follow the development of Thrust3D, a silly game programming project I started last Easter, and learn about OpenMooCow, my even sillier moobox simulator for accelerometer-enabled devices.  And much more besides...

Why did I decide to use a blog?   Well, I absolutely hate doing web design.  Abnormal for your average geek, perhaps, but over a period of a few years I slowly developed a dislike of doing almost all user-interface things: faffing around with getting everything the right size, making it fit right, making sure the right things get enabled or disabled at the appropriate times.  And at the end of all that, you find you have to completely re-design it to play down to MSIE (fortunately this seems to be getting a lot better in many ways).  So, the blog lets me concentrate on the content while still having it neatly cross-referenced and (hopefully!) easy to find.

I'll try to put things in a bit of context.

Regarding my work and its potential adventures:  I'm currently a PhD student in the Electron Microscopy Group of the Department of Materials Science and Metallurgy in the University of Cambridge.  Right now, I'm approaching the end of writing up my thesis and searching for possible jobs.  In a couple of weeks, I'll be visiting this place to talk about possible post-doc options.  The work they do there, and the places it could lead in the future, are pretty incredible.  It'll be fantastic even just to visit, and to work there would be simply amazing.

In my spare time, I'm an open-source type of programming geek.  Amongst other things, I volunteered to help with 3D acceleration for the Glamo chip a few months ago.  At the time, it looked like there were lots of very keen people, but it appears to be just me and a couple of other people.  Perhaps people were scared off by the need to sign an NDA.  I know many people in the open-source world have objections to this on principle, but no-one vocalised any such thing at the time.  Maybe they were put off by the difficulty of the task.  It certainly seems true that writing graphics drivers is one of the most difficult things anyone can volunteer to do in this field: You have to handle kernel code, memory management, all the subtleties of the hardware and hook it all into a complicated program which there is little internal documentation about.  For the Linux kernel there are many books which gently teach you about the internals of the code and how to go about working on it, but for X.org there appears to be almost nothing.  Fortunately, the inhabitants of #dri-devel on Freenode appear to be very friendly and willing to put up with our basic questions at this early stage.

Well, I was looking for a bit of a challenge.

Not so long ago I wrote OpenMooCow, mostly for a bit of a laugh.  It's a little program which plays a "moo" audio sample in response to activity from accelerometers, trying to be like one of the moobox things you might have played with.  It became quite popular, and I even had patches sent in to make it work with an IBM ThinkPad's accelerometers as well as the FreeRunner for which it was originally concieved.  I haven't done much with it for a little while because, well, there's only so far you can go with a picture of a cartoon cow and four seconds of audio.

Finally, I'm going to mention Thrust3D.  This is a game I started because I wanted to play with the more advanced capabilities of OpenGL, somewhat bored with the limited use I had for it during my PhD work (visualising dots and lines in 3D) while being fascinated by what was possible. In Thrust3D (which perhaps needs a better name), you pilot a little decontamination vehicle around a post-apocalyptic nuclear power station which has undergone a meltdown.  If you played a game called "Lander" on RISC OS many years ago, you'll recognise this idea (not the demo version of Zarch which came with the computer, I'm talking about a 2D game quite similar to Jet Set Willy).  I wanted to recreate a feeling of exploration around a seemingly endless world, full of things to spark the imagination.

Now, the basic game engine is almost completely functional.  The problem is, I've realised I can't draw.  Well, I always knew I couldn't, but I can't draw in 3D either.  So, if you can, and want to contribute to this, I'm waiting to hear from you...

So, there it is.  Come for the geekery, stay for the science, and try to tolerate my occasional whinging or waffling on other subjects.  Let's see where it goes... 

Leave a comment