PC since 1982, Mac since 1984, Web & Linux since 1998, Rails since 2005
Résumé (or Curriculum Vitae if you're not in N.America)
3D printing and custom software
- 3d design (ViaCAD, openSCAD) and printing (PrintrBot, Wally, HyRel3d)
- Gadgets for gamers - HTML5 and AngularJS
- Static blogging on AWS EC3/Cloudfront with octopress
- Custom (Rails) shopping cart and subscription service
- ModX, Wordpress, MediaWiki customization
- Running a globally redundant web service in non-US colocations for an extremely security conscious company using OpenVZ, Linux-HA, DRBD, replicating databases, and various security enhancements.
Network JOAT (Jack of all trades)
- VoIP - Asterisk phone systems installer.
- Mail server administration
- Small business network and linux server support
- VPN's for those folks that don't love using SSH
- Macintosh support - not that it needs much
- Some Win7 support under duress
Jan 07 - Dec 08
Part time system administrator for ISP kootenet.net
- Kootenet was Montana's oldest ISP. It was modem access only until closing its doors because they could not get access to DSL lines (FCC under BushII). I mapped the ISP's network (they did not know where some of their active Ethernet cabling went). I did security audits finding that every server was unmaintained for several years. I then commenced converting their system to be completely Rails+postgresql-driven including DNS, email, ftp and web. I coded some new monitoring tools to help the support staff diagnose email problems. During this process, a very skilled and determined Russian based hacker broke into the old web server and installed a bank phishing site. It me took 4 days to completely lock him out. This project was like rebuilding the engines on a plane while it was in flight with a terrorist on board.
June 03 - June 06
System administrator for ISP cyberport.net
- When I arrived, email was delayed up to 4 hours, modem banks would lock up under external attacks, there was no system monitoring and the routers for the T1's were not delivering wire speed bandwidth. I fixed all that and implemented database-driven email and radius authentication servers, cleaned up DNS, filtered ingress and egress from the local network, rewired the local networks to limit insider attacks on the system servers and automated DSL provisioning. Company was bought in 2006.
June 1984 - Present
Programmer & Consultant
- Most recent projects:
- Android mobile applications
- Ruby on Rails applications
- Miscellaneous static websites
- Network installations for various clients
- Major Projects:
- Silver and Gold Payment Calculator - Uses realtime prices. (Web2, Rails)
- Solari website and store - website and infrastructure makeover (PHP ModX WordPress FoxyCart)
- Solari subscriber website - delivers audio to subscribers. (Rails)
- NISP - New ISP control panel used at Cyberport and Kootenet. (Rails)
- Web-based map server combining USGS, MT and Flathead County map data (MapServer)
- 2D Simulations of real estate subdivisions (ArcView)
- Ticker - Real time BMI financial data satellite feed decoder and database. (C++/STL Mac)
- WaterDB - stream gauge data collection archiving and reporting (C++/STL PC and Mac)
- F'n'F Quotes - DB for Faucets and Fixtures quotations (FilemakerPro)
- HorseyDB - Horse farm management DB (FilemakerPro)
- CD+ XObject - Director extension for ION to handle CD+ format (C,C++,Mac & PC)
- MacroMedia Director 3DO Player - 3DO bit blit, clipping & inkmode routines. (C)
- Windows conversion of Deluxe Music - project was cancelled after the lead Mac programmer quit. I learned windows programming (VC++ and MFC) and the risks of being a sub-contractor on milestones when a main contractor fails.
- CDROM picture file management XObject for Zenda Studio games "Wacky Jacks" and "Travelrama" (C++ Mac and Windows versions)
- Transport components for Apple's QuickTime (C)
- Visca (Sony) Device Driver and Control Panel for Apple (C)
- Chief Designer of MacroMind's "Opera" media architecture (C++)
- MacroMind MediaMaker, Videotape editing program. (C++)
- MacroMind Director, Color presentation & animation program. (thru 4.0) (C,C++)
- VideoWorks II, Color presentation & animation program. (C,Pascal Mac)
- GraphicWorks 1.1, Graphics Layout program. (Pascal Mac)
- MazeWars+, A multi-player, network & modem game. (Pascal Mac)
- SubBattle Simulator, Game design for EPYX.
- WinterGames, A best-selling game in 1985 for EPYX. (Pascal, Asm)
- ods/Consultant, sales/Consultant, Problem-solving programs for ODS Inc.(Pascal)
- AppleSat, demo of Macintosh file transfer by Ku band satellite broadcast - client and server programs. (Pascal)
- AstroLotto & LuckyLotto, Coin operated arcade machines. (6809 Asm)
- Hard disk routines and BIOS in C for CPM-68K. (68000 Asm)
- Graphics demo for Sakata monitors. (IBM PC Basic).
January 1983 - June 1984
XTAR Electronics, Inc. Director of Software Development
- I Helped develop the XTAR GMP - a patented VLSI graphics display processor capable of drawing filled polygons at an average rate of 160 million pixels per second. I also designed 2 games (that were not implemented) and programmed most of the XTAR Graphics System Demos (C, 68000 asm, Z80 asm).
October 1981 - January 1983
Game Designer, Programmer & Consultant
- Major Projects:
- Hard disk device driver and format routines for CP/M 86 (8088-IBM PC).
- A non-IEEE fast floating point package. (68000)
- PORK, A pinball game operating system, language and interpreter. (6809)
- An optimizing C compiler without float, struct, typedef. (Z80)
- A fast C subset compiler. (Z80)
- FRENZY, An arcade video game. (Z80)
April 1979 - October 1981
Universal Research Labs (division of Stern Electronics)
Chief Software Engineer managing 8 programmers on mutiple game related projects.
- Major Projects:
- BERZERK, An arcade video game. My game design and programming.
- Big Game, The first 7 digit pinball game. (6800)
- Meteor, Stern's first pinball to use PIGS.
- PIGS, Pinball Interpretive Game System. A special purpose token threaded interpreter.
March 1977 - April 1979
Dave Nutting Associates (part of Bally/Midway)
- Major Projects:
- Sea Wolf II, A color coin-op video game written mostly in TERSE
- TERSE, A Z80 direct threaded code version of FORTH
- Bally Arcade (a home video game pre-dating the Atari 2600):
- DEMO, Bingo Math & Speed Math, Gunfight, & System ROM interrupt and sound routines
September 1976 - March 1977
itty bitty machine co. (The first Chicago area computer stores)
- Store Manager back in the days of IMSAI's, Sol20's, Digital Research's CP/M and Microsoft 5K BASIC on paper tape.
September 1975 - September 1976
University of Illinois at Chicago - PLATO Project Research Associate
- Developed computer aided instruction programs for learning German by reading in context. I developed the course software with Professor David Weible under an Exxon grant.
Graduated University of Illinois at Chicago, BA Art & Architecture - General Design.
- General Design degree was awarded because I had enough credits in Photography, Film & Video for 3 majors. Minor in Computer Science.
- Major Projects:
- Transitions 7 minute 16mm film animation
- CTA 7 minute 5 projector film(s) with M. Bertarelli
- fire 30 minute abstract Video piece with M. Bertarelli
- SNAILSPACE a 3 day video/inflatable structure event, class project
- Earth Day multi-media event - 2 movie projectors, 6 slide projectors, 200 watts of sound, fog machine and trash.
March 1973 - June 1975
University of Illinois at Chicago - PLATO project Consultant
- Major Projects:
- Mille Bournes, A network game for two terminals or solo play against computer.
- HyperWar, A network laser game in a mirrored hyper-cube.
- GameRoom, A small size network game router for up to 100 games and 1000 players.
- Parlimentary Talkomatic, 2 people were allowed to type, while up to 100 read. Motions and Votes could be taken by committees or the whole group over network.
- UICCpad, A network bulletin board system.
- Sim8080, An 8080 simulator.
- Nova, A 3D inter-stellar space exploration network game including pseudo-random star system generation.
- I went to the University of Chicago's Laboratory Schools from 1st grade through 12th. In retrospect, it was a great education although it didn't seem so at the time. They taught me how to learn and think critically. My summers were spent in the near Glacier National Park where I learned how to scare bears.
Languages and other skills
- Volunteer of the Year 2006, Citizens for a Better Flathead
- Scouter of the Year 1996 (BSA Local council award)
- Troop of the Year 1996, while I was scoutmaster (BSA Local council award)
- Commendation from the Dean of Art and Architecture for volunteer service to the department.