
I'm a software developer. This site hosts some of my personal projects.
Tech topics from 30,000ft.
I love digging into how things work. Here are my most recent deep dives.
Ongoing work to make my roomba smarter.
This is an experiment I worked on to gain familiarity with Python, Flask, and robotics. It was also mostly an excuse to buy a Raspberry Pi and chase my cat around with a Roomba. Vroomba runs on a Raspberry Pi or other device and connects to a Roomba 6 series robot. It allows you to drive manually at the moment through a web ui. I moved to a smaller apartment, so I don't work on this anymore.
Illustrating the differences between A* and Djikstra's
I worked on this with two classmates, Tom Fasano (Tom's website) and Ezra Dryer (Ezra's Github). We implemented Djikstra's and A*, and to demonstrate it, I wrote a webapp that allowed you to graphically draw nodes on OpenStreetMap, then turn them into coordinates that our program could process. Then, after running the map through our program, it would show, step by step, the process that A* and Djikstra's took. Someday, I'll write an all-JS version hosted on this website.
A really bad HTML parser.
I wrote this in college because I was working on ways to parse HTML at my job, and I hadn't yet taken a automata class where they teach you about DFAs, NFAs, and other formal methods stuff. Kthulu takes in an HTML string and parses it into a tree data structure. It works with a Bootstrap 5.0 example. It's not fully standards compliant; it's something I hacked together in college. Some day I might come back and explore how hard it would be to make it better and how to hack a rudimentary browser with it.