Full stack developer, with focus on back end development in Perl and Golang. Coder #1 on MetaCPAN. Fluent in German. Graduate degrees in Classical Philology and Medieval Studies. I speak and write on technical topics. In my spare time I swim, bike and run.
I have many years of experience in architecting well designed, high availability web applications from the ground up. I value finding the right tool for the right job. Test coverage and code quality are important to me. I enjoy civil debates about code changes. Iām happy to pair program with colleagues and exchange knowledge with them. Iām involved in many Open Source projects. Iām constantly shipping Open Source software. I can lead projects. I can turn business requirements into carefully scoped project criteria. I value being in an environment where I can affect change. Iām constantly looking for ways to reduce friction in software development processes. Iām always learning.
Programming: Mainly Perl, Go, TypeScript and Bash, but I have also worked with Lua, JavaScript, Vimscript, Applescript, PHP, Python, Ruby, Rust, Java, Objective-C, ColdFusion and even ASP
Databases: Postgres, SQLite, MySQL, Sqitch
Containers: Docker, Vagrant
OS: macOS, Ubuntu, Debian, Raspbian, Alpine
DevOps: Ansible, Cloudflare, Digital Ocean, Letās Encrypt
CI: GitHub Actions, CircleCI, Travis CI, CodeCov, Coveralls
Project Management: MetaCPAN, meta::hack conference organizer
Testing: prove, Playwright, bats
Web Scraping: WWW::Mechanize, Colly
Other: Git, (Neo)vim, tmux, nginx, Twitter Bootstrap, PayPal, Authorize.NET, PayflowPro, have published 2 iOS aps
Sep 2012 to present (remote)
I joined MaxMind at quite an early stage and helped one small development team grow into several teams. I introduced the use of Vagrant, database fixtures, code quality tools and helped to shape best practice coding standards.
Technologies used: Perl, Go, bash, Typescript, Lua, Python, Ruby, PHP, Java, Playwright, PostgreSQL, Ansible, Docker, MySQL
Apr 2008 to Sep 2012, Toronto, ON
I helped architect, implement and deploy a transactional email system. I also worked on a white label CRM product.
Technologies used: Perl, Javascript, Apache, Git, Subversion
July 2000 to present
This business was run (literally) out of a dorm room in the early stages. I developed a web analytics service which had 10k+ users. I learned early on to deal with scale, concurrency and high availability. I implemented the full stack, including recurring and one-time payments.
I expanded into web hosting, where I learned how to configure and administer web servers, mail servers and DNS servers.
I have done custom work for many clients over the years, from building applications from the ground up to customizing 3rd party software.
I provide virtual server hosting at Digital Ocean for select clients. The servers run nginx, are deployed via Ansible and use Letās Encrypt for TLS.
is: an inspector for your environment (beta) (2023)
Technologies used: Go, GoReleaser, GitHub Actions, CodeCov
PrettyGoodPing (beta) (2023)
Technologies used: Perl, Mojo, Minion (queue), nginx, esbuild, Sqitch, Letās Encrypt, Docker, docker-compose, GitHub Actions, CodeCov, GitHub/GitLab/Google OAuth2
perlimports (2021)
Technologies used: Perl, GitHub Actions
MetaCPAN (2010 - present)
If youāre interested in sponsoring this important Open Source project, please be in touch.
Technologies used: Perl, Elasticsearch, Docker, Ansible, Puppet, Argo CD
libwww-perl (2017 - present)
I have been entrusted to be the primary maintainer of this piece of Internet history. Being a custodian of legacy software has helped me to understand that even seemingly innocuous changes to code that someone else relies on can have far-reaching effects.
Technologies used: Perl, GitHub Actions
I write about Git, Vim, Perl, Go, conferences and general programming. See my July 2023 Perl and Raku Conference talk on the past, current and future of Perl.
Technologies used: Hugo, render.com
I generally I spend 1 week per year in Europe, where I am sponsored to hack on Open Source software at the Perl Toolchain Summit. Some years I also attend a second hacking summit (meta::hack) in North America.
I have acted as a mentor in various programs as part of the MetaCPAN project.