News for hackers. Stuff that matters.

emotiveengine

Thanks so much! I've learned way more than I anticipated (or even wanted..lol) about shaders and resource managment. Now that the pattern is established, I'm going to do a barebones with templates so folks can fork and make a much smaller package with their custom resources.
Have to agree with _pdp_ on this one. I just don't see the need for an LLM agent to do a recursive grep for API keys in public repos.

Not saying people shouldn't build these tools, but the use case is lost on me.

It feels like the industry is in this weird phase of trying to replace 30-year-old, perfectly optimized shell utilities with multi-shot agent workflows that literally cost money to run. A basic Python script with a regex matcher and the GitHub API will find these keys faster, cheaper, and more reliably.

Re:Using Thunderbird for RSS on Friday March 13, 2026 @11:23PM (#47373008)
I tried going back to Thunderbird for RSS recently just to get away from bloated web readers. The fact that you can use standard email rules to filter out high-volume noise is actually amazing. You can just auto-archive posts based on regex or keywords.

But the lack of simple cross-device sync killed the experiment for me. If you read a few articles on your phone while commuting, your desktop client has no idea when you get home. It is a great setup if you only ever consume news at one desk, but I ended up just sticking with Miniflux so my unread counts stay sane.

Did designing for LLM output first actually change the component API, or does it mostly live in the docs and tooling?
How do you handle sync conflicts when the same expense gets edited offline on two devices before syncing? Last-write-wins, or something more sophisticated?
I maintain a few small open source projects and the PR quality went off a cliff once AI coding tools got popular. People generate something that compiles and looks reasonable but is wrong in ways that take me longer to explain than to just fix myself.

The weird part is I use AI heavily for my own code and it's great. But I know the codebase since I wrote it from scratch. Someone who doesn't know it feeding prompts to Copilot produces code that passes lint and still misses the point entirely.

Hashimoto locking contributions to vouched users makes total sense. The old assumption was that effort implied understanding. That's just not true anymore.

Re:Is Music Just Sound? on Tuesday March 10, 2026 @02:05PM (#47326761)
I spent a while trying to sync animation to music and the biggest surprise was how much rhythm alone does. Change BPM, same notes, same key, and the emotional feel completely flips. 120 BPM is neutral. 60 is contemplative. 160 is anxious. Nothing else changed.

If you strip a song down to just its rhythm, no pitch, no timbre, people can still tell you what emotion it's going for. Add the pitch back and it barely moves the needle. Timing between events does most of the heavy lifting. The actual "sound" part is almost window dressing on a temporal skeleton.

Right? If they're using some sort of tool, there's always another tool to fool the tool.
Started this about 6 months ago. Wanted an animated character that could react to conversation, not just sit there as a static avatar.

First version was Canvas 2D. Shape morphing and particles. Worked fine for basic emotions but felt limited, so I added a WebGL 3D renderer with custom shaders, bloom, AO, a post-processing chain.

About 6 weeks ago I started the elemental system. Fire first. FBM noise, decoupled color from alpha so additive stacking looks natural instead of washing out. Then water (screen-space refraction, spray particles). By the third element (ice — Snell's law, Voronoi crack lines, chromatic dispersion), the architecture was clearly repeating: factory + instanced GPU material + overlay shader + gesture configs + registration hook. Same five pieces every time.

So I kept going. Electricity, earth, nature, light, void. Eight total in about 6 weeks. Wanted to see if the pattern held or if I'd been fooling myself.

161 gestures later it held. Each gesture is about 20 lines of config composing from archetypes. The factory does the rest.

Shuffle button in the demo shows all 161. Press G for the GPU monitor. `window.profiler` is exposed if you want to poke around.

Happy to talk about any of the shaders, the rendering pipeline, or things I got wrong along the way.

Show HN: Emotive Engine – I wrote 8 elemental shaders to prove one pattern works

https://github.com/joshtol/emotive-engine

Live demo (click any gesture, no install): https://joshtol.github.io/emotive-engine/examples/3d/element...Open-source character animation engine, MIT licensed. About 6 months of work. Renders animated mascots in Canvas 2D or WebGL 3D.For v3.4.1 I wrote 8 elemental shader systems from scratch: fire, water, ice, electricity, earth, nature, light, void. Each one has its own GLSL fragment shader,...

( Read More... | 3 comments | on HN )
Thank you! It's been a super fun project.

Show HN: Emotive Engine – Animation engine with musical time (not milliseconds)

https://github.com/joshtol/emotive-engine

Hey HN! I'm the creator of Emotive Engine. I've been working on this for 2+ years and finally open-sourced it today.The core idea: Most animation libraries work in milliseconds. Music works in beats. This creates a mismatch - hardcode a bounce for 500ms (perfect at 120 BPM), switch to 90 BPM, and everything drifts because 500ms is now 0.75 beats.Emotive Engine uses musical time as the atomic...

( Read More... | 2 comments | 2 points | on HN )