CS PhD alumnus (2001–2007)
Advisors: Bob Harper, Karl Crary Phone: Who uses phones??
Hi I finished grad school! A long time ago!
Now I'm just a guy with a PhD, some papers, and a bunch of projects.
I love programming languages to the max. For my
research I worked on the ConCert Project,
eventually designing and implementing a typed programming language for
distributed programming called ML5. It's based
on modal logic and I formalized lots of the proofs in Twelf so they can be verified
by our patient and careful friends, computers. Lots of people don't
care about programming languages, possibly because they think that all
languages are the same, or they don't want help from their patient and
careful friends, or have never used an optimizing compiler for a
high-level language, or they suspect that programming is mostly about
taping together programs that other people
wrote. I am fairly certain that I have more fun programming than these
people, which makes me sad.
I love to make things. For many years, I used to
crank out loads of TrueType
fonts. I bet you have seen them on posters or T-shirts and not
even known it. I also spent a long time writing and
recording music in profusion for
my album-a-day
project or other bands. Like for example I like to make
intricate Nintendo-esque
songs with primitive waveforms, or bedroom acoustic guitar
with my homebrew
plugins.
One of the best things about grad school was that if
you get your work done then you get to do other stuff too. Like for
example in 2003 I wrote a novel called Name of
Author by Title of Book in a month. The next year I wrote
His Sophomoric Effort which I
would even not be embarrassed if you read.
Exploring the dizzying depths of uselessness, I
once Alphabetized
Star Wars. Disturbingly, it might be my most famous
accomplishment.
A former habit I enjoyed and should rekindle was
making games
in 48h periods for an event called Ludum Dare. You can play these in
your browser. Of the games that still work, I recommend
Dragon
Drop (theme "Minimalism"—there's more to it if you think to
dismiss it);
Single Dragon (theme "You only get one");
and
Entire Screen of One
Game (theme "Entire Game on One Screen").
The last of those unexpectedly exploded
hundreds of thousands of brains (and ended up in
the Centre
Pompidou!). The browser-accessible
Connector World (theme "Connected Worlds");
and
Running out of Space (eponymous theme)
may entertain you as well. Alas, several good games are now hard to access
due to the demise of Flash, but you could try:
T in Y World (theme "Tiny World");
Is Lands? (theme "Islands");
Disco? Very! (theme "Discovery");
Priority Cats (theme "It's dangerous to go alone. Take this!");
One of the best birthdays (theme "Evolution");
Escape Cod (theme "Escape");
Point One Hurts (theme "10 Seconds");
Age of Umpires (theme "You are the villain").
Escape is a
cross-platform puzzle game I have been working on for over 20 years (!).
It's like a push-the-blocks game with other gadgets and a built-in
editor and online features and a lot of really creative puzzles that
people have submitted.
Spare cycles during class were directed into my notes,
which are a stream-of-consciousness circus of typography and
cartooning. They're collected in Illustrated Notes
from Computer Science for your amusement. For a while
I would upload my photographs
but now I just keep them on my computer and never show them to anyone.
Back when I was an undergraduate at CMU, I made a
different web page
that has lots of other stuff on it and is kind of embarrassing.
And finally, though this page is rather static, I
have a weblog called Tom 7
Radar which I keep up-to-date with my adventures and projects.
You can also find me on Twitter as @tom7.