Weeknotes 123
5th November, 2023
“This isn’t for you. It’s for me.”
-
Scavengers Reign is really good. I devoured 9 episodes in a couple of days and can’t wait for the final 3 episodes of Season 1 next week.
The series is based on the short Scavengers, from 2016. I haven’t watched yet because I’m avoiding spoilers, if any, but I will once I’ve finished the series.
-
I’ve vastly misunderstood the Single Responsibility Principle
The fact that I and so many others can hold a completely different view, for so long, in the face of such obvious contradictory evidence, tells us something about knowledge transfer in software engineering that we probably ought to attend to.
-
Miles' Reflections on Writing caused me to reflect on my own “writing” on the web.
I wanted to publish a blog for a long time. Blogging, believe it or not, was a big deal in the past. Before Medium and Twitter, people wrote things on their own websites. And some were pretty famous for it. My main blog has been around since 2008, but it is rarely updated. These weeknotes are the most consistent I’ve ever been with publishing on the web. 123 times so far. Mostly on a Sunday, occasionally on a Monday.
I didn’t post much before having weeknotes because I never thought I had anything particularly interesting to say. Why would anyone read what I wrote?
But then I realised this blog isn’t for you. It’s for me.
I’m still aware of the potential for an audience to read it, even though I try to forget (and can assure you that the audience is very much potential at this stage), but I write because it helps me process, remember, and engage with the things I write about.
-
Please add a feed to your blog. It’s not really a blog without a feed 😉
-
I Accidentally Saved Half A Million Dollars
I would have been better off not doing anything. Let that be a lesson to you. Do you hear me? I applied myself for five minutes against my own better judgement, had the greatest success of my career, and have immediately been punished for it.
😆
-
I’ve seen this Hacker News comment pop-up a few times on social media but I’m recording it here for posterity because I think it rings true.
Entrepreneurship is like one of those carnival games where you throw darts or something.
Middle class kids can afford one throw. Most miss. A few hit the target and get a small prize. A very few hit the center bullseye and get a bigger prize. Rags to riches! The American Dream lives on.
Rich kids can afford many throws. If they want to, they can try over and over and over again until they hit something and feel good about themselves. Some keep going until they hit the center bullseye, then they give speeches or write blog posts about “meritocracy” and the salutary effects of hard work.
Poor kids aren’t visiting the carnival. They’re the ones working it.
-
Following on from my renewed interest in HTTP/2 and whether or not we can give up on bundling, I finally got around to reading The Three Cs: 🤝 Concatenate, 🗜️ Compress, 🗳️ Cache and it’s really good.
The affects of latency explained:
Say we have one file that takes 1,000ms to download with 100ms of latency. Downloading this one file takes:
(1 × 1000ms) + (1 × 100ms) = 1,100ms
Let’s say we chunk that file into 10 files, thus 10 requests each taking a tenth of a second, now we have:
(10 × 100ms) + (10 × 100ms) = 2,000ms
Because we added ‘nine more instances of latency’, we’ve pushed the overall time from 1.1s to 2s.
The conclusion: “Bundling is here to stay for a while.”. But it depends.
Sidenote: I was very surprised to find that 66% of all websites are running HTTP/2.
-
The Elixir team have been working hard on improving documentation, and the forthcoming Elixir 1.16 is looking great. German Velasco shows the new features in this video.
-
16 things you believe about software: A retrospective on the Searls-Briggs Type Indicator®.
…most developers seem to love long, detailed commit messages and carefully-coiffed revision histories…
The amount of times I’ve longed for an explanation as to why something was changed only to be met with “Changed x”. I wish this was my experience. But it’s not.
The hard thing about programming, it turns out, isn’t to spell out each step of complexity so computers will understand, but to organize it comprehensibly so that humans will.
Amen to that. Hardly any of the systems I work on are trying to do this.
-
I heard on the Changelog podcast episode 562 that ntfy, a service that lets you send notifications to your phone or desktop via scripts, runs using a SQLite database and currently sends nearly 700k messages a day. More SQLite usage in the wild.
-
Dear reader, I have read a book (Berserker! by Adrian Edmondson – it was good!). That makes 2 books in 2023, so far. Only 22 to go to reach the self-imposed challenge I set upon myself at the start of the year.
-
Some interesting discussion on Friday Deploys by Charity Majors and Matt Swanson on the YAGNI podcast.
It reminded me of a place I used to work where we did quarterly releases. That was bad enough, but for every change you made in that quarter you had to fill in a Word document that listed the files you’d changed…
Did we have source control at the time? Yes, we did, Subversion.
The paperwork made people feel better, but did absolutely nothing to reduce risk of the release being deployed to production. Like taking your shoes off at the airport.
-
On the same podcast, Charity says “I think the cultural message though of you’re writing tests therefore you’re safe is just not true” (Transcribed using Livebook Whisper Speech-to-Text).
I couldn’t agree with this more. They give you confidence that you’re safer, but they don’t reduce risk to zero. No change is fully safe.