Ryan Burn, Developer in San Francisco, CA, United States
Ryan is available for hire
Hire Ryan

Ryan Burn

Verified Expert  in Engineering

Software Developer

Location
San Francisco, CA, United States
Toptal Member Since
February 9, 2017

Ryan is a senior freelance developer with a background in mathematics. His experience ranges from writing high-performance scientific computing applications for the Department of Defense to building large-scale enterprise software for financial service companies.

Portfolio

Traceable AI
Go, Kubernetes, Envoy Proxy, NGINX, Lua
LightStep (via Toptal)
Docker, NGINX, Kubernetes, Go, Python, C++
Bank of America (Contractor)
Kdb+, Matplotlib, Microsoft Excel, Jinja, Python

Experience

Availability

Part-time

Preferred Environment

Bazel, Vim Text Editor, Git, Linux

The most amazing...

...software I've created is an image stitching application that repositioned a mosaic of overlapping microscope images to correct alignment errors.

Work Experience

Freelance Software Engineer

2021 - 2022
Traceable AI
  • Integrated Traceable AI's security product with API gateways to detect and block internet traffic that poses a security threat.
  • Wrote Lua plugins for Nginx, Envoy, and HAProxy to capture, analyze, and block web traffic.
  • Developed services in Go to process API requests with ModSecurity.
Technologies: Go, Kubernetes, Envoy Proxy, NGINX, Lua

Freelance C++ Developer

2017 - 2021
LightStep (via Toptal)
  • Built a high-performance C++ tracing library. The library used I/O multiplexing, arena allocation, and lock-free data structures to achieve high throughput tracing at a low CPU cost.
  • Developed a dynamic module for Nginx in C++ that added distributed tracing support. Kubernetes' Nginx Ingress Controller uses the module to provide observability to inbound traffic into Kubernetes clusters.
  • Instrumented the L7 C++ proxy Envoy with tracing support and created a plug-in API to support dynamically loading in tracers from different vendors at runtime.
  • Developed the OpenTracing API for C++ as part of a project to provide a vendor-neutral distributed tracing.
Technologies: Docker, NGINX, Kubernetes, Go, Python, C++

Software Engineer

2014 - 2015
Bank of America (Contractor)
  • Developed automated email reports that aggregated and measured daily TBA trading activity.
  • Created an application that categorized TBA securities and displayed charts and real-time monitors of their net trading volume.
  • Ensured the quality of a trading data warehouse by debugging and fixing inconsistencies and erroneous entries.
Technologies: Kdb+, Matplotlib, Microsoft Excel, Jinja, Python

Software Engineer

2013 - 2014
Goldman Sachs (Contractor)
  • Modified and extended a legacy service to support a new class of tradable for commodity securities.
  • Developed a program that extracted information from commodity trades and populated a data warehouse to support tracking and analyzing of inventory.
Technologies: SecDB, Slang, Sybase, SQL, C++

Software Engineer

2009 - 2012
Bloomberg
  • Built an auction system for the Bloomberg Terminal relied on by central banks throughout the world to buy and sell government debt.
  • Developed a tool for Bloomberg's business team used to track customer usage information.
  • Corrected a concurrency bug in a distributed legacy service that resulted in incorrect audit logs for fixed income trades.
  • Wrote scripts to simulate broker-dealer behavior that were used to test and demo Bloomberg's fixed income trading platform.
Technologies: JavaScript, SQL, Fortran, Python, C, C++

Senior Consultant

2009 - 2009
Detica
  • Wrote a program that filtered and summarized a dataset using graph centrality measures.
  • Created a script that quantified problems with redundancies and fragmentations across a large dataset.
  • Developed and delivered a PowerPoint presentation that summarized the findings of a data quality study to a government customer.
Technologies: GNU Scientific Library (GSL), Microsoft PowerPoint, Boost, SQL, R, Perl, Python, C++

Applied Research Mathematician

2007 - 2008
National Security Agency
  • Developed an image stitching application that corrected positioning errors in a mosaic of overlapping microscope images.
  • Wrote a program for a microcontroller that adjusted a digital potentiometer.
  • Worked on a team exploring ways to use the Naive Bayes machine learning algorithm to fuse together information from multiple data sources.
  • Modified an algorithm implementation to use the Boost Threading Library to improve the performance on multicore architectures.
  • Increased the performance of a Markov probability model used to analyze plain text.
Technologies: Mathematica, MATLAB, FFTW, Boost, SQL, Perl, C, C++

System Administrator

2005 - 2005
Townsend Communications
  • Performed maintenance of Linux servers as part of daily operations for supporting internet service customers.
  • Wrote software that dynamically generated web pages from URL specifications.
Technologies: Linux, Perl, Python

C++ Tracing Library

https://github.com/lightstep/lightstep-tracer-cpp
I wrote a high performance tracing library in C++. The library makes use of multiplexing IO, arena allocation, and lock-free data structures to achieve high throughput tracing at a low CPU cost. It's used by Envoy, NGINX, and financial service customers that run high concurrency, low latency applications.

Warped Linear Regression Modeling

https://github.com/rnburn/peak-engines
I developed a Python native module (written in C++) for building warped linear regression models. Warped linear regression extends ordinary least squares by adding an additional step where target values are transformed via a monotonic function to maximize likelihood. The additional step makes it more general purpose than OLS and capable of fitting models with non-normal error distributions.

Automatic Regularization Tunning

I developed software that optimizes regularization parameters for ridge regression for certain cross-validation metrics. By efficiently expressing regularization as an optimization problem where both values and gradients are computed. The software is able to handle multiple regularizers and can often provide better results than what can be achieved with a traditional grid search.

Image Processing

I created an image stitching application based off of an IEEE research paper to correct positioning errors in overlapping images taken from a microscope. The application scored how well overlapping regions aligned with the zero-mean normalized cross correlation metric and applied a fast fourier transform to efficiently compute the metric for a range of translations. It then optimized the scoring metric across image placements using a dynamic programming algorithm. The impact of the program was to eliminate a time-consuming process in which images were manually adjusted by hand.

Auction System

I worked as a lead developer to build an auction system for the Bloomberg Terminal used by central banks and primary dealers to buy and sell government securities. The application featured a real-time monitor for bids and customizable bid allocation strategies. I worked both on the back end that used C++ and SQL and the JavaScript front end.

GCC

I extended the GCC C++ compiler to better support the Cilk parallelization language extensions. I modified the compiler's intermediate code generation to allow the cilk_spawn keyword to work with expressions involving constructor calls or user-defined type conversion operators.

Optimizing Approximate Leave-one-out Cross-validation to Tune Hyperparameters

https://arxiv.org/abs/2011.10218
For many regularized models, including logistic regression, the leave-one-out cross-validation can be efficiently estimated with an approximate leave-one-out cross-validation formula (ALO). I derived equations for computing the gradient and hessian of ALO and developed a process for optimizing ALO to tune hyperparameters.

Languages

C++, Slang, Perl, Fortran, JavaScript, R, Go, SQL, C, Python, Lua

Frameworks

Jinja, Boost

Libraries/APIs

Matplotlib, FFTW, GNU Scientific Library (GSL), Intel TBB, LAPACK, BLAS

Tools

Bazel, Git, Vim Text Editor, Microsoft Excel, MATLAB, Mathematica, Microsoft PowerPoint, NGINX, Envoy Proxy

Platforms

Docker, Kubernetes, Linux

Storage

Kdb+, Sybase, SecDB

Other

Numerical Optimization

2002 - 2004

Bachelor of Science Degree in Mathematics

University of Washington - Seattle

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring