Michael Dresser

Blog | Resume | GitHub

I'm a software engineer.

Projects

ballotbotSource

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 DiffLive (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.

dicelangSource

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


Squirdle query builderSource

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 ToolLive (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 DashboardLive (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.

SchemeInterpSource

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

Betrayal at House on the Hill stat trackingLive (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 ObamaLive (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.