Most people know me as a programmer.
I’ve been developing mobile apps since the month the App Store launched, but spend most of my time on backend software and libraries these days.
I love startups, and have even co-founded a few!
I’ve worked in industries ranging from streaming media to finance and even agriculture.
My current day job (and nights and weekends too sometimmes) is Stadia Maps.
DNS is a complex beast,
so it's little surprise when I learn something new.
Today I learned a bit more about the internals of how DNS works
at various privacy-centric providers.
It all started a few weeks ago when someone I follow on Mastodon
(I'm ve ...
read more →
Earlier today, a friend sent me a joke about boycotting <some big evil tech company> for three days:
Feb 29, 30, and 31.
I thought this was pretty funny.
But then, darker thoughts started to form.
I've recently had the misfortune of doing far t ...
read more →
Despite nearly 15 years of developing iOS apps on a daily basis,
it’s occasionally jarring to go back to some of the older APIs.
Today's blog is about MapKit,
which isn't quite as old as CoreGraphics, but dates back to iOS 3.0!
It was a bit slimmer b ...
read more →
Databases as an Alternative to Application Logging
In my work, I've been doing a lot of ETL pipeline design recently for our geocoding system.
The system processes on the order of a billion records per job,
and failures are part of the process.
We want to log these.
Most applications start by dumping ...
read more →
This isn't so much a TIL as a quick PSA.
If you're a Rust developer and need to ensure specific things about your toolchain,
the rust-toolchain.toml file is a real gem!
I don't quite remember how, but I accidentally discovered this file a year or two ...
read more →
In the weeks since my previous post on Working with Arrow and DuckDB in Rust,
I've found a few gripes that I'd like to address.
Memory usage of query_arrow and stream_arrow
In the previous post, I used the query_arrow API.
It's pretty straightforward ...
read more →
How (and why) to work with Arrow and DuckDB in Rust
My day job involves wrangling a lot of data very fast.
I've heard a lot of people raving about several technologies like DuckDB,
(Geo)Parquet, and Apache Arrow recently.
But despite being an "early adopter,"
it took me quite a while to figu ...
read more →
Over the past two weeks, I've been focused on optimizing some data pipelines.
I inherited some old ones which seemed especially slow,
and I finally hit a limit where an overhaul made sense.
The pipelines process and generate data on the order of hund ...
read more →
Today I had a rather peculiar need to search through features from TIGER
matching specific attributes.
These files are not CSV or JSON, but rather ESRI Shapefiles.
Shapefiles are a binary format which have long outlived their welcome
according to man ...
read more →
I've lived in South Korea for quite some time,
and during my stay here I've become reasonably fluent in the language.
People often ask how long it took to become fluent
and if I have any tips for their language learning aspirations.
This post is abou ...
read more →