IT Consulting

     Resume
    I'm available for IT consulting or employment. Since I'm mostly retired I'm also looking for employment outside of IT.

    In the decade before my IT career started in 1980 I did many jobs, including cook in a Chinese restaurant, waiting tables, bicycle mechanic, bicycle store manager, motorcycle store parts department manager, semi-truck driver, and farm worker.
    language  Web Design
    I developed my first web web site in 1994 at the University of Washington. I had the Department of Bioengineering on the web when very few knew what the web was. It was served from a Mac SE/30 running MacHTTP and later WebStar. I remember the first Mac browser: NCSA's Mosaic. Web pages were black text on a too-dark gray background. Luckily things improved rapidly.

    In the early 2000s I developed a web site for a UW group I had worked with for years. As part of this site I developed a JavaScript fly-out menu system that worked pixel-perfect until it was retired over a decade later. Since the code no longer has to work around rendering quirks of browsers it can be greatly simplified.

    My personal website has gone through several redesigns. See the Contact & About page for the software I used in this incarnation's development.
     FileMaker
    I've been developing in FileMaker since version 3.

    My first project was a set of databases used to keep track of contacts for my group at the University of Washington. Back in the old days you could click a phone number and FileMaker would dial it for you.

    I wrote a relatively complex database for a Montessori plus special needs school. They needed to print many special reports and forms, to handle this the database had some very complex relationships. The Relationship Graph was huge.

     Sys Admin
    I've spent most of my career doing systems administration across many platforms and networks. I started networking with ARPANET before it morphed into the Internet. In the mid 1980s I had Macs, Apollo Domains, and Unix machines all on ARPANET. I've used a variety of hardware standards including 10Base5 (ThickNet), 10Base2 (ThinNet), and xBase-T (Twisted-pair).

    Although I've concentrated on Macs I support Windows and Linux/Unix.
     Development
    I started as a bit-banger in 1980 on Data Generals writing real-time OSes, drivers, et al. in assembler.

    At University of Washington's Chemical Engineering between 1988-1993 I wrote a Mac program to calculate Bubble & Dew points & plot the curves. I also wrote code for Strawberry Tree's NuBus cards which we used to control student experiments.

    At University of Washington's Bioengineering between 1993-1995 I developed some real-time data acquisition apps running under DOS. One converted data from a proprietary microscope into a simple binary file that could be imported into NIH Image (now ImageJ). I wrote a plug-in for NIH Image to process those grayscale images.

    I wrote some freeware and shareware apps for the Classic Mac System using CodeWarrior. I made about $30 or so from shareware. Not enough to retire on...

    In 1996 I contracted to develop the Mac version of an ACLS (Advanced Cardiac Life Support) training simulator. I programmed the GUI and integrated a heart model coded by a co-developer. There was never a reported bug or issue (about 150 copies were sold)

    At the University of Washington between 2009-2014 I developed software for an iPad and then for a Surface Pro. This project was funded by the Gates Foundation.

    I've written many AppleScripts over the years. One of my favorites takes JavaScript and obfuscates it so it's extremely difficult to read. It changes variables and constants to random names and makes every line as close to 255 characters as possible. The idea was that reverse engineering the obfuscated code would take more time than writing it from scratch. It's in the Software section on the Computing page.

    Lately I've been writing a bunch of bash scripts to muck with macOS and some of its shortcomings. See the Computing page for some of my free scripts.