

If by ‘hacks’ you understand unauthorised and/or illegal activities, go away. I mean it. We doan take kindly to no folks like yous here.
This is a table of various hacks and projects of mine. Some have been released, others haven't. I'm usually in the process of (re-)releasing old projects, and digging up old ones to add to this page.
| Name | Language | Platform | State |
|---|---|---|---|
| AMANDA 8mm tape label (hack) | Postscript | Released (download) | |
| AMANDA DLT tape label (hack) | Postscript | Released (download) | |
| AMANDA-watcher (web application) | PHP | Pre-alpha | |
| BEFH (Application) | C | PalmOS | Released (download) |
| DuoTone (GIMP script) | Scheme (Script-Fu) | Any | Released (download) |
| EvRouter (utility) | C | Linux 2.4+ (GNU libc) | Released (download) |
| Font Editor (application) | C | Oric | To be re-released |
| Full Frame (GIMP script) | Scheme (Script-Fu) | Any | Released (download) |
| Fungus, the Befunge Machine (hack) | C, Perl | POSIX | Not released |
| Garmintools (small project) | C, C++, Perl | POSIX | Released (download) |
| Greek Support (fonts & keymaps) | Linux | Released (download) | |
| Kareltima III (small project) | C, MySQL | POSIX & SDL, DOS | Released (download) |
| LMCtl (utility) | C | POSIX (GNU libc) | Released (download) |
| Megistos BBS (large project) | C | Linux/i386 | Released (download) |
| My .sig hack (sig hack) | Befunge | Available | |
| Oric C Compiler (group project) | C, 6502 Assembly | Oric | Historical |
| PDFhelp & friends (typesetting project) | LATEX & Makefile | To be released | |
| Photo Frame (GIMP script) | Scheme (Script-Fu) | Any | Released (download) |
| RSAR (research project) | C | POSIX | Released (download) |
| Resist! (Application) | C | PalmOS | Released (download) |
| Slime (game) | C, 6502 Assembly | Oric | To be re-released |
| Solo (Application) | C | PalmOS | Released (download) |
| Soup! (silly hack) | Befunge | Available | |
| TTYConv (utility) | C | POSIX (GNU libc) | Released (download) |
| The Bedroomlan Jukebox (web application) | PHP, MySQL | Not released | |
| The Bedroomlan Jukebox Plugin (XMMS plugin) | C, MySQL | POSIX | Ready for release |
| Typhoon DBMS (Debianisation/modernisation) | C | Linux, OS/2 | Released (download) |
| URLshot (small utility) | Perl | POSIX & X11 | Released (download) |
| VCSAstat (utility) | C | POSIX | To be released |
| bedroomlan-colourlogs (utility) | Perl | Mature, not released | |
| htpc-tvmenu (Freevo executable skin) | Python | POSIX, Win32 | Pre-alpha |
| nice-article-new (typesetting style) | LATEX | To be released | |
| nice-book-new (typesetting style) | LATEX | To be released |
There are 33 projects listed, 18 (55%) of which have been released.
Most of the software described below (all that's fit to release, anyway) is available here.
All distribution files are digitally signed. You can get my public key from the usual keyservers, or you can download it from my home page.
I'm also maintaining an unofficial Debian repository. This is mainly for my sake (I run several Debian-based machines), but you can use it too. To access the repository, add the following to your /etc/apt/sources.list file:
deb http://www.bedroomlan.org/~alexios/files/debian/ ./ deb-src http://www.bedroomlan.org/~alexios/files/debian/ ./You will then be able to download binaries and sources using APT.
I have tens of little PERL scripts here and there, but most are what PERL scripts usually are: tiny tools to do one task right. Not really fit for release. The ones that are fit for release are here.
URLshot reads in a list of URLs, and generates consistent-looking thumbnail screenshots of each of them. It's used to generate thumbnails for the links pages on The Machine Room.
If programming can be seen as poetry, then
Megistos is a huge
epic. Or maybe a soap opera.
It's a multi-user, user-friendly BBS with good internationalisation features and extensibility. This is a good old text-based BBS. None of yer fancy web wossnames. Although it is being adapted to work as a web-based system as well (this was the aim from the start).
Megistos is far too huge to describe in any detail here. Please visit the Megistos homepage for more information and the obligatory screenshots.
A little programme I use as an example is:
1+:.:25*::,*-!#@_#. It prints out the integers from 1 to
100.
Fungus: a prototype hardware specification of a Funge machine, a microcodable CPU capable of interpreting funges at the (macrocode) machine code level. Why? Well, so far we've had Lisp machines and Fortran machines and these days, right about everything is a C machine. I want a funge machine (don't worry, the doctors tell me I harmless). This is an incomplete paper describing the architecture. It's perverted, it's baroque, it's vector-based, it's 18 bits wide and it's available in PDF (166 kbytes) and compressed Postscript (106 kbytes). If you think this is extreme, remember they've been thinking about Java machines for the past few years. Har har har. I have a Sourceforge project for this, but it's really only ‘project-squatting’. Haven't put anything there.
For something (slightly) less insane, a Befunge programme I'm particularly happy with is in my signature.
Soup! isn't the smallest quine in
Befunge. But then, it's not really a quine: it just generates ASCII art copies
of itself. Massive obfuscation alert.
An 8mm tape label for the AMANDA network backup system. This
is heavily based on the EXB-8500.ps template that came with
Amanda, but it looks real purrty and has some other properties too.
This is an ongoing project (read: it dragged on for
ages and is still not complete in any sense of the word). It started off as a
Perl and CGI project. Now it's in PHP which works much better. It comes with an XMMS plugin on a remote computer to play songs and the web
interface is functional
enough for people to queue music and listen to it.
The jukebox back-end is multi-user and allows people to queue up songs by artist, disc, title or genre. There's a rating system based on user feedback and how many times a song has been played. The format of the files doesn't really matter, as long as XMMS can play them (the back-end is generic enough to co-exist with different players, such as streamers for MP3 or Ogg Vorbis).
The XMMS front-end plugin is generalised: it can dequeue songs off any MySQL database server and play them. It's kind enough to notify the server of the player's current status (playing, paused, volume level, song being played, et cetera), and even accepts remote commands queued by the back-end.
As of early November 2001, I'm in the process of releasing the XMMS plugin
(I'm building Debian packages).
Watch this space. The rest of the jukebox remains unreleased so far.
Kareltima III is one of my most famous hacks of that time ― people have actually asked to see it. Written in early 1993, it mimics Roguelike games (more correctly, it is a Roguelike game) and spoofs Richard Garriot's Ultima series.
BEFH (Bastard Excuse From Hell) is a BOFH excuse calendar. It comes with an extensive collection of excuses from the famous telnet-based excuse server, and a Perl script to add your own excuses to the database. It features the infamous Scary Devil Monastery coat of arms (European etherkiller sable) and the Monks' favourite unit of suckitude (Lovelace, Ll). Get it at PalmGear or download source and binaries here (74 kbytes). In ZIP format.
Solo is a very simple and small puzzle for Palm devices. Remove pieces from the board by jumping over other pieces, until either there's only one piece left, or no moves are possible. This version contains seven different board setups to try. Includes English and Greek version of the application, plus (badly written) source code (GCC). Get it at PalmGear or download source and binaries here (28 kbytes). In ZIP format.
Resist! is a resistor calculator. It has a few useful features, like two-way operation (decodes and encodes resistor colour bands); support for E-series (currently E3, E6, E12 and E24); approximates resistors to match E-series preferred values; and both scientific and engineering notation. Get it at PalmGear or download source and binaries here (26 kbytes). In ZIP format.