jmturner is currently certified at Journeyer level.

Name: James Turner
Member since: 2000-12-10 23:50:22
Last Login: N/A

FOAF RDF Share This


I'm a 4th year CS student, trapped in the University of Edinburgh. When I'm not distracted by coursework I contribute bits and pieces to the Worldforge project and work on a massively-multiplayer space sim, Constellation. I've been coding for seven years now, and along the way have tried quite a few things; lots of MacOS, some Win32 and DirectX, and more recently OpenGL and Python. My langauge of choice is C++, so I get to feel superior to all the poor Java users. Whatever I do, it's generally been game related; this probably suggests some deep-rooted lack of seriousness in my psyche. As far as employment, well I've written Z80 assembler blitters, debugged horrible piles of legacy MFC code, and most recently spent the summer hacking the monster that is Mozilla. Worship the SeaMonkey, for it will set you free. When I'm not coding, I play some realism mods for shooter games (UrbanTerror right now), watch / read lots of sci-fi and anime, and sometimes practice yoga. I'll be graduating in May 2001 (hopefully), if anyone feels like offering me a job :-)


Recent blog entries by jmturner

Syndication: RSS 2.0

What I've been up to: WorldForge, basically. Maintaining and polishing Eris, and continuing to re-factor, extend and develop Stage.

Eris is getting quite stable, with lots of bugs being fixed, a few things re-designed and various pieces of functionality extended to make them more useful. Most recently 'logout' support and OOG character browsing have been re-worked : both of these were areas I stubbed originally back in June, and hadn't really touched since.

Stage has survived a complete rebuild of the database backend, including a move to dynamically loaded drivers, in addition to hundreds of other clean-ups and changes over the past few months. The core infrastructure (entity creation, persistence and routing of Atlas operations) is working pretty solidly, though we still need unit testing very badly to avoid reggressions.

Last week Demitar got alriddoch's 'equator' editing client interacting with stage, which should pave the way for online, interactive content creation by non-coder types; this is a rather important milestone, I think. I am current working on trees and plants (in rim-bio), movement modes (picking, droping, pushing and pulling) in addition to the usual core clean-ups and fixing. Once the movement work is out the way, mapping is waiting round the corner.

Woo - long time without an update. Excuse - I managed to graduate from university. What's happened in the past few months? Well, I've done very litte on Constellation; considered it in hibernation. I have been doing lots of WorldForge related stuff, however. Most important is the creation of Eris, a client-side session library which makes building a functioning (and Atlas compliant) client about twenty times easier than it was previously. To prove the point, someone has assembled a CrystalSpace based client in about a week. Eris is getting semi-stable now, with a few big tasks and lots of bug fixing ahead.

Recently I hacked up the ODBC driver for STAGE to produce a native MySQL one; this is working pretty well (given the limited usage it currently gets from Echo). In the process of testing the driver I ended up re-writing big chunks of the Mercury authentication code. Oh well.

Once Eris settles down I'm planning to turn my attention to COAL and get it speaking Atlas. Also the relationship between the Semantic Maps paper (ask aloril) and COAL needs to be assesed. Hopefully Coal and Eris (especially with Python wrappers) wil become sufficently reliable and generic that most clients can take advantage of them.

Unrelated to WorldForge, I've been working on a GPS for FlightGear. Initally I'm cloning the venerable KLN-89b, since the docs are available and I can compare with the example in Fly! The basic output is working, but there is not yet any paging or input to the unit - hopefully comming soon.

A worrying sign - when I really need to be working on my final year project, I've been getting lots of work done on Constellation. The admin client is running, browsing the name service and systems, and editing configs. The next step is to write the ghost library and rendering frame, and then plug it into the waiting GtkGLArea.

Building a user-client should take all of 24 hours once those two tasks are done; but I can't really verify the dynamics layer works until the positional data is being output, so much debugging ahead. Reassuringly, the overall architecture does seem to work and make things easy ... perhaps spending five years (re-)designing the codebase was not a waste of time.

I really need to spend some time on the website and infrastructure, probably stealing Tim's PHP system.

A rather late diary update; been busy catching up on coursework, especially my project : I've discovered Fly! 2 is using similar technology which is re-assuring, I think. Also got accomodation sorted out for the GDC so I won't be sleeping on a San Jose sidewalk.

The Constellation framework is progressing very nicely; I have light-weight archive and message layers, which appear to work and do all the right things, and I'm slowly building up the infrastructure to get a server running. Most of a first-pass dynamics model is incorporated too; no collision detection yet, and before it will work I've got to stub out the Vehicle::Thruster component to get control from the Nav-Daemon to the physical entity.

Finally I've been moving networking code over from the the previous code base, and extending it to communicate via messages, using the archive layer to encode/decode. Not tested yet, but looks good and the code is compact. So overall, pretty reasonable progress

Christmas holidays are here! And fortunatley I managed to get a large amount of shopping done on Monday, leaving lots of time for coding. XClient now works pretty well in Linux; interleaved arrays + glDrawElements is working, and all the core stuff seems to be behaving. Furthermore I found the courage to autoconf/make the whole thing, there are several hacks unitl I understand autoconf properly but it does build. And most importantly, the X11 native calls have been replaced with SDL, so Mac or Be ports are now possible.

As regards Constellation, the design and basic framework coding progresses; I really need a working persistence layer so I'm going to hack one up over the next few days ... probably not a perfect solution but a reasonable one. I love the CORBA Name service; if the Notififcation service works as well I will be delighted. So I think I'm on target to have multiple client connecting by January.

2 older entries...


jmturner certified others as follows:

  • jmturner certified alriddoch as Journeyer
  • jmturner certified Malkin as Journeyer
  • jmturner certified pato as Apprentice
  • jmturner certified Grimicus as Journeyer
  • jmturner certified novalis as Journeyer
  • jmturner certified Shaman as Apprentice

Others have certified jmturner as follows:

  • sdt certified jmturner as Journeyer
  • lerdsuwa certified jmturner as Journeyer
  • dneighbors certified jmturner as Journeyer
  • alriddoch certified jmturner as Journeyer

[ Certification disabled because you're not logged in. ]

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!

Share this page