I've written a large assortment of production support software as a Technical Director doing effects and character animation in the late 80's and early 90's ( deGraf/Wahrman, Metrolight Studios), before switching to systems programming and network programming, which I've been doing since 1991 for many companies large and small.
I've spent several years in both fulltime and freelance SGI/BSD/LINUX systems administration for various companies. I sometimes exercise my experience with electronics hardware design/debugging gained from working in motion control software and hardware (Electric Filmworks, Optical Printer Control Systems) designing a few electronics projects.
|2000-present||Seriss Corporation: Rush Render Queue software. CEO, Founder. Lead software developer for multi-platform render queue system to control distributed rendering of images on large networks of Unix, Linux, Windows and Mac/OSX platforms. Customers include: Blue Sky Studios, Stan Winston Studios, Warner Brothers, Universal Studios, Technicolor, ABC, CBS, ESPN, Turner, Nickelodeon, Boeing, CIS Hollywood, Rainmaker, Charlex, Rhinofx, Laika, Pacific Title, Toei, TBS (Japan), Asahi TV, BSkyB (England), Rensselaer Polytech, American Natural History Museum (NYC), and many others. Also: Electronics Engineer (circuit board design) for Optical Printer motion control systems and 1A2 phone systems.|
|2007-2009||Walt Disney Opticals Department. Installation of OPCS (Optical Printer Control Systems) software to control two optical printers being used for YCM conversions of all their archived films and shows. Designed and tested custom PC board for optical isloation of input/output logic signals, providing board layout files, schematics, wiring diagrams and solder instructions for onsite wiring personel to build and install the boards. The setup improved their YCM shooting speed by 3 times using specially synchronized YCM shooting with a filterwheel/capping shutter combo (machined by Gary Broggie).|
|2002||CIS Hollywood. Freelance Linux sysadmin; compile latest kernels, debug new FireGL2 video drivers.|
|2001-2002||ICT. and maintained 24 host linux render farm, SGI Origin 200 server, two ADTX raids. Institute for Creative Technologies. Researched, purchased, configured Installed rush render queue, configured NIS/NFS/SSH/PAM/Sendmail/Samba, and various consulting on in-house C software.|
|2001||525 Studios. Misc. systems adminstration for ~30 host Windows NT/2K Render farm. Assisted NT -> 2K migration, installed Rush render queue, Maya, and perl scripts for various production tasks. Network troubleshooting.|
|2000-2001||Heavy Iron Studios. (Freelance) Misc. unix and linux systems administration, trouble-shooting, Perl scripting, automated network scripts, web page monitoring, Pixar Alfred integration, systems configuration.|
|1998-2000||Sony Development (a division of Sony Retail Entertainment). Full Time. Unix Sysadmin and R&D in production environment. Linux, SGI, BSDI. Config hardware, firewalls, linux routers, sw licenses, scripts, support tools for TDs. Software and debugging multiple digital disk recorders for 3D projection systems, HTML/cgi-bin databases, linux kernel hacking, linux RAID maintenance, gnutar debugging, added tape changer code to samba, 10/100BT networking/debugging. Perl, C/C++, shells (tcsh/sh), openGL, FLTK.|
|1993-1998||Digital Domain. Sr. Systems Programmer. Wrote the DD 'race' render queue, various production management tools. C++ and C Unix systems software; file locking libraries, render queue accounting, resource and backups management system, Netscape/web based cgi-bin perl applications. Films managed by Race: Apollo 13, True Lies, Interview with a Vampire, Titanic, Fifth Element, and various commercials. This software is still in use to date (2010), now managed by others since I left in '98.|
|1996-2003||3DSite, Inc.. Part time BSDI Unix Systems and Network Administrator for 3dsite's BSDI machines. Troubleshoot network problems, firewalling, sendmail hacking, cron automated scripts, software installations.|
|1996-2000||Cinema Graphics, Inc.. Lead programmer and designer for ShadeTree, an interactive RenderMan and Mental Ray shader builder for the Silicon Graphics workstation. Technical documentation, customer support, troubleshooting. C++/Motif/OpenGL/Perl.|
|1995-96||Mr. Film. Freelance systems programming and Administration. Internet site administration (mrfilm.com) via dedicated line/PPP. SGI email, firewalling, Netscape/ELM compile/install, etc. 5 SGIs.|
|1994-95||Walt Disney Studios. Freelance Systems Programmer/Consulting. Analyze and repair parts of ailing feature animation render queue.|
|1994-95||Sony Pictures/Image Works. Freelance C++/Unix network and systems programming. C++ class library for remote file execution, used by their render queue.|
|1991-93||Metrolight Studios. Software Manager, Systems Programmer, Systems Administration. Maintain production and system software, and co- administer a network of ~40 machines, SGI and Solbourne (Sun) environment.|
|1991||Vision Art. Hired to administer network of 3 SGI's in a production environment. Set up networks, terminals, modems, new users/logins, Minivas, and file systems, mail, inhouse manpages, on-line administration logs, Unix installation/upgrades.|
|1989-91||deGraf/Wahrman, Inc. Technical Director, Software Engineer. Involved in several long term projects, mostly involving facial and character animation...MCA/Universal theme park ride, Robocop II feature effects, and others. Unix C and CSH programming in Silicon Graphics production environment. Created GL user interfaces, tools, image converters/display programs, film/video control and realtime CGI/audio synchronization and playback, and group software projects. Sys Admin duties; modem/terminal installations, backup management, film recorder tools, disk mounts, Unix troubleshooting.|
|1989||Photo Vend International/Polaroid. Hired to program and interface a custom digital audio recording & editing system. Based on a 1 bit voltage delta DAC/ADC to decrease hardware overhead for manufacturing. System included generating files for final production proms for manufacture of several hundred photo vending machines purchased and redistributed by Polaroid. Close work with manufacturing engineers.|
|1988-present||OPCS - Optical Printer Control Systems. Optical printer control software. DOS based C and 8086 assembly programming; stepper motor control, electronics interfacing. Customers include: Lookout Mountain Films, VCE, Introvision, Title House, Cinetech, Technicolor, YCM Laboratories, Disney, Deluxe, and many others.|
|1987-88||Electric Filmworks. Software programming, software and hardware R&D. Maintenance and trouble shooting software and TTL logic hardware (rate multipliers, counters, shift regs, PPIs, high current transistors and power supplies) for all motion control equipment. Rewrites integrating low-level 6502 assembly device drivers to improve speed and memory performance.|
|1987||Photo Vending Inc. 'Ladder' programming and Sequential Process Control programs for industrial Minarik micro-controllers. Software controls all aspects of photo vending machine's functions, including control of solenoids, light sensors, stepper and servo motor controls, cash/change modules, flash synchronization, etc. to UL specifications. TTL/CPU trouble shooting.|
|1987||Video Image. Assistant technical director of computer graphics animation & modeling for computer effects in the Max Headroom series. Developed custom font program (IBM C/8086 assembly) for Cubicomp systems.|
|1984-89||Various 2D special effects animation companies. Traditional 2D animation for thirty second spots and 2-3 minute music videos. DreamQuest, The Company, Laser Media, ad agencies.|
|1982-86||V-Band Systems (NYC) Telephone Switching Equipment Manufacturer. Full/parttime. Working with employees from different departments, hired to program a full inventory and business projection package for accounting and stock management. Written in compiled BASIC, 8086/8087 assembly, and IBM C. Still in use as of 1991.|
Academy Award (2010) for Technical Achievement|
from the Academy of Motion Picture Arts and Sciences for the Rush Render Queue software.
|1986||Graduated California Institute of the Arts, BFA|
|1982||Graduated John Jay Sr. High School Westchester, N.Y.|
I consider myself expert in the following languages. Items in bold are languages I've been using the most, lately:
- mail filters
- rdist(1) scripts
- cron(1) scripts
- Setuid wrappers
- Process accounting wrappers [acct(1)]
- C++/C Sockets (TCP/UDP/MCAST)
- User interface libs (curses/netscape/Motif/forms)
- Image libs (tiff/rla/rgb/gif/tga..).
- Curses interface libs
- Forms (SGI)
- Image flippers with sound sync playback, x-sheets
- File converters
- Digital Sound editors, C++ libraries
- Complex ascii filters
- Real time 3D graphics (GL) tools
- Curses oriented user interfaces
- Graphic user interfaces (Motif/Xt/Rapidapp/Viewkit/Fltk)
- ShadeTree (Motif)
- Rush Render Queue (Fltk)
I've written many unix tools, both small and large released as open source. Newsd is an example of a backend daemon that implements a subset of the Usenet NNTP protocol to act as a simple newsgroup server, which is actively managing the FLTK (GUI toolkit), CUPS (Common Unix Printing System), and Rush (Render Queue) newsgroup servers.
I've been an active part of the FLTK community for over 10 years, contributing demonstration videos, custom widgets (node graph, table, tree, native file chooser) which all started as separate projects, the last three of which have since become incorporated into the main FLTK distribution. Joined as an FLTK developer in ~2008 developing Doxygen documentation, contributing features, fixing bugs, and actively working with both developers and users on the FLTK Newsgroups (NNTP, Web) which has been using the "newsd" daemon since 2003, after switching away from INND.
Systems Admin Networking Software
- Render queues (Digital Domain, Metrolight)
- Network diagnostics/auditing/tracing/metrics tools
- Task Queues (HTML, command line, curses interfaces)
- Tape backup/restore scripts
- Web oriented cgi-bin scripts, HTML/Perl
- Motor controller software (optical printers, scanners)
- Hardware Wiring (Kuper, Superior Electric, Centent, Anaheim Automation)
- Micro Controllers (6502, Z80 and BASIC based)
- High experience scripting in perl/sh/csh/awk/php.
- Netscape/perl based systems for managing tape backups, and task queues
- Web pages for various automated production systems
- Various unix wrappers for production backup tools, networking
- Networking tools using perl to communicate directly with various unix daemons via TCP, UDP, etc.
- Centralized tools for managing phone lists, administration logs, hardware databases
Unix I consider myself an expert systems programmer, and proficient in most programming and scripting languages, having managed many small and large scale programming tasks in perl/python/sh/csh/awk. I maintain a small network of mixed platform machines at my home/office to keep up to date.
- Mac OSX
- SGI (not as much anymore)
Many tools, anywhere from assembly level to C and C++ user apps, real time graphics, etc. Sold DOS based tools, including 'OPCS', a commercial optical printer control system. Customers: Technicolor, YCM, Introvision, VCE, Lookout Mountain Films, Electric Filmworks, etc.
I really prefer to avoid programming for Windows, and dislike the WIN32 API and VS environments, preferring a unix environment. That said, I've written and maintained a few cross platform GUI applications that run under Windows and Unix equally using FLTK + gmake + Microsoft command line C++ compiler. (1, 2, 3, 4) I've written many Windows console applications for industrial automation, such as motion control software for optical printers and stepper motor control software used to control a laser subtitling film system for a Korean production company.
- Systems Programmer (7 yrs)
- Production Programmer (10 yrs)
- System Administration (5 yrs)
- Electronics, pc board design, debugging (4 yrs)
- CG Animation TD/Artist (6 yrs)
- Traditional Animation (3 yrs)
Unix Systems Administration
Preface: I am something of a unix purist, preferring to work primarily in Unix environments, leaving Windows administration to others.
- Networking Hardware: Purchasing, wiring
- Unix Crash recovery, reloads, kernel tweaks
- Source code download/compiles/ports
- Terminal Setup: wiring, config
- NFS maintenance
- Automount/autofs debugging
- Mail setup: POP and sendmail.cf hacking, debugging, gatewaying
- Internet Firewalls (packet routing, gateways, trouble shooting)
- Designing/implementing user environments, file system layouts
- Automated maintenance; crontab rdisting, monitoring
- Modem Setups: wiring, bidirection call/answer, uugetty config
- Samba config/maintenance
- PPP (config, debugging, accounting)
- FTP admin (security, troubleshooting)
- Patches/CERT updates/news group monitoring
Freelance Sysadmin - Company List
These are companies I've worked for doing systems administration tasks:
- Institute for Creative Technologies (ICT).
- Sony Development
- Digital Domain
- Vision Art
- Mr. Film
- Homer & Associates
- Heavy Iron
- CIS Hollywood
- Designed/built MO-93 Stepper Motor Drives. TTL logic, circuit layout, power transistors, optoisolation, power supplies, installation.
- Closed Caption reader. Video in, RS-232 serial out. All TTL and linear/analog techniques; no VLSI used (that would be cheating). Needed assistance on analog techniques; analog EE not my specialty, but work well with analog folk.
- PC Serial and parallel port control of AC relays for triggering lights, single frame video, etc. Using optotriacs, solid state and electro-mechanical relays, optotransistors.
- Rewiring various film equipment; cameras an optical printers: AC power supplies, stepper drives, buckle/home sensors, variac/lamp wiring.