Technical reading
Compiled Aug 19, 2020
If you like what I've collected here, I write a lot on my blog and sometimes it's about tech, too.
Technical conference talks
These are just pulled from a private YouTube playlist I have.
Web
- The Journey of CodeSandbox, Ives van Hoorne - @compuives explains the journey to building CodeSandbox. Fun talk, interesting to see how everything works.
- React component patterns, Michael Chan - this sounds mega boring but is actually one of the best React talks of this length I've seen, explaining ways to do composition in easy-to-understand diagrams
- Advanced design system considerations, Alex Sexton - if you're a design systems junkie, you'll like this. I consider myself a frontend veteran and learned a lot from this talk.
- The Future of the Web, Lee Byron - a grandiose title for a talk with good high-level ideas about what programming on the Web has looked like, ans where we're going. Leads into React and its origin story.
Backend / systems
- Implementing a BigNum calculator, Rob Pike - writing an APL-style calculator interpreter in Go, some interesting design decisions and demos.
- Getting something for nothing, James Munns - a good talk about Rust's "zero-cost abstractions" concept
- State of the creates.io, Sean Graffin - a good, well-written behind-the-scenes look at running Rust's package repository, and how Rust shines in performance/efficiency
- Compacting the uncompactable, Bobby Powers - more niche talk about a novel design for a compacting memory allocator, which is cool
- What has my compiler done for me lately?, Matt Godbolt - just a very good talk about what kinds of optimizations and transformations smart compilers can make in 2020, given by the creator of Compiler Explorer
- The strange details of
std::string
at Facebook, Nicholas Ormrod - a deep-dive into the kind of reserach/work that goes into a high performance impleentation of a common abstraction, the C++std::string
Misc other
- Oral traditions in Software Engineering, Bryan Cantrill - one of my all-time favorite technical talks, about oral traditions in Silicon Valley of vintage -- in the first wave of silicon and computer companies.
- Small is Beautiful, Kevlin Henney - high level talk from one of my favorite speakers about software architecture and design. Funny, educational, well-written talk.
- Inventing on Principle, Bret Victor - classic talk, universally recommended for its fantastic demos and cohesive ideas about how to choose what to work on, and how much better creative tools can be.
Blogs and write-ups
Selected from a Pocket list of articles I read and saved
Web
- On Magic Pocket, Dropbox's storage system
- Dropbox's rewrite of their sync system
- Testing sync at dropbox
- Figma's plugin system
- Figma's multiplayer technology
- Build your own React
- Scaling server-side React rendering
Systems programming / OS
- Things I wish more devs knew about databases -- written by @rakyll, a big Go community member
- How Go's scheduler deals with system calls
- Pointer compression in V8 -- how Chrome reduces memory usage for JS objects
- Regular Expression Matching can be Simple and Fast, Russ Cox - Russ Cox's blog has a lot of gems about RegExps but this is my favorite, a breakdown of how RegExp matchers work, and what a modern implementation looks like
Programming languages, compilers, interpreters
- Speculation in JavaScriptCore - JSC is Safari's JavaScript engine; the blog explores how speculative optimization helps JSC be faster, in a clear deep dive into its internals
- Introducing SquirrelFish Extreme - one of the best blog posts I've read about a JS engine. Deep dive into WebKit/Safari's fully optimizing JS compiler, SquirrelFish Extreme, and the optimizations/abstractions that make it fast.
- The hardest program I've ever written, Bob Nystrom - post about writing
dartfmt
, the Dart language code formatter. It's a really good deep dive into (1) how to approach a hairy engineering problem, and (2) why code formatting is so damn hard - Firefox's low-latency (first pass) WebAssembly compiler
- The CPython compiler is dumb
- Rust's runtime
- Sol, a small virtual machine
- Lua's bytecode optimizations
- Kalyn, a lisp/haskell-like programming language. This is written by Radon, who worked with me at Repl.it in Summer 2019
- Why the Sorbet type checker (for Ruby, from Stripe) is fast
- Moving the Go 1.3 compiler from C to Go
- Making the Tokio scheduler (from Rust async) 10x faster
- Inside the Go Playground (from 2010)
Graphics, ML
- Deciphering the Postcard-sized pathtracer - good breakdown of a really interesting, really tiny raytracing program, going into how it works, and how it can be so small
Hacks / misc
- Forking a process onto a different computer
- Raytracing in Windows Notepad.exe
- Operational transform -- how Google Docs and Repl.it does collaborative editing
- Fast regular expression matching
- Xi-editor retrospective, written by a former Recurse center alum @raphlinus
- Building a fast JSON parser for Go's standard library
- Unraveling the JPEG
- H.264 (video encoding) is magic