Diaperglu64 is a 64 bit Forth based script interpreter and compiler
I developed in C/C++ and assembler that can host dynamic html pages under Apache.
Source, binaries, and documentation for Mac OS X
Changes are mostly bug fixes to the x86 assembler and associated docs
Source, binaries, and documentation for Mac OS X
Source and binaries for Mac OS X and Win32
Source for Fedora Linux 2 and FreeBSD.
Note: using the .zip archive on Mac OS X, Fedora 2, or FreeBSD will cause permissions problems.
Also: Building on FreeBSD and Linux not tested yet in this version.
If there is a problem, it will likely be in the make file.
Diaperglu is a 32 bit Forth based script interpreter and compiler
I developed in C/C++ and assembler that can host dynamic html pages under both ISAPI and Apache.
What else does Diaperglu and Diaperglu64 do?
- Tries to check for all errors except return stack overflows.
- Has growable buffers.
- Uses an error stack.
- Has string stacks using length strings.
- Can link to shared libraries at run time.
- Tracks memory allocated through Diaperglu.
- Tracks shared libraries opened through Diaperglu.
- Supports hierarchical lists.
- Is tested with test scripts.
- Tries to follow the Draft ANSI Forth Standard V3.3
- Has an X86 32 bit mode assembler
- Supports Mac OS X Mavericks v10.9.5
- New! Diaperglu now has a linker. This linker uses separate link description glu files to do the linking and can:
Note: The raw code files have to be position independent code. Right now you have to use the X86 assembler
if you want to make position independent code with Diaperglu. The reason why is the script commands that
come with Diaperglu like DUP and SWAP currently compile as calls to an address. Constants like numbers and $" also
compile as a call to an address. You could make links for the Diaperglu script functions like DUP to fix
those, but fixing the constants to be position independent is a bit trickier.
- make new buffers
- load, link, and call functions in shared libraries
- load, link, and call functions in raw code files
- load and link to raw data files
- a few other things too
Why use Diaperglu?
- If you want to do more thorough error checking, Diaperglu can help.
- If you want to use memory more efficiently on FreeBSD, Mac OS X, and Linux; Diaperglu may help.
I'm not 100% sure, but I think the mimimum memory allocation size is rather large on these systems.
- If you would like a nicely documented simple to use CGI script engine, Diaperglu
- If you like doing everything yourself so you know exactly what's going on, and don't want to use
a canned solution off the shelf, Diaperglu is for you :-) Someday I hope to have the canned solutions
too, only much better tested than the currently available canned solutions.
- If you would like to use a product who's name reminds everyone of baby poop, Diaperglu is
definitely for you :-)
- Oh yah, one last thing. If the exception model of error handling doesn't work for you, and you would
like to use an advanced return code based system then Diaperglu is definitely for you.
You can get n older version of Diaperglu (v3.1) here:
Alternate Reality utilities.
Dungeon Monster Animations Dec 2, 2008
February 22, 2008. Version 0.5. This is a win32 x86 dynamic linked library.
You need another program like Diaperglu or AutoIT to call it's functions. Sample scripts included. It allows:
- extraction, replacement, and editing of AR City Maps
- extraction and replacement of AR City 120 encoded files
- extraction and replacement of AR City characters in the Resurex4 extraction format
- extraction and replacement of AR Dungeon encoded files
AR City Map Editor February 19, 2008. Version 0.2b for win32 x86 allows
user friendly extraction, replacement, and editing of AR City Maps using a Java GUI.
AR Dungeon File Extractor February 22, 2008. Version 1.0 Java program for all platforms
allows user friendly extraction, and replacement of AR Dungeon game files from disk using a Java GUI.
ARCityViewer v10.0 is an MFC C++ application I designed
that lets you view the Atari 8-bit Alternate Reality
game disk files in the *.xfd format. I designed it using Visual C++ 6.0.
The Atari 8-bit version of Alternate Reality is being disassembled
using the ARDisassembly Project which you can find
You can also find many extracted pictures and game code files.
Can rainbarrels really stop flooding?
There were a few articles in the press in the Fall of 2007 about using rainbarrels to
help some communities deal with flooding caused by decaying storm sewer systems.
Some local governments were even offering rainbarrels 'at cost' to residents. Will
this really work? Can putting a rainbarrel next to everyone's house in a community at
a cost of $55 per rainbarrel payed to the local government and/or their friends in the
rainbarrel making business really fix the flooding problems?
Well I did a little thinking and a little math and came up with the answer no. The only
thing that will happen is the rainbarrel makers will get rich and you will have something
attached to your house that is great for watering your garden in times of drought, and may
be great at giving you better garden water than you can get from the local water supply. If
you live in certain areas of
you will also help your government save a little on sewage treatment costs.
First. Rainbarrels are not designed to be used as a storm surge buffer. They are designed
to capture and hold water for later use. If you want something to capture water to take the
edge off a storm surge, ideally it would be empty when the storm starts. Rainbarrels are
supposed to be as full as possible so you have water when that drought hits. I suppose
you could run outside and empty it when you see a storm coming, but if rainbarrels could
really hold enough water to offset a storm surge, everyone emptying their rainbarrels at
once would be just as bad as the storm.
Second. Most of the rain does not hit your roof, and therefore will not end up in a
rainbarrel attached to a drainspout. The roof area of my parents house is about 1/8 the
area of the yard so only 12.5% of the rain can be captured in rainbarrels in their yard.
87% of the rain hitting their house would still end up in the storm surge.
Third, you would need a rainbarrel on each drainspout on your house. I think for my parent's
house this would be 4, raising the cost of those local government's solution to over $220
Fourth, a rainbarrel only holds 55 to 60 gallons of water. It sounds like a lot, but a
big storm drops a lot more rain than that on your roof. 1 inch of rain landing on my parent's
roof is actually (here comes the math:)
- 1200 sq feet/roof
- x 144 sq inches/sq foot
- x 1 inch of rain
- x 1 gallon/ 231 cubic inches
- = about 748 gallons
You would need about 12 empty rainbarrels just to capture the first inch of rain
landing on the roof.
Instead of spending $660 per house per inch of storm surge rain on government 'at cost' rainbarrels,
only to miss most of the the rain not hitting roofs,
why not put that money into fixing the storm sewer systems, or on some other community based
solution? And if you are going to get a rainbarrel, why not make one yourself for less, or
get a pretty one for watering your yard from one of the vendors listed below for about the same money.
One that will go nicely with your yard.
Oh where oh where does the water go?
When it begins to rain, it begins to flow.
Off the roof, yard and down the street,
It goes downhill until something it does meet.
Lifebmp is a Microsoft Visual C++ application Jim developed under
Visual Studio 6.0 that implements J Horton Conway's
Life Algorithm using an algorithm Jim originally developed for the Amiga platform.
This port allows you to life monochrome Win32 bitmaps which you can create using Mspaint.
It allows you to change the rules and runs about the same speed regardless
of the complexity of the image.
To make a monochrome bitmaps with Mspaint: image menu -> attributes -> select
'black and white'.
Java demo of this algorithm.
Uses Java 6.