Kai Eichinger's Avatar

Kai Eichinger

@keichinger.dev

He/Him. Senior Software Engineer at 21TORR GmbH. I love technology and gaming. πŸ“Stuttgart, Germany

147
Followers
1,109
Following
100
Posts
02.10.2023
Joined
Posts Following

Latest posts by Kai Eichinger @keichinger.dev

Post image

In the next version of ArkType, any Standard Schema is a valid definition.

Zod migration is about to get a whole lot easierπŸš€

01.12.2025 18:39 πŸ‘ 38 πŸ” 5 πŸ’¬ 3 πŸ“Œ 0

To be fair, the old version is linking to an now-archived project from 2024 :D

I guess it shouldn't be too hard to get the correct github repo listed again ☺️ Good luck with that!

18.11.2025 21:29 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Remove stale Ingress controller entries (ngrok, Easegress) Β· kubernetes/website@40bab1d

No worries! :) I guess the operator was considered staled by someone at Kubernetes, which the changelog in the footer may suggest: github.com/kubernetes/w...

18.11.2025 20:26 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image Post image Post image Post image

> We provide our own Kubernetes Operator at ngrok, -->and are listed as a recommended ingress controller on the Kubernetes website<--.

What am I missing?
I've checked the link and could only find three links to the actual nginx website. The only mention of ngrok was the changelog at the bottom.

18.11.2025 20:20 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Introducing F# 10 - .NET Blog Learn about new F# 10 language features, performance upgrades, and tooling improvements shipping with .NET 10.

Introducing F# 10 #fsharp devblogs.microsoft.com/dotnet/intro...

17.11.2025 18:14 πŸ‘ 24 πŸ” 15 πŸ’¬ 1 πŸ“Œ 0

I do get the argument about having an entire module configured/modified/annotated using directives. However, I do think that configuring each export is still superior and more explicit. Again, you might want to configure them differently, which means you don't have to split them in different files.

02.11.2025 08:15 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Not all frameworks use magic functions. Now, does that change your standpoint or do you still argue that a random string is better than an explicit function call, which would provide a lot more flexibility and actually less magic?

02.11.2025 08:15 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Let me know if you need further testing. Happy to help! :)

26.10.2025 16:11 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Since I've never been on that website before: Very, very beautiful website! I really do love the attention to detail in those animations with all of the unique ideas.

Outstanding work! Really looking forward to the cursor size feature :) Great idea and obviously great for accessibility!

26.10.2025 15:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

Reloading the website in between changing the cursor size didn't work either. It looked the same all the way.

Initially, I also thought the cursor looked a lot bigger when visiting the page with the default cursor size, but that may be intentional.

26.10.2025 15:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Post image

I've quickly tested it using the latest version of Windows 11 using Microsoft Edge 141.0.3537.99:

In both cases, the default cursor size (smallest) and largest, the cursor on the website *did not* scale up or down.

26.10.2025 15:59 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Meeeeeeeeeeega! Von solchen News wollen wir mehr hâren 😍

27.09.2025 08:11 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
TanStack | High Quality Open-Source Software for Web Developers Headless, type-safe, powerful utilities for complex workflows like Data Management, Data Visualization, Charts, Tables, and UI Components.

πŸš€ Announcing TanStack.com Start v1 Release Candidate!

Upgrades ↓

✨ Unified Route Tree: no more server-specific files
πŸ” Type-safe middleware & server context upgrades
πŸ›‘ CSP/nonce support
⚑ Now works with any native Vite Env plugin
πŸŒ€ Zero-JS: any server handler can render!

23.09.2025 20:10 πŸ‘ 202 πŸ” 29 πŸ’¬ 7 πŸ“Œ 6
Preview
The Big Gotcha With @starting-style β€’ Josh W. Comeau CSS has been on fire lately, with tons of great new features. @starting-style is an interesting one; it allows us to use CSS transitions for enter animations, something previously reserved for CSS key...

✨ I just published a brand-new blog post about a modern CSS feature!

But, honestly, I’m still on the fence about it. πŸ˜…

In this post, I’ll dig into the gnarly issue I ran into, and share three possible workarounds. Along the way, you’ll learn a bunch about the CSS cascade and specificity!

22.09.2025 14:21 πŸ‘ 144 πŸ” 19 πŸ’¬ 9 πŸ“Œ 7
Post image Post image

FYI: In your "Select In Form" case, as soon as you select an option, the formatted item label will display "UNKNOWN" instead of the option's label. However, submitting the form will indeed render the correctly selected option!

All the other cases do seem to work just fine :)

17.09.2025 19:34 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
The RUM Diaries: enabling Web Analytics by default We’re excited to announce the start of a major upgrade to Cloudflare’s performance analytics suite: Web Analytics as part of our real user monitoring (RUM) tools will soon be combined with network-lev...

On October 15th 2025, Cloudflare is enabling Web Analytics for all free domains by defaultβ€”helping you see how your site performs around the world in real time, without ever collecting personal data. https://cfl.re/3IuBjuT

17.09.2025 19:23 πŸ‘ 26 πŸ” 7 πŸ’¬ 1 πŸ“Œ 0
Screenshot of Safari 26 in "tabs at the top" mode showing a webpage that is set to `viewport-fit=cover` and the dynamic toolbars scrolled away (minimized). The viewport is too short and the safe area insets are all wrong. Device: iPhone 13 Pro.

Screenshot of Safari 26 in "tabs at the top" mode showing a webpage that is set to `viewport-fit=cover` and the dynamic toolbars scrolled away (minimized). The viewport is too short and the safe area insets are all wrong. Device: iPhone 13 Pro.

Screenshot of Safari 26 in "tabs at the top" mode showing a webpage with the dynamic toolbars scrolled away (minimized). The viewport (blue box) is way too short and does not toch the very top of the screen. Device: iPhone 13 Pro.

Screenshot of Safari 26 in "tabs at the top" mode showing a webpage with the dynamic toolbars scrolled away (minimized). The viewport (blue box) is way too short and does not toch the very top of the screen. Device: iPhone 13 Pro.

Viewport behavior in Safari 26 is utterly broken. πŸ™„πŸ˜­

Time to get Viewports into #Interop2026 because viewports on iOS have gotten only worse since I did the initial research in, *checks notes*, 2022 β€” github.com/web-platform...

15.09.2025 21:14 πŸ‘ 139 πŸ” 25 πŸ’¬ 8 πŸ“Œ 7
{npm i, {pnpm,yarn,bun} add} nuqs@latest

{npm i, {pnpm,yarn,bun} add} nuqs@latest

πŸ“¦ nuqs@2.6.0 is out! πŸš€

- ✨ `processUrlSearchParams` middleware: sort the querystring alphabetically (for SEO & cache) or process it before updating the URL.
- πŸ’Ž Zod codecs community parser
- ⚠️ Log a warning when using debounce with shallow: true with a link to docs

Try it out: pnpm add nuqs@latest

05.09.2025 15:06 πŸ‘ 14 πŸ” 3 πŸ’¬ 1 πŸ“Œ 0
Video thumbnail

πŸ› οΈ New Article: The Basics of Anchor Positioning

I wrote an article covering some basics of CSS anchor positioning. Really excited to share this one! 🀩

πŸ”— ishadeed.com/article/anch...

28.08.2025 07:41 πŸ‘ 161 πŸ” 44 πŸ’¬ 10 πŸ“Œ 2
Video thumbnail

#CSS text-box
a very exciting feature!

available in:
Chrome 133 & Safari 18.2

My post on Chrome Developers:
developer.chrome.com/blog/css-tex...

β†ͺ nerdy.dev/text-box-trim

14.01.2025 21:34 πŸ‘ 192 πŸ” 36 πŸ’¬ 13 πŸ“Œ 5

The big underlying question is always: *Should* my change be fully reflected to the outside (β€žpublic”), or is my change supposed to be β€žinternal only”?

That may or may not be related to me growing up learning C# before slowly dipping PHP, which just got types with v5, and then JS, followed by TS.

23.07.2025 12:38 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

If one of those functions will cause an error because I've changed some internal data structure, then it's up to me to figure out how to handle it in *this* particular case, giving me more control.
To me, this is more valuable and more useful in larger code bases.

23.07.2025 12:38 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Depending on your TypeScript configuration, and obviously on your code base, a change in your data structure might cause an error elsewhere, where it's not supposed to error.

I like having explicit return types so that I can control how much will actually flow out to external code.

23.07.2025 12:38 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

I know there are tons of arguments about that it's more convenient to have the return type being implicit. I'd argue the opposite. Think about twice when you make a change somewhere and it changes the return type of something that you're not really thinking about at the moment. This will catch bugs.

22.07.2025 20:24 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

Yes, to avoid accidental changes to the return type. This is especially important for library code.

It is also super useful when trying to help the compiler for figuring out module boundaries without having to analyze anything but the return type.

22.07.2025 20:23 πŸ‘ 5 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Announcing TypeScript 5.9 Beta - TypeScript Today we are excited to announce the availability of TypeScript 5.9 Beta. To get started using the beta, you can get it through npm with the following command: npm install -D typescript@beta Let’s tak...

TypeScript 5.9 Beta just went out! Try it in your project and let us know what you think:

devblogs.microsoft.com/typescript/a...

08.07.2025 17:46 πŸ‘ 98 πŸ” 22 πŸ’¬ 2 πŸ“Œ 4

Alarmstufe Eis, wir haben einen Notstand. Alle Frauen und MΓ€nner an die Eistheken. Erbitte um sofortiges flΓ€chendeckendes Spaghetti-Eis-Feuer auf der linken Flanke, wir drohen dort einzubrechen!

05.07.2025 16:05 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Post image

Why does Florida now look like a bullβ€˜s testicles?

05.07.2025 15:58 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Vite 7.0 is out! Vite 7 Release Announcement

⚑️ Vite 7.0 is out!

- Browser Target Changed to Baseline Widely Available
- Node 18 support dropped. Vite is now distributed as ESM only
- And feats, fixes, and cleanups, while we prepare for rolldown!

24.06.2025 12:10 πŸ‘ 351 πŸ” 72 πŸ’¬ 2 πŸ“Œ 2

Europe is not a country. It's not that hard.

24.06.2025 09:28 πŸ‘ 5 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0