Sign in

Tomas

@tomasklingen.nl
49 followers 196 following 107 posts

🎸👨‍💻 a Frontend Web Dev with a weird passion for performance, SSR and Core Web Vital optimalization

PostsRepliesMedia
Tomas @tomasklingen.nl · 04/10/2026
Sonnet 5.5 high and extra high are my favourites now for active collaboration work. The speed/quality balance is very good. Opus might be better but not by much, and is slower.
000
Tomas @tomasklingen.nl · 02/10/2026
Wow this is pretty clever en.wikipedia.org/wiki/Cache_s...
en.wikipedia.org
Cache stampede - Wikipedia
000
Tomas @tomasklingen.nl · 20/09/2026
Forgot how good this video is
001
Tomas @tomasklingen.nl · 06/09/2026
Unironically added this to a prompt before: “how would @danabra.mov write this code?” It works 😅
011
Tomas @tomasklingen.nl · 04/09/2026
From the Netherlands
Screenshot of Apple Maps on IPhone showing Lake Ontario
010
Tomas @tomasklingen.nl · 03/09/2026
Cmd t for symbol navigation, cmd shift o for current file nav, all great stuff.
000
Tomas @tomasklingen.nl · 21/08/2026
It might have been trained to respond like this to flex its own capabilities. It’s kinda implicitly saying “YOU would take 2 days to do this, but I…”
000
Tomas @tomasklingen.nl · 16/08/2026
A good reminder. Any process that can be done with old school mechanical static deterministic code instead of LLMs should be done like that.
191
Reposted by Tomas
Scott Tolinski @tolin.ski · 14/08/2026
This is the most important video I've ever made. In this, I explore the negative and positive mental health effects of AI coding, with data and expert commentary. www.youtube.com/watch?v=iPUn...
youtube.com
The True Cost of AI Coding
YouTube video by Syntax
1116143
Tomas @tomasklingen.nl · 14/08/2026
So here you can attach an event handler for when the “line” event fires, right? ;)
0130
Tomas @tomasklingen.nl · 12/08/2026
Also good INP. We have slow hydration and long running js tasks. Big React app.
100
Reposted by Tomas
Scott Tolinski @tolin.ski · 31/07/2026
I’m exploring the mental health effects of AI coding. This is a super quick (blazing fast), anonymous survey. Please fill out and share so that the responses will be well rounded. forms.gle/dpD8Tk1QnXAz...
forms.gle
AI Coding & Mental Health
All answers are anonymous.
1810964
Tomas @tomasklingen.nl · 08/07/2026
The 7 LSP seems to re-format import statements and adds semicolons, which 6 correctly didn’t add (we don’t use them in our project). Probably related to “organize imports”. Is there anywhere I can fine some documentation for the vscode plugin or LSP? Maybe I’m missing some changed config.
100
Tomas @tomasklingen.nl · 08/07/2026
Indeed, so always write it as simple for the reader to understand. Or you know, for yourself in 2 weeks.
000
Tomas @tomasklingen.nl · 31/05/2026
🤯
000
Reposted by Tomas
alto! @alto.fish · 24/05/2026
The Cure were really onto something when they thought of JavaScript in 1979
[Chorus]
Object, object
Object, object
Object, object
Object, object
432449
Tomas @tomasklingen.nl · 23/05/2026
If it’s not made for sits, why is it made of warm?
010
Tomas @tomasklingen.nl · 23/05/2026
Shift-enter gives me anxiety. You never know for sure which input box supports it and which will submit right away.
030
Tomas @tomasklingen.nl · 21/05/2026
Something like this. With a radial grain pattern on the rotor. Claude cheated with the SVG background :)) codepen.io/tomasklingen...
codepen.io
CSS Scroll Dial
...
020
Tomas @tomasklingen.nl · 21/05/2026
Cool! One small remark, it wasn’t the point of the demo, but I think the light reflections shouldn’t rotate with the button. Maybe the knob which does rotate can have some form of rough metal “grain”/noise texture as under layer, perhaps using css random()?
110
Tomas @tomasklingen.nl · 13/05/2026
“Honestly”
010
Tomas @tomasklingen.nl · 11/05/2026
Wow this is really nice. It’s a feature I’ve been missing that I used at my first programming job where they used SVN lol.
000
Tomas @tomasklingen.nl · 02/05/2026
With all the stuff going on in the US, Chinese AI providers almost feel like a safer option. That’s at least how many Europeans look at it. The days where we saw US as a trustworthy place to store data or where it felt safe to share sensitive data with (LLM prompts) are nearly over.
030
Tomas @tomasklingen.nl · 27/04/2026
Worms Armageddon ❤️
010
Tomas @tomasklingen.nl · 06/04/2026
Als tourist met laag tempo zeker twee keer zwaarder!
000
Tomas @tomasklingen.nl · 06/04/2026
Inderdaad dus niet álles eraan gedaan om te winnen. Z’n eergevoel is te groot.
000
Reposted by Tomas
Lars @webpro.nl · 02/04/2026
Massive props to @lubach.nl (Dutch TV) for speaking out against X, recommending @bsky.app and Mastodon. youtube.com/watch?v=u4hH...
youtube.com
Wat doet onze overheid nog op X? | LUBACH
YouTube video by LUBACH
1192
Tomas @tomasklingen.nl · 31/03/2026
TLDR: cache
000
Tomas @tomasklingen.nl · 24/03/2026
If everyone uses a release cooldown, do comprised packages get noticed in time? Or is it like the joke you hear during a safari: “you don’t need to outrun the lion, you just need to outrun your friend”? nesbitt.io/2026/03/04/p...
nesbitt.io
Package Managers Need to Cool Down
A survey of dependency cooldown support across package managers and update tools.
000
Tomas @tomasklingen.nl · 24/03/2026
The topic of skills atrophy has been running through my mind quite a bit. Delegating cognitive tasks to an AI system could mean over time you lose some of those abilities yourself. Similarly to how you need to keep training a muscle or a sport: use it or lose it. But is this always bad per se?
010
Tomas @tomasklingen.nl · 22/03/2026
Yesterday I had my iPhone battery replaced after some years. I had forgotten what a great feeling it is to only have to charge once per day. It lessens the desire to replace this 13 pro, which is otherwise working perfectly fine still 👌
000
Tomas @tomasklingen.nl · 21/03/2026
Wow and remember the io js drama?
000
Tomas @tomasklingen.nl · 18/03/2026
The migration tool helped a ton, but the last 10% is where we have to manually verify some minor differences in rules and plugins are taking most time. I don’t blame the tools at all, we just have too many plugins and an awkward @stylistic-eslint setup we need to migrate to oxfmt.
000
Tomas @tomasklingen.nl · 16/03/2026
Hell yeah, the type aware linting is absolutely the best!
101
Tomas @tomasklingen.nl · 16/03/2026
I do understand skills are a bit more flexible though. Personally I use skills with a lightweight description of an CLI and let the agent discover its usage through `—help` if needed. But I’m not following the argument that MCP is inherently wasting more context doesn’t sound right?
000
Tomas @tomasklingen.nl · 16/03/2026
From a token efficiency perspective I don’t fully follow why agent skills would be more efficient than MCP. Doesn’t MCP expose a short description of available tools in the same way skill markdown files have some meta details in frontmatter?
100
Tomas @tomasklingen.nl · 16/03/2026
No big blockers. It’s just that it makes the already laboursome transition from eslint to oxlint less of a speed improvement. Without js plugins oxlint is way faster, which is incredible! But there are some plugins that slow down everything again.
221
Reposted by Tomas
Laurie Voss @seldo.com · 15/03/2026
I have always been the kind of developer who only cared about outcomes. Give me the tool, the framework, the head start. I just want my website. A totally different kind of developer exists who cares about the *craft*. Getting that function just right. Those devs are in pain right now.
2317214
Tomas @tomasklingen.nl · 06/03/2026
I’ll probably keep using Nuxt, but in SPA mode. More than enough. Simple static hosting 👌
000
Tomas @tomasklingen.nl · 06/03/2026
But the temptations and opportunities provided by vibe coding let you go overboard as well. I choose all kinds of tech that’s kinda new to me. @nuxt.com with CloudFlare workers + D1 as db. Client-side IndexDB. It already needs simplification.
110
Tomas @tomasklingen.nl · 06/03/2026
My girlfriend and I are taking Spanish lessons. We got a traditional book and studying goes well. So of course I’m working on a tool to optimize learning. Using spaced repetition algorithms, flash cards and good quality spoken output. Pretty much Anki, but more specialised.
130
Tomas @tomasklingen.nl · 06/03/2026
Weer een usb-c apparaat wat stuk kan! Van alle handelingen tijdens het koken is het met de hand raspen van Parmazaanse kaas zo'n beetje het minste werk en ook nog het leukst toch?
100
Tomas @tomasklingen.nl · 06/03/2026
Due to technical limitations there can't be two usb 3 ports. Awkward, but fine. But then the placement is a bit counter intuitive. When both ports are in use, it's probably most likely the port more to the back of the device is used for charging, keeping the faster port occupied.
macbook nano ports. Usb-c 2 vs 3
000
Tomas @tomasklingen.nl · 19/02/2026
Scraping bots are getting good. They can pass CloudFlare challenges. We’ve been fighting a 40k “random” ip botnet for a couple of days now. CF does mark them as “somewhat odd” with a lower bot score though. That helps.
000
Reposted by Tomas
React Router @reactrouter.com · 02/02/2026
Official Agent Skills are now available for React Router github.com/remix-run/ag...
0145
Tomas @tomasklingen.nl · 25/01/2026
I agree about it being unclear if it’s a warning that’s not enforced. A poor justification: at work we have some rules added as warn as a “temp” measure because they’ve been added to an existing codebase and it was too much work to fix all at once. Just like marking something as `@deprecated`.
110
Tomas @tomasklingen.nl · 23/01/2026
Werkt die nog/weer met een Claude code abonnement? Of gebruik je een andere LLM? Dat werd vorige week geblokkeerd door Anthropoc.
100
Reposted by Tomas
CodePen @codepen.io · 02/01/2026
"Collision detection using style queries plus keyframes" by lee codepen.io/leemeyer/pen...
0162
Tomas @tomasklingen.nl · 28/12/2025
“If unsure” Does that work? Are they self-aware enough?
110
Tomas @tomasklingen.nl · 24/12/2025
Reselect 5 switched memoization strategy from using fixed size LRU caching (1 by default) to a WeakMap strategy, relying on the GC to clean stuff up. But when one of the selectors’ arguments is a JS primitive like a string, it doesn’t get cleared.
000