Weeknotes 2024.09

Mostly the linklog this time, due to a nasty flu last week. Link topics include CSS, Swift, AI, Swift & AI, PGlite, and naughty vending machines.

Last week, not long after posting the weeknotes, a nasty flu decided I should be bedridden for the rest of the week. At least the timing was ok-ish and no in-person meeting had to be cancelled.

As such not much has happened, with only a little workflow changes towards the end of the week.

Changelog

Elsewhere

Volvo is moving from CSS-in-JS to plain CSS. It doesn’t end there, as they move from React component by default to a HTML first approach. As Bramus notes: embrace the platform. My prediction is that we will see more and more design systems will make similar moves, maybe utilising single file components, like what you see in Vue, Svelte or WebC.


Tailwind took a good idea and went overboard with it. When utility CSS first came out, I was hooked as well. Tailwind, however, over time created a DSL for class names to cater to all the fun stuff you can do with CSS. Some aspects are certainly worth keeping, but setup and integration, let alone moving to a different technology, require too much headspace, unless Tailwind CSS is pretty much the only thing you do all day.

The topic of @apply certainly rubs me the wrong way as well. I even think, it should have been the default way of handling production code: create a semantic class, as in what-you-see-is-what-you-mean, and @apply traits to the class. It would also fit the workflow of single file components. Anyways, I’m happy using plain HTML and CSS. For what it’s worth, I still like the design system that Tailwind provides and find myself reaching for it again and again. (via)


JavaScript Bloat in 2024. We all have seen browsers eat away on our precious memory, esp. if we keep a tab open for too long. So I guess no one is surprised by the numbers per se. What is astounding is the seemingly arbitrary sizes of web apps with no correlation whatsoever to the (perceived) app complexity. I can remember when the point of web apps was to not have so called fat clients in form of Java applets loading. (via)


Stability AI announces Stable Diffusion 3. The examples are really promising. Let’s hope they do diversity and inclusion a bit better than Gemini.


Okay, Color Spaces is a fun exploration of, well, color spaces. My own exploration is still simmering in the background. It’s just fun playing with color relationships, esp. when applying gradients. (via)


Corporate Ozempic by Scott Galloway. It’s a classic ProfG that will rub some people the wrong way. Comparing AI to the abuse of a diabetes drug for weight loss and Nvidia GPUs as performance enhancing drugs is probably much closer to the truth than most like to admit, esp. when you look at the potential side-effects of overdosage (on the organisation in case of AI).


iMessage gets quantum secure protocol PQ3. It’s nice to get a little more detail on the inner workings. I guess we will see others catch up eventually, but changing the cryptographic protocol while the service is in use, seems a daunting task. For once, I’m glad someone else had to do it.


PGlite is Postgres as JavaScript/WASM library. You can use it similar to SQLite. It’s 3.7MB gzipped pure bliss. (via)


Apple releases MLX Swift library under MIT license. Only a couple of weeks after releasing MLX (itself a Python library with C++ core), they are releasing the Swift equivalent around the same C++ core. Nice, another toy to play with 😁

The same caveat as for MLX applies though:

MLX is intended for research and not for production deployment of models in apps.


Swift 6.0 Release Process. Things get real. It’s safe to say that Swift 6 will be a headline feature of WWDC 2024. I’m more excited than I should be.


Vending machine error reveals app named FacialRecognition. That spells the end of those machines in some places. I wonder how many vending machines have covert facial recognition built in, with or without knowledge of the vendor 🤨


Have a nice week!