Steven Noonan
http://www.uplinklabs.net steven@uplinklabs.net

Skills

  • Programming languages (fluent)C, C++, Python, x86 assembly, shell scripting
  • Programming languages (proficient)Ruby, PHP, Visual Basic, C#. Able to learn most new programming languages with ease.
  • Content-description languagesHTML, XML, XHTML, CSS, MySQL, PostgreSQL, SQLite
  • Operating systemsMac OS X (10.4+), Linux (Gentoo, Fedora, Ubuntu, etc), Windows 2000 through 8, Windows Server 2003
  • Integrated development environmentsXcode (2.5+), Visual Studio 6.0 through 2012, NetBeans
  • Revision control systemsStrong experience with Git, Mercurial, and Subversion
  • Natural LanguagesEnglish (native)
  • Miscellaneous
    • professional experience porting games between platforms (Windows, Linux, and Mac OS X)
    • experience maintaining and administrating Windows and Linux servers, primarily serving MySQL, Apache and Samba
    • experience maintaining a Linux network router for a public network, using iptables and iproute2
    • graphics libraries: OpenGL, SDL, and Direct3D (currently only know orthographic rendering well)
    • low-level programming and code optimization (data structures, x86 assembly, stress testing)
    • excellent troubleshooting and debugging skills (gdb, valgrind, tcmalloc)

Experience

Amazon Web Services - Kernel and Operating Systems Team January 2012 -- present
Software Engineer, full-time position

I currently work on the Amazon EC2 Kernel and Operating Systems team. Most work I do involves the Linux kernel and Xen hypervisor, focusing on low-level performance testing and optimization. This includes block device I/O performance, clock source accuracy/precision/performance, device passthrough with VT-d, network throughput/latency, hypervisor scheduling, scalability with high-density hosts, and so on.

I've also developed a Python tool which enables us to run qualifications, benchmarks, sanity tests, etc. on massive numbers of hosts in parallel, allowing for very fast iteration on new product designs or platform refreshes. This tool has also served us well during emergency scenarios where a new fix needs to be deployed on a series of hosts and qualified in a very short period of time.

Amazon Web Services - Platforms and Performance Team January 2011 -- January 2012
Software Engineer, full-time position

I worked in the Amazon EC2 Platforms and Performance team, where I worked primarily on performance tuning and design for cluster compute instance types. I was the lead software engineer in charge of the hi1.4xlarge instance type, and did significant kernel changes to ensure hi1.4xlarge performed well.

Introversion Software 2005 -- 2007
Linux and Mac Developer, contract work
  • Developed the Linux port of Defcon, using C++, SDL, SDL_image, SDL_mixer and OpenGL.
  • Assisted in the development of the Windows Vista version of Darwinia, which was released on MSN Games shortly after Windows Vista's release.
Exosyphen Studios 2009 -- 2010
Linux and Mac Developer, contract work
  • Developed the Linux and Mac OS X ports of Hacker Evolution: Untold. Was tasked with eliminating the use of DirectX and Windows-specific APIs, and refactored the code to use much more cross-platform APIs including SDL, SDL_image, SDL_mixer, and OpenGL. The project is written in pure C++.
Google & Python Software Foundation Summer 2010
Google Summer of Code Participant, Software Engineer, contract work
  • Worked on the Unladen Swallow interpreter for Python, to reduce memory usage, eliminate memory leaks, and generally improve performance.
Uplink Laboratories 1999 -- present
Developer, non-profit personal project development
Currently the lead developer of several projects including:
  • CrissCross, a cross-platform C++ development library with several data structures and algorithms. Builds and runs on Windows, Linux, Mac OS X, FreeBSD, NetBSD, OpenBSD, and even the Nintendo DS. Currently used mainly for cross-platform game development as a supplement to the C++ STL, and game development libraries like SDL.
  • ARC++, a C++ rewrite of OpenARC, using SDL, SDL_mixer, SDL_image, OpenGL.
  • OpenARC, a clone of Hoopy Entertainment's Attack, Retrieve Capture. Originally written in Visual Basic 6, using a DirectDraw/Direct3D hybrid, and designed for Windows 95 and above (works even on Windows Vista and 7).
  • GenPrime, a prime number discovery algorithm, primarily used for code generation comparisons (a programming language shootout).
  • CryptoPad, a WordPad-like cryptography program written in Visual Basic 6. Open source.
Dungeon Crawl Stone Soup Development Team 2009 -- present
Developer, Mac maintainer, open source development
  • Initially worked to make the Mac OS X build of Dungeon Crawl Stone Soup usable, and now work on maintaining the contributing library overlays as well as the Mac OS X builds.
  • Also developed some nice GNU Makefiles which build the project successfully on Mac, Linux, Windows, FreeBSD, and several other operating systems without needing to use Autoconf/Automake.

Education

Seattle Pacific University, Seattle, WA, USA Winter 2007 -- Winter 2008
Student of Computer Engineering
Central Washington University, Ellensburg, WA, USA Fall 2006, Spring 2009 -- Fall 2010
Student of Computer Science
Moses Lake High School, Moses Lake, WA, USA 2003 -- 2006
Student
  • Participated in university-level computer science workshops.
  • Participated in an honors English course.

Other Experience and Qualifications

Future Business Leaders of America
  • Competed in Visual Basic Programming, C++ Programming, and Network Design.
  • Placed 1st in Visual Basic, C++, and Network Design at the Washington State North Central Region competition.
  • Placed 1st in Network Design, 2nd in Visual Basic, and 3rd in C++ at the Washington State competition.
  • Placed 5th in Network Design at the national competition. (Only could enter one event.)
Speech and Debate
  • Received several first place awards for Lincoln-Douglas debate in competitions at district competitions in Washington state.
  • Received an award from the coach for being the "Most Improved".
  • Received a second place award for a dual interpretation speech at a district competition.
  • State qualifier for Lincoln-Douglas debate.
Scouting
  • Achieved rank of Eagle Scout in 2001.
  • Was active in cub scouts, achieved all ranks (Bobcat, Wolf, Bear, Webelos).
  • Previously active in both Boy Scout Troop 69 and Venture Crew 69.
  • In the Order of the Arrow,