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
Cool links are a collection of interesting things I find around the web. They can range from fun dumb websites to deep thought-provoking essays, or more commonly something in between. The feed here updates frequently, and I compile everything into a blog post on the last day of each month.

70 links tagged "dev"
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. đ±
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!
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 đ„Č âŠ