Michael Dresser

Blog | Resume | GitHub

I'm a software engineer.

Projects

ballotbot — Source

Discord bot for small-group voting. Contains a custom implementation of the Condorcet method and the Schulze method for determining winners. We use it for determing our book club's next read.

EVE Item Diff — Live (web), Source (diff), Source (parser)

Diff lists of EVE Online items, including type ID lookup. I use this to ensure my fits and fits in contracts match the current doctrine. When modules or charges are missing it's simple to copy the to-be-purchased items back into the game.

The tool is browser-local via WASM.

dicelang — Source

Parser and evaluator for DnD-like dice rolls, e.g. "d20+1d4-1d6+3". Written in Rust. Try it out via WASM:


WARDOGS Utilities — Live (web)

Utilities for the game WARDOGS, e.g. a mortar range and angle calculator

Squirdle query builder — Source

Automatic refinement query builder for the guessing game Squirdle. Parses the results of existing guesses to narrow down the possible Pokémon answer.

Best used as a bookmarklet.

Teemo Tool — Live (web), Source

Tracks live betting activity on the Salty Teemo stream to help make more informed bets by knowing live odds during betting windows.

The tool is browser-local via JS and a simple JS Twitch chat library.

Teemo Tool (original, deprecated) — Source

A Clojure project for tracking betting activity on the Salty Teemo stream. Includes a crawler for the Riot API which was an excuse to learn more Clojure; transducers are neat!

I tried to use that API data to build models of varying complexity to answer the "which team will win?" question based on data available during the betting window. (For example: is Master Yi really an indicator of success at low ranks?). None of my attempts yielded a useful result.

DM Dashboard — Live (web), Source

Keeps track of turn order and intiative rolls for large DnD battles.

I DMed a couple of DnD campaigns and had trouble keeping track of fights with many small monsters; such fights are thematically great but difficult to track by hand. This tool helped a bit.

SchemeInterp — Source

An incomplete attempt to write an interpreter for Scheme in Go.

Betrayal at House on the Hill stat tracking — Live (web), Source

Provides a reliable, though not pretty, way to track BaHotH stats without losing your place.

I played several games of Betrayal at House on the Hill and found that the stat trackers provided with the game would frequently slip, so I decided to make something a little sturdier.

Elm Obama — Live (web), Source

Elm-learning project. A frontend for an old hackathon project I worked on with some college friends. Probably non-functional due to Heroku's removal of old projects.

Other

I read. A few favorites:


We have a long way to go, and there is time ahead for thought. It is something to have started.