I’ve been growing increasingly unhappy with JavaScript frameworks as of late, but I still have a soft spot for Svelte. Svelte is what my blog is built with, and it’s always been a pleasure to use. Version 5 significantly changes some of its core features, apparently for the better. I’m excited to upgrade eventually (and really glad that they kept backwards compatibility).
Cool Links
Here’s a collection of interesting links I’ve found around the web. The feed updates frequently, and I compile everything into a blog post on the last day of each month.

Filter by tag:
142 links
The web is, at its core, just links to HTML files with some CSS and JS on top. That’s how it was years ago and how it technically still is.
Over the years, things became more complex and many layers of abstraction were introduced. A lot of web developers have never had any real contact with the core of the web.
So we ended up on a place where it’s much easier to find and use an overly-complex, bloated solution for websites than just having the bare minimum (that usually works better).
Isn’t that wild? In the author’s words:
“the web doesn’t belong just to software engineers. The more we make the web complex, the more we push normal users into the enclosures that we like to call social networks.”
I’ve been a web developer for over 10 years now and I can afford the luxury of building my own website - a static, simple, lean one. People with less or no coding knowledge can’t have that. They need to use tooling that ships so much code and complexity if they want to have their own. Or, even worse - they’ll stick to social media platforms instead. 😱
You should be using an RSS reader
There’s really nothing else I can add to this argument that Cory hasn’t already said. But really, RSS is the best way to follow a publication or a person there can be. It’s the best way for you to actually have control of what you read and decide when to do so.
nvm (Node Version Manager) is one of the best tools in my web dev toolkit. It allows you to keep multiple versions of NodeJS installed, which is usually a must if you swap between different projects all day. I’d even say it’s worth it even if you only have one version, since installing NodeJS via nvm is way easier than the official way.
This is a way of using nvm with a graphical interface, in case you’re not too fond of CLIs (or simply prefer a simple GUI instead).
An Abridged History of Safari Showstoppers
I’ve complained about Safari multiple times in my posts and social media, and I’m not alone. This document pretty much aggregates all the issues Safari has been causing for years and how users (and devs) often have no choice of browser to run to when Safari decides it doesn’t want something to work.
I am 100% in favor of browser engine diversity, and definitely don’t want Chromium to be the only option out there. But Safari (and WebKit, its “heart”) is not a fair competitor because the majority of its users (on iOS and iPadOS) don’t have the option of using something else. And when Safari has time and time again had issues with the implementation of new APIs and, even worse, had issues with having old APIs working in a completely different way from other browsers, we have a problem.
And to make it all worse, Apple clearly has financial incentives to make Safari lag behind. A limited web experience means the only way to provide your service to users on iOS is by releasing an app… on Apple’s App Store. They can’t monetize web browsing, so why make it work well?
Building the Perfect Logo Strip
This article dives into how the author built a logo strip (i.e. a grid of company logos with varying widths and heights) and the techniques they used to make their weight nicely distributed, way beyond what most people have done in the past (including me). I’ll definitely be using that next time!
This one is absolutely brilliant and nothing I can say about it will make it justice. Open it on desktop for the full effect.
I don’t know about you, but I’ve argued with a lot of people in the past over if a specific color was blue or green. This quick test makes you categorize some colors into blue or green, and then how “green” you are compared to the rest of population. I’m not sure if there’s any scientific data to back any of that up, but it’s still a fun test to take.
For the record, my boundary is at hue 171, which makes me greener than 75% of the population.
On being a "Javascript Framework Developer"...
I feel like more and more web developers are becoming “Framework Developers”, which means they only really develop with one specific (or maybe two) JS frameworks. This is a problem because these frameworks often change how you interact with web technology. In the end, everything gets compiled to HTML, CSS and JS, but when your dev environment is so different from that, it’s hard to understand exactly what you’re building.
If you already know HTML, CSS and JS, then you can make that association while you’re learning the framework, and things happen naturally. When the opposite happens, though, the path is more difficult.
A HTML, CSS and JS developer can learn any framework (and jump between them) with relative ease, while a React developer might have a hard time working with Vanilla JS or Svelte, for example, because they only learned the React way of thinking instead of how browsers interpret the code.
I do use a JavaScript framework (Svelte) on my website and personal projects, but I’m glad I learned the underlying technologies before diving into any framework. Having that foundation has allowed me to work professionally with a lot of different stacks (Vanilla, React, Vue, Angular, Svelte) while still keeping my foundational skills intact.
Responsive app switcher or carousel UI with CSS view()
This CodePen uses pure CSS and its new-ish features to create a really neat card stacking effect! It uses Scroll Snapping (widely available) and Scroll-based animation (Chromium only for now) to both style the card stack and make sure they behave correctly.
A semi-serious, semi-satire, but fully incredible short video that talks about ReactJS and how and why it became the most popular web framework. Definitely worth the watch, especially if you don’t like React. Make sure to read the transcript for some added Director’s notes.
Dynamic text color contrast based on background lightness with CSS,SVG filters
If you’ve ever worked with CSS variables on a project, you know one of the main challenges is getting color contrast to work correctly. When the background color changes, the text color (which should have high contrast) might not work as well. Often we handle this by having a --color-contrast variable, but this added complexity builds up quickly.
This article goes into an alternative way that uses CSS and SVG filters to let the browser apply the contrast automatically. The CSS-only alternative has a problem with fringing, but the SVG one seems straightforward enough and gets rid of that issue. That’s pretty clever!
I assume the main drawback of that approach is that you don’t have full control over the text color, so if having an exact color is crucial to you, then you’re still stuck with hardcoding color variables.
In case you don’t know this blog, I highly recommend checking other posts out. “brr” is a blog made by an IT worker that worked for a few months in Antarctica, and regularly blogged about some of the unique situations and challenges faced there. They are back home now, and published a post about the challenges faced due to Antarctica’s very limited internet access, and how a lot of stuff we take for granted just wasn’t usable there.
Makes us think about how much code we ship on our apps and websites. Surely there are ways to make our websites work with less and require less resources to run? We never know who, how and where our users might be.
Generative AI has a lot of problems, but it’s really good at creating some fun stuff. This tool asks for a GitHub profile handle and roasts it, using public data from your profile and your public repos. It’s surprisingly good at it… and it might get your feelings hurt.
Here’s a bit of what it says about mine:
Your website might be “lightweight,” but it seems like the only thing lighter is the impact of your contributions. If I wanted to stumble upon such “high-quality” work, I’d check out my toddler’s finger painting. Keep swinging that magic wand, maybe one day you’ll code something that doesn’t make people cringe!
I’m okay, I promise 🥲 …
Is this the slow decline of the Apple "cult"?
This great article goes into how Apple went from being kind of an underdog to becoming the biggest company in the world, and how that made its loyal fans from back in the 2000s kinda loathe the company nowadays, with its greedy actions and overall abuse of market power.
I never had access to any Apple products until ~4 years ago, so I never really got caught in the Apple hype train. Still, that’s what I mostly use nowadays and while I like their products, it’s really hard to have any kind of sympathy for them (which is honestly okay; companies should never be your friends). So, it’s nice reading what someone that was in that hype train feels about all the negative Apple news that are all around us all the time.
The Baseline - How to Create Long-Term Happiness
This fantastic article talks about how we’re often chasing down big goals as a form of reaching happiness, but those big highs often come with big lows right after. What if we aim to make the baseline higher instead of reaching higher highs all the time?
It kinda goes along with what I wrote about longterm goals a few months ago. Not to brag, but I think that article came out really great ;)
Why we should embrace being average
I read the Brazilian Portuguese version of this article, and it kind of goes into the same idea as the last one. It talks about how perfectionism can be harmful to one’s self-esteem and how accepting being average allows us to try more things and to live life to the fullest. Perfectionism has nothing to do with achieving success, only with avoiding doing things we’re afraid of not being good at.
AI Companies Need to Be Regulated - An Open Letter to the U.S. Congress and European Parliament
The MacStories team was able to put into words what a lot of people (including me) are feeling. AI companies that scrape content on the web (ignoring its licenses) pose a big threat to websites that need the pageviews to keep the lights on. Right now, that is all done under the claim that they’re using the data to train their models and not reproducing the content directly, which would fit into “fair use”. But there are good arguments that it’s not true.
AI models collapse when trained on recursively generated data
This study shows that, predictably, generative AIs or LLMs tend to decline in quality as they start feeding on content that was generated by other LLMs instead of humans.
Considering much of the web is now getting polluted by this LLM-generated slop and the web is a big source of data for their training, it seems that future models will likely regress in quality. Doesn’t seem like a very sustainable model, does it?
This article talks about how users are growing increasingly indifferent to elements that “pop” on websites and apps. Because “if a pop-up or any element of a user interface for that matter looks too different from the rest of the design, people will often perceive it as something that doesn’t belong (like an ad) and dismiss it.”.
Instead, making the important elements feel like the core flow tends to yield better results.