Below is a selection of free software I've developed, typically because it's useful or amusing to me.
|Emojipasta Generator||web||Convert text to emojipasta.||goto|
|Pixelate||web||Make images pixely, add dither, make them black & white, etc.||goto|
|Tiny Metronome||web||A mobile-friendly, 981-byte metronome.||goto|
|bs||desktop||A CLI tool for quick number base conversion.||goto|
|pseu||desktop||A CLI tool for indecisive people.||goto|
|TokiPonaPoemBot||web||A bot that tweets random poems in toki pona.||goto|
|MonaLisaGoL||desktop||Common Lisp software for tinkering with the Game of Life.||goto|
|Collision Calculator||web||Calculate hash collision probabilities.||goto|
|ka||desktop||A calculator tool with a CLI and GUI.||goto|
|Slingshot Chess||web||Chess game where you fire your pieces at the enemy.||goto|
Add word-relevant 🤖 emojis ✨ to text with sometimes hilarious results. Based on AnEmojipastaBot, which I unleashed on Reddit a few years ago.
Make images more pixely, make them black & white, resize them, or add a dithering effect. I used it for this blog post.
A mobile-friendly, 981-byte metronome. I made it because most of the metronome web apps I found on the internet were bloated, or clunky on mobile. I also wrote about this app in a blog post.
A Python CLI tool that converts numbers between bases with as little typing as possible. If you don't specify the base, it does all valid conversions between common ones.
pip3 install base-convert-cli
Examples (more in the README):
$ bs FFFE [from hexadecimal] decimal 65534 binary 1111111111111110 octal 177776 $ bs -t d F 15
A Python CLI tool that randomly generates numbers, shuffles, picks, and rolls dice. Possible uses: picking someone to do a shitty job; relieving yourself of the agony of deciding which movie to watch; making life choices.
pip3 install pseu-cli
Examples (more in the README):
$ pseu pick "good life choice" "bad life choice" bad life choice $ pseu pick --n 2 </tmp/movies.txt Boogie Nights The Hunt for the Wilderpeople $ pseu roll 1d6 3 $ pseu rand 100 42 $ pseu shuffle alice sue bob bob sue alice
I wrote about a poem generator that I made for the toki pona language, then turned it into a Twitter bot. It tweets poems like this on a daily basis:
pi tomo suli ala,
e ni li tawa.
a a mi kala.
Common Lisp code that searches for Game of Life states that turn into a given picture. It can also be used to create GIFs of the Game of Life. Write-up here.
Goes well with Pixelate, because you can: (1) take your own picture, (2) shrink it and turn it black & white (using Pixelate), and then (3) pass it to MonaLisaGol to find a Life state that turns into your picture. Or just run your picture as a Life simulation, which is also cool.
If you put 'k' balls in 'N' buckets, what's the probability that at least 2 balls will end up in the same bucket? In other words, what's the probability of a hash collision?
ka is a small calculator language. It supports various useful features for day-to-day calculations, such as:
There are 3 ways to interact with it: executing individual expressions through the CLI (
ka '1+1'), a CLI interpreter (
ka), and a GUI (
>>> 2 * (1/2) 1 >>> 1 metre + 1 foot > feet 4.2808398950131235 >>> p = 0.7; C(10,3) * p^3 * (1-p)^7 0.009001692000000007 >>> sin(90 deg) 1 >>> e^pi 23.140692632779263
pip3 install ka-cli
A version of chess where you fire your pieces at the enemy and try to knock their king off the edge of the board.