Copyright © 2000-2007 John-Mark Gurney
NOTE: This Resumé is copyrighted by John-Mark Gurney. You may not post copies of this page electronicly. The page at http://resnet.uoregon.edu/~gurney_j/resume.html is the only page that is official. You may store copies (both hard and electronic) for personal or internal business use, but they must not be available to non-employees.
John-Mark Gurney
5457 Manila Ave.
Oakland, CA 94618
Cell: +1 415 225 5579
Email: gurney_j@resnet.uoregon.edu
Resumé: http://resnet.uoregon.edu/~gurney_j/resume.html
Computer Related Skills
- Unix
- Unix flavors I have administered:
- FreeBSD 1.1.5.1-R through 7.0-CURRENT (arm, i386 and sparc64)
- SunOS 5.5 through 5.8 (Solaris 2.5 through 2.8)
- Ran personal unix server since 1994 including multiple servers, nis and netboot
- Experienced in shell scripting and text processing to automate tasks
- Setup Solaris jumpstart server
- Services
- wrote sendmail.cf for mail routing
- extensive BIND/DNS experience
- experience configuring both Apache and Netscape web servers
- Setup and managed a Platform Computing LSF cluster
- DHCP/bootp/bootparamd/rarpd
- Squid (http proxy)
- Networking
- Working with networks since 1994
- Different OS's: Unix, OS/2, Windows, NT, MacOSX
- Different mediums:
- Ethernet (including 1Gbit, FreeBSD drivers for channel bonding Xx100Mbit)
- Dial-up Protocols (SLIP/PPP) (both server and client)
- DS3 (WAN 45Mbit)
- Many different setups, ranging from using proxy arp, to subnetting, to routing using gated/routed, trucking, switching
- VPN, Windows PPTP and L2TP, IPSEC
- Setup and maintain NetApp F7x0 filers
- firewall experience, wrote utility to log/debug specific firewall traffic for FreeBSD
- tcpdump for debugging firewalls and protocol problems
- Programming
- Fluent Languages:
- C/C++ (since ~1991)
- Python
- Bourne Shell/awk/grep/sed
- Started programming ~1985
- FreeBSD Developer since February 1997 (see The FreeBSD Developers for listing)
- helped port to sun4v and ported to Technologic System's TS-7200
- device driver for DViCO's FusionHDTV5 Lite
- dynamic loading of file systems
- PCI probing and interrupt counting on sparc64
- pseudo network interfaces (channel bonding)
- man pages, various user land utilities
- USB (got USB working on FreeBSD/sparc64)
- Integrated and wrote a web file uploader w/ user authentication with third party software (in Python, for CyberSchool)
- Wrote various libraries, from cgi to advance data structures like B-Tree and Fibonacci Heap
- Wrote ffsrecov to recover files from FFS file systems (FreeBSD and Solaris) (UFS2 support in Python code)
- Module to make Python's DB-API 2.0 more simple to use
Employment
- Cryptography Research, Inc., January 2007-
Work on BD+, a content protection layer of Blu-Ray.
- nCircle Network Security, Inc., July 2003-January 2007
Contract and employee as Software Engineer. Developed reporting daemon in C to integrate UI and db together using XML and internal messaging library. Python module in C for interfacing Python with internal messaging library. FreeBSD kernel work to make kqueue SMP safe (fine grain locking).
- Vernier Networks, Inc., Nov 2002-Dec 2002
Contract as IT Manager while the regular manager was on vacation. Responsible for all IT infastructure including FreeBSD, Solaris, Cisco, Vernier Networks, Windows 98/2k/XP and MacOS. Managed backups w/ Amanda, wrote plan for Internet connectivety fail over, and fixed problems with their mailing list software, MailMan.
- Azanda Network Devices, May 2001-April 2002
Hired as CAD Tool Manager. Main responsibility was managing all of the design tools to produce the product (front end and back end tools). Managed and deployed LSF to effeciently use computing resources (E450's, E4500's and workstations). Aid in automating various tasks required by the engineers. Did bench testing and debuging of silicon, including FIB and E-Beam probing.
- Ventana Technology, Inc., 2000-2001
Working as a System and Network Admin Consultant.
- Credence Systems Corporation, April 2000-May 2001
Designed and implemented a tool wrapper scheme for the hardware design groups. The software maintains per software package running information. Wrapper scheme allows seamlessly upgrade of software w/o engineer intervention along with version locking on a per project basis. Includes experience with Altera, Avanti, Cadence, Mentor, Synopsys, and Xilinx software.
- Taos Mountain, 1999-2000
Working as a system and network admin consultant.
- Apple Computer, Inc., November 1999-April 2000
Help integrate Raycer Graphics into the hardware design group at Apple. Manage, maintain and setup workstations (jumpstart, 100+ machines), compute farm and file servers for engineers. This included hardware tool installation and LFS queue management.
- nVidia, September 1999-November 1999
Primary work was to provide assistance while the IT Manager left for vacation. Included work such as maintaining the network, help bring up a DS3, provide a mail routing solution (using sendmail) to bring up a new e-mail system and manage telcom.
- Eugene School District 4J: CyberSchool, 1998-1999
Primary work was to convert Macintosh web server over to Unix based web server. Research and implement various pieces of software to provide content and content delivery for CyberSchool classes. Make sure that existing cgis have a replacement for unix and write a replacement if one does not exist. Secondary work includes administering web servers, including software installation and maintaining backups, NetWorker.
Education
Publications and Presentations
- BSDcan - The Technical BSD Conference
May 12-13, 2006, Ottawa, ON, Canada
How to write a Device Driver in FreeBSD
- Usenix Annual Technical Conference
Jun 18-23, 2000, San Diego, CA
Presented Jonathan Lemons's kernel queue work in FreeBSD. See ;login: volume 25, number 6, page 25 for overview of presentation.
References
References available upon request.