Michael J. Hammel

Senior Software Engineer

3210 Hollycrest Drive
Colorado Springs, CO 80920
832-754-8755 (c)
mjhammel@graphics-muse.org
http://www.ximba.org / http://www.graphics-muse.org

Professional Objective

Software Development work on Linux/Unix systems.

Experience

Over 15 years of software development and test on Unix, Linux and open source systems in R&D environments for the Telecom, Storage and Computer System industries.

Operating Systems

Linux (Red Hat/Debian/SuSE/MontaVista/Custom distros), FreeBSD, Solaris, SGI IRIX 5.3/6.2, UNIX System V R3 and R4, DG/UX (SVR4), AIX, HP/UX

Development tools

C, Perl, PHP, CVS, Perforce, Subversion, Bugzilla and other bug trackers, UNIX sh/bash/ksh scripts, gcc, imake/make/autoconf, gdb, Glade, Purify, Sentinel, PostgreSQL / MySQL / mSQL, RPM package management system, debbootstrap, kernel builds, Wordpress (blogger), XML, wget/curl

Hardware

Intel / AMD based PC's and blade servers, 1U/3U/6U rack module systems, VIA mini-ITX systems, video controllers, memory systems, Pilot based PDAs

Architectures

X11 (base and some extensions), UNIX System V, Linux, BSD 4.3 networking (sockets), event and object driven programming

Web and Graphical
Systems

X Window System - Xlib / Xt / Xaw / GTK+ / Motif, Web - HTML / DHTML / CSS / Ming Flash, Firefox/Mozilla, GIMP/Phostoshop,, UNIX-based image conversion and editing tools

Publications

Columnist, LinuxFormat Magazine (UK), Future Publishing, 2002-Present

Senior Editor, LWN.net, 2000-2001

The Unix Web Server Book, Ventana Press, published December 1996 (co-authored; responsible for Graphics and Multimedia chapters) 

GTK+ Programming, SAMS, published 1st Quarter 2000 (authored the 2 chapters on GLib programming)

Artists Guide to the GIMP, SSC Publishing, 1999.

Essential GIMP for Web Professionals, Prentice Hall PTR, 2001.

Artists Guide to GIMP Effects, No Starch Press, to be published in 2006

Selected Writings

Ximba Radio: Developing a GTK+/Glade GUI to XM Satellite Radio, Linux Journal, September 2004

An Introduction to GTK+Programming, Linux Magazine, June 2001

The History of XFree86, Linux Magazine, to be published December, 2001

4 books and over 90 articles, editorials and reviews for Salon.com, Linux Journal, Linux Magazine, Maximum Linux and Linux Format magazines as well as the Linux Gazette online journal.

Education

B.S., Computer Science, May 1987
Texas Tech University, Lubbock, Texas

Talks

Atlanta Linux Showcase, October 1999

LinuxWorld, February 2000

Atlanta Linux Showcase, October 2000

SXSW – South by Southwest, panel member, March 2002




Career Highlights

Senior Software Engineer
Octopus Development Group
DRS Technologies, Signal Solutions Colorado
April 2005 – April 2006

Responsible for overall design and implementation of custom embedded Linux distribution for high-end, blade-like system. Defined and implemented embedded root filesystem layout based on Busybox toolset and MontaVista Linux platform. Created build system for custom Linux distribution based on LinuxFromScratch methodologies. Modified and maintained high speed network driver for HyperTransport/SPI-4 interface for a 2.4 kernel. Focal engineer for design issues from kernel level through distribution and applications support, including work on 2.6 port and clustering software integration. Lead developer for all tools, including CVS management, build system, Wiki and blog installation and maintainence and overall developer tool specifications.

Senior Software Engineer
Control Tower Software Group
RLXTechnologies, Inc.
Nov 2003 – December 2004

Designed and implemented automated full image and upgrade build and developer test systems for Linux based (Red Hat and Debian) blade management product. System includes automated remote testing facility supporting both frontend and backend sanity, regression and unit tests. Build system is template based and utilizes GNU Make, Perl, CVS, wget, RPM, alien and related tools. Test system built with Perl and PHP. Wrote ~20 page document describing in detail image build process, tools and related resources for use by team when I was unavailable.

Also responsible for developer tools for debugging, profiling, encoding and caching of PHP based management system, including integrating CVS with bug tracking system and online blogging software. Built and packaged in RPM format PHP, PostgreSQL and numerous inhouse applications. Implemented Linux LiveCD based factory installation software based on Morphix distribution. Worked on integrating features to a uClibc/Busybox based embedded environment. Installed and managed Wordpress blogger, PmWiki Wiki software, and Qmail for integration with blogger. Established APT repositories for use with RPMs. Built and managed upgrade distributions for field released products.

Additional responsibilities included managing hardware resources for developer group, including CVS, archive, DNS and DHCP servers, test blade and 1U systems and accompanying peripherals and network systems including VLAN management on Cisco switches. Maintained Wiki system and content to keep track of all resources, developer documents and processes used by the Control Tower Software team.

Senior Software Engineer
Hardware Diagnostics Group
Panasas, Inc.
April 2002 - February 2003

Responsible for the design, implementation and deployment of a distributed test harness written in C and used for automated testing of blade server systems in both the hardware design facility and in factory production. System included general infrastructure for link list and task management, distributed status handling using a TCP based protocol, and user interface features based on GTK+, ncurses and Web browsers. Also responsible for diagnostic test tools used in certification of both memory and hard drive subsystems. Over 15000 lines of new code, plus management of existing code base under both Perforce and the Cons build environment.

Senior Editor
LWN.net
September 2000 - November 2001

Responsible for day to day editorial management of various parts of a news oriented web site with over 2 million unique visitors a month. Processed content for the Daily Page, requiring sifting through news leads, finding, reading and selecting, and posting material appropriate for that page. Daily Page used as content primer for Weekly Edition. Wrote lead in articles based on development research and personnel interviews and edited various pages of Weekly on as needed basis. Covered issues including Desktop Linux, Security, Distributions, Development and Commerce. Wrote numeours Front Page editorials. Primary editor for site while Managing and Executive Editors were out of contact, usually once or twice a month. Minor coding work for site maintenence.

Senior Software Engineer
Samsung Telecommunications America
November 1997-February 1999

Responsible for development, test, and installation issues related to base station management system for digtal PCS network. Work includes analysis and documentation of Graphical User Interface designed and implemented in Korea, extension of GUI for new features, and overall understanding and debugging of Unix-based daemons and tools. Lead engineer for all Unix-based development.

Senior Engineer
EMASS, Inc. 
June 1996 - November 1997

Designed and implementated Motif based UI and daemon for AMASS file system administration, including generic AMASS API libraries for use with Command Line Interface (CLI) tools. Libraries include signal wrappers, link list management, work file management, and AMASS API wrappers for querying the AMASS API. System being ported to multiple flavors of Unix.

Primary architect for new application layer features. Initiated formal development process, coding standards. Initiated the use of product plans and schedules. Responsible for bug fixes in both application level and some kernel level code.

Lead Developer
Xi Graphcs, Inc. 
April 1995 - February 1996

Responsible for porting of OSF Motif 2.0 to various Intel-based Unices, including BSDI BSD/OS, Linux, and FreeBSD. Ported and packaged X11 XVideo extensions (server extensions and sample implementations of API library) Wrote HTML based documentation for these products. Designed and implemented an mSQL-based Web database using C programs. Responsible for evaluation of various UNIX based tools for graphic design (netpbm, gimp, etc). Established RCS tree and development tools for accessing, updating, building, installing and creating distribution packages. Developed initial Web site. Responsible for keeping an eye on related Usenet newsgroups and forming ideas and information for WEB site.

Contract Programmer
Aztek Engineering, through Adia Information Systems 
November 1993 - February 1995

Wrote event-driven, streams-based application code for Unix-based Interactive Cable Video system (GTE Mainstreet). Designed and implemented DOS-based TCP/IP gateway library. Designed and developed text-based front-end to database conversion utilities. Primary Test Engineer responsible for automating test facilities. Designed and developed Script Generator utilizing SQL for creating scripts used by a load-generating test facility. Developed new proprietary script format for verifying content of video and audio frames sent to a terminal access device connected to TV. Implemented automated tools for analyzing test results for validity. Designed and wrote Acceptance and Field Verification Test Plans.

Designed and implemented textual interface to embedded real-time telephone switching system for developers use in debugging. Implementation protocol for passing information between multiple tasks within the switch. Assisted in debugging of call processing and billing tasks and coordinated the integration of PC-based administration utilities with the switching system.

Other Experience

Chairman and Founder
Colorado Linux Info Quest
August 1999-October 2001

Founded the Colorado Linux Info Quest (aka CLIQ), a registered non-profit in the state of Colorado formed to provide a vendor neutral, community friendly and business focused conference and exhibit for the Rocky Mountain Region. Chaired the first event in April 2000, which ran with a $26,500 budget, including overall event management and management of the board of directors, handled all financial issues for the event, contracted and acted as primary contact for all exhibitors and sponsors, handled all event venue preparations, wrote and tested the Web-based registration system used at the event, handled all attendee registrations and the accompanying database management, handled all publicity and show signage issues and lead the volunteer board of directors who managed all other aspects of the show. Chaired the committee for CLIQ 2001, with similar duties and a budget of approximately $40,000. Managed second event from a remote location (Houston). Handled all tax and corporate filing issues. Both shows broke even. Non-profit dissolved by unanimous vote of board of directors in October 2001.

Independent Work

MythBox: Custom Linux distribution and complete GNU make build system created for embedded design of MythTV backend server.

Graphics Muse Tools: I am the original author of these BSD licensed C-language plugins and data files for the GIMP. URL: http://www.ximba.org/gfxmuse/gfxmuse.html

XNotesPlus: I am the original author of this C-language, GTK+ based Personal Information Manager for Linux/Unix systems. URL: http://www.ximba.org/xnotes/xnotes.html.

Ximba Radio: I am the original author of this C-language, GTK+ based tool for remote control of an XMPCR, an XM Radio for PCs. Also worked on Perl based daemon that manages the device and plan working on a design for a gStreamer-based reflector for remote access of audio stream. URL: http://www.ximba.org/xnotes/xnotes.html.

XEUS: Ximba End User Software - my project management web site. URL:http://www.ximba.org .

Blue Bug Studio: My wife's business web site. I designed, implement and maintain this site for her. URL: http://www.bluebugstudio.com