It is my personal philosophy that one learns best through practical application of principles. Thus, many of the projects posted here are my attempts at learning a new programming language, methodology, or other skill. I eventually hope to convert many of these projects into hands-on tutorials to help others learn. My featured projects are available here, but I have listed a number of them publicly on my GitHub profile.
Coming soon: I intend to document and list projects I've created for personal purposes within the next couple of months. At the moment, though, I hope you enjoy the following professional projects.
To improve my programming skills, I have created some entertaining things.
I made a program that generated 105,165 unique sudoku puzzles, each with only one solution. Categorized by level, this book has puzzles for everyone to last a lifetime. The puzzles were generated with the help of the Z3 SMT Solver and LaTeX.
Get Puzzles View SourceIn an attempt to learn the basics of JavaScript, I made a number of silly web tools. These generators and their descriptions are included below.
Come up with as many uses as you can for a random item to practice divergent thinking. This toy is entirely based around improving my skills with JavaScript.
View Demo View SourcePractice naming musical notes as they appear on the screen. This toy is entirely based around improving my skills with JavaScript.
View Demo View SourceEver had to use an excuse to get out of an event? This is the generator for you. This generator is a silly project entirely based around learning the basics of JavaScript.
View Demo View SourceNeed a funny headline-style writing prompt? This is the generator for you. This generator is a silly project entirely based around learning the basics of JavaScript.
View Demo View SourceHave an undying urge to burn a bridge? This is the generator for you. This generator is a silly project entirely based around learning the basics of JavaScript.
View Demo View SourceGet the first sentence from a random Wikipedia page. This toy is entirely based around improving my skills with JavaScript and web scraping.
View Demo View SourceTo improve my website development skills and to help myself become more productive, I have developed a handful of simple productivity tools.
Stay focused with the Pomodoro method, with timing customized to my schedule. Currently only supports my own routine.
View Demo View SourceWork step-by-step through a cleaning routine to stay focused. Currently only supports my own to-do lists.
View Demo View SourceMy projects are all open-source, and I do my best not to require proprietary software prerequisites. Open-source software is better for everyone, and providing my tools for free is my way of giving back to a community that has poured resources into teaching me.