VAULT DWELLERS SERVED

Saturday, January 28, 2012

Vault-OS : Progress Report

UPDATE : I had a huge breakthrough last night. Worked for about five hours on porting it over to .NET 2.0 to run under Mono. Tested it on a VM running Windows 98 Lite and it ran like a top. There is one piece of managed code that will have to be adapted for Linux/FreeBSD otherwise it is a totally vanilla C# program that even runs it's own server. Modest estimate = [12 Megs W98/2000/XP OS] + [Mono 14 Megs] = Roughly 30 Megabytes installed on hard drive with a memory requirement of at least 16 Megabytes of RAM. This will fit into the majority of 10 year old SBCs, Mini-ITX and PC/104 x86 compatibles with room to spare. This should be installable as a simple unzip of a packed file to disk or a "Setup.msi" program where Win 3.1 Installer is available. I don't know what it would pack up to but it would fit on almost any flash card/USB/Boot CD. Oh and my productivity working in .NET just went up by about 10,000%.

I have been trying to fix a bug with the submit on the ANSI C version. It is driving me crazy. It has something to do with certain configurations of submit text in the HTTP request. I wanted so badly to get a version of Vault-OS out by the end of January but it isn't going to happen. Everything else in the program is working pretty good but this is something really tricky that may be a problem with the socket buffers. I have the most beautiful Javascript/AJAX realtime controllers running, they are not connected to any particular source.

What is really frustrating is these routines worked perfectly a year ago in the C# .NET server I had running back then. If I took my pages I've built up and changed the substitution file tokens a little I could port them back into the .NET version pretty easily and there were no problems with that code at all. I've done a lot of work on the pages and menuing system that could be moved over to the C# server. The VS 2005 environment is a lot more productive than OpenWatcom because of intellisense, wizards and better debug/trace facilities.

Would VOS be interesting if it had the following requirements? :

1. Would have to run on Windows 98SE at a minimum with .NET 2.0 Runtime installed.
2. Would need at least 32 MB of RAM and at least a gig of hard drive space.

I can think of a couple drawbacks :

1. It's Windows specific. Unless I can get it to run on Mono which is a possibility.
2. It is more demanding hardware requirements.

One attractive part of developing in C# was the ease of embedding the web pages in the resource. I was just adding them to the project and compiling them in. I spend a lot of time mucking about with my converters to minify HTML, .JS and .CSS and convert them to .C/.H include files. In Visual Studio 2005 this whole embedded resources thing is a lot easier.

This program might not fit on a floppy but if I got it running with Mono I might be able to fit the installer into something about 8 MBs or so. Would that be useful to people? This would be an instant-on, zero configuration program just like the C version, the installer would be a little bigger is all.

I burn Windows 98SE onto boot disks with as little as 6 megs for the entire operating system, with networking and other required .DLLs to support the .NET 2.0 library. That is competitive with the latest Linux environments in size if not in reliability. I could muck about with Mono for a while after my first release to see if I could make it run under Linux, React-OS and FreeBSD.

The daemons I am using for debugging would not change. They use the PAWN scripting language to run services to read a barcoder device and a CANBUS node plugged into the USB port. Those would not alter at all. I have gotten those working solidly with a little script library to read/write messages to the VOS server that can be adapted for any hardware you want to attach.

Any feedback appreciated as long as it is constructive.

10 comments:

Anonymous said...

Text,
If you're right, and time is running short, then you need to just get SOMETHING out. You can fiddle faddle about with the nice to haves later, but if you can get a version that runs going now, then please do it.

As Sergy Gorshkov said "Perfect is the enemy of good enough"

-L

Anonymous said...

Thats the way I feel.

I dont care if it doesnt run in dos or from a floppy as long as it runs on a minimal windows. Keep it small is a good idea if you can run it on mono all the better. Tex, just get SOMETHING out.

Anonymous said...

Ubuntu Linux over Windows.

Texas Arcane said...

If it runs on mono it will run on Linux.

Anonymous said...

Getting it to boot off of a USB stick or an SD card would be fine.

Anonymous said...

Tex, I'm no techie, and I'm a bit surprised:

Is putting Vault OS on Windows self-defeating?

Isn't Windows a bloated, unstable, secretive platform of monitors, back doors, viruses, and spyware?

Chad Z from Wisconsin said...

I am not as computer literate as I should be. I would be happy to simply have a computer that has a word processing program for making notes, a pdf reading program for my digital archives (+700 CDROMs/DVDROMs), a way to watch dvd movies, and something to measure air quality/humidity.

Any recommendations?

Alkaline said...

To be honest I don't really think it matters if it is using .net or ANSI C. Sure it would be more portable in ANSI C but you have spent so long working on the conversion I think it is defeating the purpose.

Post whatever you will want something that is easy to maintain, update and add new sensors etc with minimal information available. You will want something easy and that you know well to be able to work successfully.

Machines that have enough specs to run windows are a dim a dozen at the moment so cost is not going to be too big an issue.

I think the easier and the quicker you get it out the better. More time for it to be tested and tuned. For the benefit of everyone.

Texas Arcane said...

See post ...

UPDATE : I had a huge breakthrough last night. Worked for about five hours on porting it over to .NET 2.0 to run under Mono. Tested it on a VM running Windows 98 Lite and it ran like a top. There is one piece of managed code that will have to be adapted for Linux/FreeBSD otherwise it is a totally vanilla C# program that even runs it's own server. Modest estimate = [12 Megs W98/2000/XP OS] + [Mono 14 Megs] = Roughly 30 Megabytes installed on hard drive with a memory requirement of at least 16 Megabytes of RAM. This will fit into the majority of 10 year old SBCs, Mini-ITX and PC/104 x86 compatibles with room to spare. This should be installable as a simple unzip of a packed file to disk or a "Setup.msi" program where Win 3.1 Installer is available. I don't know what it would pack up to but it would fit on almost any flash card/USB/Boot CD. Oh and my productivity working in .NET just went up by about 10,000%.

KWJ said...

Much prefer these kind of devices.
http://www.industrialethernet.com/ipmonitoring.html
Had an uptime of 768 days with one of these temperature/humidity sensors. They're as reliable as your power-source so in combination with UPS you're set.

www.000webhost.com