Minimal Programming Projects
I seem to have an interest in programming challenges that involve keeping the file size small.
The 5k
Many years ago, there was a contest called The 5k that challenged web designers to build web pages that took up a total of 5 kilobytes (5,120 bytes) or less. Unfortunately, the contest stopped running somewhat unexpectedly, and of the projects I developed for it, the Brainfuck Interpreter is the only one I was actually able to submit.
- Brainfuck Interpreter
- A JavaScript interpreter for Brainfuck, a minimal programming language with only eight instructions.
- Chess-/Checkerboard Display
- Displays the state of a game of chess or checkers.
- Advent Calendar
- Shows and hides tiny pictures that are (mostly) related to the Christmas season.
Another project that I didn't get to enter was revived and became my Robot & Human webcomic when NeoCities was launched.
10K Apart
An Event Apart ran a competition called 10K Apart in 2016 that was a spiritual successor to the original 5K contest. This one allowed server-side code of any size, as long as the site delivered an initial usable page in 10 kilobytes or less.
- Cryptojam
- A web site where you can solve cryptograms. The database contains about 150 puzzles of varying lengths and difficulties. See the GitHub repository for more information. This entry earned an honorable mention!
onekb
OneKB.net used to be a web host that gave you your own subdomain with only one kilobyte (well, kibibyte, technically) of disk space, that had to cover all of your HTML, CSS, and JavaScript. I had a couple of pages on it for a while, and now I'm reproducing them here.
- Block painter
- This miniature tool draws blocks on the page according to what's in the URL query. When no query is sent, it shows an editor. I actually have a GitLab repository for this one, which includes some instructions and examples. Here are the examples:
- Ozymandias
- This 14-line poem by Percy Bysshe Shelley takes up over 600 bytes just by itself.
JS1k
The JS1k is an annual competition in which coders submit up to one kilobyte of JavaScript code. You get all the HTML on the page, plus some basic JS, for free.
- Trains are canvases
- Entered in
2015; the theme was "hype train".
This entry uses the HTML5
canvas
element to display arbitrary text (lowercase letters only, due to the size restriction) in graffiti-style lettering.