EmNudge's Avatar

EmNudge

@emnudge.dev

Code frog

58
Followers
81
Following
68
Posts
31.08.2023
Joined
Posts Following

Latest posts by EmNudge @emnudge.dev

Preview
Integrity Index - Holding Politicians Accountable Tracking the personal and political finances of every Congressional candidate.

Kind of insane: integrityindex.us does not show up on Google and Gemini refuses to acknowledge it is a working or legit or existing website.

ChatGPT and Bing get it immediately. I think Google is forcibly down ranking it?

07.03.2026 03:38 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Watlings

You can now run through watlings online!
watlings.emnudge.dev

11.02.2026 19:24 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
WAT LSP Playground

It's vibe coded, but the code samples are tested in CI - most of this should be accurate.

I also made most of the code blocks editable and hooked up to my LSP, so you can see how changes affect things.

Added the playground to a subpage of the docs wat-docs.emnudge.dev/playground/ - felt fitting

08.02.2026 06:33 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
WAT Docs Documentation for the WebAssembly Text Format.

Made wat-docs.emnudge.dev
I don't know of another WASM docs website, which is very strange.

You basically just have specifications, some written in LaTeX for some reason. MDN's guide is probably the closest you get developer.mozilla.org/en-US/docs/W...

08.02.2026 06:29 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Lesson here being that you can build rather complicated AND useful tools without writing a line of code yourself.

It does take someone who knows what they're doing, though. Which is fine, it means I'm not fully divorced from the code, just sitting at a higher abstraction layer more often.

20.01.2026 03:08 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Preview
GitHub - EmNudge/wat-lsp: The best LSP for WAT The best LSP for WAT. Contribute to EmNudge/wat-lsp development by creating an account on GitHub.

This is the project that motivated building github.com/EmNudge/wat-... which is also vibecoded and itself best-in-class

This is kinda nuts

20.01.2026 03:07 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
Preview
GitHub - EmNudge/wat-fft: implementation of FFT in wat implementation of FFT in wat. Contribute to EmNudge/wat-fft development by creating an account on GitHub.

I vibecoded a thing I think is mildly impressive github.com/EmNudge/wat-...

Pure WAT implementation of FFT. Benchmarked against best-in-class alternatives which is either beats or is at parity with.

20.01.2026 03:06 ๐Ÿ‘ 3 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
The Mundane Art of Programming when energy replaces calm

good read, echoes some of my thoughts.
Accidentally blogged about the same thing yesterday emnudge.dev/notes/the-mu...

11.01.2026 23:43 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Most programmers are terrible at writing, so surely you can do good work without this skill.

It's just such a benefit to evolving your capabilities and career that I think it's worth taking serious time to work on.

11.01.2026 21:55 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Most under-looked skill of great programmers: writing

Echoes some recent thoughts I hear from @oxide.computer - some of the best programmers I've worked with are excellent at communicating. Getting good at this is a great boon to your career.

Writing has helped me better express myself.

11.01.2026 21:55 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0
What Happened To WebAssembly Where are they now? You won't believe her new look!

New blog post - What Happened To WebAssembly
emnudge.dev/blog/what-ha...

31.12.2025 20:11 ๐Ÿ‘ 3 ๐Ÿ” 1 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Optimism As Pragmatism Be happy because it's better

emnudge.dev/blog/optimis...

05.11.2025 13:21 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Your company has too many managers Or, why you need ICMs

Your company has too many managers

emnudge.dev/notes/too-ma...

02.11.2025 21:41 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0
Get good at knowing what you like The only skill that matters

New article

emnudge.dev/blog/know-wh...

19.10.2025 16:53 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

๐Ÿ‘€ what are you building there

18.08.2025 20:56 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Yes, every time. Something that allows relative selecting.

The ID model creates issues in the component model, forcing us to rely on some PRNG ID generator. With components, you cannot guarantee only one instance of the element.

12.08.2025 15:23 ๐Ÿ‘ 5 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Was very hard to read this as ironic at first because I've seen almost 1:1 this mentioned unironically.

08.08.2025 19:14 ๐Ÿ‘ 1 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

serious question - what do you make of battery fires?

This is less about personal use of EVs and more about their existence in general. Am I overblowing the risks here? Are EV car fires not significantly worse than non-EV car fires?

Would like to be convinced otherwise.

29.07.2025 16:01 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 2 ๐Ÿ“Œ 0

You may be wondering what the difference is between this and voice-to-text + a regular LLM.

Those don't handle language switching well. I've tried.

28.07.2025 22:26 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

It feels obvious since that's kind of why they exist, but LLMs are awesome for language learning.

A missing piece for me is getting ChatGPT or Gemini level voice chat offline.

There are dozens of ollama clients for the non-multi-modal LLMs. Would be awesome to get this for voice.

28.07.2025 22:26 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Solid uses this pretty heavily for props, right?
That's been one of the major footguns for me, but it at least is easy to learn and lint for.

23.07.2025 21:37 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

You mentioned that they might have to sell Chrome to Perplexity. I don't think they can afford it and the judge wouldn't mandate a specific company.
They couldn't sell to another tech giant (I assume), so the next up seems to be a VC of some kind with lots of cash reserves.

16.07.2025 20:02 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

Do you think Perplexity is a more likely sell than some VC? As rich as Perplexity is, I don't know that they have enough cash reserves to compete.

16.07.2025 13:52 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

to clarify once more, you could recreate this API in JS. Nothing here seems language specific.
There are no new language constructs or token in this code snippet.

Or at least, that's what it seems.

If that is true, the `.async()` marker seems superfluous.

14.07.2025 21:01 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Sure, but this is done by the `await`, not the `async`. Defining something as `async` is akin to marking it as a generator function that pulls and pushes and yields control.

But the runtime is the `.await()`

I could imagine some reasons to have a `.async()` API, but none very convincing.

14.07.2025 21:01 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

What is async doing? It seems like we can just call the function directly where we .await() it.

If the parallel here is a generator function, you can have the same kind of behavior. Is the benefit that you get to pass it with its params without calling it early?

14.07.2025 16:30 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

Honestly I must be missing something because I'm not even sure why calling `.async()` is at all necessary here. I'll bet some long blog post will clear this up for me.

13.07.2025 17:52 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

So this is basically a generator function with a slightly different API. The words async/await feel misplaced here.

Async in every implementation is basically a generator function as well, but with a more implicit API. Calling it async feels weird.

13.07.2025 16:54 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 1 ๐Ÿ“Œ 0

I would love recruiters and hiring managers to stop saying they were "impressed by my background" when they just mean I worked at a company they like. There is nothing impressive about this. You sound silly.

My work outside of my employment is publicly visible. Be impressed by my rants.

07.07.2025 15:29 ๐Ÿ‘ 0 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0

You agreed with โ€ช@jovidecroock.comโ€ฌ's take, so I suppose you also disagree with yourself here. I get the overall point, but this one taken literally is wrong.

React code is slow for reasons much different to other frameworks. It does not follow that experiences will be the same in other frameworks.

09.06.2025 14:33 ๐Ÿ‘ 2 ๐Ÿ” 0 ๐Ÿ’ฌ 0 ๐Ÿ“Œ 0