Monday, 24 May 2010

Milestone Joys And Frights

A few weeks ago I finished reading an interesting fantasy book in the Forgotten Realms novels range by Clayton Emery titled 'Star of Cursrah'. I mention it because it's one of the few books which has left a significant impression on me. Note that the following section will probably contain a few spoilers, so skip it if you want to keep it a secret :)

The thing which isn't immediately apparent when you start reading this book is how the two storylines the book starts off with are related. Both have a head-strong girl with two male friends who would not be counted among those her parents would like to see her associate with. Both girls and their companions head off on their own paths, ignoring their wishes and desires of their parents and environment.

The first storyline can be considered to be the present day, with the titles of the first two chapters indicating that the second storyline is situated many thousands of years before the first. The relation between the two storylines doesn't become apparent until the present day girl, together with her friends, discover the ruins of a lost city in the desert. As the story develops it becomes clear that this city was the city of the princess in the second storyline, a city which has been razed to the ground, but which isn't dead yet. In a sense both girls, very much alike in their looks and attitudes, meet there in that city and the princess begs the other girl to prevent the city from awakening and do what she didn't all those years ago.

Is it a completely original story? Of course not, yet it felt to me that the story avoided the easy shortcuts and went for a proper experience, in which the reader has to figure things out much like in a detective story. I'm fairly sure it'd be a pretty awesome movie as well :)

Moving on, I'm fairly sure many of you have already read the news that a German court has upheld a software patent which the German patent office had initially rejected. There's also the news that the MPEG-LA, including Apple, has announced that they're putting a patent pool together for the VP8 codec which Google had previously open-sourced. This would give VP8 the same patent-encumbered status as H.264, pointing out yet once more that where there are software patents there can be no 'free' software and especially no innovation.

Meanwhile I'm making fair progress with the Wild Fox project, with a lot of help from the Mozilla developer. I hope to have GStreamer patched into the Firefox 3.6.3 code by next week. It's still fairly involved but with the pointers I'm getting from the patch maintainer it should be relatively easy going.

A major milestone I'm getting awfully close to is the completion of the first prototype of the Lilium FPGA/ASIC simulator I have been working on part-time for the past few years. Its design has gone through a number of rethinks and redesigns, and the code has seen a few rewrites, but with the work I have put into it the past few days it's finally nearing completion.

As a first prototype it won't be able to do that much. It supports enough instructions to for example simulate a simple AND gate. It is therefore primarily meant to test the foundations of the simulator in a simplified implementation, making debugging easier. The next prototype will feature innovative features such as a VHDL compiler, expanded instruction set and some GUI tools. For now I'll just be happy if the darn thing compiles and runs the way I want it to. Some nice benchmark figures compared to the competition would be a real gift :)

It's somewhat frightening to get this close to what could be a breakthrough in the Lilium project, though. When I initially started it it seemed fairly easy, turned out to be more complicated than anticipated, got nearly abandoned and restarted a few times and basically has become something which is now such a big part of me that I'd loathe for it to turn out to be a waste of time. My mind tells me that I did everything I could, that it is going to work, that I didn't overlook anything. My heart tells me that I missed something crucial in the design which will invalidate all my work and will make me look like a fool. Sometimes my heart really sucks.

Still, if this prototype works as expected and the analysis shows that all bottlenecks are where I expected them and are easy to resolve, it'll mean that I'll basically have a friggin' homerun on my hands as it'll soon turn into a product which hundreds if not more companies will want to pay tens of thousands of Euros a year in license costs for. If it works.

Forget bungee-jumping or skydiving, software development is where the real thrill is at ;)


No comments: