My hobby of programming has lead me to many
random projects that struck my fancy over the years. Lots of
projects were written for courses and I likely won't be posting
those, since assignments are reused year-to-year, but a brief
excerpt of the rest are categorized below.
There was a time when I wouldn't have considered this stuff
AI at all, but I learned about it in AI class so I guess it is
artificial intelligence.
- Sudoku Solver
- A solver for Sudoku puzzles written in OCaml. It is small
and fast and avoids guessing as much as possible, though it
has to guess in some puzzles. It will find multiple solutions
if they exist, though technically they aren't suppose to.
Web stuff is mostly small, and unfortunately mostly
untyped. Javascript for client-side stuff and PHP for
server-side stuff is mostly what I do.
- XML Templating Engine
- A template-based XML/PHP engine for websites. Similar to a
Wiki but it doesn't allow online editing of pages (...maybe in
the future). It is based on very easy to write
"TemplateProcessors" which allow inclusion of dynamic
content. This project was joint
with Jennifer
Gillenwater.
- FunkyMon
- Haskell implementation of a general functional monitoring
framework. Joint
with Kelly
Heffner. Some of the code is a little crufty, but
generally reasonable. Amazingly it compiles without
warnings, thanks mostly to Kelly. The makefile is a little
bit hacked, Kelly(Darwin shell) was running with GHC 6.10.2,
and I was running with GHC 6.8.2. (This was my class
project
for Harvard
cs 222)
- Sliding Tile Puzzle
- In the days before I had access to server-side anything,
I wanted to make a sliding-tile puzzle; so it is JavaScript
only. This could evolve into a regular jigsaw puzzle, but
that's probably a separate project. I can't/don't test in IE,
but it should work in all of the standards compliant
browsers (css hacks are probably enough to get it working in
IE).
Random/one-off code, mostly scripts which don't fit into other categories.
- Morse Code Encoder/Decoder
- If you don't send spaces between characters or words, it can be difficult to figure out what Morse Code says unless you're a expert. This little script might help. Note: it is terminal driven and has not been tested in Windows.