- 2020-12-29: Writing a Secure Systemd Service with Sandboxing and Dynamic Users
- 2020-11-09: A Quick Tour of Trade-offs Embedding Data in Rust
- 2020-11-02: Designing a Decaying Leaderboard with Redis
- 2020-10-05: Results of Authoring a JS Library with Rust and Wasm
- 2020-08-20: Migrating a 160k Word Jekyll Blog to Hugo
- 2020-08-16: Backblaze B2 as a Cheaper Alternative to Github's Git LFS
- 2020-07-17: My Bet on Rust has been Vindicated
- 2020-07-13: Reasons to Migrate away from Gatsby
- 2020-04-04: Opinionated Guide for Web Development with Rust Web Workers
- 2020-02-19: Parsing Performance Improvement with Tapes and Spatial Locality
- 2019-07-03: Monitoring Remote Sites with Traefik and Prometheus
- 2019-05-07: Downsampling Timescale Data with Continuous Aggregations
- 2019-03-03: SQLite: Dropping an index for a 300x speedup
- 2019-02-28: Azure Pipelines for Rust Projects
- 2019-01-27: Guidelines on Benchmarking and Rust
- 2018-12-15: Quick investment advice for the smart and lazy
- 2018-10-14: Leaning on Algo to route Docker traffic through Wireguard
- 2018-09-11: Exploring TimescaleDB as a replacement for Graphite
- 2018-09-04: Hashing strings bytewise in C#
- 2018-08-11: IPv6 only networking not viable in 2018
- 2018-07-24: Satisfying NAS share and backup solution
- 2018-05-21: Migrating to Actix Web from Rocket for Stability
- 2018-05-03: Viewing WireGuard Traffic with Tcpdump
- 2018-04-19: Lessons learned: ZFS, databases, and backups
- 2018-03-29: Routing Select Docker Containers through Wireguard VPN
- 2018-02-23: Integrating Kotlin with a Dropwizard App
- 2018-02-04: Dropwizard 1.3 Upcoming TLS Improvements
- 2018-01-15: Fighting Instability and Rust
- 2017-11-21: Replacing Elasticsearch with Rust and SQLite
- 2017-10-22: Back to the Register: Distilling the Federal Register for All
- 2017-09-12: WireGuard VPN Walkthrough
- 2017-08-23: Robust systemd Script to Store Pi-hole Metrics in Graphite
- 2017-08-14: Building a Home Server
- 2017-07-24: Investigation into the Inefficiencies of Node.js Http Streams
- 2017-07-19: Writing a high performance TLS terminating proxy in Rust
- 2017-06-10: Creating a parallel AMP site with Jekyll
- 2017-05-22: Introduction to Journald and Structured Logging
- 2017-04-26: Migrating to the new NET SDK MSBuild Project Files
- 2017-03-26: The Difficulty of Performance Evaluation of HikariCP in Dropwizard
- 2017-03-06: First Impressions of the Google Pixel
- 2017-02-04: The Last Hooray, Bye Windows Phone
- 2017-01-22: The Cost of TLS in Java and Solutions
- 2016-12-29: Exporting Open Hardware Data into Graphite
- 2016-12-27: Monitoring Windows system metrics with Grafana
- 2016-12-18: Exploring Data: Michigan Traffic Accidents
- 2016-11-19: Another Year, Another Site Refresh
- 2016-11-14: Waning F#
- 2016-11-09: Dropwizard 1.1 and Let's Encrypt with no Downtime
- 2016-10-22: Dropwizard Multipart Form Quickstart
- 2016-09-14: Boxcars: an Example Rocket League Replay Parser Using Rust and Nom
- 2016-09-07: Know Thy Threadpool: A Worked Example with Dropwizard
- 2016-09-01: Dropwizard 1.0 TLS Checklist
- 2016-07-16: Fun with Pfarah: a Paradox Clausewitz Parser
- 2016-06-14: ISO 8601 and Nanosecond Precision Across Languages
- 2016-06-01: Visualizing Ann Arbor Incidents
- 2016-05-15: Introduction to IMAP
- 2016-04-23: Initial Impressions of a Website with Modern Build Tools
- 2016-03-12: A Java Result Algebraic Data Type Worth Using
- 2016-02-23: Turning Dropwizard Performance up to Eleven
- 2016-02-17: Federal Register Data Exploration with R
- 2016-02-10: Modern Website over HTTP 2 and SSL with Nginx and Let's Encrypt
- 2015-12-12: Trading Beauty for Performance: F# active patterns vs Nullable
- 2015-10-20: Most Popular Electron UI Libraries
- 2015-10-16: Disecting the Postgres Bulk Insert and Binary Format
- 2015-09-15: XSLT 2.0 Processing in Postgres
- 2015-08-09: Guide and Explanation for Metrics in Dropwizard
- 2015-07-14: Processing arbitrary amount of data in Python
- 2015-04-16: Getting Started with Dropwizard: Testing
- 2015-04-05: F# and Data go Hand in hand
- 2015-02-15: Writing a Dropwizard JSON App
- 2014-12-31: Optimizing Innodb for Bulk Insert
- 2014-12-17: Announcing EU4 Stats
- 2014-09-08: Continuous Integration and Delpoyment with .NET/Mono
- 2014-07-23: C#, Mono, Nuget, Nunit, T4, CI, Oh My!
- 2014-07-18: C# and Threading: Explicit Synchronization isn't Always Needed
- 2014-06-08: Await Async in C# and Why Synchrony is Here to Stay
- 2014-04-25: Deathmark Postmortem: a Game Where Everyone Dies
- 2014-03-22: Migrating from GoDaddy/IIS/WCF/C#/MySQL to DigitalOcean/Apache/Flask/Python/SQLite
- 2014-02-07: Computer Game Development at Michigan: Zelda Postmortem
- 2014-01-17: Computer Game Development at Michigan Week 2: Start of Unity
- 2014-01-08: Computer Game Development at Michigan Week 1: Introduction
- 2014-01-05: Linux Virtualization with a Mounted Windows Share on Client Hyper-V
- 2013-12-31: A New Way In Writing Documents With Markdown and Pandoc
- 2013-09-26: Software Engineering Interview Questions that Make an Impact
- 2013-09-22: Distributing and Deploying a Linux Python Application
- 2013-08-24: Design Dilemma: Configuration Files
- 2013-07-25: On Résumés
- 2013-07-06: Design Pattern Dilemma: A Localizable Object
- 2013-06-16: High Performance Unsafe C# Code is a Lie Redux
- 2013-06-08: The Two Extremes of a Startup and a Corporation
- 2013-06-03: The Perfect Blogging Workflow
- 2013-06-02: Premier of Perl and Stocks
- 2013-05-30: Chicago Calls
- 2013-04-14: The Legacy and Opportunity of 1.5 Million Lines of Code
- 2013-02-22: Designing a REST API: Unix time vs ISO-8601
- 2013-02-04: The Joys and Woes of a Forever Project
- 2013-01-04: Adventures with WriteableBitmap and Bit Manipulation
- 2012-12-30: Create a Simple Session Aware SSL Bottle Login
- 2012-12-06: A Lesson in Algorithms and Data Structures: the Traveling Salesman
- 2012-12-02: The Devils that are Unsigned Numbers
- 2012-11-22: I Did Not Cheat
- 2012-10-20: Woes of Linux Virtualization on Windows 8
- 2012-10-09: C# Refactoring and Failure
- 2012-09-05: C# For Loops and Iterators Uncovered
- 2012-09-03: NBSoftSolutions Now Runs on Jekyll
- 2012-09-02: ENGR151++: Google AI Challenge
- 2012-08-25: High Performance Unsafe C# Code is a Lie
- 2012-08-22: Optimizing Code and Why We Should All be Language Agnostic
- 2012-08-22: Windows 8: Lesser of the Evil
- 2012-08-21: All Beautiful Code Starts Ugly