Nicholas Babcock


Software developer at TotalCAE with 7+ years in writing backend REST services, web front end (both single page apps and server rendered), devops, and low level libraries. Believes open source is important, so contribute where one can, and advocate otherwise. A healthy work-life balance sees the highest returns. Remote full-time since July 2017.

skills

SkillKeywords
BackendRust F# Python C# R Java Tidyverse Dropwizard Jetty Jersey Jackson Flask Bottle Rocket
FrontendJavascript ES2017 Typescript PostCSS React Jekyll Hugo AMP
OperationalGrafana Graphite nginx Træfik collectd Docker Redis RabbitMQ Postgres Mysql Jenkins cgroups

employment

Lead Developer, TotalCAE / Hiperlogic

2012-05 — Present

TotalCAE manages HPC environments with a suite of tools for job control and analytics. Hiperlogic offers a complete range of healthcare integration solutions.

  • Custom time series database plugin for various cluster utilization metrics
  • Consistently led successful tech choices, weighing company priorities in trade-offs
  • Backend web applications with durability, auditing, metrics, and reporting
  • Web portal for engineers to control job creation, monitoring, statistics
  • Arbitrary XML validation, reduction, and analysis for Meaningful Use
  • Full system integration tests using Docker and Jenkins
Graphite Grafana Dropwizard Netty RabbitMQ Redis AWS RDS Postgres Mysql Python Java Javascript XQuery Schematron Docker

Owner, NBSoftSolutions

2011-05 — Present

Company I started in high school to sell written software overseas. Nowadays, I write and host web sites and services for family and friends for a nominal fee

  • All sites and services are containers to ease deployments and minimize migration costs
  • Sites are reverse proxied through Træfik, providing TLS termination, HTTP2, and Let's Encrypt
  • Static sites have assets compressed, digested, and cached through Cloudflare
  • It's amazing how far $5 in hosting can go
docker networking digitalocean cloudflare hugo

Software Engineer Intern, Citadel LLC

2013-06 — 2014-08

  • Discovered and mitigated SQL injection and impersonation attacks
  • C# Windows Forms frontend to C++ job scheduling backend
  • Led team discussions to gather UX requirements
XSLT C# Win-Forms

projects

Core Contributor, Dropwizard

2015-06 — Present

Dropwizard is a Java framework for developing ops-friendly, high-performance, RESTful web services

  • Significant improvements to client payload validations
  • Hot reload TLS certificates for zero downtime (Let's Encrypt)
  • Benchmarking configurations for optimal performance
  • Issue triaging, documentation, and blog post writer

Owner, rrinlog

2017-09 — Present

Elasticsearch is resource hungry even at idle while it parses nginx access logs. I replaced my home server's Elasticsearch with Rust and SQLite and saw a 100x reduction in memory, 1000x reduction in CPU usage, and 100x reduction in disk usage

  • Zero allocation access log parsing library
  • Custom Grafana json plugin for visualizing log
  • Diesel for statically checked SQL statements

Owner, boxcars

2017-11 — Present

Boxcars is a Rocket League replay parser written in Rust. Complementary cli tool outputs JSON for downstream users at 1000x efficiency compared to existing solutions

  • Thorough benchmarks and profiling at each parsing stage
  • Experimental webassembly version for browser use
  • Fastest bitstream primitive parser
  • Fuzzed with libFuzzer and afl to ensure correctness
  • Matplotlib and numpy to visualize statistics
  • Diesel for statically checked SQL statements

Owner, Additional Projects

2012-08 — Present

I have an abundance of projects that pop into head and I have to get them down on code. Below is only a sample of these ideas

  • collectd-rust-plugin: Write an low-cost, ergonomic plugin for collectd in Rust
  • Farmhash.Sharp: .NET Standard port of Google's Farmhash non-cryptographic hashing algorithm
  • udps: Map and aggregate University of Michigan's police reports in a single page app
  • Pfim: .NET Standard TGA and DDS image decoder
  • OhmGraphite: Windows hardware sensor forwarder daemon
  • eecs381-lint: Clang tidy plugin for ensuring style correctness
  • register: Digesting, distilling, and visualizing Federal Register data with XSLT, Python, and R

education

University of Michigan

2011-09 — 2014-12

Graduated Magna Cum Laude in 3½ years while working near full time coding. As a freshman, singled out for performance to join a worldwide AI competition sponsored by Google and finished 43rd out of 7900 submissions -- temporarily reaching as high as 17th


writing

My Blog, nbsoftsolutions.com

Current

I started blogging in August 2012. The first rendition had terrible performance being hosted on GoDaddy, IIS, WCF, and MySQL using server side includes to emulate templating. I've ditched those for a static site through Jekyll. I shudder at the past, but I use it as a point of pride to see everything I've learned. I love tinkering and my blog is one of the first places where I have fun experimenting. Please enjoy anyone of my articles. A blog post once a month may seem prolific, so here is a small sampling:


interests

Board Games

Current

I love board games: 7 Wonders Duel, Power Grid, Dominion, Patchwork, Kingdom Builder, etc.

Homelab

Current

Raidz2 NAS hosting docker applications with big plans for future expansion

SFF PC

Current

Achieving the highest performance per liter for PC components