An accredited Internet Astronaut from Finland.

I'm a Ruby developer from Helsinki, Finland. You can find me and my open source projects on GitHub as matiaskorhonen, I occasionally blog about programming and a variety of random things at, and I'm on Mastodon as

My memoji avatar


Doing terrible things with ruby.wasm

Sure, Ruby 3.2 brought Ruby support to the browser and that's great and all but what else can we do with it? Maybe we can compile it back to C with wasm2c or use it with Deno to create a fully static build of Ruby?

Ruby ❤️ Rust

A very quick intro to Rust-based gem extensions and an even quicker introduction to Rust itself.

A Benjamin Button History of Ruby

Oh no, it looks like Ruby has started ageing backwards and it's shedding language features version by version. First we'll lose pattern matching from Ruby 2.7 and it's only a matter of time before we lose the safe navigation operator from Ruby 2.3 and eventually even 1.9 style hashes will be gone. In this talk we take a Ruby script designed to run using the latest bells and whistles of Ruby 2.7 and port it to earlier versions of Ruby version by version. How far can we take this? Let's find out together!

  • RubyConfBY 2020

Ruby like it's 1995

Cast your mind back to the year 1995. Gansta’s Paradise is the top hit of the year. Friends is the hottest show on TV. And just days after I turn nine, Matz releases Ruby publicly for the first time. In this talk I go back to Ruby 0.95 and see what it takes to get it running on modern hardware.

Rails Security: above and beyond the defaults

I originally gave this talk at Rubyfuza 2017 and subsequently repeated it for the Ruby Dev Summit online conference.

The talk is about generic web security with a particular regard towards securing Rails applications.

Things I've made

Piranhas is a book price comparison tool. Search through six Amazon country-specific stores, the Book Depository, and Wordery to find the cheapest source for your books.
Beer Styles
Beer Styles wraps up the 2015 and 2008 BJCP Style Guidelines in a pleasing interface on the iPhone and iPad.
Brewing Utilities
A collection of useful calculators for homebrewing. Refractometer conversion, kettle volume, dilution and boil-off, and priming sugar calculators.

Open source things

Office air quality dashboard for NetAtmo's air quality monitors
A simple Sinatra backend for the AirDash air quality dashboard
VPN Config
Generate iOS/macOS configuration profiles for VPNs (with optional PKCS7 signatures)
Tram Challenge
The goal of the Tram Challenge was to visit all the tram stops on the Helsinki tram system as quickly as possible.
The winner of the 2016 Gopher Gala, Goad did distributed web app load testing via AWS Lambdas
The winner of the 2015 Gopher Gala, Goffee did Global uptime monitoring via Tor.
A Tweetbot custom media endpoint for uploads to S3, written in Go. Also compatible with Monosnap.


Random Errata is my blog, where I occasionally write about tech stuff, beer making, and other random things.