Hacks

I've been hacking on various things ever since I got my first VIC-20 when I was twelve years or something like that. A lot of it has been lost (and you probably wouldn't be interested anyway), but I'll try to list some of the more interesting things, in roughly reverse cronological order. Most of it is distributed under the GNU General Public License.

Lego mindstorms tools
I've started writing an assembler and disassembler for the virtual machine used in the Lego Mindstorm "NXT"-device. More information.
Fast integer greatest common divisor
I've written a paper on subquadratic gcd algorithms. The code is intended to be used together with GMP-4.1.2, and it will probably be included in GMP-5.
NSokoban
A Sokoban game, primarily for the palm pilot. You can check out the source code with
  cvs -d :pserver:anonymous@cvs.lysator.liu.se:/cvsroot/nsokoban login
  [ empty password ]
  cvs -d :pserver:anonymous@cvs.lysator.liu.se:/cvsroot/nsokoban co sokoban
See the README file for build instructions.
Nettle
A low-level cryptographic library, that has grown out of the Pike crypto toolkit and LSH. The design goals are simplicity and consistence, and to not make any gracious assumptions on how it is used. In particular, it doesn't do any i/o or memory allocation. A manual is included. Included with LSH, and available at the same places. There's also a minimal home page.
Scheme
I like scheme, and occasionally I hack on an implementation of my own. It's inspired by oak-lisp (an object oriented scheme) and Appel's book Compiling with Continuations (about the implementation of Standard ML of new Jersey). It's far from usable, but you're welcome to browse the source.
LSH
A GPL:ed implementation of the secure shell protocols. See its homepage for more information. Source tarballs are available by http and ftp. You can also browse the cvs source code.
NCash
For my master of science thesis, I implemented an offline digital cash system invented by Stefan Brands. I haven't done anything about it since I got my MSc degree, but the information about it is still available.
SSL
While working for Idonex (now Roxen Internet Software), I wrote the SSL implementation used in the Roxen web server.
Pike cryptography toolkit
I and Henrik Grubbström wrote the cryptographic toolkit for Pike, that Roxen's SSL implementaiton is built upon.
Python GMP module
When Python-1.3 was the latest version of python, I rewrote its GMP module (an interface to the GNU Multiprecision arithmetic library). Later, Andrew Kuchling adopted the package and it was integrated into the Official Python distribution.
Exceptions for C
When working with C and Objective-C, I wrote an exceptions implementation (basically catch, throw, and unwind-protect) that could be used from both languages. I didn't ever use it for anything, though.
Computing the distance to the Mandelbrot set
There are a few tricks that can be used when plotting the Mandelbrot set. One is estimating the distance from do the border from a point inside or outside of the set. I have a C implementation of this, and an article (in swedish) with an explanation and references.
Vector graphics
Like almost everybody else, I had a long period when I was fascinated with 3D graphics. A wrote a few simple, portable and reasonably well-commented functions for basic vector graphics. There's also a testprogram that runs on X and on the Amiga. Ture Pålsson helped me with the X parts back then.