The Axe and How to Sharpen It
If I only had an hour to chop down a tree, I would spend the first 45 minutes
sharpening my axe. - Abraham Lincoln
I'm constantly trying to improve my skills, which means that over the course of my 25 years I've written a number of toy programs, demos, and side-projects meant to sharpen that axe. Below is a list of projects that I'd like to share with you.
- The Backbone Store
- The Backbone Store was a demo and tutorial for Backbone.js, an early REST-oriented framework for building websites. It was the most popular framework before React, and is still in use.
- Fridge Magnets
- A more advanced demo using the audio API , animation, and drag-and-drop. Again, this is mostly just so that I would learn how to use those thing.
- Right Now
- Right Now! is one of those to-do things that's so popular for learning new techinques. In this case, I was studying localstore/sessionstore and how it interacted with jQuery.
- Another to-do list, but this one has some other silliness. Having a "not-to-do" list alongside your to-dos was the general idea. Oh, and if you use any Star Wars-related terms like "Darth" or "Force" (capitalization matters here) you'll get a small surprise.
- Nine Hours
- A meditative pomodoro timer.
- The Elf Sternberg Museum
- The very first draft of this website lived at a different address from October 1994 through to about 2003, after which I moved to the current location. I've recently restored that ancient website and modernized the CSS (including making it responsive and mobile).
- Rigged Regex
- Probably one of the more interesting (and esoteric) projects I've worked on, Rigged Regex is the translation and extension of the paper A Play on Regular Expressions, in which I take their Haskell programs, translate them reliably to Rust, and extend them with some fundamental algebraic theory, implementing Brzozowski's Algorithm, a regular expression algorithm never before translated into a systems language.
- The Buddhabrot
- Inside the Mandlebrot is a black, vaguely heart-shaped object that represents all the coordinate pairs that will never resolve. But what if we treated the iterative pairs generated as a path? The result is the Buddhabrot, an image that fills that black void. This is my attempt to implement the Buddhabrot algorithm in Rust.
- Boggle-Solving in Rust
- Boggle! is a popular word-game where players try to generate as many words as possible out of a grid of random letters. This repository contains a library and command line program for producing every possible word on a given Boggle board.