Code smell, Gall's Law, the rule of least power, and a bunch of links
This week: two big extracts from recent projects, how certain companies suck, the rule of least power, links, and photos.
Unluttered: On code smell and gut feeling #
The main big publications of the week are two extracts. The first is a standalone extract from Uncluttered:
Memory is fallible and degrades surprisingly quickly. Relying on your memory too much in your work leads to errors, both because your recall can be wrong, but also because software changes. What you remember might not be correct any more.
What’s more important is gut feeling. The human mind is great at spotting patterns and deviations from patterns. Instead of trying to remember somebody’s attempt at thoroughly defining loose or tight coupling in software development, I want you to think back to the examples and rule of thumbs.
You can read the rest in "On code smell and gut feeling"
At the very least, you can’t accuse me of not having opinions. 🙂️
Yellow: Gall’s Law #
The other big extract is from Yellow: principles (or useless aphorisms) for software dev and it’s both an edited/rewritten transcript and a video:
I have never seen anybody manage to break John Gall’s Law. It applies to every single aspect of software development, in that we are fond of planning and organising and building complex systems from scratch. We design these intricate structures of objects and classes that interact. We build things that have no chance ever of working.
Gall’s Law on its own is one of the core principles of modern software development. It affects everything you do, even if you aren’t aware of it, so you might as well be aware of it.
Software is getting worse #
"Microsoft’s new Outlook client quietly moves your email to the cloud"
We do all realise that this is worse, right? It doesn’t matter if these apps or the new version of Windows have fewer bugs, they’re now objectively worse in every way that matters.
The rule of least power #
"You don’t need JavaScript for that - HTMHell"
The rule of least power
It’s one of the core principles of web development and it means that you should Choose the least powerful language suitable for a given purpose.
One of the most important rules of software development.
It’s not just the tech, these specific companies just plain suck #
"OpenAI’s Custom Chatbots Are Leaking Their Secrets | WIRED UK"
As you might guess, I think generative models are both less functional than claimed and harmful where they are functional.
But I also specifically distrust OpenAI and Microsoft as companies. If you genuinely believe in the technology – and I absolutely do see why you would even if I disagree – then these two companies are the absolute worst stewards for an innovation of this kind. Just look at the example I mentioned above. Microsoft consistently makes the worst choices when it comes to software design and development.
They just plain suck as companies and should not be trusted.
New bundles #
I’ve reorganised the courses and ebooks I’ve made into two bundles:
- Everything 2023. Everything I’ve made so far in a $95 USD bundle.
- The Ebook Bundle. Three ebooks – Out of the Software Crisis, The Intelligence Illusion, and Yellow – for $49 USD.
Trying to strike a balance between keeping things affordable and being able to pay the bills. 🙂️
Links #
- "Professionalism And The Software Industry – Flameeyes’s Weblog"
- "Let’s learn how modern JavaScript frameworks work by building one | Read the Tea Leaves"
- "Merge vs. Rebase vs. Squash". This is good advice.
- "Responsible Disclosure: XSS in Codeberg Pages – Terence Eden’s Blog". Gives you an inkling of how easy XSS is if you don’t properly sanitise user input.
- "RFC processes are a poor fit for most organizations - Jacob Kaplan-Moss"
- "The Bluffer’s Guide to Principles of Software Engineering Management – Codemanship’s Blog"
- "IA Writer 7". IA Writer releases are always interesting. The idea here of tracking pasted text versus your own has broad application. It’s sad that it’s tied so strongly with ChatGPT. I’m also very sceptical about the idea that talking about your ideas with ChatGPT is beneficial
- "My Journey Away from the JAMstack | The Spicy Web". Catching up on the “JAMstack is dead; long live JAMstack” discourse. Netlify doesn’t come out well in any of the blog posts
- "Thoughts on Framework Churn"
- Reading all of the jokes people are making about Kissinger finally being dead has thrown my morning routine completely out of whack. I’m an hour behind, easy.
- "The Internet Is Full of AI Dogshit - Aftermath". But apparently it helps managers write their bullshit emails a microsecond faster so it’s all good. 😑
- "Losing the imitation game". Always link to posts that cite “Programming as Theory Building”. “And that is going to turn all of the easy software development problems into hard problems.”
- "Rogue Amoeba - Under the Microscope » Blog Archive » A Word of Caution on MacOS Updates"
- "Tech Will Never Love You Back | Jason Rodriguez"
- "Creative use of CSS gradients | Kitty Giraudel"
Photos #
My sister sent me a new batch of photos of her cat, Kolka, a rescue who was originally found outside a mushroom farm in the south of Iceland
Now a sweet cat who loves scritches.
What Hveragerði looked like last week at noon: