Hacks, a.k.a. Sins of the past
Last update: 2005-03-14
IN THE PIPELINE...
An update of these pages is long overdue. Some of this dates back to
the beginning of 2001. This is what should be coming (most recent first):
A C-like language for synchronous parallel programs, mostly inspired by
Timogriffer C, with a nod to Handel-C. The compiler
generates Verilog and some designs have been tested on Xilinx Spartan FPGA,
using Xess' XSA-100 development board and the Xilix ISE WebPack. The
linked file is an old snapshot of the development with many features missing.
- Yet Another tiny and super light-weight http server library, this one
focused on dynamic contents with applets linked into the server.
- A basic implementation of the Gated Single-Assignment form, including
Tiny Functional Language Compiler, translates to native x86 on the fly.
- A small AVR Thermostat (I2C, Serial, relay, etc) thermostat-2313-v0.1.tar.gz).
A tiny haskell subset compiler and bytecode interpreter.
As a tiny proof-of-concept, primes running on a Palm Pilot (alas,
GC is not implemented).
- A much updated PocketSmartGoban (nee LispGoban)
Programming Language Implementation
- The Alvilda Optimizing Compiler
- PocketHaskell, put Haskell in your
- Bits of a Haskell frontend: Haskell Kit?
- Coauthor of the haskell-mode
for Emacs (one of many haskell-modes available).
Written a bunch of Haskell code, including an implementation
of a subset of Haskell for very small machines.
Minor tweaks to Erik Meijers excellent CGI/HTML package. Someone should
polish it, extend it and make it a standard library.
Retro-computing: A BASIC (anno 1974) interpreter. For the benefit of a
This nifty little micro controller has got a page of its own. See my getting started with AVR page.
Apart from the retro-computing project mentioned above, I've been working on restoring my Nascom II and saving what can be saved of documentation, programs, and tricks. All of it so far can be inspected at The Nascom Homepage. I should mention that I have a rival at MIXTEL.
In an effort to bring up DosDoom
under Solaris I produced a patch to version 0.61.
LIRC - Linux Infra Red Controller
Wrote the first SCSI driver (aha1542) for Linux v.0.12. I'm no longer
Made the first working version of PLIP for Linux, based on the work of
Donald Becker. Added various improvements. Had a first version of an
PLIP working, but the result was disappointing, thus dropped. I'm no
The Game of Go
I have written a large amount of Go code over
the years, like an extremely fast and original pattern matcher, an
of Bensons unconditional life algorithm, a small and efficient SGF
and writer (now part of Gnu
Go), efficient implementation of basic Go data structures, and
Goban implementations. Most of this in C, but there is also code in Scheme
and Haskell. Over the time, more
more of this code will find it's way to this page, but a lot is still
in the archives. So far what is available is (in mostly random order):
When I tried to convince General Magic to write a Goban for the MagicLink, I wrote a simple implementation of a goban
C along with a the basis of a UI
Features included: unlimited undo, notion of Ko and
and semi-automatic scoring after both Japanese and Chinese rules.
the notion of Ko is only approximate, but handles %99 of real-world
A much older project (and in IMHO more interesting) is an
of the essential Go structures (groups and liberties), with incremental
update and undo. Somebody completely missed the point and put it up
the name tinygo2
the Go ftp server. I have
version here (called IncrementalGo)
with an added explanation
I gave to the GnuGo group.
Even today, nine years later, I'm reasonable happy with the code,
there are number of things I would change. For one thing I'd change the
position representation of use factors of two, eg. X+Y*32 and do away
the ``direction'' array. Also, the handling of Ko in simple-go.c above
is much more elegant.
- Bensons unconditional life algorithm. Forthcoming (but was
MyGoban (for the
works on the XCopilot emulator, but bugs out on the real PalmPilot. I'd
be much obliged if someone could help me find the bug).
SGFLib, part of MyGoban
and now also part of Gnu
LispGoban 0.1 is a
of MyGoban in Scheme,
using the excellent LispMe
by Fred Bayer. LispGoban is roughly at the same stage as MyGoban, but
and has been developed 100% on the PalmPilot, mostly while waiting for
other things (like riding the bus, etc).
I haven't had time to write much for this my little pocket bulge, but I
did take the memopad example and turn it into a compilable package.
See MyGoban and LispGoban above.
Thorn's priceless hosting services Unlimited.