Pascal's Triangle for LaTeX
You need to display Pascal’s Triangle in a LaTeX document and whenever you hear ‘ampersand’ or ‘smallskip’, you go into a homicidal rage, leaving behind you a trail of viscera and blood-stained Lion Book pages. Also, you’re lazy. Put that chainsaw down, this recipe is for you.
Linux RAID One-Liners
Here are some useful one-liner recipes to help manage Linux Device Mapper (sometimes also known as ‘software RAID’) devices. These are too short to warrant separate recipes. They’re here because I need them for myself: no matter how many times I’ve done this, I always check again.
Cleaning Up a Debian APT Archive Cache
You have a Debian, Ubuntu or similar installation, and your /var partition keeps getting full when you upgrade. You check /var/cache/apt/archives and find it full of the usual mix of current and old versions of downloaded packages. Somehow, they haven’t been deleted after installation, or you keep downloading them but not installing them. You now need a quick and clever way of cleaning up this mess, so only the latest version of each package remains.
Moon Phase Calculator in S2
I have had a homebrew moon phase calculator for various LiveJournal (and similar) sites for a while. It’s come to my attention that to this day, no-one does this. Strange, considering so many cultures base so much around the moon and a lunar calendar (unlike the solar Gregorian Calendar in prevailing use all over the world). So, without further ado, behold the moon phase calculator in S2!
In the process of making the Python bindings for DungeonMaker, I came across various shortcomings of the original code. There were behaviours I wanted to limit or inhibit, and various features were missing. I went about implementing some of these, and code started accumulating. I eventually made the decision to fork the original source tree, and thus was born DungeonSpawn: a version of DungeonMaker with extensions.
A Free, Flexible C Implementation of the A* Algorithm
A lot of people out there are looking for implementations of the A* algorithm for game writing, myself included. Eventually, I gave up trying to find one that fit the bill, and wrote one myself. My needs were complex (and I didn’t want a C++ version), so I wrote this as generic as possible, and I’m releasing it for public consumption. Bon appetit!
ANSI2Img: Convert ANSI to Bitmaps
This small Python program converts ANSI art to raster images. It simulates a PC’s text mode using different VGA soft fonts (or EGA, or the CGA ROM font) and renders colourful BBS graphics, affectionately known as ANSI (after the ANSI.SYS MS-DOS driver that rendered them back in the day).
Acrobase BBS Client
Η Acrobase οργανώνει περιστασιακές εικονικές συναντήσεις στην BBS (όχι στο web), για ιστορικούς και συναισθηματικούς λόγους, για να θυμούνται οι παλιοί και να μαθαίνουν οι καινούριοι. Το πρόβλημα με τη διαφορά μεταξύ παλιών και καινούριων είναι ότι οι πρώτοι δεν έχουν πρόχειρο modem, και οι καινούριοι δεν είναι 100% σίγουροι τι είναι modem. Αυτό το πρόγραμμα διευκολύνει τη σύνδεση στην Acrobase BBS και για τις δύο ομάδες.
DungeonMaker makes complex random dungeons according to the designer’s specifications. They can be as random or as deterministic as you want. The complex, organic look of the generated dungeons comes from the use of Artificial Life techniques: tunnels and walls are built by a-life creatures moving around the map. This is a modernised build of the library, packaged for modern distributions of modern operating systems.
RSAR: Rough Set-based Attribute Reduction
RSAR treats datasets by removing attributes that are unnecessary for a classification task. It performs greedy feature selection using various versions of the QuickReduct algorithm. It is useful in reducing redundancies in nominally-valued (i.e. discrete) datasets for exploration or as a preprocessing step to training machine learning algorithms on the data.