Mark J. Taylor Computer Engineer and Software Developer Work status: Natural born U.S. citizen, working in the Ann Arbor, Michigan area. 2959 Green Valley Dr., Ann Arbor, MI 48103 Mobile: (734) 657-4288 Mark.Taylor.HQ@gmail.com mark@taylor-hq.com Career Overview My comprehensive experience with computers and related (especially networking) technologies includes programming, system/network administration, monitoring, and embedded programming for operating systems such as Linux, FreeBSD, OpenBSD, VxWorks, DOS, Solaris, AIX, and Windows. Many of the projects involved integrating and debugging large amounts of Unix-based user-level and kernel-level code. As a database developer, I have several years of experience with SQL and medium-sized (tens of millions of records) Oracle and PostgreSQL databases, as well as with round-robin databases (RRD). I have been developing web-based interfaces for over twenty years, including three years leading the development of a web-based system configuration toolset for a Unix-based operating system. For several years I was the lead dev/ops for the transcription part of an electronic medical record enterprise system at a large, leading health-care system. I have performed as a team technical lead, and been a part of groups that deliver software and hardware to the commercial market. I am a co-inventor on six force-feedback patents, and have spent several years programming robotics and computer vision systems. Also, I developed a web-pad based wireless embedded Linux system intended for web browsing and audio/video, which included writing a hardware kernel driver. Skills Education: BS in Electrical/Computer Engineering from Wayne State University, 1990 Computer Programming: 35+ years (30+ years with C) Unix systems programming: 30+ years Web (HTML/CGI/SSI/JavaScript): 25+ years Computer Languages: Go, C, Python, PHP, Perl, AWK, Unix shell-scripting, TCL, PL/SQL, Pascal, BASIC, FORTRAN, Forth, Intel x86 asm, Java Operating Systems: Unix (Linux, OpenBSD, FreeBSD, SunOS, Solaris, VxWorks, AIX, SGI/Irix, A/UX), DOS, DOS/32, Windows, MacOS Networking Systems: IP; Ethernet; IPSec; BGP; MS-PPTP; routing, bridging, firewalling; proxy serving; NAT Softwares: PostgreSQL, Apache, OpenSSL, sendmail, BIND, OpenLDAP, SAMBA, Git, SVN, CVS, gcc, MS Visual Studio Experience SOFTWARE ENGINEER Cisco Systems / Remote August 2014 - present (9+ years) Develop, deploy, and monitor (Linux-based) malware analysis software and services (Cisco Threat Grid) for static and sandbox forensics, analyzing network activity based on pcaps, file i/o based on QCOW2 activity, Windows registry hive changes, etc. Primary development languages are Go, C, and Python. Implemented and enhanced numerous micro-services, including a custom, secure, VM-to-network VPN service based on the VDE protocol. SENIOR SOFTWARE DEVELOPER Arbor Networks / Ann Arbor, MI Feb. 2006 - May 2014 (8 years) Worked for seven years as a software developer for a product series (Peakflow SP) which performs monitoring, detection, alerting, and mitigation of IP-based traffic using NetFlow and BGP, typically deployed at network providers. Work involved debugging and extending existing software components, ranging from traffic capture, correlation, data storage, data replication, and user interfacing for data presentation. Also performed troubleshooting for in-the-field customer issues for this product. Subsequent work was in the ASERT team performing development, operations, and research utilizing cloud-based infrastructures (Amazon AWS EC2/S3, and OpenStack Nova/Swift) for network-security related data feeds to company products, the ATLAS portal, and the Google Digital Attack Map. Software Development * Developed code for Ubuntu Linux, Arbor's custom Linux, and OpenBSD * UI coding done in PHP/Apache, nginx/uWSGI/Python * Command-line style interface coded in TCL and KSH * Back-end coding using C, Python, and PHP * Integrated and maintained third-party software * Heavy use of XML * Collaborated on software architecture * Developed, extended, and debugged product features Highlights * Developed a database and API to millions of attacks processed through Arbor products * Developed custom near real-time PostgreSQL database replication code for multi-slave environment * Enhanced traffic processing's matching and binning engines * Implemented malicious host detection and reporting engine * Enhanced binary time-series traffic databases for speed and accuracy Support and Maintenance * Involved in maintaining and developing production ATLAS feeds * Worked closely with QA to find, replicate, and fix bugs * Filed bugs into Bugzilla, stories and tasks into VersionOne * Debug core dumps, syslogs, and packet captures from customer installations SENIOR SOFTWARE DEVELOPER University of Michigan Health Systems, Medical Center Information Technology / Ann Arbor, MI Feb. 2002 - January 2006 (4 years) At UHMS / MCIT, I worked with the Central Transcription System, and was responsible for maintaining an in-house developed medical transcription system, enhancing it, as well as keeping it functioning by providing troubleshooting support. I also was a primary and backup on-call resource after-hours. Technologies involve PL/SQL, Web-CGI, Visual Basic, Pro*C, and shell-scripting. I greatly enhanced the systems' stability and capability through integration of open-source softwares, active monitoring, and development and implementation numerous QAs. Worked at enhancing the existing enterprise: * Administered an Oracle db server system running on Sun Solaris. * Extended and re-implemented existing PL/SQL stored procedures used by caregivers. * Wrote many Perl, shell, AWK, and PL/SQL-based applications for data-reporting, QA, and monitoring purposes. * Developed a web-based interface to enterprise databases to present information as it related to documents through the system. * Coded document-vs-patient visit deficiency reports. Also, troubleshooting of the CTS system: * Wrote softwares for database data auditing and reporting. * Developed a monitoring and notification system that pings hosts/ports, runs SQL, watches/checks files, runaway processes, etc. * Develop a web-based interface for running daily and on-demand QA and other reporting. * Implemented the feedback-loop portion of QA for many processes (printing, data import verfication, data export verification, others). * Provide timely support for all CTS-related systems, on a daily basis as well as paged on-call. * Audited Solaris system for security. SOFTWARE ENGINEER Adapted Wave Technologies / Ann Arbor, MI Feb. 2001 - Oct. 2001 (8 months) Adapted Wave developed a high quality wavelet-packet based audio codec, which is being reviewed for license by Sony and the makers of RealPlayer. My responsibilities included design and implementation of a high-level public API for the codec, enhancement of the flat file format, and design of a bandwidth-driven streaming media protocol. As the only programmer working on these items, I was solely responsible for their structure and implementation. Other responsibilities included network setup, web server configuration, creation of web pages which included large amounts of JavaScript, and working with technologies such as Java, XML, and ActiveX. Work involved enhancing proprietary, wavelet-packet based audio compression and decompression software: * Familiarization and coding of mathematical transforms such as FFT, DFT, DCT, and Hartley. * Low-level C and Intel x86 assembly optimization of these transforms and related functions. * Enhancement of the basic audio file format, and design of a streaming media version. * Programming using Microsoft's Visual Studio toolset. * Implementation of a web front-end for the Java applet version of the decoder/player. Also, setup and operation of the computer network: * Installation and setup of a Linux server, including IBM DB2, J2EE, and Resin. * Deployment and use of a CVS-based revision control system. * Some setup of the corporate Apache web server (Cobalt-RAQ based). * Setup of secure services (SSL, SSH, secure IMAP) on the corporate server, including SSH tunneling. * Installation and setup of a Windows 2000 router, including IPSec and Microsoft ISA server. SOFTWARE DEVELOPER AND RESEARCHER Cybernet Systems Corporation / Ann Arbor, MI Dec. 1990 - Jan. 2001 (10 years) Cybernet Systems is a leader in small-business government contracting and has developed many front-running technologies. I was involved in many projects, both as sole designer and in a team, to develop technologies such as force-feedback robotics, computer vision, and web-based applications. Several of these projects reached the commercial market, including a 6 degree-of-freedom force-feedback joystick, and the GUI for OS configuration and management (NetMAX). I am co-inventor on six patents of force-feedback robotic control (used in the Logitech iFeel mouse and others), and was technical lead on the NetMAX project. Other projects included an embedded system for computer vision, another embedded system for secure radio communications, and programming, modifications, and setup of open source software for Unixes (FreeBSD/Linux) such as ISC-DHCP, sendmail, UW-IMAP, and mySQL. Developed skills in web-based GUI programming: * Extensive programming for a web-based GUI using CGI (mostly in Perl) for Unix-based OS (FreeBSD, Linux) and subsystems configuration for the commercial market (http://www.netmax.com/). Subsystems included Apache, SAMBA, BIND, sendmail, OpenSSL, ProFTP, inn (news), and UW-IMAP. * Wrote many web-based utility applications for tasks such as note taking, statistics gathering, file retrieval, and login. Developed skills in operating systems and computer networking: * Performed general OS programming and debugging (including kernel) with FreeBSD and Linux. Corrected many OS bugs, including: a "long" overflow in the FreeBSD concatenated-disk driver, many instances in user-level code where the SIOCGIFCONF ioctl was used improperly, and enhanced PAM capabilities. * Developed a variety of tools for routers and bridges with multiple LAN and WAN ports, including configuration and bridging. * Presented paper at 1999 BSDCon "Building an Integrated Server Product Using FreeBSD". * Developed, implemented, and maintained Cybernet's TCP/IP-based LAN, WAN, and dialup. * Used RCS/CVS version control software for project source code management. * Developed a multi-platform backup and restore utility. Originally written as a shell script, later rewritten in Perl. * Programmed applications on a variety of operating systems: numerous versions of Unix (FreeBSD, Linux, Sun OS, SGI/Irix), MacOS, Windows, VxWorks. * Exposed to many web servers, including Microsoft IIS, Netscape Enterprise Server, and AOL Server. Developed skills in embedded systems design and programming: * Developed and patented a virtual force-feedback control system, implemented in DOS, DOS/32, Irix, and VxWorks. Cybernet later sold these patents to Logitech. U.S. patent numbers 5,389,865, 5,629,594, 6,104,158, 5,459,382, 5,831,408, and 6,801,008. * Developed a man-portable Unix-based wireless force-feedback vehicle remote control system. * Developed a PC/104 embedded DOS-based network web camera with image processing capabilities using a 32-bit DOS gcc (djgpp). * Developed an embedded processor (Motorola 68HC11) based serial port digital interface for SINCGARS simplex-mode analog military radios. * Developed a Macintosh-based computer vision system that included a custom programming language tokenizer and executor. Other features included video frame grabbing, advanced object detection and discrimination, and mathematical and morphological image operations. INTERN SOFTWARE ENGINEER Veridian ERIM International Corporation / Ann Arbor, MI Jan. 1989 - Dec. 1990 (2 years) Worked as a software engineering intern on various projects: * Programmed a robotics control system using an embedded Unix. * Assisted in development and simulation of an outer space-based robotic wafer production module which was to use molecular beam epitaxy on the Space Shuttle's Wake Shield Facility. * Performed general computer networking and support operations for Macintosh, PC, and Unix (primarily SGI/Irix) systems. * Developed an IEEE-488 based robotic arm positioning and wafer testing system using Forth for a clean-room application. * Developed a serial-based interface to the Mattel Power Glove using a PAL and the ABEL software. * Developed an application in C for VAX and SGI workstations to convert bitmap images into PostScript for printing to networked PostScript printers. * Developed robotic simulation systems using a CAD/CAM package.