Chris L. Adamson

3702 Atwater Hills Ct NE
Grand Rapids, MI 49525

  • iOS Development - Cocoa Touch / UIKit, Foundation, Core Foundation, Core Audio, OpenAL, AV Foundation, SQLite, Core Data, CFNetwork, Bonjour, Core Location, MapKit, Core Animation, Core Graphics, GameKit, iPod Library Access, Keychain, In-App Purchase, Push/Local Notifications, RxSwift, Firebase, using Swift, Objective-C and C.
  • Mac OS X Development - Cocoa / AppKit, Foundation, Core Foundation, Core Services, Core Audio, AV Foundation, QTKit, legacy QuickTime libraries, Installer plug-ins, launchd, using Objective-C and C.
  • Media production - Final Cut Pro, Motion, Compressor, Garage Band, Soundtrack, HTTP Live Streaming (Wirecast, Wowza Media Server, mediafilesegmenter, etc.).
  • Other - Roku SDK development, QuickTime and MPEG-4 file formats, MP3 format and ID3 tags, JavaScript, CSS, Unix shell scripting, git, svn, makefiles.
San Francisco, CA (Remote)
September 2014 -
February 2017
Software Engineer — Developer for iOS-based remote math tutoring application ("MathElf")
  • Implemented app features like photo insert/scale/drag/rotate, account creation/login/editing, promo code sharing, tutor scheduling, push notifications, news "carousel", etc., all in Swift
  • Performed code reviews for other team members' code.
  • Developed backend code and tests in C# for some features.
Subsequently & Furthermore, Inc.
Marietta, GA /
Grand Rapids, MI
December 2003 -
Software Consultant/Developer — Designer/developer of software for iOS and Mac OS X.
  • June - July, 2014 — Developed ambient audio recorder / tester for audio player prototype app.
  • July, 2013 - May, 2014 — Developed OS X application to perform realtime chroma key effect on HD video capture (using AV Foundation and Core Image), provide editing and compositing features, export to H.264/AAC in .mp4 for deployment to client's hardware. Stored capture files and metadata in NSDocument for easy management of capture scratch files.
  • March, 2014 — Rescue engagement to correct audio synchronization in .mp4 video files exported by iOS-based editing app.
  • December, 2013 - February, 2014 — Developed iOS app for brand-name motivational planner / calendar product. Used Core Data to store user goals and progress, handled local and push notifications with periodic reminders.
  • March - August, 2013 — Developed iPhone app to monitor/control automatic transmission bicycle via Bluetooth. Parsed custom protocol with External Accessory API to update UI and sent commands via output stream.
  • September, 2010 - January, 2013 — Developed EPUB parsing and reading for iPad "course pack" reader application. Parsed XML metadata, rewrote XHTML with custom CSS and JavaScript, managed by Cocoa view controllers and threaded background paginator. Persisted and presented user-defined highlights and notes. Implemented all-document search. Re-implemented all of above for PDF format with custom PDF parsing and rendering.
  • July - September, 2010 — Integrated Core Audio effect units alongside VST plug-ins for Mac OS X audio conversion app, developed drag-and-drop GUI to customize and reorder effects.
  • June - July, 2010 — Addition of new features to existing professional sports event iPhone application: in-app purchase, iOS 4 app-switching support, networking fixes for iOS 4, UI changes.
  • January - May, 2010 — Worked on team porting user-activity monitor from Windows to Mac OS X. Developed installer plugins (Cocoa) and scripts, uninstaller app, daemon process to coordinate monitor tasks and download and install updates in the background. Also wrote stand-alone status bar menu (launchd agent) for user interaction.
  • October - November, 2009 — Diagnosed and repaired Core Audio and networking problems with HTTP Live Streaming audio feature in professional sports league's branded iPhone application.
  • June - August, 2009 — Developed user interface and low-latency Core Audio infrastructure for client's iPhone OS text-to-speech application.
  • March - December, 2006 — Developed stand-alone QuickTime for Java application (Mac, Windows) per client requests, offering one-off video capture and editing. Solved long-standing QTJ issues regarding rendering of video capture data, handling of device or settings changes, and pre-configured capture-time compression settings.

Independent Software Developer — Developer of end-user Applications sold on iTunes App Store
  • "Road Tip" (Released January 2010, Retired September 2013) — Developed iPhone application to find upcoming gas / food / lodging services for in-car use while driving on freeways. Determines current position and course, performs searches on licensed MapQuest data (via web services and proprietary XML protocols) to find and arrange segments of current road, finds exits along that path and nearby services. Implemented in-app purchase to sell ongoing subscriptions to the map data service.
  • "Don't You Know Your Own Tunes?" (Released September 2009, Retired September 2013) — Developed iPhone / iPod touch quiz game based on contents of user's music library.

Book author — See PUBLICATIONS below

O'Reilly Media
(off-site contractor)
Sebastopol, CA
October 2003 -
April 2009
Editor — Editor of industry-leading technology websites ONJava and
  • Solicited article proposals (3-4 / week), reworked with authors, edited copy for clarity and adherence to company style guide.
  • Wrote 20+ blurbs a week on site activities, open source projects, and industry trends. Also wrote five daily blogs and a weekly newsletter.
  • Wrote 30+ by-lined feature articles for these sites (see below).
  • Recorded, tracked, produced, and edited podcasts of developer interviews, technology talks, and opinion pieces.
  • Represented sites at technical conferences: JavaOne, ApacheCon, JBoss World, etc.
Pathfire, Inc.
Roswell, GA
January 2002 -
April 2004
Contract Software Engineer — Developer of Java-based network monitoring and configuration application.
  • Designed, and coded all user screens, wizards, etc in Swing, heavily threaded for responsiveness.
  • Wrote network client classes to receive status reports and send commands, import/export configurations via Java Message Service (JMS), also with RMI, JDBC, and raw sockets.
  • Co-developed DHTML web client to duplicate functionality of an existing media browsing/previewing client, wrote servlet code to proxy database and Jini connectivity to web client.
  • Wrote servlet to report current and historical host status and customer-support ticket info, with information from separate Sybase and SQL Server databases. Created needed Sybase database tables, triggers, and auto-ticketing script fired by trigger.
Atlanta, GA
October 2000 -
November 2001
Software Engineer — Developer for Java-based visual XML editing application used to map internet content (websites, databases, legacy servers) into a wireless-friendly format.
  • Added essential GUI functionality to application: copy-and-paste, drag-and-drop, undo/redo.
  • Prototyped XHTML browser-like rendering engine in Swing and Java2D.
  • Internationalized application for distribution in other languages and regions.
  • Developed sample mobility apps in JavaScript for another project.
Video Networks, Inc.
Roswell, GA
July 1997 -
September 2000
Principal Engineer — Team-lead and primary architect/developer for Java-based client-server system used in television news-rooms.
  • Wrote Swing-based client user-interface.
  • Designed distributed event scheme to update client UI's on arrival of new stories or changes made by other users.
  • Rewrote dubbing code, which plays an MPEG-2 video clip in an external application with text overlay from dynamically-generated BMP image, while controlling VTR via serial cable.
  • Developed "plug-in" system to allow for dynamic loading of arbitrary business logic code on server and client.
  • Also wrote code for back-end transport (file moves, database persistence).
  • Co-architected next generation of this product, moving from client-server to distributed architecture, using JMS and Jini for reliable self-networking.
Primary developer for Java servlet-based media browsing/ordering system
  • Developed servlet session-tracking and JSP-like "server-side tag" functionality before those features were added to servlet API.
  • Designed HTML and dynamic content for query and result pages.
  • Wrote applet to upload files via FTP and hand off to servlet, cryptographically signed for and tested on Windows (95/98/NT), Macintosh, and Unix browsers (Netscape, Internet Explorer, HotJava, and others).

CNN Headline News
Atlanta, GA
May 1994 -
July 1997
Writer / Associate Producer — Wrote top stories for live-hours, then produced update shows.
  • Selected video and stories for 15-minute cut-in shows, assigned stories to writers and copy-edited scripts. Adjusted rundowns during broadcast to keep to time.
  • Frequently filled in as copy editor, editing all scripts for two live hours and produced a cut-in as above. Occasionally produced full live-hour.

Pragmatic Programmers, LLC
Addison-Wesley Professional
O'Reilly Media
Forward Swift (2017)
CocoaConf (2011-present)
CodeMash (2009-2014)
Voices That Matter: iOS Developer Conference (2010-2011)
Michigan State University
E. Lansing, MI
1991 - 1993
M.A. — Telecommunications (Media Arts emphasis).
Stanford University
Stanford, CA
1985 - 1990
B.A. — English (Creative Writing emphasis).
B.S. — Symbolic Systems (Artificial Intelligence emphasis).
  • Stack Overflow contributor, user name invalidname.
  • Creator and host of Invalidstream a weekly livestream of iOS development lessons, and gaming demos.
  • Native English speaker, conversant in French and Japanese.

References available on request