Michael 'Mickey' Sattler http://www.GeekTimes.com/michael/resume/ michael@GeekTimes.com +1.415.867.5353 Summary: Since 1980 I've worked on all phases of commercial computer engineering: the project start-up phase (including site preparation, hardware and software evaluation, acquisition, and installation), on-going system and network administration (including critical, sensitive, and emergency situations), technical management, software design, implementation, quality assurance, porting, documentation and training, and the design, implementation, and maintenance of web-based intranets in production environments. -- CryptoRights Foundation Senior Technical Engineer San Francisco, California Summer 2004 - present Pro-bono; Responsible for direction and architecture of hardware, software, and documentation bundle allowing human-rights workers physical and communications security. -- [private start-up client] Networking & UI Senior Engineer San Francisco, California Spring 2004 - present Responsible for implementing object-oriented TCP/IP-based networking for MIDI and VoIP communications; user interface review, scalability architecture. C++, UNIX. -- [private start-up client] Manager of Catastrophe Avoidance Alameda, California January 2002 - present Deployed systems and networks with remote backup, wireless via routers, firewalls, and shared resources. Catastrophic contingency planning. Used both open-source solutions and wrote custom tools in Java, C++, Perl, and shell scripting on UNIX. -- Godisa Foundation Web Designer and Implementor Otse, Botswana, Africa Summer 2001 - present Pro-bono; Helping makers of self-sustaining, low-cost handicap assistive devices reach a world-wide audience. -- Sunset Cooperative Nursery Schools Chief Web Designer San Francisco, California January 2001 - present Web site development for a variety of clients, focusing on graceful degradation of content on older and handheld PDA web browsers. Integrated witth open source discussion forums, contact databases, and image storage and retrieval. -- [private start-up client] Senior Java Engineer San Francisco, California Winter 2000  Winter 2002 Designed and implemented a matching engine  a dynamic characteristic-matching transaction processor  using Java servlets, JDBC, the JBoss application server, and MySQL, with the user interface in Java Server Pages (Apache Jakarta Tomcat), HTML, CSS, and XML; Apache web server. Other client projects done with Java Beans, J2SE, JDNI, Oracle and MS SQL Server databases. -- Pacific Stock Exchange, Consultant Java Architect/Engineer San Francisco, California, August 2000 - December 2000 Architected, designed, and implemented objects, framework, and user interface to allow the exchange board membership to peruse and download Price Improvement and Execution Statistic reports. Added URL encryption and user interface modifications to second release. Consulted on a variety of issues including site security, the single-sign-on problem, and persistent state. -- PrivacyRight, Consultant Java Architect/Engineer San Mateo, California, June 2000 - August 2000 Participated in the industry process of standardizing the Customer Profile Exchange (CPExchange) 1.0 privacy and data models. Suggested combining MD5 hash and digital signature to prevent tampering of data via downstream propagators. Reference standard application uses P3P XML data. -- Morgan Stanley Dean Witter Online, Consultant Java Architect/Engineer San Francisco, California, December 1999 - May 2000 Responsible for combining several concurrent development trees of the Java-based stock trading software into one Clearcase volume. Reviewed Java order-placement modules. -- Sendmail, Consultant, GUI & CGI Engineer Emeryville, California, August 1999 - November 1999 For Sendmail Pro's Queue Management module I worked with Marketing to obtain product requirements, designed a user interface for the module which fits in with the existing product, authored proof-of-concept HTML storyboard prototypes, and wrote software to cause the company's home-grown page layout engine to implement the storyboard. -- BusyBox, Consultant, Senior Java Engineer San Francisco, California, May 1999 - August 1999 Architected, designed, and implemented Java servlets to provide mailing list subscription and catalog ordering for clients of one of the largest and oldest stock photography agencies in the world. Also authored an administrative site browser to allow the photography content managers to walk the disk hierarchy, verify currently available assets, and manually extract and route assets to clients. -- Charles Schwab & Company, Consultant, Electronic Brokerage San Francisco, California, January 1999 - May 1999 Part of the team that brought the Schwab Signature Services Trading Desktop (Velocity) to market, a rollout and a follow-up release. A cross-platform Java application targeted at the active trader community, Velocity uses Swing for the interface, Marimba's tuner technology for version maintenance, and passes serialized objects through a secure (https) connection to provide both trading security and immunity from firewalls. Specialized in user interface and overall operational reliability issues. -- Thuridion, Consultant, Senior Database Engineer Santa Cruz, California, December 1998 A very short contract that consisted of installing two databases - Oracle and Informix - and configuring a third - Sybase - under Windows NT for use in a quality assurance environment. -- Vivid Studios, Consultant, Senior Java Engineer San Francisco, California, September 1998 to November 1998 Two unrelated assignments: first, maintenance on a project that used the Locomotive Java application server speaking with an Oracle database via JDBC and ODBC; second, programmer-level design of and development with a JavaBeans dynamic page layout system. -- Organic Online, Consultant, Senior Java Engineer San Francisco, California, March 1998 to September 1998 Provided expertise in software design and engineering (using Java, SQL, ASP, and Borscht Java Server Pages) and database schema design and implementation (Microsoft Access on both Windows NT Server and Workstation) to create public web pages, related private web-based content administration, and security solutions for a variety of corporate clients, including Ringling Brothers and Barnum & Bailey, Levi Strauss & Company, The Lillith Fair, and Nike. Also added functionality to existing web pages, interfaced with existing CGIs and search engines, assisted with quality assurance, and did a fair amount of system and network administration of private development machines (Macintosh, Windows, UNIX) and public web servers. -- Metis, Consultant, Database Implementor San Francisco, California, January 1998 to March 1998 Provided the in-house programming staff with database design, implementation, and programming (providing database sanity-checking and periodic refresh capability) using Microsoft SQL Server and Windows NT for several medicine-related web-based applications, including serving provider and facility information, conference registration and lectures selection. -- Charles Schwab & Company, Consultant, Senior Technical Lead San Francisco, California, August 1996 to April 1997 Responsible for all aspects of maintaining a production-level intranet, including installing and maintaining the Netscape Commerce Server and herding the search engines; designing, writing, testing, documenting, and deploying custom Perl CGIs; working closely with the web designers, writers, and department heads to ensure that we delivered an up-to-date worthwhile flow of content, including a graphics-heavy daily Schwab employee newspaper (previous issues were archived and accessible via a custom CGI), a Personal Home Page capability with built-in security, and a navigable hyperlinked Employee Handbook. Delivered a no-downtime, high-performance heavy-load web-serving environment for an offsite show by directing hardware vendors, PacBell, and an ISP. Trained others in new technologies, maintained Macintosh and Windows production machines, and evaluated requests for implementations with a light to feasability. -- American Association of Neurosurgeons, Consultant, lead programmer Chicago, Illinois, December 1995 to August 1996 Designed and implemented an interface between an industrial-strength relational database and web browsers in the form of CGI scripts - written in Perl - which generate HTML. Functionality includes a searchable index to the neurological components of the National Library of Medicine (including graphical elements) and an interactive walk-through of the neurosurgical protocols encapsulated in the CPT codes. This may be found at the "AANS" site. Beta-tested Connectix's RAM Doubler 2 for MacOS. -- Internet TV with CU-SeeMe, Author, Eivissa and Gran Canaria, Spain, Autumn 1995 While overseas wrote Internet TV with CU-SeeMe (Macmillian), 300 pages, 1995, ISBN 1-57521-006-1) about CU-SeeMe, videoconferencing software created at Cornell University. The book provides an introduction to videoconferencing, a history of the Internet, technical issues (installing networking software under MacOS and Windows, obtaining and installing CU-SeeMe), many examples of CU-SeeMe usage over the years, a CU-SeeMe User's Guide, a CU-SeeMe Reflector Operator's Guide, and several appendices. Beta-tested Apple's Open Transport and QuickTime Videoconferencing. -- FTP Software, Manager of Quality Assurance, West Coast Operations San Francisco, California, January 1994 to May 1995 FTP's products are Intel-based TCP/IP servers, clients, stacks, and applications. Managed the West Coast Quality Assurance department. My team designed, authored, and implemented test plans, kept upper management aware of the state of the product, worked closely with development and documentation to bring to market: * PC/TCP OnNet for Windows:a network client package that includes a TCP/IP network driver, NFS, and LPD servers tightly integrated with Windows' File and Print Manager, and FTP, DHCP, and WinMessage (RFC1312 and "talk" protocol) clients. * Services OnNet for Windows:FTP server manager and Syslog, NFS, DHCP/BOOTP, FTP, TFTP, and LPD servers. First commercial DHCP server Implemented NFS server as VxD. * Services OnNet (beta) for NT:Implemented NFS server as NT kernel driver; implemented other servers as Win32 Winsock-compliant appliations. Compatible with NT's Service Control Manager. Beta-tested MacPGP, the Connectix QuickCam, the MacTech CD, Qualcomm Eudora (for both MacOS and Windows), NCSA Mosaic, and Cornell University's CU-SeeMe desktop videoconferencing software. -- The Internet is a Digital Jungle, Teacher San Francisco, California, January 1993 to present Taught a course entitled The Internet is a Digital Jungle at a community learning center in the Haight-Ashbury neighborhood of San Francisco. The class includes hands-on instruction to basics of the Internet, email, USENET, the World Wide Web, FTP, netiquette, etc. -- Digital Jungle Consulting Services, Webmaster San Francisco, California, January 1993 to present Wrote and maintained several hundred web pages for my own site and for the sites of several clients. These pages include a great number of images, CGIs for forms, interaction with databases, and control of daemons. Most are written to the HTML 1.0 standard, some require Netscape enhancements - primarily tables and frames. -- ICON Medical Systems, Consultant Cambell, California, Autumn 1993 ICON makes a tele-radiology system. Designed, implemented, and documented a C++ API to an Oracle database, wrote a Macintosh application to extract information and images from a data store, and installed an Ethernet network (and hubs) throughout the engineering center. Beta-tested Synchronize!, JPEGView, and MacHTTP. -- GO Corp., Computer Scientist/Quality Assurance Firefighter Foster City, California, April 1991 to September 1993 GO developed the pen-based PenPoint operating system. Sanity-checked the design and implementation of the file system, virtual memory, sleep/wake instant swap booting, communications, and internal tools by working with the sub-system architect. Wrote high-level user interface tests in a proprietary scripting language and low-level code in C/C++ using PenPoint's object-oriented class hierarchy. Did both system- and application-level programming, spent two and one-half years writing batch files for, networking between, and using Intel x86-based hardware as part of a networked development and build environment. Designed and coded (in Symantec C/C++ ) several Macintosh freeware applications: an e-mail formatter, a PowerBook system status reporter, and an I Ching tool. Beta-tested several commercial Macintosh applications and wrote Macintosh system administration documentation. -- Hewlett-Packard, Consultant Sunnyvale, California Implemented a multi-platform X11R4-based support pricing tool. Networked SunOS 4.1, HP-UX, and HP-MPE platforms, installed Ingres' RDBMS and 4GL X11R4 front-end, and wrote shell scripts to allow HP's software to access the database (and perform automated, scheduled back-ups). When done, was sent to the HP Network Technology Center in Atlanta, Georgia to install the computers and re-established connection between the database and the west coast over HP's T1. For developers of interacting products wrote a suite of C-shell scripts that got the latest tested version from HP's networked development environment, assembled an installation tape (that included my script to configure and install the product). Extensively tested this product, trained others in its use, and provided documentation. These scripts provided error-checking from high-level operating system and graphics environmental conditions to low-level device/driver existence/operation. Presented a C++ program that tested UNIX password security, did UNIX systems/network administration for the SunOS and HP-UX platforms, and was responsible for maintianing data security in this networked environment. -- Sun Microsystems Federal Products Division, Consultant Milpitas, California Planned and attempted a port of HelpViewer (a DocViewer predecessor), a hypertext viewer, from SunView to the X Window System XView toolkit. -- Litton Automated Integration, Consultant Oakland, California LAI sells an engineering blueprint retrieval and imaging system to defense contractors. Designed and implemented graphic user interface additions to retrieve and display a parts list for specified documents (PartsList) and a graphical document hierarchy display viewer (Novice/EasyView) using the XView toolkit. This work included verifying device- and driver-characteristics and the proper operation of a variety of input and output devices, including a CD-ROM "jukebox," blueprint scanner and storage subsystem. -- Technology Modeling Associates, Operations Manager Palo Alto, California Managed the Operations group: Release Engineering (porting the products to new platforms, quality assurance), Shipping (customer tape generation, domestic and international shipment, customs requirements), Information Systems (working to provide a X-based sales, release, and shipping database), and Computer & Network Operations (evaluation and acquisition, installation, support, and emergency resolution). My duties included conducting employee interviews and hiring staff, making quarterly objectives for my department and employees, chairing employee reviews, evaluating and making recommendations for technical and MIS support needs, coordinating with Sales, Marketing, and Engineering, and guiding my employees on each of their projects. In addition, I provided extensive UNIX system and network administration, installed hardware, applications- and systems-software, established a UUNET mail link, resolved emergencies, and trained a UNIX system administrator. -- DuPont, Consultant System/Network Manager Santa Clara, California I maintained thirty-plus Macintosh IIs and peripherals running A/UX on an Ethernet local area network. I set up e-mail and a UUNET connection, configured network file systems, shared background print spoolers, remote copy, GNU Emacs, Yellow Pages, wrote scripts and utilities to support the engineering staff, upgraded memory, installed and formatted shared disk drives, diagnosed hardware and software problems, and researched for ordering archival devices, optical disk CD-WORMs, printers, computer systems, and network connections. -- Sun Microsystems, Consultant Mountain View, California I did national telephone support for Sun's window systems and graphics, including SunView, SunTools, X11, NeWS, PostScript, and UNIX administration, organization, maintenance, and programming. I reproduced customer problems, researched solutions, and sent bug reports to engineering. I wrote applications in C++ to recreate customer problems with SunView and the X Window System. -- Sun Microsystems Federal Products Division, Consultant Milpitas, California I coordinated the porting to the Sun 386i, and subsequent testing, of the X11/NeWS server, OpenLook Window Manager, and XView toolkit for the World-Wide Military Command and Control System's Information System Workstation project (the first Sun product release of X11/NeWS). I ported a National Security Standard-conformant secure disk "scrubbing" disk-formatting utility, wrote installation and operational, and collaborated on a kernel modification to implement real-time disk scrubbing. I performed Intel x86 PC hardware-, software-, and network-administration. -- Sun Microsystems , Consultant Mountain View, California I wrote a memory-leak tracer. I linted the entire XView toolkit, made changes to assure portability, made recommendations for future changes, and wrote installation documentation. XView is now part of the X Window System and is available to users on many different platforms and environments. -- Becton Dickinson, Consultant Mountain View, California As part of the Immunocytometry Systems Group, I helped to port a medical flow cytometry application from HP-Pascal (HP-UX ) to C (VAX/Ultrix), simplifying and speeding up the code by using the X Window System and the Xlib toolkit for graphics and event management. Additionally, I wrote X11 demo programs, including a bitmap editor and Life, in C and C++, to demonstrate and teach X Window System programming. I was the lone UNIX system administrator and hardware installer. -- Cullinet, Consultant San Jose, California I did both high-level applications engineering and low-level kernel coding to port a distributed relational database management system to UNIX platforms (Sun, VAX/Ultrix, and Masscomp). I documented our porting procedures, and scripts. These ports were done on schedule and under-budget. I designed and implemented a librarian program, a hybrid of UNIX sccs (source code control system) and Cullinet's RDDBMS, for database developers to use between homogenous operating systems. -- Exploration Systems, Consultant Sausalito, California I designed and implemented a librarian program, a hybrid of UNIX rcs (resource control system) and a small database of my own creation, for use between heterogeneous operating systems (VAX/VMS, VAX/Ultrix, and Eunice). -- Oracle, Consultant Belmont, California, I provided national telephone support to Oracle RDDBMS customers; reproduced problems on in-house machines; reviewed and provided feedback on both UNIX and Oracle documentation; ensured that Support Centers had adequate UNIX training, materials, and access to machines; and wrote a white-paper detailing defects and work-arounds found in my extensive testing of the Oracle/C language interface. -- Get Info-The Macintosh Review, Author/Principal Boston, Massachusetts I managed and wrote reviews for an electronic "magazine," distributed over local bulletin boards and in printed form at the Boston MacWorld Expositions. The magazine was ended when I moved to the West Coast. -- Regis McKenna, Consultant Cambridge, Massachusetts Installed a "Macintosh Office." I trained personnel to plan and route AppleTalk cable, keep up-to-date with software changes, standardize software between workstations, and use software (and built-in shortcuts therein) such as MacWrite, MacPaint, MacDraw, Microsoft Word, the font librarian, pattern editors, backup programs, etc. Taught software classes, conducted demonstrations, documented same, and authored a proposal for an intra-office electronic mail system and an inter-office telecommunications system for Regis McKenna offices coast-to-coast. -- The Saddlebrook Corporation, Programmer Cambridge, Massachusetts For Saddlebrook's "electronic bank," a real-time transaction processor, I wrote many original modules, enhanced others, and added data-validity checking to all. I beta-tested the RSTS/E 9.0 operating system, did microcomputer hardware and OS setup, and wrote a user-friendly interactive front end to Digital's system generation program (sysgen) to allow the non-technical Product Support Staff to provide specifically tailored systems to Saddlebrook customers. -- Bedford Computer Corp., Programmer Bedford, New Hampshire BCC produced one of the first real-time WYSIWYG publication composition systems. I designed and implemented two products: a macro-oriented string translator for conversion between text markup languages and a mouse-driven graphical font editor, providing PostScript-like descriptions of letters via curve fittings and point characteristics (such as endpoint, midpoint, curve-touches-point, Bezier-fit-curve-near-point, and so on.) -- Boston University Independent User Group, Programmer Boston, Massachusetts I supervised and worked with fellow students to fill deficiencies and gaps in the services, documentation, and instruction provided by the paid university staff. We wrote a re-usable toolkbox of much-needed interfaces to systems services and printers, a lexical scanner and parser, and dozens of useful macros. A submission procedure for adding to the toolbox, an indexing tool to examine contributions to the toolbox, and documentation was provided. We wrote a UNIX-like command interpreter including a pseudo-file-system (including previously-unknown "group" access to files), two small database with identical interfaces for the IBM System/370 and the Apple IIe (the former utilized the built-in ability of the IBM 3380 disk drive hardware key search, the latter emulated this in software), an "artificially intelligent" Lisp tape handler that matched a user's request for data transfer against its knowledge of the system and output guaranteed-correct IBM Job Control Language (JCL), a tree-structured help facility, and printing services which allowed completely naive users to conveniently and attractively print the contents of files and capture screen images.