Latest Journalings

Why do some songs sound like garbage when you speed them up (and others don't)?February 22, 2020

Like many people, I listen to podcasts sped up. Anywhere from 1.5x - 2x speed, and it's great. I probably wouldn't listen to podcasts at all if I couldn't speed them up. These days, people's voices don't sound like chipmunks when you speed up digital audio, because instead of merely playing the audio faster, the sample rate is reduced and the remaining audio is stitched together. Think of it…

Sanctions - The reason Libra will succeed or failDecember 14, 2019

The most interesting part of Mark Zuckerburg's grilling at the feat of congress was this question: Most questions at the hearing were completely orthogonal to Libra. But I found this exchange fascinating, although I didn't completely understand it. The United States uses financial sanctions more than any other country, so it would be useful to know how sanctions work, and why the US dollar is…

Piano-ing is different than CodingOctober 06, 2019

I recently started learning to play the piano. I've talked about how powerlifting is similar to programming, but in this episode, I'd like to think about why playing the piano is different than programming. More specifically, why composing music is different than coding, and why playing music is different than something running my code. I'll start by listing some important differences between…

That impractical wishJune 24, 2019

I guess you'd have to know me (that impractical wish) to know what I don't write Can you quote a poem in a poem? Lines 1-3 are Matt's It's an absurd wish But Strauss's case is compelling That they all did it: Spinoza was an atheist The Prince was shitting on monarchy Plato might be the worst offender etc etc... You have to know them, to know them If you have to be told everything, do not read me…

What surprised me in SeoulMay 09, 2019

I spent the first 24 days of April 2019 in Seoul. I visited Japan right after. Korea was a surprising and magical place. There is so much history, and there has also been so much recent growth (apparently the US thought it may have backed the wrong Korea, as recently as 1980) that it is changing rapidly. I like this combination. This isn't a deep reflection of Korea and its culture. Just a…

The Fermi Paradox and what mattersApril 08, 2019

Is there, or has there ever been, life on Mars? Nope. We can't find evidence of it with rovers, landers, or satellite imaging. Sure, we haven't sampled that much soil, but keep in mind: it's nearly impossible to find a square foot of Earth's surface that isn't teeming with life. As far I can tell, life is like glitter: where it exists, it gets everywhere. mars But what about intelligent life…

A letter for programmers who aren't interested by blockchainMarch 02, 2019

I'm writing this post for people who love programming -- people who like to talk about programming languages, compilers, algorithms, and application architecture. The people who write blog posts about monads, databases, Rust, WebGL, lambdas, Linux, neural nets, and Emacs. I like these people. And yet some of them wince when I tell them that I work at a blockchain company. It's subtler than a…

Something is running my JavaScriptFebruary 16, 2019

Recently, I've been writing client-side code. Which means that web browsers download my code and run it, using their local machine's resources. That's obviously cool, but it's also mysterious to me. I realized that I don't understand how browsers are doing this. Since I end up writing a good deal of CSS and HTML (well... JSX), I'm quite familiar with the DOM, but that's just one small part of…

Sorting in linear time -- the demise of Mergesort?February 04, 2019

While hanging out at RC last week, Byung asked me a question: "What is the fastest way to sort a deck of cards? I thought this might be a trick question, because you aren't going to beat the beauty, simplicity, and speed of Mergesort, which sorts an array of n items in Θ(n log n) with a beautifully simple divide-and-conquer method. And that's that -- you can't sort a randomly unsorted array any…

Software developers should learn from powerliftersJanuary 28, 2019

russsquat If you've spent much time in a powerlifting gym, you've probably noticed that many lifters are also software developers. What makes a sport that consists of "lifting the heaviest weights possible" attract people who otherwise sit at a computer all day? A likely answer is that the training/self-improvement process is essentially the same, with only a few key caveats. One such caveat…

A look at the current state of dApp toolingMay 10, 2018

Six months ago, I decided to build a dApp startup that didn’t involve an ICO. I found the idea of building a decentralized application fascinating, but also I found the whole ICO environment pretty slimy/toxic. My goal was to create a product — not a gigantic windfall of hype and tokens. So I set out with a friend of mine to create an entirely bootstrapped startup that uses an Ethereum escrow…

The Deeply Mutable Nature of Python CollectionsNovember 02, 2016

I was "cracking" a coding interview problem last week, and learned a fundamental truth about mutability in python. Maybe you already understand this fundamental truth, or maybe you're as naïve as I was last week. To find out, see if you can tell why this code, which is supposed to generate all subsets of a list, fails miserably: If your first impulse it to try to write this function as a…