…is writing software, building teams, playing pub quizzes, lifting weights, watching TV, reading books, playing Destiny, going to Disneyland, going to Walt Disney World, having dogs and cats, overthinking it, writing it down, enjoying cars but wishing for a future without them, and increasingly old.
Stick around, read some stuff, get in touch, go for a walk outside, make something cool. I’m not the boss of you.
Recently in long form
Recently in short form
- Personal choices outperform technology choicesThis dinger at the end of Mattt’s WWDC wrap-up is everything: Taking care of yourself — sleeping enough, eating right, exercising regularly — will do more to improve your productivity than any language or framework out there. Your ability to communicate and collaborate with others will always be a better predictor of success than your choice of technology stack. Your relationships with others are the most significant factors of success and happiness in life.
- UntitledData, it turns out, is far more valuable than code. Google and Facebook are unprecedented in economic history because of the data they’ve amassed; their applications, languages, and vast infrastructure merely enable the data. When the db is the interface – Jessitron: “There are two huge sources of inertia in software: data, and interfaces.” Therefore, it makes sense, as Jessica points out, that 1) databases are the interface that matter most in your system and 2) a few patterns of databases and interactions thereof can make the difference between an evolvable system and one that grows from unwieldy to untenable.
- UntitledDo Something Syndrome: When Movement Trumps Results: I was to learn later in life that we tend to meet any new situation by reorganizing, and what a wonderful method it can be for creating the illusion of progress while producing confusion, inefficiency, and demoralization.
- UntitledTIL that codemod is a (Python, target language agnostic) thing for doing large-scale find/replace refactorings in code bases, react-codemod is a tool for doing the same specifically for React APIs and idioms, based on jscodeshift for doing large-scale refactorings specifically on JS codebases. All come from Facebook. This is not at all confusing.
- UntitledDeRay McKesson from January 1, 2018: "I’ve found that the people who “play all sides” eventually get played in the end. The world does not need you to pretend to be a neutral party on everything. Stand for the things & people you believe in." Wise words that are going to apply for a long while as we work through our weird, often dismal world.
- UntitledJessica Kerr - the future of software: complexity: “Complexity: Fight it, or fight through it, or embrace it? Yes.” On leverage, the intellectually rewarding kind of software complexity, and tackling accidental software complexity.
- UntitledCraig Mod, on returning to the internet after forty days without: Strong net connection burbling up above, smartphone in hand, put the right apps on the thing and we are all Odysseuses. Except we didn’t strap ourselves to the mast of our ship, we walked straight up to those beautiful singing bird-women and handcuffed ourselves to Thelxinoe’s silken leg.
- Thea Flowers - From API keys to tamper-proof encryptionI didn’t expect Thea Flowers’ Building a stateless API proxy to end up explaining public-key cryptography and motivating JSON Web Tokens (JWT) from first principles. But it did! Great read.
- I'm the bugWrite about how computer programs are fun to solve and everyone can solve programming problems Run into a computer program that involves multiple black boxes in multiple computer programs you can’t look at the source code for, find good docs, or ask a human about Sometimes you’re the bug, sometimes you’re the windshield
- If time is money, investing time in your tests can save moneySam Saffron - Tests that sometimes fail. Fantastic advice on maintaining a test suite over time. A test suite is either an albatross or an asset, depending on the quality of effort your team invests. Via Ben Bailey.
- “I don’t know everything, but I can learn anything.”Rachel McQuater, On Becoming a Wizard: Strategies for Keeping Up as a New Developer: The difference was that wizard developers perceived problems as artifacts of error by rational humans in otherwise rational systems, whereas I perceived them as mysteries beyond my control.
- The damn dumbest smart kid I knowPartial explanation for smart folks, like Paul Graham or Mark Zuckerberg, making consistently bad predictions - The Peculiar Blindness of Experts: In Tetlock’s 20-year study, both the broad foxes and the narrow hedgehogs were quick to let a successful prediction reinforce their beliefs. But when an outcome took them by surprise, foxes were much more likely to adjust their ideas. Hedgehogs barely budged. Some made authoritative predictions that turned out to be wildly wrong—then updated their theories in the wrong direction. They became even more convinced of the original beliefs that had led them astray. The best forecasters, by contrast, view their own ideas as hypotheses in need of testing. If they make a bet and lose, they embrace the logic of a loss just as they would the reinforcement of a win. This is called, in a word, learning.
- Chernobyl on HBOWe’re three episodes into the Chernobyl miniseries. Great acting, sets, and costumes. I had no idea how much worse the historical situation could have gone. Recommend.
- UntitledBrent Simmons on Playdate - “the thing that seems very difficult, maybe even impossible, that may fail, but is the best expression of our talent and love”
- Web assembly + browser editor + CDN edge = wowI’m still impressed that the web platform has progressed to the point we can build web apps entirely in the browser with Glitch, Code Sandbox, and friends. That we are now starting to build web apps to run (partially) on edge CDNs (Cloudflare) and edit those kinds of web apps in a browser (Fastly Terrarium) is kind of blowing my mind. (Via Simon Willison)
- UntitledPossibly the biggest upsight I’ve had on software estimation in a while - the blowup factor: erikbern.com/2019/04/1…
- UntitledTypo’d GraphQL as “GraphSQL” and was like “that’s a little on the nose there, fingers”
- UntitledA nice reminder that our work is often more about storytelling than we think - Name It, and They Will Come — Overreacted
- UntitledTIL, Vim hybrid absolute + relative line numbering: jeffkreeftmeijer.com/vim-numbe…
- UntitledDoes Clojure style still rely on writing a lot of chains of higher-order functions (with -> IIRC) or have they moved on to something else?
- UntitledSometimes software rewrites don’t fail - if you focus on escaping a local maximum for the product and customers.
- UntitledLeaning into the impostor syndrome here, I did a little bit of GraphQL hacking to see how the ecosystem is coming along. Not too badly! github.com/therealad… Also, semi-literate programming 🤓🤠💪!