Janis Jansen 🌳
banner
janis.me
Janis Jansen 🌳
@janis.me
49 followers 220 following 240 posts
Putting things on websites you didn't know could be on websites. Like fluid simulations or CAD software. Also conversational AI agents at cognigy.ai. Currently working on surimi.dev (pre-alpha) πŸ”— janis.me πŸ–₯️ github.com/janis-me πŸ“½οΈ youtube.com/@janis-me
Posts Media Videos Starter Packs
Pinned
The first version of the 🍣 surimi playground is live!

It runs the @rolldown.rs based compiler in a WebContainer, and updates the editor instantly!

Check it out! surimi.dev/playground
Compile times are bit slower than locally tho.

Also
- has type-hint support
- you can install new packages
- ...
Crazy how consistent that is! My three user apps could never.
I didn't even know browsers support it at runtime?? Thought it needed to be processed beforehand.

For people like me who need to read up, here is a discussion on the deprecation in blink
groups.google.com/a/chromium.o...
Intent to Deprecate and Remove: Deprecate and remove XSLT
groups.google.com
"This is a classical issue when <some activity Claude absolutely has no clue about AT ALL"
Awesome, great to know!

The part I felt was "dirty" was me writing some regex which might or might not work. As soon as I write regexes, I feel like I shouldn't have. But providing paths like you mentioned feels better :)
Okay sorry for the spam, but I'm stupid. You can filter by regex.
`-regexp:/(src|node_modules|@vite)` kinda hides all these requests in a very dirty way.
(I tried to just set a custom response header like "Vite-hide-request", but they're not added to all responses)
Though I feel like that's something other people already have figured out? @jakearchibald.com maybe you know how to get rid of unwanted dev server requests in the network panel, for example requests for @vite.dev modules.

You can filter by domain and negate, but that would hide too many
In Firefox, if you could filter network requests based on path/file.. you could negate the filter and exclude all requests from the vite dev server.

I think that's something we need. Vite module requests always spam the network panel.
"... and that concludes our guide to using the ECMAScript language effectively.

Now, forget everything you just read and let's talk about nodejs."
I also hate that you can use either asterisks, dashes OR underscores to make horizontal lines.

We recently needed to adjust how we parse markdown because we had messages that were "censored" with asterisks, which were interpreted as lines.
It's like working with a technology for 10 years and then learning in random bluesky comments, that you always used a part of it fundamentally wrong without noticing.

The amount of specs, exceptions and precautions to ensure compatibility and graceful handling is just insane.
Wow. For some reason I never realized vitest used chai. Makes absolute sense, but I always assumed vitest built its own assertions with a chai-like API.

Anyways, great to hear about the improvements!
Hm yeah might be. I did struggle especially with audio as soon as I wanted something non-standard. Like low level audio device access for DAWs, or getting my shitty audio card to work. But it was fun in a weird way.
We're getting there! Was a very productive week.
I mean sure you can figure it out. And once it's set up fully, it's super awesome.

But I already don't want to deal with, idk, audio tool chains and graphics drivers etc. on mainstream Linux, let alone on nixOS.
"What Linux distro are you using?"
"I'm rocking plug-and-play Linux"
It's simple for a developer with 15 years of Linux experience. Difficult for the remaining 8.1 billion.
Let an LLM write some code. Then write like 100 tests but still don't trust the code.

- coding in 2025
Wow. fully forgot I pre-ordered that. Congratulations to all of us then!
I think more people should
(that's excluding all media query level 5 ones btw, they're even more that I will hide behind a flag because of browser support)
Speaking of Vendor prefixes. These are the ones I found so far

Stopping with the "spam" now :) sorry
I also got one for (I hope) every single pseudo class and pseudo element!

There are some edge-cases though. like `:matches()`. And it excludes vendor-prefixed ones. Couldn't be bothered.