Elf M. Sternberg

Full Stack Web Developer

Where one teaches, two learn.


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.