oh that is awesome, well deserved! congrats @ocornut.bsky.social
oh that is awesome, well deserved! congrats @ocornut.bsky.social
I just vibe-coded a tax calculator: taxman.dk
Here's a blog post about it: apoorvaj.io/vibe-coding-...
This was also my experience with Steve Yegge's Gas Town (steve-yegge.medium.com/welcome-to-g...). Total jank, but there's a kernel of a really powerful idea in there.
Tried OpenClaw to eval the hype. It's janky af; couldn't get it to work in an hour of troubleshooting in Docker.
Pure vibes coding is still a trash fire, but someone's going to build a very smooth version of this, and it's going to be π₯.
Nope. π
This is my last week at Unity. Next week, I'm joining an early-stage startup working on robotics foundation models and their fine-tuning.
After working in GPGPU and then graphics, I'm now looking forward to learning an entirely new field. I hope it's going to be a fun ride! π€
I watch @smartereveryday.bsky.social βs video on the nuclear power plant and there was one offhand comment by someone who works there about how βnuclear radiationβ (specifically Cherenkov radiation) is blue, but βeveryone thinks itβs greenβ.
New blog post: Stop over-engineering static websites
apoorvaj.io/stop-overeng...
https://mitchellh.com/writing/zig-builds-getting-faster
i.e. the median Zig programmer is better than the median JS programmer.
I feel that Claude Code + Sonnet writes way more tasteful Zig code than it does JavaScript. JS is littered with dumb defensive programming, with null checks or conditions where here should be asserts.
My theory is that this is because of the delta in the quality of Zig vs JS human training data.
Insanely well-made video on EUV photolithography: www.youtube.com/watch?v=B248...
New blog post: Testing that works
apoorvaj.io/testing-that...
This is a relevant read: www.makingsoftware.com/chapters/col...
This was an easy one to implement.
Then I started on white balance, fell into a rabbit hole of black body radiation and color spaces, and then noped out for a bit.
Holy crap, #ziglang 0.14 -> 0.15.1 is quite the breaking change. This is literally 5% of @papaya.io's Zig codebase.
5. Papaya uses Harfbuzz and FreeType for high quality rendering.
6. Text rendering is done in a worker WASM thread. So it is async and faster than JS.
Text rendering is hard, and literally half of all commits to papaya.io so far. So please let me know when you find bugs! :)
3. This is where @mikkomononen.bsky.social 's excellent Skribidi library came to the rescue. This might be the first WASM implementation of Skribidi in the wild. I was able to make some upstream contributions.
4. Papaya supports Arabic, Chinese-Japanese-Korean, Hebrew, Latin and 20 more scripts.
I'm really proud of this.
1. Unlike many other web-based image editors, papaya.io rasterizes text in WebAssembly. This means that text rendering looks the same across browsers or OSes.
2. This means that I had to re-implement a text box, which was not fun.
...
A plot comparing the original PCA and a simpler approximation. Accurate (red) and approximate (orange) first principal components are shown. The approximation seems close to the original based on this experiment. The shown directions are aggregated over five random trials.
A new article on my site: Approximate first principal component
It describes simple trick to estimate the direction of most spread of a bunch of points without running a full PCA. Includes my Python re-implementation and plots of some quick tests.
30fps.net/pages/approx...
Zig's New Async I/O
https://kristoff.it/blog/zig-new-async-io/
Hey Mikko, it's basically impossible for me to find your email address anywhere. Any chance you could DM/email me? My email address is on my website.
The Zig 2026 roadmap is absolute fire. Andrew and team are playing the long game, and it's really starting to pay off big timeβincremental compilation, async await, cross compilation, fuzzing, and more. www.youtube.com/watch?v=x3hO...
Mikko and I added MacOS-style keyboard navigation to the Skribidi text library. github.com/memononen/Sk...
*Tin foil hat* Has Google added a special case for Google Docs in Chrome to show the MacOS accent menu in the right spot? It renders out of the window in Firefox, which is what you'd expect to happen when using a hidden textbox to get input. I cannot find a web API do this. Looks like an inside job.
Still long way to go, but got the beginnings of IME text composition working in papaya.io. I'm super impressed that @mikkomononen.bsky.social's Skribidi library even has this feature. Here's a video of me typing in 'β₯-u' and then 'o' on Mac, which results in 'ΓΆ'.
I'm using Skribidi for emoji, FreeType for everything else. :)
Uh, bsky's image upscaling makes it look weird. But at native res, it's absolutely *chef kiss*
If you've ever worked with font rendering, then you'll know that it's the most impressive to get the fonts looking good at low sizes, because then hinting comes into play, which is where FreeType shines over other simpler libraries.
Got simplified Chinese and FreeType variable font rendering to work in papaya.io.