| SKILL SUMMARY |
- Java SE -AWT (including copy/paste, drag-and-drop), Swing (including undo/redo, styled text), JavaBeans, Java 2D Graphics, I/O, nio, sockets (java.net), reflection, applets.
- Java EE - JDBC/SQL, Servlets, RMI, Java Message Service (JMS), XML parsing.
- Other Java - QuickTime for Java, Java Media Framework, Multimedia Home Platform (MHP), JavaSound, JavaHelp, Java Mail, serial I/O (javax.comm), internationalization.
- Mac OS X development - Cocoa, Objective-C, XCode, Interface Builder, QTKit, legacy C-based QuickTime libraries.
- Media production - Final Cut Express, Soundtrack, Garage Band, podcast distribution tools.
- Other - QuickTime and MPEG-4 file formats, MP3 format and ID3 tags, JavaScript, Unix shell scripting, make, ant.
|
| |
| EMPLOYMENT |
O'Reilly Media
(off-site contractor)
Sebastopol, CA
October 2003 -
present
|
Editor --
Editor of industry-leading technology websites ONJava and java.net.
- 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.
|
Subsequently & Furthermore, Inc.
Marietta, GA
December 2003 -
present
|
Software consultant/developer -- Designer/developer of cross-platform media solutions
- "Video Tools" (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 issues in QTJ community regarding rendering of capture data, handling of device or settings changes, pre-configured capture-time compression settings so captured video would not require subsequent re-compression.
|
| |
Pathfire, Inc. (consultant)
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.
|
| |
AnyDevice.com
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.
|
| PUBLICATIONS |
O'Reilly Media (books) |
|
O'Reilly Media (online articles, selected) |
- "Ruby the Rival" -- November 16, 2005.
- "What's New in QuickTime 7" -- May 10 & June 28, 2005.
- "Streaming QuickTime with Java" -- January 12, 2005.
- "Juggling JOGL" -- March 18, 2004.
- "Making Media from Scratch, Parts 1 & 2" -- August 13 & 27, 2003.
- "Parsing the QuickTime File Format with Java" -- February 19, 2003.
- "Self-Playing Media with Java Media Framework" -- October 9, 2002.
|
| |
| EDUCATION |
Michigan
State University E. Lansing, MI
1991 - 1993
|
M.A. -- Telecommunications (Media Arts emphasis).
- Co-created, wrote, co-produced 30-minute sitcom pilot.
- Designed and authored interactive HyperCard stack to teach basic video editing.
- Teaching Assistant -- taught two-hour, twice-a-week studio sessions for basic
production course (audio, video, hyper-media).
- Desktop Publishing Mac Lab Administrator -- administered file-servers, printers,
and ethernet, helped users with computer basics.
- Worked in various capacities (remote camera, sound, switcher) for "TelState,"
a non-profit video-production group.
|
Stanford University
Stanford, CA
1985 - 1990 |
B.A. -- English (Creative Writing emphasis).
B.S. -- Symbolic Systems
(Artificial Intelligence emphasis).
|
| OTHER |
- Founder and maintainer of open-source projects: "Jicyshout" (streaming MP3 playback / ID3 tag reader for Java Media Framework), "Lloyd" (QuickTime for Java extensions, written in Java and C), and "Keaton" (Java wrapper around Cocoa-based QTKit framework for Mac OS X, written in Java and Objective-C)
- Native English speaker, conversant in French and Japanese.
|