Current experience

FreeSpace 2 Source Code Project

I write code for The FreeSpace 2 Source Code Project (SCP), a set of open-source projects centered around FreeSpace 2, the classic space fighter combat game from 1999. The developer, Volition, released the source code in 2002, and the SCP has been working on it ever since.

The FreeSpace 2 Open engine and related tools support the efforts of what PC Gamer calls "one of PC gaming’s most impressive modding communities" to create FreeSpace 2 mods and total conversions.

I am currently focusing on improvements to the engine's network (multiplayer) code, starting with integrating support for SquadWar team tournaments. I am also documenting the netcode, which uses a custom binary protocol over UDP sockets. My end goal is to improve the netcode's performance–and, by extension, the multiplayer experience–with the hope of fostering a revival of interest in multiplayer. It would be so cool to see multi come alive again!

My most recent major contribution was an upgrade of the FreeSpace 2 Open engine's sound code from supporting 32 audio channels to supporting 128, along with a new system for managing sounds that gives content creators a great deal of control over how the engine prioritizes sounds. The new system was accepted for merging on June 1, 2015 (pull request #151).

My largest SCP contribution has been the revival of the wxLauncher (previously on Google Code) open-source cross-platform launcher, which became a requirement after the SCP ported the engine to run on OS X and Linux. I joined the development team in June 2011 and have fixed broken components, completed missing or incomplete core subsystems, added OS X compatibility, and polished the UI.

The community's enthusiasm for the new wxLauncher was best expressed in the January 2013 newsletter (emphasis added):

And in more general FreeSpace tools news, wxLauncher, which is sure to be the launcher of the future, threw out a few major versions this year as well. Not to abuse this soapbox to endorse projects but... this truely did change my life... forever. Be sure to try it so it changes yours too!

My work on wxLauncher enabled the cross-platform release in September 2012 of Diaspora: Shattered Armistice, a free fan-made space fighter sim set in the reimagined Battlestar Galactica universe, with tens of thousands of downloads worldwide. PC Gamer ranked it #25 among "the 50 best free PC games."

Recent experience

RIFT at Trion Worlds

I worked as a Software Engineer on the RIFT MMORPG development team at Trion Worlds from April 2013 to January 2015. I was promoted from Associate Software Engineer in July 2014. I worked on everything from customer service tools to server infrastructure to client UI.

My largest contribution was adding support for international servers. Previously, a server supported only a single language. I worked with another engineer to rewrite the localization code so that players using different languages could all play on the same server while receiving the game's content in their language.

Other major contributions include work for RIFT China, where I made gameplay changes to meet the needs of our Chinese players.

 

Previous experience

In Summer 2012, I was a software engineering intern at Cisco Systems in San Jose. I added support for multiple touch devices in their TelePresence immersive videoconferencing systems using SNMP and C++ in a Linux command line environment.

As a graduate research assistant, I co-developed a Java RMI-based software prototype for privacy-preserving distributed search log mining, which led to an accepted paper at the prestigious ACM SIGIR conference in 2011.

Back in college, I wrote a guide to the Linux command line interface for students and published it on the Web using DocBook. Several course and computing resource websites included a link to it. An editor at O'Reilly Media even expressed interest in it but decided that commercializing it would not be feasible for economic reasons.

Skills

Programming languages
  • C/C++ (fluent)
  • Java (prior experience)
  • Python (distant prior experience)
  • Perl (10 minutes of experience, enough to update a script)
Foreign languages
I'm familiar with French, Spanish, Hebrew, German, and Arabic. I was proficient in them at various points, but it's been a while. I even took some Latin and Biblical Hebrew in college—ancient languages are amazing.
 

Education

University of Massachusetts Amherst
M.S. in Computer Science

Washington University in St. Louis
B.S. in Computer Science, magna cum laude