Older blog entries for NickElm (starting at number 5)

Seems like my summer of fun is over for this time, Friday was my last day at Medialab (and we, of course, went out with a bang by buying the staff lots and lots of pastries and cookies). Feels a little melancholic, especially seeing that Monday is my first day at school. However, being a fourth-year student, I anticipate a fun and relaxing year before I put my teeth into my masters. Which will, incidentally, probably be carried out at Chalmers Medialab and most probably focus on 3DUIs.

What else is new? Refactoring my homepage (and putting it somewhere more stable than poor artoo), working on various documents for 3Dwm (3Dwm will be featured at Scandinavian IT-World on October 25th and we need to do some serious work before that), wrapping up the GLUTConsole (which didn't quite work, unfortunately, due to GLUT not being thread- nor instance-safe) for Berlin, and now setting my sights on the fabled CAVEConsole. Wish me luck! :)

This must be, what, the fifth or sixth time I write a scene graph for a 3D application, and this time I do it for 3Dwm (and I am determined to get it right). So now I find myself writing icky 3D transformations all over again (doing everything by hand except for the actual matrix-vector multiplications, that's taken care of by 3D-card T & L processors). I'm actually noticing how I am influenced differently when writing scene graphs, my last one was heavily inspired by SGI Performer, while this current one is much more similar to Java3D and Berlin. Well, it'll all be over very soon and I'll be able to concentrate on more interesting things, like defining the node hierarchy and starting work on real 3D widgets.

One the Eastern front (the one that faces towards Berlin *grin*), we have some reassuring news. I feel like I have a rather good grasp at Berlin, now, and I am starting to see things where I want to do work besides "mere" 3DUI stuff. Anyway, 3DUIs are my main priority, and I'm currently writing the CAVEConsole and CAVEDrawable implementations that will enable us to run Berlin in the 3D-CUBE. Another member of Berlin's development team is visiting us here in Göteborg this weekend, I'd like to show him the system running in our CUBE. We'll see...

Things are starting to heat up here a bit, I'm currently keeping lots of things in the air. 3Dwm is coming along nicely, I'm adapting it to use the newly implemented Portable Object Adapter (POA) in omniORB 3.0, while at the same time trying to keep up with the rapid Berlin development and defining my 3DUI support stuff for that. Now, stefan is adding a low-level Console layer as insulation that will allow us to use just about any rendering lib (like GGI, SDL, etc) for Berlin. My task in all of this will be to build a cavelib implementation of the Console to enable Berlin to run in the CUBE and thus garner a few drools and stuff. :) Way cool!

I'll be sure to post any advancements in this area here... So if you're interested in gratifying eye-candy, then stay posted...

The days are going by quickly here, I've put the finishing touches on the 3Dwm build system and put up the system on the Chalmers Medialab Open Source Software (CMOSS) server CVS (phew, lots of links there). I've also started work on the 3Dwm client programmer's manual using DocBook (had some hassles to get jade working) in the noble spirit of defining the client interface before the implementation; let's see how far I get!

Oh, and I became an ACM member yesterday, just couldn't stand reading about all those nice articles in their Digital Library and not being able to read the whole text. It paid off immediately, I downloaded a bunch of PDFs from the proceedings of ACM conferences like CHI and SIGGRAPH. Now I can get my references in order when writing the 3Dwm paper. Highly recommended!

Enough with the meta-work already, I'm getting my hands dirty with some real coding now!

Just got back from a two-week vacation up in the glorious Swedish mountains, ahh, that's what I call fresh air. Now I'm back in the saddle and grabbing the reins of 3Dwm and, to a smaller extent, Berlin. Currently putting together an autoconf-based build system for the latter, and will get back to hacking the actual source soon.

What else is worth mentioning? Hmm, I'm being awfully influenced by the Berlin design and system architecture, so 3Dwm is probably showing more and more similarities to it. Which is okay since the two have different purposes and goals; I view 3Dwm as more of a short-term development effort for use in our Immersive Space Lab, and Berlin as a long-term effort for more general use.

Anyways, back to coding, CORBA beckons!

Well, here we are, my first Advogato diary entry. Didn't have a good place to put my rambling thoughts before, so this might as well become it.

My webserver Artoo is a little bit under the weather due to cracker attempts, so my homepage is currently unavailable. Too bad, I think I'm going to put it up on a server someplace else where they have an admin that has the time to apply the latest patches and fix any security holes and so on.

I'm employed at Chalmers Medialab as a free software programmer during the summer--great. Currently toying with the following:

  • Redesigning and rewriting 3Dwm from scratch. The new version is intended to be "full-strength" and built from the ground up to be robust and flexible.

  • Starting work on the 3D parts of the Berlin project, currently mainly trying to do the low-level stuff and looking at possible architectural changes that may be needed.

  • Co-developing a PHP-based on-line dictonary web application with support for on-line contribution.

Enough, it's time to go back to grokking the Berlin source...

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!