Talk Series Poster Generator

Creating a good poster for advertising an event series can be tricky. Last year, I designed one for the Computer Club’s Spring Talk Series. It worked well, and as I was graduating and leaving no one with significant design background in the Club, I wrote a generator to produce new versions of the poster for future talk series.

Read full post.


Programmers should have the ability to create programs using tools that are native to the problems they are trying to solve, rather than having to jump through layers of translation. Traditional methods of programming work very well for linear, text-based problems, but break down when applied to other domains. Construct provides a different way to design computational solutions to geometric problems.

Programs are designed in Construct as geometric constructions. This enables visual professionals (architects and designers) to engage computationally in their work without having to leave its geometric domain. I hope that this project will spur innovation towards creating more inclusive models of programming that can enable new approaches to computational problem-solving and bring a wider range of programmers into the field.

Read full post.


Developed in conjunction with Samantha Chiu and Pushkar Joglekar, SOPHOS, Search On Phones and Handhelds in One Stroke, addresses the convoluted mobile search procedure through a gesture trigger for searching text. The five steps required in the traditional model become just two: select the text and perform the search gesture.

Read full post.

Levels of Games

I recently read Phil Vecchione’s article Levels of Play. In it (and the sequel), Phil discusses four aspects of player style: game, character, group, and story; and how GMs can accommodate all four throughout gameplay to engage all of their players.

Near the end of his article, Phil talks about players advancing along his progression of levels throughout their tabletop-playing careers. We all have recognized that a novice player most often focuses on the nuts-and-bolts mechanics of the game, and often moves into the “higher” levels as he or she spends more time with the hobby. However, I think that rather than being a macroscopic progression, this growth is triggered very specifically by a similar progression within individual games in which the player is gaming.

Read full post.


Logistically, keysigning parties are a little tricky: you need to put together an authoritative master list of submitted fingerprints for verification during the event, and then there needs to be a reasonable way to get ahold of the keyring once it’s over. Keystorm is a solution to this mess. It is a keysigning party server, and as such possesses exactly the features necessary for the task, and scarce more.

Read full post.