Contact
Technical Skills
- Writing
- Documentation
- Languages
- English (Native Language)
- Spanish
- Japanese
- Speaking (on hiatus since 2016)
- Programming Languages (ranked by proficiency)
- Objective-C
- C
- Nim
- Python
- Ruby
- AppleScript
- Groovy
- Swift
- Go
- x86 Assembly
- Javascript
- C++
- Frameworks
- Cocoa (Interfacing with Objective-C, Swift, AppleScript, Python, and Nim)
- CocoaTouch (Interfacing with Objective-C and Swift)
- CUDA (Interfacing with C)
- OpenGL (Interfacing with Objective-C, C, and C++)
- Code Projects
- pbPlist, an all-purpose plist library written in Python that allows reading and writing of ASCII/NeXTStep Property Lists.
- bsl-validator, a interpreter for Bungie Scripting Language (written in C)
- nslocalizer, a tool for finding missing and unused NSLocalizedStrings (written in Python)
- pyconfig, a DSL for building and managing xcconfig files easily (written in Python using pyparsing)
- xcparse, an implementation of the Xcode build system (written in Python)
- aosd, a tool for downloading packages available from opensource.apple.com (written in Python)
- SDMMobileDevice, Reverse Engineered from Apple's private framework for iOS device management and low level communication
- x86engima, World War 2 German Enigma Encryption Machine (written in x86 Assembly)
- iOS 5.x and 6.x tethered jailbreak (based on p0sixspwn)
- Infrastructure
- Build Systems
- Xcode (iOS and OS X)
- Gradle (Android)
- CMake (Multiple architecture and platform configurations)
- Make (Multiple architecture and platform configurations)
- Autotools (Multiple architecture and platform configurations)
- Jenkins
- Building custom extensions
- Managing build jobs (using Pipelines and Job DSL)
- Telemetry & Reporting
- InfluxDB + Telegraf + Graphana
- ElasticSearch + Logstash/Beats + Kibana
- Servers & Containers
- Familiar interacting with AWS EC2
- Heavy use of Vagrant and Docker for testing and application deployment
Work Experience
- Ruby Engineer, Disney Streaming Services, February 2017 to August 2019
- Build & Release Engineering, Supporting Mobile App Development
- Maintained CI instances (Jenkins) and developed new interfaces to control build jobs
- Migration from Jenkins Job DSL to use Jenkins Blue Ocean and Pipelines
- Wrote documentation for internal build tooling and iOS Swift frameworks
- Contributed to transition from Carthage to internal tool for handling iOS app dependencies
- Constructed internal telemetry for jenkins servers as well as internal application deployment
- Mac Developer, Feral Interactive, May 2011 to Present
- Oni (Homepage)
- Updated deprecated code from PPC to run on Intel platform
- Implemented new engine features with collision detection
- Updated existing graphic engine to take advantage of modern hardware
- Build Engineer, iRobot Corporation, August 2016 to December 2016
- iRobot Home App (App Store)
- Maintained CI instances (Jenkins) for the Software Applications team
- Integrated C++, Android, and iOS unit tests with internal CI service (Jenkins)
- Automated release procedures for iOS and Android applications
- iOS Developer, iRobot Corporation, April 2015 to August 2016
- Ava 500 Control App (App Store)
- Implemented new UI and features for an app to control a telepresence robot
- Maintained a build server for doing daily builds for internal SQA testing
- iRobot Home App (App Store)
- Managed build system tooling for the mobile development team
- Created on-boarding UI for setup of Braava-Jet
- Build System Engineer, CocoaPods Project, September 2014 to Present
- CocoaPods (ruby gem)
- Assisted with changes to the integration process with Xcode
- Debugging issues with third party developers
- Mac Developer, Flexibits, May 2014 to July 2014
- Fantastical 2 for OS X (Homepage)
- Extensive work with date/time programming
- Implemented communications with iCloud CalDAV service
- Prototyped implementation of geo-fencing for reminders
- iOS Developer, Chaotic Moon Studios/Marvel Studios, September 2013 to April 2014
- Marvel Unlimited (App Store)
- Rapid prototyping of client designs
- Integration of third party frameworks (audio and video media integration)
- iOS Developer, American City Business Journals, August 2012 to December 2012 (internship)
- American City Business Journals (App Store)
- Extensive UX design on ACBJ mobile app for iOS
- Creation of mobile app for iPad
- Refactor of existing mobile app code to improve performance
- iOS Developer, Survey.com, January 2012 to May of 2012 (internship)
- Survery.com (App Store)
- Refactored the UI of the iPhone application
- Implement new controls for taking surveys in the app