Photography and Computers

Things I’ve Built

According to famous people, it is a good idea for a programmer to have a public portfolio of their work. With this in mind, I present to you some things that I have built.

More a project to play with Google AppEngine than an actually useful site, CookBookIt is a very (with emphasis on very) simple site for storing and sharing recipes. Since there are approximately 1028 other cook-book sites out there, it’s not worth developing into even an MVP. It’s strictly for fun.

DFA Builder
This builds a deterministic finite automata (i.e. “state machine”) that recognizes sub-strings within the input in linear time (on the size of the input). To use it, you run the program with the sub-strings as command line arguments. It then outputs C++ source code with the DFA encoded as a 2D transition array (one index is the current state, the other is the input character) and a loop than runs the DFA. When it encounters a state marked as the end of a sub-string, it increments the counter for that string.

This version is in Java, but I also have written versions in C++ and in Python (for fun, you see).

This is a “virtual machine” for Wren Intermediate Code (WIC), which is the intermediate language for a teaching language called Wren. It’s pretty fast – it can run 100+ million instructions per second on my CPU.

Toy Lisp
This is a fairly minimal implementation of some parts of Lisp in a little Python script. As the name suggests, it’s just a toy.

This is a “blogging engine” that, while pretty much a toy, I do actually use. SSPB stand for “Super Simple Python Blog”. The idea is that you have a folder full of posts in markdown format, and this converts them into HTML pages using a template file. It also manages the index and archive pages and keeps them up to date.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s