- Server DeveloperMarchingOrder2016 - PRESENT
Technologies: C#, .NET, LINQ, Entity Framework
- Maintain, debug, and code new features for a system assisting university graduation ceremonies.
- Wrote documentation.
- Analyzed performance bottlenecks.
- Set up staging servers.
- Made logging a central part of performance analysis.
- Macintosh DeveloperAutomagic Apps2012 - PRESENT
Technologies: AppleScript, Objective-C, Omnifocus
- Learned Macintosh programming and AppleScript in advance of project.
- Wrote status-bar item application and created workarounds for numerous bugs in the responder chain for control-key embellished keystrokes.
- Determined method for extracting data from the Omnifocus application using AppleScript.
- Wrote logging layer to aid with investigating customer reports of inoperability on some machines.
- Developed extensions for common UI controls to allow keyboard manipulation of controls which previously required a mouse to operate.
- iOS DeveloperDoozie, LLC (via Toptal)2015 - 2015
Technologies: iOS, Xcode, Firebase
- Built a graphics- and database-intensive dual application.
- iPhone Software EngineerRADIOActive Pte. Ltd.2012 - 2012
Technologies: Objective-C, Facebook SDK, Twitter SDK, JSON, Xcode, BASS Audio
- Wrote an application for a Malaysian company client to stream radio songs and advertising.
- Developed a background download queue amenable to easy reuse with synchronous and asynchronous download options, caching, aging, and notification-based delivery.
- Learned Facebook SDK and managed to retain compatibility all the way back to iOS 3.2.
- Discovered undocumented recent changes to Twitter. Integrated to the new application and figured out how to get them working by sheer ingenuity (and some guesswork).
- Developed extremely glitzy user interface tricks and animations resulting in a very engaging and original-looking application.
- Wrote an application compatible with extremely old versions of iOS including handing in-code features not available until later versions.
- Sole ProprietershipFoxWare Can Tho2011 - 2012
Technologies: iOS, Xcode, FlickrSDK, JSON
- Learned Objective-C and iOS development in a matter of weeks (on own initiative).
- Wrote cryptography library to expose use of keychain, symmetric and asymmetric encryption, hashing and signing, all via simple API calls.
- Wrote first password generator in AppStore to synchronize multiple installations using iCloud.
- Wrote Photo World application using geotagged public photographs and iOS map object to fetch and display photos chosen by location, tags, date taken, and many other parameters (rated 4.8 stars in the AppStore).
- Utilized numerous background processes and multithreading to hide network latency behind active and visible user experience.
- Senior Software Engineer (Contract)Real Networks, Inc.2009 - 2010
Technologies: Lua, C++, C#, Visual Studio
- Learned Lua scripting language and assumed responsibility for game installer at the core of division's revenue.
- Extended installer based on limited scripting language with 8-bit characters to install on all Windows-supported languages.
- Supported applications for other teams, working with a variety of languages and technologies .
- Wrote Lua extension DLLs in C++ to make use of Windows frameworks (previously not available in Lua).
- Wrote extensive documentation of project with detailed explanations of operation to ease with transition of company offices.
- Senior Software Engineer DRMWildTangent2006 - 2008
Technologies: C++, Visual Studio
- Handled all DRM issues for a game distribution company.
- Developed numerous content-protection schemes and improved such schemes constantly to counter hacking challenges.
- Developed software to "inject" DLLs into games whose source code we did not have, working only with released binaries, hooking API calls and overriding them with my own code.
- Developed a system to hide files requiring license purchase prior to use so games could not "see" them in the file system.
- Wrote code to load and decrypt large files superior in performance to native API calls.
- Wrote a logging layer to work directly with testers and bypass cumbersome bug-reporting/triage systems.
- Senior Software Engineer DRMMicrosoft Corporation2002 - 2006
Technologies: Internal MS tools, Visual Studio, Windows Media Player, C++, C
- Handled individualization servers underlying the entire Microsoft Media Player DRM initiative, including ownership of most protected decryption keys in use by the company.
- Wrote a portability layer allowing DRM porting kit for portable devices to be used on MP3 players with extremely unusual CPUs, with bytes of 16 or even 24 bits (achieved 95% functionality upon the first test).
- Designed a certificate chain for all content protection on Windows Vista.
- Worked closely with Singaporean company to solve performance issues on a specific processor and rewrote algorithms from O(3) to O(1) after determining problem.
- Managed to produce an extremely slipshot check-in system (which, in the end, was so frustrating to use that some entire hallways were emptied by resignations).
- Wrote and patented license synchronization and metering features for Windows Media Player 10 and 11.