Jon Pullen 4419 4th Ave NE Seatte, WA 98105 (home) 206-634-9213 (cell) 949-357-5701 sheer-pullen at sheer.us
* Wrote two applications for Atmel AVR microcontrollers to build advanced multiplexed interrupt-driven UARTs, with data logging to flash memory * Wrote three applications for Windows CE to support downloading transaction data, auditing, programming, and otherwise manipulating electronic parking metersMar 2002 - Aug 2002 Circle-R
* Wrote application in VBA to assist in sorting of assets to be distributed to franchise storesJan 2002 - Mar 2002 EV Parts, Lynwood, WA
* Converted several databases from a proprietary, non documented format to a format used by a open source web store * Wrote and modified a number of php scripts to support functionality desired by evparts.com * Configured firewall, mail server, file server, and other core functionality for evparts.comMay 2001 - Nov 2001 Loudeye Technologies, Seattle, WA (fka Encoding.com)
* Designed and helped implement a redundant network of web and application servers using MySQL, Resin, Apache, and F5 BIGiP load balancers. * Wrote scripts to modify the normal failover behavior of the F5 load balancers, and perform extended service checks on databases. * Wrote a modified version of RealAudio's g2slta (simulated live transfer agent) that chose which clips to play based on information stored in a database, and sent URL events at configurable times, including in the middle of clips. * Assisted in the porting of RealAudio plugins from Windows (MFC) to Linux.Dec 1999 - May 2001 OnAir.com Streaming Networks, Irvine, CA (fka WWW.COM)
* Designed and helped implement a streaming network capable of delivering 10,000 simultaneous on-demand streams from a 2.1Tbyte SAN using Sistena Softare's Global File System. * Authored software to protect against unauthorized streaming and aid metrics collection by using tokenized URLs. (single threaded unix daemon that interfaced to a modified Samba server) * Authored software to process RealAudio and Windows Media streaming logs and give comprehensive metrics reports. * Designed and maintained Oracle and MySQL databases. * Configured and maintained BigIP load balancers and Extreme switches, including advanced troubleshooting of packet loss and latency issues, and advanced (OSPF) routing configuration. * Modified CGI scripts to improve searches and joins of a 3 table X 1.5 million row database. Improved search speeds from 2s to 150ms. * Assisted in maintaining the internal network, including configuring Cisco Pix firewalls, Linux firewalls, Cisco routers, dual-horizon name servers, mail servers, Samba servers, and a host of other minor administration tasks. * Wrote a trouble-ticket tracking system for the tracking of internal and external problems.Mar 1998 - Oct 1999 Headwaters Information Management Systems, Pettegrew, AR
* Wrote application in MFC C++ to take data from a Access database and send it over a serial port to a handheld micro, and vice versa, including support for a multi-micro serial bus * Wrote application in ANSI C to run on a NEC V20 based handheld micro (The Husky FS/2) to collect data from parking meters through a infrared interface, and store them on a solid state disk for retrieval through a protocol and application mentioned above. * Reverse engineered a existing application to figure out how to communicate with a series of parking meters.Mar 1996 - Sep 1998 Epoch Internet, Irvine, CA
* Designed and implemented mail, news, radius authentication, DNS, and communication methodologies ("glue") to enable all these services to be tied to a central registration server. * Maintained a mail server with over 40,000 active accounts, and over 100,000 dormant ones. Performed upgrades as necessary. * Implemented and maintained two news servers, first on DEC AlphaServers with individual volumes, and then on Sun UltraSparcs with MTI fiberchannel RAID arrays. * Assisted in the training of system administrators. * Assisted in the training of technical support staff, and authored a training manual for technical support staff. * Debugged and fixed problems with high speed data lines. * Wrote and maintained simple CGI scripts for client web sites. * Assisted in the administration, backup, and maintenance of several web servers. * Located and fixed several severe security holes, both in locally authored software and in off-the-shelf software. * Installed and configured Gauntlet, Altavista, and FWTK firewalls. * Helped design and implement a modern Network Operations Center (NOC) * Designed and implemented a high-capacity automated backup system.
1996-1996 Support System Developers, Fairfax, VA
Tech Support -Tech Support Level III
* Handled 50-60 calls a day, assisting clients with a wide variety of printer and sound card issues.1994-1995 Hacker Shack Computers, Woodbridge, VA
* Supervised a staff of 6 junior technicians, repairing and upgrading 5-10 PCs a day. * Designed and implemented Novell and Windows For Workgroups LANs using a variety of physical link layers.
Languages * C - Guru, both DOS and unix * C++ - Expert, both MFC (windows) and unix * PHP - Expert * AVR assembly - Expert * PIC assembly - Intermediate * Classic BASIC - Expert * VBA/Visual Basic - Intermediate * HTML - Intermediate * XML - Beginner * SOAP - Beginner * Perl - Guru, both object oriented and classical. * SQL (MS SQL/Oracle/Mysql/PostGres) - Expert * Tcl - Beginner * LISP - Beginner Applications * Apache - Guru * Cakewalk - Expert * Digital Performer - Intermediate * Icecast - Expert * IIS - Intermediate * Innd (news) - Intermediate * MS Office - Intermediate * Mysql (administration) - Expert * Named (BIND) - Expert * Oracle (administration) - Intermediate * Real Audio Servers - Expert * Sendmail - Guru * Qmail - Beginner * Windows Media Servers - Intermediate Operating Systems (administration and development) * Linux - Guru * Novell - Beginner [administration only] * OSF/1 (DEC unix) - Intermediate * OSX - Intermediate * SCO unix - Intermediate [administration only] * Solaris - Expert * Windows 95/98 - Intermediate * Windows 2000 - Expert * Windows NT - Intermediate * Windows XP - Beginner Other * Hardware/software design and integration - Beginner * PCB layout - Beginner * Analog/digital interface design - Intermediate * Hard disk based multitrack audio recording, mixing, and editing - Intermediate (approximately 20 tracks) * Electric vehicle design and implementation - Beginner
* Metertrax CE - a flexible, configurable plugin-based application for querying, auditing, programming, and servicing parking meters. Written in C++ for Windows CE * Novatrans CE - a series of plugins for downloading transactions from parking meters and uploading them via HTTP post to web servers. Written in C++ for Windows CE * Metersync - a plugin for ActiveSync to support the internal database format of the above applications and ODBC databases on the desktop * G2slta - a multithreaded simulated live transfer agent for RealAudio that collected information about what clips and events to play and send out of a SQL database, and logged clip play times into a SQL database. Was able to serve 200 SLTA streams out of a single process without overloading a CPU on a single CPU P-III running Win 98. * Filed - a single threaded nonblocking file system access control daemon, with some frills. Designed to give any service that can mount a CIFS filesystem tokenized URLS. Heavy use of IPC, including shared memory segments and semaphores. Written in ANSI C, compiles clean on linux and solaris. * Metrix - a complete suite for parsing, splitting into various customers, and analyzing log files. Written in ANSI C, compiles clean on linux (no data for other arches). Some minor components written in Perl. * TroubledTimes - a web-based trouble-ticket processing system, complete with a automated mail gateway, search capacities, and a host of other features. Written in Perl. * Menu - a interactive menuing application for querying, auditing, programming, and servicing parking meters. Written in ANSI C, compiles clean for DOS. Can be run on very lightweight computers. Includes hardware-based interrupt driven serial and infrared IO. * Uptrax/Downtrax - a interactive application for downloading and uploading data from Menu, mentioned above, into a Access database. Written in C++ using MFC.
* EW-Too - modified in too many ways to list * PgMarket - modified in too many ways to list. * Gated - modified to read OSPF routes out of a SQL table. * Sendmail - modified to read DB lookups (virtuser, etc) out of a SQL table. * University of Washington Imapd/Popd - modified to use SQL database for indexing of inbox rather than winding through disk, and to do user lookups through SQL database. * Procmail - modified to write indexing information into a SQL database while writing to mail to disk. * Radiusd - modified to read DB lookups out of a SQL table. * Samba - Server modified to interface with Filed (see above), client modified to not cache file data between sessions. * Loughborough University Wbd (whiteboard software) - modified to send and receive on different ports instead of the same one, to permit the sending of pdf files, and to permit changing the active page over the network.