Tuesday, October 11, 2011

Vault-OS Update : 12-Oct-2011

Spent the day converting the last bits of my legacy C++ code into C to keep the entire web server consistent. I resolved to do this last year and only got around to completing it today. I wrote the first complete C linked list library I have authored in about 15 years. Even in the 90's I used to use other people's snippets and rarely wrote my own from scratch but this one had to be so generic and powerful it would serve as the list class for everything on the server. Did the same for the JSON parser and the .INI routines. All compiled as of midnight and seemed to run fine, at least under Windows. I also got the HTML GUI going for configuration of things like mailslots to service the daemons. My goal is to have one tiny .INI file travel with the .EXE and otherwise zero configuration, do everything from inside the server browser once it is running. I tried to run the mailslot code under Desqview/X last weekend but it seems to be broken. I had it working at the start of this year. I have maybe four Powerbasic daemons (I2C, CANBus, LPT Relays and Serial LCD) that originally worked under Desqview, but I am not going to worry about this right now and just concentrate on the Win-32 version. I am concentrating on that goal really hard.

C++ & STL are incredibly productive and convenient but there are always problems cross-platform. It recently occurred to me I might actually be able to compile the existing source code for my Rabbit 2000 board using a Berkeley-compliant sockets library. This would mean that even things like my weather station external to the shelter would be essentially running the same software, albeit over an optical fiber instead of an ethernet cable internally.

Right now, I'd say it's about 90%. By the end of this week, I think I will officially have the first real alpha version of Vault-OS since 1997 when I wrote the prototype in VB-DOS and was using IPX packets. I've never seen it this far advanced.

Seriously, it is the most mindboggingly powerful software I have ever written. Sometimes I just sit here and stare at it, incredulous I could have actually written something this good. Of course, it has taken me several hundred man-hours, refactoring, complete overhauls of the architecture and endless testing and experimentation to get the design all nutted out perfectly. I'm not much for getting the framework correct on the first try but I do respond faster to feedback from testing than anybody you have ever seen. I don't fight the design and I sort of just let it reveal itself to me. I don't know any other way to make it good.


Rowan said...

That's great news Tex. As luck would have it, I got given an old 233Mhz box this week, would love to try out Vault-OS on it.

Anonymous said...

Waiting with bated breath...


Anonymous said...

Please release whatever you have before end of the year.