could not load rainbarrel image could not load rainbarrel image
Last changed: May 15, 2022 Web design by Jim Norris

LifeDylib v1.0 for MacOsX is shared library developed for MacOsX using DiaperGlu v4.4. It has a C function that will life monochrome bitmaps that are a multiple of 64 cells wide.

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 and ISAPI. It also comes with an x86 assembler.

Diaperglu64 v5.3

Source, documentation, and binary for Mac OS X and 64 bit Windows. The .tgz file has the Mac binary, and the .zip file has the Windows binary.

Changes are:

  • Bug fixes
  • Support for Mac OS Monterey

Diaperglu64 v5.2

Source, documentation, and binary for Mac OS X and 64 bit Windows. The .tgz file has the Mac binary, and the .zip file has the Windows binary.

Changes are:

  • New words to support using integers of arbitrary size
  • New assembler words to help making .o files a lot easier
  • New assembler words to make using local variables, calling functions, using parameters, and writing operating system independent code a lot easier
  • New words to make using name spaces easier
  • And bug fixes

Diaperglu64 v5.0

Source, documentation, and binary for Mac OS X and 64 bit Windows. The .tgz file has the Mac binary, and the .zip file has the Windows binary.

Changes are the addition of support for 8bit immediate sign extended to 16, 32, and 64 bits encodings for ADD, and other instructions. (These encodings are not the default when used with register AX, EAX, RAX.) Also, the dg_free free memory function under Win64 was giving an error and may have been leaking memory. This is now fixed. Also added [>ORDER]CONSTANT and a couple other functions which make it easier to implement name spaces using word lists. One possible use of these name spaces is implementing structures.

Diaperglu64 older versions

Older versions are available on github under DiaperGlu/DiaperGlu64

Diaperglu v3.2

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:
    • 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
    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.

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 can help.
  • 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

arutil.dll 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 here. 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 this city, 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 per house.

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.