Here are various software(ish) projects I've completed that may be useful and/or amusing.
Bit Art Bot is a Mastodon bot inspired by this Metafilter post that creates procedural art by plotting a randomly-created integer function. It's written in Ruby and does not work by generating and then evaluating Ruby code. The generator's source code is here.
dbmlite3, a Ruby GEM
providing a simple key-value database API mostly compatible with the
YAML::DBM classes but using
SQLite3 to do the storage. Because sometimes
DBM and SQLite3 is ubiquitous.
twitscrape, a quick-and-dirty Twitter scraper which I hacked together to recover some of various family members' Twitter presences after the company's current... uncertainties.
simple-future, a Ruby gem providing simple, process-based concurrency.
Informash, a Markhov chain-based text generator. Mostly written for Haskell practice.
jj, yet another static-html
blogging system using
markdown. A successor to
Email::Intestine is a Perl module for simple email filtering.
ledflash is a small daemon which flashes the user LED of a Raspberry PI every three seconds so that you can see if it's (un)crashed. Also worked (works?) on a suitably hacked PogoPlug appliance.
ReLarn, a fork of ULarn, the classic Roguelike game with emphasis modernizing the codebase and UI.
ReversIt, a program to play Reversi (aka Othello).
Deck, a programming language.
Tulip is a simple, minimal Lisp-like language implemented in Perl.
Smalltalk is a really cool object-oriented programming language with a high-quality open-source implementation (Squeak). I've mostly moved on to other things now, but here's some stuff I did with it. (Warning: some of it is awful.)
sqkenv is a set of scripts for managing multiple Squeak (and Pharos) installations.
Quest For Pants is an (extremely) unofficial sequel to Nethack. (I have no idea if it works anymore.)
Prefab tries to be a simple layer on top of Squeak's Morphic GUI system, kind of like Tcl/Tk simplifies native windowing.
MiniWeb is a zipball containing scripts and sources which will turn a stock Squeak 3.4-5170 image into one more suitable for use as the basis for an application server. It strips out most of the unnecessary parts (including Morphic) and files in Comanche 5.1.1, Seaside, YAXO and SIXX. The resulting image is approximately 2.6 Mb in size and you can still do development on it.
VarString is a quick hack gives Squeak the ability to do Perl-style variable interpolation inside of quoted. The sequence "$varName" is replaced with the value of the variable "varName", just like in Perl, sh, Tcl and other scripting languages. Suitable for use in advocacy flamewars or possibly as a way of demonstrating why Squeak is way cool.
Squeak Wrapper is a bash script that does all of the file copying and symlinking required to start up a Squeak session under Linux (and presumably other Unix variants). These days, Squeak comes with its own launch script so this has been retired, but it's here if you need it.
EmacsKeys is a Squeak changeset that maps some basic Emacs key bindings to Squeak's editor. Handy for those of us with Emacs finger macros. It's not very good but it made the Squeak editor pane tolerable to me. (A while back, someone put this on SqueakMap, here. You may be better off just installing it that way. (Hmmm. And they seem to have taken my name off the author credits. Tsk, tsk.))
Infernal Icecube, a simple blogging CMS for Unix-like environments, notable for reinventing its own incompatible Markdown-style markup language.
mkmp3iso, a small utility which takes a collection of mp3 files and renames them to fit on a DOS-style filesystem. This is handy if you are stuck with a CD-based MP3 player that can't handle longer filenames.