Fritz Anderson
5020 South Lake Shore Drive #3114
Chicago, Illinois 60615
Email:  fritza@manoverboard.org
Telephone: 773-834-1499 (weekdays)
773-643-3292 (evenings)
773-320-6592 (mobile)

Goal

A position that makes the best use of my knowledge, training, and experience in object technologies, Unix, and, preferably, Mac OS X.

Skills
Excellent

Operating Environments: Mac OS (through 10.4); Linux (X Window/bash) 2.4.x, FreeBSD 4.x (via Mac OS X). Have edited and compiled kernel-level code for these environments.

Programming Languages: C Family (C [25 yr], C++ [15 yr], Objective-C [19 yr]). XTalk Family (HyperTalk/HyperCard [20 yr], SuperTalk/SuperCard [14 yr]). Ruby [7 yr].

Tools: Apple Xcode/Project Builder [8 yr]. Subversion SCM [3 yr]. Metrowerks CodeWarrior through Pro 8.2 [10 yr]. Apple Macintosh Programmer's Workshop (MPW) [9 yr].

Skills: Object-Oriented Programming [18 yr]. Design Patterns [8 yr].

Technologies: Cocoa (OpenStep) [8 yr]; Graphical Human Interface [25 yr]; Image conversion and processing [11 yr].

Proficient

Operating Environments: MS-Windows (through XP)

Programming Languages: Java [9+ yr]. AppleScript [18 yr]. Squeak Smalltalk [3 yr]. Mathematica [6 yr]. Assembly: (6502 [4 yr], BAL [1 yr], 8080/Z-80 [2 yr], 8088 [3 yr], 680x0 [8 yr]).

Tools: Macromedia Dreamweaver [2 yr]. EMACS [10 yr]. CVS [5 yr]. Gnu Make/GCC [9 yr]. Gnu Flex+Bison (lex/yacc) [3 yr].

Technologies: Quicktime (for media display, format-conversion, and image analysis) [15 yr]. SGML (reading, writing, parsing, rendering) [9 yr]. Apache/http [8 yr as administrator of own web server]. RTF (reading, writing) [1 yr].

Exposure

Operating Environments: VAX/VMS

Programming Languages: Perl [8 yr]; Python [3 yr]. FORTH; FORTRAN II; EMACS LISP/Scheme; Dylan.

Technologies:: CORBA [1 yr].

Employment History
please see Projects for sample details of work done
2003–present

The University of Chicago Networking Services and Information Technologies, Chicago, Illinois.

Macintosh programmer for large university ISP. Produced installer for Internet-connectivity software to be used by students and faculty.

More

Designed and wrote a program that greatly simplifies the configuration of mail, net, and application options for users, and provides one-file control over configuration policy. The program is written in C++ for Carbon, and a single binary ran on Mac OS 9 and Mac OS X.

Wrote Crescat, a full-featured SSH ANSI terminal emulator for Mac OS X. Employed a custom subclass of NSLayoutManager to provide text blinking and distinctive highlighting of URLs and email addresses. Highlighted elements are clickable to open in mail client or browser; mail addresses can be transferred to Address Book. Full support for drag-and-drop and services.

1995–2002

Parallel Software, Naperville, Illinois

Senior software engineer and consultant. Applications design for Mac OS 8, 9, and X; driver programming for Mac OS 8/9; kernel programming for Mac OS X.

More

Responsible for requirements capture, design, and implementation of applications, components, and system software for clients in manufacturing, OEM and consumer electronics, and publishing.

Products included design and implementation of the International Parts Catalog for Navistar International, an industrial-catalog application for e-business. IPC is responsible for associating the correct SKUs, out of more than 50,000, with individual truck VIN numbers, and presenting accurate part lists and engineering drawings. Parts sales is a core business at NI, and IPC is the main conduit for the sales. Made major (>90%) improvements to reliability and usability of the product.

Also produced CGM Converter, an important tool in preparing engineering drawings for IPC, as well as numerous utilities and plugins for the production process.

1992–1995

NewMedia, Inc., of Columbus and Cleveland, Ohio (working in Indianapolis, Indiana).

Senior software engineer and consultant responsible for applications, component design, and programming for Mac OS 7 for manufacturing, pharmaceuticals, and the military.

1987–1990

Scientific Software Products / DOME Software, Inc., Indianapolis, Indiana.

Senior software engineer and human-interface specialist on an R&D project to develop a distributed object-oriented database management system (OODBMS) for use in the pharmaceutical industry.

1982–1987

Independent contractor and consultant in microcomputing applications for education and medical instrumentation. Clients included Indiana State School Music Association and Microsonics, Inc.

Education
1977
A.B. (Physics), Kenyon College, Gambier, Ohio
1980
J.D., Georgetown University Law Center, Washington, DC
Certifications, Training, etc.
Publications

Step Into Xcode: Mac OS X Development 480+ pages, Addison-Wesley, February 2006. Author

POST Queries in Cocoa, a three-part series, MacTech Magazine, March-May 2003.

Training

Apple World-Wide Developer Conference, May, 2002.

Apple USB Driver Developers’ Kitchen, August, 2001.

Certificates

Brainbench Master Certificates (transcript 2944319):

Master Certificate in C Master Certificate in ANSI SQL Master Certificate in Programming Concepts
Master Certificate in Written English Master Certificate in Listening Skills
Miscellanea
Major Projects
2003-2007

Crescat

Problem: There was no satisfactory SSH terminal client for Mac OS X. Novices (the main clients of the University support group) found the terminal-in-terminal experience of ssh in Terminal.app confusing, and experienced users wanted a terminal that supported ANSI printing commands from UNIX applications like pine.

Solution: A new terminal emulator, running ssh in a pseudo-tty. In addition to being an absolutely faithful ANSI color terminal, Crescat offers a rich array of features:

Result: Novices have a straightforward tool that asks only for what it needs (host and user ID) and stays out of their way. Experienced users have a tool that stays out of their way, but adapts readily to their needs.

See the Crescat Help Book.

2000–2001

CGM Converter

Client: Navistar International, Inc., Parts Catalog division.

Problem: S, a Navistar employee, was responsible for receiving CGM-formatted graphics from an outside vendor and converting them to PICT format for use in an automated catalog system. The existing solution crashed frequently, and converted 2–3 files per minute when it worked.

Solution: On my own initiative, I started a weekend project that Navistar enthusiastically embraced, to make a CGM-to-PICT converter. The finished product (full-time about two months, half-time about eight) is fully AppleScriptable, Carbonized, batch-processes at up to 10 files per second, identifies mouse hotspots, and produces QA logs (it turned out that about 5% of the vendor’s files were corrupt, but S could never prove it).

Result: S’s work is no longer dominated by this one task. He can give reliable productivity estimates, and hold suppliers to quality standards. He also likes his job better.

Details: Learn more about this project at <http://towerofart.manoverboard.org/~fritza/resume/cgm.html> this page.

Other Work: The long relationship with this client included C, C++ and Java development of applications and application plugins, as well as scripting for HyperCard, SuperCard, and Virtual User. I was the designer and 50% coder on a pure-Java JFC replacement for the interactive parts catalog, beating with two-and-two-halves craftsmen, on a five-figure budget, an IBM team on a parallel project with dozens of engineers and a seven-figure budget.

1993–1995

Computer-Aided System for Human Engineering

Client: Armstrong Aerospace Medical Research Lab, Wright-Patterson AFB, Ohio

Challenges: The Armstrong Laboratory is responsible for maintaining human-engineering standards and information bases for the United States Armed Forces and NATO. The aim of the CASHE project was to present this knowledge base in a hypertext browser.

See also: Don Monk, “Visualizing Human Performance Data — A Hypermedia Approach,” Proceedings of ACM Hypertext’93 — Posters, 1993, pp. 26.

1993

ParamText

Client: Eli Lilly and Company

Challenges: Delivered a novel human-interface element presenting database fields in the context in which they would be used.

1987–1991

Distributed Object Management Environment
(Laboratory Computing Environment)

Employer: DOME / Scientific Software Products

Challenges: Provide a general human interface for a new, distributed object-oriented database management system (OODBMS) under development.

1983–1984

Audition Scheduling on the Apple II

Client: Indiana State School Music Association

Challenges: Six thousand high-school musicians participated every year in dozens of categories in the Indiana High School Auditions. Scheduling judges and competitors into rooms was a weeks-long struggle with index cards for the IHSAA’s director and four assistants.

1982–1983

M-Mode Echocardiography Analysis Program
2-D Fetal Growth Analysis Program

Client: Microsonics, Inc., then of Indianapolis, Indiana, reporting to John Freeland, President, founder, and director of research.

Challenges: On 320K, 8088 IBM Personal Computer with CGA graphics, at direction of client,