Older blog entries for gord (starting at number 7)

25 Sep 2000 (updated 25 Sep 2000 at 17:45 UTC) »

I'm still here, but working busily on Figure. Of interest are the copying garbage collector I implemented in it, and my current plans for an intrusive version control system.

I have the freedom to be intrusive, because Figure is defining an entire runtime environment, so I can control what `cp' means to the system. It's nice, because it avoids all this duplicated inheritance information, much like Aegis fundamentally does, but IMO prettier.

Yesterday I did a presentation on Figure. It went very smoothly, and now there are a few more people interested in working on it.

I, myself, am still trying to get the thing bootstrapped so that I don't need to write it in C any more. So far, I've got the filesystem half-finished, and can read files and directories from the POSIX filesystem into Figure's in-memory nodesystem.

Next comes fine-grained virtual memory, so that individual objects can be moved around without having to read and write entire files.

I'm still alive, and so is Figure.

I'm making a presentation on it in two weeks, which should mean some more interested people, and some more development.

Until then, I'm spending more time on in-town clients, and looking at ways to improve CVS service at gnu.org.

I just fired off an e-mail to RMS, offering Figure to the GNU Project.

If that happens, I'll begin to aggressively advertise and seek out other hackers.

This coincides nicely with me finishing up the language syntax, so development can begin leaving C behind.

While wandering around the TUNES site in search of kindred souls, I came across a link to the Principia Cybernetica Project.

It's always nice to get some confirmation on ideas that have been (literally) driving me crazy for a few years now. Now I feel a whole lot more relaxed, and a whole lot more humble. Big weight gone, now can hack. :)

What I read there and at the TUNES site also confirmed that my basic design for Figure is sound, so there's no excuse for me if I flub the implementation.

Anyway, I uploaded the latest GRUB to Debian yesterday. I'll make the formal alpha release when it hits the mirrors. Okuji's still doing the lion's share of the work, and he'll probably continue to do so until 1.0 is out the door (which shouldn't be very long, judging by his release goals).

I'm pretty sure Figure will be ready for grafting into GRUB shortly after 1.0, and then the ball will be back into my court again. It's good to work with Okuji... I just hope I'm not stressing him too much as I tilt at windmills.

Ahh. Interesting things are developing in this middleware I call Figure.

Its virtual machine has settled down to something that has one register (called context) which is a pointer into a web of nodes. Programming this beast is quite convenient (to me), because you can navigate and manipulate the nodes as if they were a filesystem.

Did I mention there's no stack? Tee-hee.

Now I'm implementing the meta-object protocol so that different namespaces can be linked into the node system, such as the Unix filesystem, the DNS, machine registers, etc.

All in all, it's one step closer to eliminating the need for programming languages.

Lately, I've been working on implementing a scripting language for GRUB, as well as a Guilified version of Bash (which I call Gush). My philosophy of software development has matured somewhat, and I'm trying to factor out common pieces that would be useful for other applications. That's what Figure is.

So far, it's got a really tiny footprint, a typed in-memory name system, cooperative threading, a garbage collector, and a command shell.

Remaining work includes the data translator (used by the garbage collector), and the language syntax (not a programming language, just a wrapper for other programming languages).

I have truly evil plans for this software. I'll announce it all over the place when I get it nicely packaged up for you.

Goodness, gracious... reviewing all those names and certifying people sure takes a long time.

I made a silly mistake and started a new GRUB page. Hopefully, somehow it will get deleted, and I will claim my rightful spot on the real GNU GRUB page.

Other than that, I'm quite taken with the idea of a nice central free software entry point that I can exploit for my own nefarious purposes. Heheh. Other people's diaries will probably be the downfall of all free software productivity, leaving me as the premier hacker.

Or something.

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!