RC W4D3 - L'esprit de l'escalier

On perfect replies

Today RC hosted Remotehost, a virtual technical talk series (and the remote version of Localhost). The theme was virtual spaces, the demos were really cool. At the chat roulette session afterwards I was paired with Mai. I had shared some feedback with Mai earlier in the week, and I mentioned how my feedback was even better articulated when I described it to someone else after.

This is such a common occurrence that there's a term for it - l'esprit de l'escalier. As per Wikipedia, it's the predicament of thinking of the perfect reply too late. Curiously, the opposite of touché.

CSS

I was paired with Julia Evans next, who described a recent focus on CSS and new features like Flexbox and Grid (also shared on Twitter here). I brought this up at the Nix OS event later in the day, to discover the latest version of CSS is Turing complete. Mind blown!

Swift

I've my hands full on new languages, but somehow keep coming across Swift and Julia (no relation) over the past week. Fun fact: Rust came out of a personal project by Graydon Hoare when he was at Mozilla, he left the project and later on worked on Swift (both are LLVM-compiled).

Julia

I first came across Julia in 2015. There was optimism on how the language would take over Python for scientific computation. It's not clear to me how much this is the case, if anything Python has grown a lot and is even taking on Excel use cases. Julia is 1-indexed; this doesn't seem like a great choice to boost adoption (adds to context switching) but making note to self to look up why this decision was made.

Content: Jeff Dean and Sanjay Ghemawat

I thought I was past hero worship. It's hard not to when it's about these two.

https://www.newyorker.com/magazine/2018/12/10/the-friendship-that-made-google-huge

Didn't think I'd see this in the New Yorker. Love the prose describing systems.

RC W4D4 - The only intro you'll need

WebAssembly

I was preparing slides on WebAssembly today when I came across Lin Clark's cartoon intros. It's spectacular. I wished it was the first thing I read on the topic; it appears l'esprit de l'escalier is a thing for content too.

The background articles also provide helpful context and an easy read.

It's amazing how Google, Mozilla, Apple and Microsoft actually got together and agreed on the specs. The project has now expanded beyond the browser, with wasmtime as an independent runtime and WASI as the unified interface. In addition to its own foundation, called the Bytecode Alliance.

I do wonder, more broadly, if the technology will further consolidate the dominance that large tech companies have, or will a thousand startups bloom? Will there be a lot of end users who like it but only few love? What will the killer app be (or will there actually be one)? I was late to notice iPhones and bitcoin as platforms. I'm ecstatic at being able to follow the WebAssembly life cycle from an early stage, and see where it goes from here.

Julia

I woke up in the middle of the night, had trouble going back to sleep and actually looked up why Julia is 1-indexed (or rather, why most languages are 0-indexed). I came across this post which had the following quote.

So: the technical reason we started counting arrays at zero is that in the mid-1960’s, you could shave a few cycles off of a program’s compilation time on an IBM 7094. The social reason is that we had to save every cycle we could, because if the job didn’t finish fast it might not finish at all and you never know when you’re getting bumped off the hardware...

Intuitively it sort of make sense - if you start from zero it's a no-op vs having to do an `add immediate`. Fascinating.

Content: Dev Ops

This week's feature is Increment's post on cloud migration; it fits in nicely with a friend joining Stripe this week. I enjoyed reading how Netflix introduced planned instance failures so the on-call team can to deal with it during business hours. What's particularly impressive is the decision to implement this workflow at a time of rapid growth, forcing adoption of industry best practice at the same time as battling other fires.

https://increment.com/cloud/case-studies-in-cloud-migration

A hat tip to the marketing team who coined the term 'chaos engineering' from 'chaos monkeys'.