Lincoln Randall McFarland

a.k.a. Randy

Location: Mountain View, CA 94043

Phone: (650) 906-4958

Email: lrm@bayarea.net

Web: www.starbug.com

Objective: To find the signal in the noise, using my training in physics and experience in computer science, whether it is out in the radio noise of the universe or under a mountain of spam.

Education: B.A., Physics, University of California at Berkeley, 1985.

Updated: 2011 Oct 17

Computer Experience

I am fluent in C/C++, Python, and MySQL and have a good working relationship with Java, Unix shell scripts (Bourne and C shell families), make, Tcl/Tk, flex/bison and xml. I also have worked successfully with Fortran (largely by wrapping it in C++), and Perl in the past.

My operating system experience is largely with the Unix family of BSD, HPUX, Irix, Linux, OSX, and Solaris.

Work Experience

CDNetworks

Back-end Infrastructure

Sr. Software Engineer

April 2011 - present

I created the CDNetwork's python style guide (a slightly customized version of PEP8) and demonstrated how to apply it to our tasks, including updating our nightly billing cron jobs as well as improving our core library. I wrote an object oriented DNS bind parser to support our zone transfer product and integrated it to our database using the GUI's Django models and forms. The OO design made it simple to apply our customizations to processing the data and adapt to new requirements as they were discovered. I also wrote a simple python daemon using the multiprocessor module to efficiently parse our log data files into round robin databases. This included python scripts to synthesize test data for performance measurements on the input and a simple daemon to generate the json format required for display on the GUI along with a threaded python http server to deliver it. I also created simple shell wrappers to manage this. I also documented the design, wrote the user's guides and work closely with QA to validate the code worked as intended.

IronPort Systems (now Cisco Systems)

Security Applications

Software Engineer

April 2005 - April 2011

I developed the third generation of our Web Based Reputation Service (WBRS) product used by our web appliances. I wrote the functional and design specs and developed a tool kit of python/MySQL scripts to generate the reputation updates, test their efficacy and debug their contents. I have implemented a python based rule weight evaluation utility that applies a gradient descent algorithm to our phone home data to find the optimal set of rule weights. Prior to that lead the development of the 2.0 release of our Sender Base Reputation Service (SBRS) product, a DNS service used by our email appliances. When I started at IronPort, I worked on our "corpus", a database of spam for use with the IronPort Anti-Spam (IPAS) tool. For these products, I was responsible for writing the specs, code, user's guides and other documentation, coordinating the contributions from other engineers, working with QA to develop test tools and methodology and resolve the bugs that are found.

The QSS Group at NASA Ames

Information Physics Group

Sr. Software Engineer

September 2003 - March 2005

I implemented a new computational framework for atmospheric and surface remote sensing, called CSFSR (Classification of Spectral Features in the Solar Radiation), for the Information Physics Group. I also worked on extending the Signal Processing Environment for Application Development (SPEAD) tool kit for the Neuro Engineering Lab.

The SETI Institute

The Phoenix Group

Sr. Software Engineer

August 2000 - August 2003

I joined the SETI Institute to work on Project Phoenix's Search System Executive (SSE) for the New Search System (NSS), the continuation of the NASA program to observe stars with in 200 light years for radio signals. I wrote many applications to support the observation, from the control interface to the telescopes through to the to the database to store the results.

Frequency Technology (now Sequence Design)

Engineering

Sr. Software Engineer

August 1998 - August 2000

At Frequency Technology I worked on the Columbus product, a tool for creating a SPICE model of the parasitic capacitance in the interconnect circuits of integrated circuit designs. I developed several ports of the source code base from Solaris to HPUX and IRIX platforms updating the build infrastructure using Rogue Wave's implementation of the C++ STL.

Cadence Design

Multimedia Group

Member of Consulting Staff

October 1996 - June 1998

As a member of the multimedia group, I developed several modules, in C++, for our Signal Processing Workbench (SPW) product, a graphical tool kit for constructing models of signal processing systems. I also provided documentation and customer support for installing and running the new modules.

Trimble Navigation

Land Survey

Member of Technical Staff III

August 1996 - October 1996

I wrote makefiles to build the source code generated by Rational Rose for the TrimTalk communication product.

TIW Systems (Now Vertex RSI)

Engineering

Sr. Software Engineer

January 1994 - August 1996

At TIW, I developed the software (C++/Tcl on Unix) for our in-orbit test (IOT) system of satellite transponders. I was also responsible for installing and verifying the equipment at the customers facilities (in China, Italy, Luxembourg, Virginia and Wyoming).

Lockheed Missiles and Space Company (Now Lockheed Martin)

Algorithm Development Group

Sr. Research Engineer

May 1986 - January 1994

I started at Lockheed in the electromagnetic compatibility (EMC) group running Fortran computer models of how noise gets into electronic systems. I developed C applications to first analyze the data and then extend the range of the models. I finished in the Algorithm Development Group developing a signal processing model to show the effect of various signal recover techniques.

Energy Auditor and Retrofitter (now Home Energy)

Contributing Editor

January 1984 - May 1986

I was responsible for producing articles on various aspects of energy conservation in residential housing. This included researching the topic, interviewing people involved with the technology, writing the article and preparing the magazine for publication and distribution.