Older blog entries for sral (starting at number 1)

I'm living in a MFC serializing hell. We're soon going to release the final version of the software I'm working on at work - and I got plently to do before the FAT. One of the tasks assigned to me, is to implement a set of features, in order to enable distributed planning (it's a planning tool)... because of this, I'll have to tear the damn data model apart, pull out the objects I want to export, and stick them into a file, or a "packet" as my project manager likes to call it.
The problem is, the data model resides only in memory, ie. it's not based on a relational database - so I have to sort out all the relationships at export/import time - and that's not an easy task at all. Hopefully, the bugs will be smoked out before the weekend.
While pondering about a solution for a completly different problem, I came up with a possible design for a project I've been thinking about for a long time now;
A system to organize my bookmarks and other resources. The idea is to implement a peer-to-peer-alike system, so that it's possible to share information with friends/co-workers etc.
Since I'm usually use MS Windows as my desktop OS (and Linux in different flavors on my servers), I first want to implement a win32 version of the client - and a Linux (Un*x) version of the server - if I want to implement a server application at all.
The win32 API contains a couple of methods that can be used to monitor changes on a NTFS partition. Because the Internet Explorer Favorites (bookmarks) are file-based, I can use this functionality in an utility application to get a notification when new favorites are added/changed/removed.
Why not use the import/export features that exists in Internet Explorer allready, you might ask. The answer to this is 'no' - simply because it doesn't produce valid (X)HTML or XML (Why the *fsck* can't the guys in Redmond realize that the importExportFavorites() method should export/import XML !?), and that it must be used manually. I want to implement a transparent system, that will enable you to add a new bookmark, and the bookmark will be pushed to 0..n subscribers. If the subscribers isn't logged on to the system, it will store the new bookmarks until the user returns.
And yes, this solution is IE-only. But it could be possible to at least make a Opera bookmark generator (And probably Netscape/Mozilla - I haven't looked in to it - they're not my cup of tea).

Updates will be posted later. Ideas/feature requests etc. can be mailed to me; lars at sral dot org

12 Feb 2003 (updated 13 Feb 2003 at 16:33 UTC) »

I'm following an advanced course at the department of Informatics, University of Oslo, this semester. It's named (nearly) Compiler Construction, and I've allready read most of the curriculum book, Compiler Construction, Principles and Practice by Kenneth C. Louden.

To organize my studying, I thought about setting up a World Wide Wiki. Mostly for myself, but also for other students following the same course. I got plenty of places to put the Wiki, but this one I wanted to run on my old IBM Thinkpad 365X (Running Debian Gnu Linux (testing) @ 133mhz/40mb/1gb hdd), residing under a bureau in the entrance hall of our appartment. While searching for a good Wiki clone, I came across AwkiAwki, a small wiki written entirely in Awk. The really good thing about this is that only consist of a couple of files, that the number of code lines is ~300, and that it's really *fast*. So I installed it - took me about 3 minutes - and entered the url into my web browser. Looking at the generated source, I found out that it didn't generate valid XHTML, so no I've started rewriting it to do so. Looked at the TODO at the project site, and found out that it missed a feature for generating tables, so if I got some time, I'm considering to write a patch for it.

Open source is really great.

Saves my day - every day ;-)

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!