Chris X Edwards
<chris@xed.ch>
www.xed.ch
																			
March 2022 - May 2023 [Machine Learning Engineer/Synthetic Data]
INDEPENDENT CONTRACTOR <xed.ch>
(robotics, synthetic data, machine learning, visualization, Blender)
Worked as an independent contractor for a robotics perception research group developing systems with difficult human interaction challenges. Completed the goal of establishing a synthetic training data production pipeline for machine learning. Used Blender to create high-fidelity models of the robot's operating environment. Created a high fidelity simulation of advanced laser sensors using Blender's geometry nodes. Wrote Blender addons and an entire external scripting system and Python library to drive the Blender simulations to produce synthetic data in lights out cloud environments. Created low poly assets; retopologized engineering CAD model complexity by three orders of magnitude to speed up the synthetic data generation throughput. Created sophisticated custom rigs to simplify scene configuration for researchers. 
July 2018 - October 2020 [Lead Autonomous Systems Engineer]
BUFFALO AUTOMATION GROUP <www.buffautomation.com>
(marine autonomous vessels, sensors, control, navigation)
Single-handedly made an ordinary recreational powerboat drive by itself. Wrote all control and navigation software. Created a semantic segmentation pipeline that could distinguish between navigable water and places boats should not go, using less than 15W of power. Managed a remote data annotation team. Managed equipment vendors and design subcontractors. Interviewed, managed, and mentored electrical, mechanical, and software engineering interns. Met with potential clients, investors, and news media to promote the company's mission, including live autonomous boat demonstrations. Personally collected data on diverse waterways on hundreds of missions. Created software to selectively extract stills to use for training. Collected, processed, and archived video, lidar, thermal camera, GPS, accelerometer, weather station, and ship AIS data. Designed, installed and repaired sensor packages on ships and boats. Designed and installed complex mounts for cameras, lidar and radar units. Designed, built, and installed dashboard controls and safety features for autonomous control. Planned and installed vehicle wiring, power supply/protection equipment, network connectivity, CAN wiring. Wrote a Python library implementing the NMEA2k spec for communicating with marine CAN networks. Reverse engineered competitor's rudder positioning control interface and created a C program to inject commands with warranty-voiding custom software. Designed an in-house custom steer-by-wire control system with servo actuation to position the rudder of an ordinary manually driven boat; wrote the PID control software in Arduino C. Wrote a custom waypoint management and chart plotting system in C++. Reverse engineered a marine radar's data stream and wrote a C program to collect this data (libpcap) and reconstitute it into meaningful images (libpng). Created a ROS topic publisher for this data. Made 3d models of ships, boats, and shore infrastructure to test camera optics and synthetically generate training data. Worked on full vehicle and environment simulation using Unity. Designed low power machine learning systems using Linux running on Raspberry Pi, Nvidia Jetson, Beagle Bone, Google Coral TPU, and mini-ITX boards. Wrote a non-object oriented deep neural network training and classification system from scratch suitable for use on low power microcontrollers. Designed ultra-low bandwidth communication and administration systems for shipboard computers. 
December 2015 - July 2018 [System Administrator/Programmer]
SCRIPPS INSTITUTION OF OCEANOGRAPHY, UCSD <scripps.ucsd.edu>
(ocean science sensor data collection)
Complete system administration and data management for a worldwide marine sensor network. Initiated a complete refactoring of all data management practices. Created a thorough internal documentation system. Wrote a full-featured Python module to properly handle all tasks involving Iridium SBD satellite messages. Used this module to write a multi-threaded socket server to acquire, unpack, and organize data arriving from thousands of remote ocean monitoring sensors. Set up a data handling service hosted with AWS to provide complete redundancy for all critical data acquisition services. Set up data storage redundancies and fail-safe measures. 
November 2009 - July 2018 [Research Associate/HPC Manager]
SAN DIEGO SUPERCOMPUTER CENTER, UCSD <www.sdsc.edu>
(computational biophysics and pharmacology)
Complete high performance computer engineering support for computational molecular biophysics research. Wrote an effective job scheduling system to run millions of jobs on hundreds of cores. Wrote a set of utilities to transform the FDA FAERS dataset into something actually usable. Designed and built many custom storage servers, beating cloud options on price and reliability. Wrote several CGI web interfaces for various projects. Managed centralized authentication to over 200 machines for 150 users with OpenLDAP. Wrote automated crawlers and acquisition scripts to amass a database of all known chemical compound data. Created a convenient and highly secure web appliance using Gentoo and Apache which served content exported read only from the file server. Set up jails for CGI programs with write requirements. Built and administered a dedicated high performance MySQL server using commodity hard drives and Linux software RAID. Personally built, configured, and managed several racks of equipment at the San Diego Supercomputer Center. Mentored students, wrote extensive documentation, and gave a series of technology lectures covering Python, C, SSH, make, CVS, Git, Rsync, web design, CGI, SQL, SVG, and effective cluster usage. Purchased and built high-performance CentOS Linux workstations, and managed updates. Profiled network and disk IO performance, and performed security audits. Acquired a good foundation in bioinformatics, molecular physics, genetics, human physiology, pharmacology, computer simulation of molecular phenomena, and macromolecular biochemistry, especially protein-ligand interaction and simple peptide folding. 
February 2009 - November 2009 [Programmer/Systems Architect]
ALEPH ONE LLC <www.tradeworx.com>
(high frequency trading hedge fund)
Complete information management design for a highly technical hedge fund start up. Responsible for network provisioning, system configuration, fault tolerance, security, version control management, and hardware. Worked closely with researchers to support modeling, testing, and trading operations. Wrote custom software to manage large volumes of data generated including a high performance change auditor to catch cosmic radiation bit flips in very large data sets. 
May 2008 - February 2009 [Scientific Computing Manager/Programmer]
BURNHAM INSTITUTE FOR MEDICAL RESEARCH <www.burnham.org>
(molecular biology, bioinformatics, medical research)
Built and managed several high-performance scientific computing clusters. Wrote software to convert protein research and bioinformatics software into web based systems. Responsible for back up and archive support, OS updating, account management, hardware repair, software installation and troubleshooting. Created and contributed to a blog for The Open Protein Structure Annotation Network. Using Python and Twisted, wrote and remotely installed an httpd proxy server to test development web sites from a stable network environment. 
February 2006 - May 2008 [System Administrator/Research Programmer]
UNIVERSITY OF CALIFORNIA SAN DIEGO <sysnet.ucsd.edu>
(Computer Science Department, Systems and Networking Research Group)
Complete Linux system administration service for a group of computer science professors and advanced graduate students specializing in networking, security, and system administration. Solely responsible for security, backups, hardware, and networking of all dedicated SysNet resources. Managed and relocated eight racks of 250 heterogeneous servers with no downtime. Built from scratch several large-scale storage servers and created novel backup strategies. Conceived and wrote a CPU benchmark based on the BBP algorithm for calculating the digits of pi. Managed several web servers using Xen virtual machines. Maintained servers for NFS, LDAP, DNS, TFTP, CVS, NTP. Worked with the developer of Usher, a precursor of cloud computing which was beta tested on the SysNet cluster using automated Xen virtual machine resource management. Researched and installed new equipment purchases. Organized physical wiring and configured VLANs and switches. Was the system administrator for the Center for Networked Systems. 
June 2004 - February 2006 [High Performance Computing Manager]
MOLSOFT LLC <www.molsoft.com>
(software for molecular modeling, computational chemistry)
Complete Linux system administration service for a group of scientists and programmers. Responsible for security, backups, hardware, and networking. Managed two Linux clusters with several hundred nodes. Configured dedicated servers for firewall, CVS, Samba, mail, and www. Created Black Fly Partition, a novel Linux distribution designed to manage the administration of clusters. 
March 2004 - February 2006 [Programmer/Analyst III]
JOINT CENTER FOR STRUCTURAL GENOMICS <www.jcsg.org>
(high-throughput protein structure determination)
Database/visualization programmer using Python, C++, Perl, and SQL. Wrote a comprehensive, general-purpose, object-oriented Python library for working with Protein Data Bank files. Created a cross platform, GUI SQL database browser (a clone of Toad) using Perl/Tk. Wrote a C++/STL program to diagram protein secondary structure features. Created all Unix shell scripts, and handled Linux/Unix system optimization. Audited code for security problems and trained other programmers to do so. Part of a software development team working to create on-line management tools for protein structure research. 
April 1990 - March 1997 [Senior Technical Specialist/Manufacturing Engineer]
DYNAMIC INDUSTRIES, INC. <www.dynamic-industries.com>
(subcontract large component machine shop)
Administered a PC-based Xenix computer. Designed and planned the installation of large machinery. Managed construction subcontractors and mechanics during site preparation, layout, excavation, foundation construction, machine installation, alignment, and testing. Interfaced, programmed, operated, calibrated, and taught CNC control systems. Developed custom software for applications such as machining and geometry analysis. Wrote custom software in Lisp to generate CNC programs for 3-d contour milling. Programmed a sophisticated CNC generation system for machinists based on handheld technology. Translated foreign shop prints and technical manuals into English. Researched special tooling and manufacturing processes. Designed and personally manufactured special fixtures and jigs. Invented a modified form of Gantt chart to accurately track continuous multiple interacting projects. Worked with customers to improve manufacturing aspects in the design of various large metal components such as turbines, machine tools, presses, and molds. Designed and implemented quality control systems and laser interferometry techniques. 
August 1988 - April 1990 [Manufacturing Engineer Intern]
SHEFFIELD MEASUREMENT, INC. <www.sheffieldmeasurement.com>
(manufacturer of metrology robots and instruments)
Created 3d computer models for facilities planning. Specified machine shop work plans. Wrote programs for electronics assembly robots. Computerized parts databases. 
April 1997 - present [Personal Projects]
XED <www.xed.ch>
(technical computing, autonomous vehicle advocacy)
Wrote Nerdtext, a high performance C++ AsciiDoc mark up processor. Wrote GeoGad, a custom general purpose programming language for interactive mathematics and geometric modeling. Wrote a compound engineering units conversion system. Wrote machine learning systems for lane keeping, object tracking, and path planning software for autonomous vehicle applications. Used ROS to implement software on Udacity's self-driving car. Performed a daily web crawl for over 1800 consecutive days for a large-scale data mining operation and an AI-based forecasting analysis system. Wrote a C++ 3d to 2d unix command line rendering engine. Wrote a C++ vector math library. Created a complete car racing AI optimized with a genetic algorithm and submitted the fastest Python entry into the Simulated Car Racing competition. Blender expert, 3d modeling, scripting, geometry nodes, rigging, animating, video editing. Interfaced a micro RC car to a Linux computer with a GPIO and custom electronics controlled by a C program. Linux system management (Gentoo expert), software design (Python, OpenCV, TensorFlow, Numpy, C++/STL, bash, PostScript), web page creation, computer instruction, technical writing, software installation, and custom computer work. Solid experience with XML and related technologies (SAX, DTDs, XML Schema, XPath, DOM). This document is produced from XML by xsltproc using custom XSLT. 
October 2017 [NanoDegree Advanced Self-Driving Car Engineer]
UDACITY<www.udacity.com>
June 1992 [B.Sci. Industrial Engineering / Operations Research]
UNIVERSITY OF CINCINNATI<www.uc.edu>
																			
Chris X Edwards © 2023-05-02T20:18:27Z