Daniel Wagner
Contact me
| Office | Currently searching for employment. If you need a talented software developer, email me! |
| Phone | 650 353 1788 |
| You can write to me at dmwit.com. | |
| Others | I go by the handle "dmwit" lots of places. |
Papers [bibtex]
Code
- for Dr. Mario
- practice tricky maneuvers with bokrifulse
- use DM Glampers to handicap races based on clear rate
- browse (or recreate) some graphs exploring how uniform and independent the NES RNG is
- learn 2-player handicaps from win-loss data with mcmario
- explorations in AI for single-player mode
- train a deep learning model to parse Dr. Mario screenshots with nostramario
- connect an AI with the emulated NES implementation via dasyuridia and fceux
- communicate with the EverDrive N8 Pro from Haskell with j0
- maryodel is a protocol for communicating logical events and a pure-Haskell reimplementation of most of the game
- for speedrunning
- do timing right with vertumnion
- get individual virus-level autosplits for Dr. Mario with curee and fceux
- spartacon is an X11-based global hotkey daemon that interacts on stdin/stdout, a handy thing to pipe to vertumnion
- for the Dragon go server
- predict the future, and have wyvern play your moves for you
- access the bot interface from Haskell
- manipulate SGF files in Haskell
- miscellaneous GreaseMonkey scripts
- use Senseis' Library syntax in forums and in-game messages
- show the amount of time remaining in games on your status page
- mark forums that have new messages
- add a star to each user's activity indicator
- for minimal window management
- control your volume with X.A.Volume (along with a tutorial)
- separate the workspaces on your screens with X.L.IndependentScreens
- move the mouse with keybindings via X.A.Warp
- display brief notifications using X.U.Dzen
- bacteria: compose Xinerama backgrounds
- a small dmenu wrapper called yeganesh
- for UPenn
- include an arbitrarily large version of the PL Club logo
- process your log with pulp to make a better paper
- PDFSplit, a tool that makes reading academic papers on the Kindle a bit more pleasant
- some finite state transducer stuff, which has got to be just about the coolest name for anything ever invented
- a visualization of the Menger sponge
- miscellaneous
- I have unpopular opinions on whitespace
- cabtags runs hasktags on all the directories listed in your cabal.project or package.cabal
- tomcats is a Haskell library for Monte Carlo tree search
- enumerate the values of finite types (and small infinite types) in Haskell with universe
- akrasia got you down? beeminder-api's got your back
- a brain dump of what I know about multithreaded Gtk programming in Haskell
- see TF2's shotgun bullet spread with a custom crosshair
Personal
- I took guitar lessons briefly. Read what I think of my teacher. (Spoilers: he was excellent in every way.)
- I used to be a PhD student at CIS UPenn studying programming languages with Benjamin C. Pierce, but they kicked me out for knowing too much in July 2014.
- A mysterious link to a mysterious website mysteriously appeared.
- Nicole and I got married!
- Nicole and I went to the Finger Lakes area for vacation in 2009.
- Hac Phi was a lot of fun! I took some miscellaneous pictures.
last updated 27 June, 2026