New Site

After my old WordPress setup broke one time too many I finally decided to convert the site to something nicer to work with. I ended up going with Pelican, which is a static site generator using Python.

It seems quite basic at first, though I'm sure there are features ...

more ...

User-Transparent LZ77 Steganography

Recently, demand for high-speed compression has lead to new algorithms based on pure Lempel-Ziv compression without entropy coding. Examples are Snappy and LZ4, both using byte based LZ77 algorithms. This leaves significant redundancy on the table that can be used for steganography while remaining completely transparent to the users of ...

more ...

Fast Approximate Move-to-Front

Move-to-front is an algorithm for coding symbols that have been seen recently with a smaller number. It’s used as a part of some data compression algorithms, e.g. after a Burrows-Wheeler transform.

I tried to approximate it in a faster way and found an algorithm that I haven’t ...

more ...

Simple Data Description Language

I threw together a parser for a simple data description language in BlitzMax.  The syntax is something like that in Python or Lua, but not quite. Whitespace is always insignificant and there are no fatal syntax errors: the whole file is always parsed, and non-conforming markup is ignored (silently by ...

more ...

Python Raytracer in 50 Lines of Code

I've come to like the expressiveness of the Python language, though I dislike some of the other features. Here's a 50 line raytracer that renders scenes of colored spheres to a PNG file:

import math
from PIL import Image

def sub(v1, v2): return [x-y for x ...
more ...