nater.dev ☀️'s Avatar

nater.dev ☀️

@nater-dev

staff frontend engineer | shipping & scaling

50
Followers
126
Following
67
Posts
15.11.2024
Joined
Posts Following

Latest posts by nater.dev ☀️ @nater-dev

Preview
WebHaptics – Haptic feedback for the mobile web. Haptic feedback for the mobile web.

this is so cool
haptics.lochie.me

02.03.2026 19:40 👍 225 🔁 47 💬 13 📌 14

Some people can't afford the cost of a Real ID, or a copy of their birth certificate, which is why it's important for those of us who can help to help. Even helping just one person goes a long way.

This is about preparation for any foolishness while we continue to fight for our right to vote.

08.02.2026 00:28 👍 94 🔁 23 💬 4 📌 0

“mock” is a loaded term. Out of context, yeah, this is narrow-minded thinking. The MSW approach is not the same as module-level mocking. Those against mocking are usually talking about mocking internal modules and dependencies, not the network/data layer.

07.02.2026 16:44 👍 2 🔁 0 💬 2 📌 0
Scammy text appeal seeking donations for the "No Kings Act" which will be "500% MATCHED"

Scammy text appeal seeking donations for the "No Kings Act" which will be "500% MATCHED"

PSA: The No Kings PAC is not affiliated with and had no role in putting on the 10/18 mobilization. If you get a spammy text from them claiming your donation will be 5x matched, know that it's not from anyone involved in the No Kings protest (and please direct your angry emails to them, not us)

28.10.2025 13:32 👍 783 🔁 484 💬 14 📌 17

it's kinda weird that all the software i am expected to use for work are all written by distributed teams, go, python, postgres, linux, chrome, k8s etc

and despite being told "the best teams work in an office together" i don't know of any software i use that's actually written that way

13.10.2025 17:00 👍 1115 🔁 284 💬 20 📌 5

“The moment you have nine useStates in a component, you've already shot yourself in the foot.”

PREACH

13.09.2025 01:15 👍 2 🔁 0 💬 0 📌 0

let me change my mind about this

01.08.2025 21:25 👍 0 🔁 0 💬 0 📌 0

I want a normalized API pattern where introduction of a side-effect returns you a function to undo it.

const controller = emitter.on('foo', cb)
controller.abort()

For everything, please. No more "and now let's call .removeListener() and provide the same fn by reference" 🤮

30.07.2025 17:47 👍 8 🔁 1 💬 3 📌 0

💯💯💯

20.07.2025 01:32 👍 1 🔁 0 💬 0 📌 0

It’s rare that anyone but “Principal” and “Distinguished” “Engineers” decide on the stacks in enterprises. Given these roles are usually tied to director and VP level pay scales, there’s exceedingly few compared to all those resumes in your bin. “Doing your job” is often suboptimal.

18.07.2025 21:49 👍 0 🔁 0 💬 1 📌 0

Kinda feels like e2e with playwright is better than literally any other test setup. Starting to second guess the value of Storybook in these crazy times.

21.06.2025 22:53 👍 0 🔁 0 💬 0 📌 0
AI-assisted coding for teams that can't get away with vibes - nilenso blog ...

AI-assisted coding for teams that can't get away with vibes

blog.nilenso.com/blog/2025/05...

10.06.2025 22:12 👍 112 🔁 18 💬 5 📌 5

💯 it isn’t clear from the docs how to roll your own RSC implementation which is pretty important for developing a strong intuitive understanding of the technology

04.06.2025 14:11 👍 0 🔁 0 💬 0 📌 0

Maybe.

My mental model for UIs is rooted in physical metaphors: steering wheel, speed gauge, light switch, faucets, doors, etc etc and these things don’t make sense as caches in my brain.

it’s maybe the difference between *views* and *controls*

Idk, thanks for the discussion!

31.05.2025 00:42 👍 0 🔁 0 💬 0 📌 0

The settings are orthogonal to the real-time network speed, which (in the example) is the purpose of this UI. This is not so different from waveform in a DAW or a video playing on YouTube.

Point being, a lot of UI just isn’t a cached of data, it’s more like a stream of data.

30.05.2025 22:38 👍 0 🔁 0 💬 1 📌 0

fair. Ideally if you fail to declare one of the expected states, the runtime would inform you via error/warning

30.05.2025 22:32 👍 2 🔁 0 💬 0 📌 0
Internet Speed Test How fast is your download speed? In seconds, FAST.com's simple Internet speed test will estimate your ISP speed.

One that comes to mind is fast.com

Obviously this is somewhat trivial but it’s a utility that I personally use regularly that has a good UI and doesn’t strike me as a cache of data. Any sort of “real-time” stream of data fails to fit this mental model of a cache

30.05.2025 15:24 👍 1 🔁 0 💬 1 📌 0

It’s a terse mental model but not a useful one. This is a server-centric view of UI. This idea doesn’t extend well to a strictly local app or a highly interactive app where interactions are ephemeral and the UI state is not persisted

30.05.2025 10:58 👍 1 🔁 0 💬 1 📌 0

<use-async key=comments>
<p slot=pending>Loading…</p>
<p slot=rejected class=error>
Failed to load.
</p>
<div slot=resolved>
<template id=comment-template>
<p>
<slot name=text></slot>
</p>
</template>
</div>
</use-async>

29.05.2025 18:09 👍 0 🔁 0 💬 1 📌 0

🤤 butter

03.04.2025 20:27 👍 0 🔁 0 💬 0 📌 0

I’m convinced that with AGI we will reshape reality in the style of a Studio Ghibli film

29.03.2025 16:59 👍 1 🔁 0 💬 0 📌 0

Would love a web component version of this! Nice work 👏

28.03.2025 20:07 👍 1 🔁 0 💬 2 📌 0

TIL

13.03.2025 21:17 👍 1 🔁 0 💬 0 📌 0

This is really cool! Your suggestion for Rust/Haskell makes sense. I’m curious your thoughts on using Typescript with a really strict config as the base lang, given how prevalent it is in frontend applications?

03.03.2025 17:56 👍 2 🔁 0 💬 1 📌 0

As web devs we work on top of a huge pyramid of *extremely* good abstractions, from the metal on up.

The problem with web dev currently is all the abstractions on top of HTML/CSS/JS/HTTP, by comparison, are quite leaky.

20.02.2025 12:23 👍 4 🔁 1 💬 0 📌 0

Hey guys meta announced a new policy where they send a killer to get you so be sure to go to settings>my account > killer> disable killer to turn that off

13.02.2025 17:36 👍 20664 🔁 5326 💬 4 📌 159

Headless UI libraries make a lot of sense, I just wish they were authored as web components so I could use them in any framework

14.02.2025 12:16 👍 3 🔁 0 💬 0 📌 0

Even worse: the longer this is the case, the higher the skill floor is, eating into mid and senior level roles until we’re only left with “distinguished wizard architects” and their fancy autocomplete

04.02.2025 20:04 👍 0 🔁 0 💬 0 📌 0

the tech market is so weird for entry level devs. it seems like no one wants to hire non-experienced devs, but you gotta get a job to get said experience, but the advent of AI makes companies not want to spend on entry level tasks, then eventually there will be no one to promote to seniors

04.02.2025 00:57 👍 54 🔁 2 💬 9 📌 1

Pretty sure this is why JSX is so popular. As much as I dislike a build step between my code and my browser, it really is the most ergonomic option available

04.02.2025 19:59 👍 1 🔁 0 💬 0 📌 0