About

Software Development Experience

.NET/C#

I have worked in .NET/C# for the last 15 years professionally. The bulk of my open source projects in that time have been in .NET.

Javascript

Since I've been fulfilling a full-stack development role I've spent a lot of time working in Javascript for the last 15 years as well.

C/C++

The earliest software I wrote was in C and for a time I developed exclusively in C++. I only use these professionally in a small capacity for some legacy utilities.

System Administration Experience

My professional workspace over the last 15 years has been a mix of Windows and Linux systems. Mostly Windows Server 2012, CentOS, and Debian. My focus at the OS level has been tuning to optimize for the workload being run on a particular host.

Storage Services

SQL Server

Maintaining a large SQL server installation that backs a SAAS has been a lage part of my workload for the last 15 years. In that time I've learned a quite a lot about how to best maintain SQL server and how to best interact with it when composing software.

PostgreSQL

In addition to SQL server, I've also managed large PostgreSQL installations backing SAAS providers for the last 15 years. These systems have been ground-up designs focusing on highly structured data with minimal duplication.

ElasticSearch

I've maintained a large ElasticSearch cluster professionally as an auxillary componenet of a SAAS as a repository for log events and loose data collection.

Mail Systems

Exim

I've maintained Exim as a inbound mail relay that primarily functions as a mail forwarder to final destinations.

PowerMTA

I've maintained multiple PowerMTA installations sending multiple millions of daily messages.

TCP / HTTP

Apache

I've setup and maintained an Apache installation as a balancing and caching proxy that handles all inbound HTTP requests for a large SAAS.

haproxy

Similar to my experience with Apache but focused on working at the TCP layer.

Open Source

I maintain a number of open source projects. Most are discrete utilities for use in solving specific problems. Have a look at the Projects page or see my GitHub repositories for a more complete list.

Personal

When not parked at a keyboard, I enjoy reading, fishing, hiking, and trail running.