Informal Resume of Mark Dalrymple
1239 State Route 356. Leechburg, PA 15656
markd@badgertronics.com
I'm a computer geek looking for opportunities to learn new stuff and
work with smart people.
Jump to a specific part of this document:
Badgertronics / Borkware
arsDigita
AOL
Visix
Nuclear Medicine
Web Site Development
Technical Details
Professional Experience (most recent first)
2001-present Integrated Badgertronics / Borkware
Integrated Badgertronics is my
personal website. Borkware is my
Macintosh OS X software development identity.
November 2001 - present
- Constructed the Core Bootcamp
course for the Big Nerd Ranch. Co-authored the course materials, which
has been published as the book
Core Mac OS X and
Unix Programming.
- Author of the forthcoming ebook, Learn Objective-C On The
Macintosh.
- Founding member of CocoaHeads, a Macintosh programming
group, with Chapters in Pittsburgh and Boston. A third chapter is forming
in the midwest.
- Worked with team at NOMOS on the
CORVUS IMRT radiological treatment system. Implemented mechanism for
reading data from NeXTstep-system generated DAT tapes using Apple's
STUC (SCSI Toolkit User Client) libraries. Cleaned up user experience
dealing with SCSI magneto-optical disks (including working around
errors in Apple's disk arbitration daemon in Jaguar, and updating it
to use the DiskArbitration SPIs included in Panther and Tiger),
refactored a number of user interface components to use a new data
model for feeding data to several Cocoa tableviews, and a customized
2-D and 3-D histogram view. Also debugged some Xcode build issues,
and fixed rasterization problems in their printing architecture.
- Created Mac OS X cross stitch design software for The QueenStitch.
- Worked with team at Hobnob
to implement a RADIUS proxy with 802.1X authentication using
FreeRADIUS and OpenLDAP. Assisted with the design of an in-house
test management system using PostgreSQL and PHP. Assisted with the
design of a network device registration system.
- Worked with team at away.com, built
a system to import travel book data from a back-office system into the
live site. Built prototype for shopping cart. Built system to import
trip data from GORP.com's database into
the away.com system. Advised the team on Oracle database migration
strategies. Was a technical "go-to" person for their staff when they
had unix, oracle, AOLserver, or CVS questions.
- Worked with the team at 1-800-save-a-pet in
diagnosing and fixing web server and scalability issues.
Included upgrading the web server software on the production
site, addressing Oracle scalability issues, moving the Oracle
database off of the web server front-end onto its own machine.
Was a technical "go-to" guy and site performance firefighter.
- Completed Oracle 8i DBA Certification
- Attended Big Nerd Ranch,
Mac OS X development training.
- Studied various technologies, such as Java (AWT/Swing),
Python, Postgresql, OpenGL, Test-Driven Development and Extreme
Programming.
- Created Borkware
- Published numerous technical articles at the now-defunct
MacEdition website.
- Presented a tutorial on C Programming for The Western Pennsylvania Linux User's Group
- Presented a tutorial on
gdb
(the GNU Debugger)x
for The Western Pennsylvania Linux
User's Group. The talk was filmed and
placed online.
1999-2001 arsDigita
arsDigita specialized in database-backed
web sites and collaborative/community web applications. We did much of
the low-level technological work, such as web hosting, db design and
administration for high-volume web sites.
March 1999 - November 2001
1995-1999 - America Online
AOLserver (February 1997-February 1999)
AOLserver is America Online's
web server software, which lies behind websites such as www.aol.com,
members.aol.com, hometown.aol.com, mynews.aol.com, as well as many
large sites on the net such as photo.net. AOLserver handles tens of
thousands of hits per second at AOL.
AOLserver was originally NaviServer, a product of NaviSoft), and was
acquired by AOL. When the California development office was shut down
only one of the NaviServer staff came to the East coast, so a new
team was formed to maintain and extend the software
I was the technical lead for AOLserver after it was moved to the East
coast and handled all of the day-to-day details of support,
development, and maintenance (with emphasis on the support and maintenance).
I shepheared AOLserver from release 2.1 through 2.3.3.
Support
- Supported teams internal to AOL through telephone, email, and
geek-to-geek contact
- Supported a few hundred organizations external to AOL via the
AOLserver mailing list and directly via the support mail
addresses (feedback/bugs@AOLserver.com)
- Participated in customer mailing lists and message boards
- Front-line diagnosis of production issues
Development
- Added new features as the customer base needed them
- Developed caching module in use on mynews.aol.com
- Developed AOLserver versions of AOL-internal HTTP verification
protocols
- Extended server logging to better support in-the-field
diagnostics
- Added select loop scheduling for page serving
- Added low-level "server health" statistic tracking
- Developed UDP communications driver
Maintenance
- Fixed defects (bugs) inherited from original NaviServer developers
- Extended Sybase proxy daemon
- Worked on benchmarking and performance tuning
- Overhauled/rewrote defect-prone portions of the code.
- Overhauled build system
- Cleaned up internal APIs
- Integrated features and fixes donated by the customer base
- Y2K certification of the code base
- Code optimizations
- Ported AOLserver to new platforms (Solaris x86, HP-UX 11.00)
IP Tools Development (November 1995-February 1997)
IP Tools is a team that produces Macintosh and PC tools for AOL
Information Providers to create and upload their content onto
the AOL service.
Tools Development
I was chief architect for the Macintosh Rainman tool. Rainman is AOL's
proprietary templating-based publishing system. At the time, the only
interface to Rainman was via emailing text scripts to a robot process
and monitoring return email.
The Rainman tool provided a visual interface to this publishing process.
- Designed internal application flow of control for eventual support
of AppleScript and Undo
- Worked with MS-platform counterparts to coordinate technologies
- Mentored junior team member
- Implemented platform independent "Flavor" data storage architecture
- Implemented core infrastructure, database access, element
communication
- Set up source code structure, build infrastructure, revision
control, and guided engineering policies
- Fixed software defects and performed performance testing and
measurement
- Got product to a late beta state before the team was relocated to
California
- Received fan mail from the California team. "Yours is the only
code we haven't had to fix or rewrite"
Macintosh 3.0 Client
The IP Tools Macintosh team (3 programmers) was loaned to the
Macintosh 3.0 client team for a number of months to help them
meet an impending release deadline.
February - April 1996
- Helped verify tickets in Vantive database
- Implemented HotSpots (AOL-Style image maps)
- Hooked Stuffit decompression libraries into the file download pipeline
- Added PICT picture decoder
- Added display of image files as they download
1990-1995 - Visix Software, Reston, VA
Galaxy
Galaxy is a large-scale development environment that is portable to
numerous platforms, including unix, Macintosh, MS Windows, and VMS.
Quality Assurance
June 1995 - November 1995
- Instigated the formation of a quality assurance team.
- Helped design unit test strategy and test implementation.
Galaxy/DB Spectrum
Galaxy/DB Spectrum is an add-on product to Galaxy that provides
portable database connectivity and a report generation system.
January - February 1995
- Helped team that was behind schedule.
- Implemented report item architecture.
- Implemented some UI objects.
- Designed and implemented the number/date formatting
architecture, which uses Excel-style picture strings to describe the
formatting options.
Galaxy Developer's Conference
The Galaxy Developer's Conference is an annual 3-day conference for
Galaxy users where Visix personnel lecture on Galaxy programming
techniques.
September 1994, 95
- Authored and presented talks on creating Galaxy dialog items,
software reusability, and using the Galaxy list manager.
Galaxy Explorations
Galaxy Explorations is a quarterly newsletter for Galaxy customers,
featuring technical and marketing articles.
Fall 1993 - 1995
- Authored 6 "Tips and Techniques" articles, covering topics
from image animation to control customization to the use of the Galaxy
memory manager.
Galaxy Help System
The Galaxy Help System is a pair of applications (a help source
compiler and a help browser similar to QuickView) in addition to
Galaxy library support for on-line help.
February - November 1994
- Helped team that was behind schedule.
- Designed and implemented architecture for the help compiler.
- Implemented portions of help server, including table of
contents, search UI, bookmarks, browser history, and preference UI.
Trade Shows and Demos
Authored demo software used in the trade show booth as well as in sales
seminars and presentations.
April 1993 - May 1995
- Designed and implemented WallDemo - a demo targeted at
wall-street businesses.
- Designed and implemented MTS - a demo to elaborate on a
"Managing Technology Change" marketing strategy.
- Was part of the team writing a proof-of-concept
phone-representative information system for the Vanguard Group.
Designed and implemented user interface components.
Consulting
I was the first Visix consultant.
December 1992 - March 1993 at JP Morgan, Wall Street
- Worked with Morgan team developing trading-desk software.
- Implemented interface between Morgan communication libraries
and Galaxy.
- Designed and implemented a charting architecture.
- Galaxy evangelism: writing demos, giving presentations, and
answering questions to hostile groups inside of Morgan.
List Manager
The Galaxy list manager is a trio of objects in the Galaxy
library. One, the list, is a dynamic 2-dimensional table data
structure of arbitrary size and customizable data representation. The
second is the list selection, which implements a logical set of list
cells that are selected. The third, the list view, is a scrolling
table displaying the data contained in a list. The listview supports
varying row heights/column widths, row/column rearranging, as well as
providing complete control over cell drawing and selection logic.
June 1991 - 1995
- Designed, implemented, documented, maintained, and supported.
Looking Glass
Looking Glass is a unix application that presents a graphical view to
the file system in a manner similar to the Mac Finder. The windowing
system independence of the Looking Glass support library was the
genesis of Galaxy. Looking Glass eventually became the first version
of Caldera's Linux desktop manager.
Looking Glass 3.0 sound
Looking Glass 3.0 includes sound effects for different user interface
actions.
1991
- Determined where in the libraries and application to add the
hooks for the sound routines, and implemented these hooks.
- Designed and implemented the user interface for associating
the sounds with their actions.
Looking Glass Maintenance and Support
June 1990 - 1992
- Bug fixing and maintenance on the SunView (a Sun graphical
environment) and EnvironV (an Intergraph graphical environment)
portions of the Looking Glass toolkit.
- Supported Looking Glass on all of its platforms via telephone,
email, and customer visits.
1987-88 John L. McClellan VA Hospital (Little Rock, AR)
Department of Nuclear Medicine
Volunteer work over summer and winter breaks during college.
- Assembled a half-dozen PC clones from spare parts
- Developed an radioactive isotope tracking and reporting system in DBase II
- Developed a quality control/effort summary and reporting
system for Nuclear Medicine in DBase II
- Developed an end-user data-entry system for the above effort summary
system.
- This system is still in use at University of Nebraska, Medical Center
- In 1991, Inspectors from the JCAHCO (Joint Commission on the Accreditation of Health Care
Organizations) said it was one of the
best systems of its kind
Web Site Development
In addition to the web sites mentioned above, I have worked on these
personal projects.
- Integrated Badgertronics,
http://www.badgertronics.com
- My personal home page
- Built using AOLserver and Oracle
- Borkware, http://borkware.com
- First Evangelical
Lutheran Church of Leechburg
- Call-Volume Reduction Taskforce.
- This is an AOL-internal website that a special team of
Call Center representatives use when "drilling-down" on
client crashing problems in the field
- Replaces a kludgey cut-and-paste email system with a
database-backed web site
- Provides reports to Call Center management and the
Call-Volume Reduction Taskforce
- Built using AOLserver and the Solid relational database
- Loudoun Symphony,
http://www.loudounsymphony.org
- Re-keyed most of the content from hard-copy (orchestra
concert programs and other printed material)
- Adapted Philip Greenspun's "Spam" mailing list software
- Re-engineered Greenspun's "Loquacious" commentary system
(since he hasn't published the source code to that)
- Implemented a scheduling system for storing rehearsal and
performance information. (See the Player's Resources page
to see rehearsal dates pulled from the database) This same
database can be used by board members to announce meetings,
etc
- Digitized and compressed audio for serving to Quicktime 3.0
enabled browsers.
- Built using AOLserver and Oracle
Technical Details
Computer Languages
- Used C, C++, Objective C, Tcl, Pascal, Oracle SQL,
Oracle PL/SQL, PostgreSQL, and HTML on a day-to-day basis
- Studied Fortran, Perl, Python, Postgresql, and Java
- Dabbled in Tk, Dylan, Scheme, and Emacs Lisp
Unix Experience
Have been programming unix boxes since 1990
- Am colocating and maintaining a production Linux box.
(the machine that hosts
www.badgertronics.com, among others)
- Emacs weenie
- Proficient with debuggers (dbx, gdb, ladebug)
- Proficient with revision control systems (CVS, Perforce)
- Used profiling tools (gprof, atom, decthreads)
- Proficient with Pure Software tools (purify, pure coverage,
quantify)
- Used Solaris/Sparc 2.x, HP-UX 10.xx, Irix 6.2, Digital Unix 4.0D,
LinuxPPC, Linux, Mac OS X on a day-to-day basis
- Used Solaris/x86, HP-UX 11.00, Irix 5.3, FreeBSD,
on an irregular basis
- Have ported and supported code to all of the above platforms
- Have used AIX and many obscure Unix flavors in the past
- Have spent time with MkLinux, LinuxPPC, FreeBSD 2.2.x,
- Worked with Sybase, Oracle, Solid, and PostgreSQL relational databases
- Member of WPLUG, Western Pennsylvania Linux User's Group's board of directors.
Database Experience
Have been using Oracle since version 8.0.5
- Worked with Oracle SQL and PL/SQL on a daily basis
- Diagnosed and fixed production performance problems
- Completed Oracle 8i DBA Certification in March of 2002
- Attended Big Nerd Ranch PostgreSQL bootcamp, led by Bruce Momjian.
Macintosh Experience
Have been programming the Mac off and on since the TML Pascal days (1985)
Macintosh training and conferences:
- 2002 - Present, teach the Core Bootcamp
at the Big Nerd Ranch
- 2002 - PresentAttended Big Nerd Ranch Cocoa (a.k.a. NeXTstep) training, and PostgreSQL training.
- 2003 - Attended WWDC
- 1986 - Macintosh Programming Seminar
Apple Computer, David Smith instructing.
- 1990-1994 - Attended MacHack technical conference.
- 1996 - Attended WWDC
Miscellaneous Notes
- Studied the Personal Software Process and Extreme Programming,
and am interested in software
processes in general, and in particular how to increase the
quality of software at the beginning of the process rather than
trying to hack it in at the end.
- Active member of Western Pennsylvania
Linux User's Group and CocoaHeads.
- Proficient Balloon Twister
- I am a voracious reader of technical material.
Education
B.A. Mathematics with Computer Emphasis
Hendrix College, Conway, AR
References available on request.
[back to Badgertronics]
markd@badgertronics.com