Hi!
Welcome to my 1994-style homepage.
Résumé
Software
Various bits of open-source software I've created or contributed to over the years.
- prop
-
An ionospheric propagation prediction tool for HF radio, combining the IRI2016 physics-based model
with realtime ionosonde data and Gaussian Process interpolation, employing a simple ray-tracing engine
to predict usable frequencies. As far as I know, it's the only assimilative model of its type that
is free and open-source. Hosted at prop.kc2g.com.
- kc2g-flex-tools
-
A suite of tools for making the FlexRadio Flex-6000 series transceivers useful on Linux. Includes
nDAX, an interface between the sent and received audio and PulseAudio; nCAT, an interface between the
SmartSDR API and hamlib; and other utilities.
- HAProxy
-
Authored the bounded-load consistent hashing feature (hash‑balance‑factor option used with
hash‑type consistent), based on
Consistent Hashing with Bounded Loads (Mirrokni et al. 2018).
- CLI::Osprey
-
A Perl module for building nice OO command-line applications, with sub-commands, option processing,
and automatic generation of help text and man pages. Inspired by MooX::Options and MooX::Cmd
(which are themselves descendents of MooseX::Getopt and MooseX::App::Cmd), but unlike the above,
it's pure-Perl which allows it to be used in easily-distributed "fatpack" apps.
- Syntax::Keyword::RawQuote
-
A very small Perl module using the pluggable keyword API to create a "raw quote" operator, akin to
Python r"" strings, C# triple-quoted strings, or Go backquoted strings.
- Unicode::CaseFold
-
Adds Unicode case folding via the fc operator to perls that lack it. The fc
operator is part of perl itself since version 5.16, but by using this module, it's made available
in any perl from version 5.8 onwards. Contains both pure-perl and XS versions.
- Borkbot
-
Yet another Perl IRC bot. Based on an old codebase called Sporksbot, but updated to be fully async
(using Net::Async::IRC, Mojo::Pg, Mojo::UserAgent, etc.) and with a few other bells and whistles.
Talks and Papers
I've given a number of talks over the years, mostly at technical conferences, but occasionally scientific ones. Here are a few of them.
- 2022-07-21
-
Development of an Open-Source IRI-based Nowcasting Tool for Ionospheric Electron Density and HF Propagation - 44th COSPAR Aseembly, Athens, Greece.
- 2019-11-13
-
HAProxy Load Balancing at Vimeo - HAProxyConf, Amsterdam, Netherlands.
- 2018-08-17
-
Fatpack it! Full-featured Perl apps in a single file
- 2017-10-03
-
Load Balancing, Consistent Hashing, and Locality - Velocity NYC, New York, NY.
- 2017-04-18
-
Practical Load Balancing with Consistent Hashing - Google Algorithms Seminar, New York, NY.
- 2016-12-19
-
Improving Load Balancing With a New Consistent Hashing Algorithm - Vimeo Engineering Blog
- 2015-01-14
-
Marpa - FLOSS Weekly Episode 321 with Randal Schwartz and Gareth Greenaway.
- 2014-06-24
-
Parsing Made Easyish with Marpa - YAPC::NA 2014, Orlando, FL.
- 2013-10-04
-
StatsD and You - Easy Application Metrics - Pittsburgh Perl Workshop 2013, Pittsburgh, PA.
- 2013-06-05
-
StatsD and You - Easy Application Metrics - YAPC::NA 2013, Austin, TX.
- 2013-01-12
-
Parsing Made Easyish with Marpa - Perl Oasis 2013, Orlando, FL.
- 2012-09-26
-
Web::Simple: A Perl Web Nano-Framework - Shutterstock tech talk, New York, NY.
- 2012-06-14
-
Web::Simple: A Perl Web Nano-Framework - YAPC::NA 2012, Madison, WI.
- 2012-06-12
-
Arduino-based GPS-disciplined NTP server - YAPC::NA 2012 Hardware Hackathon, Madison, WI.
- 2007-06-27
-
Dynamic Website Translation with Catalyst and Petal - YAPC::NA 2007, Houston, TX.