Sign in

Apoorva Joshi

@apoorvaj.io
879 followers 215 following 76 posts

Computer graphics, systems programming, general methods. Working on graphics at Unity. Formerly Playdead, NVIDIA, Microsoft. apoorvaj.io 📍Copenhagen

PostsRepliesMedia
Apoorva Joshi @apoorvaj.io · 28/08/2026
I'm working on vector editing in @papaya.io, and it's not as snappy as I'd like to be. So optimization time! I built a profile capture mechanism: An in-browser shortcut toggles profiling, then pings the local server which converts it into the Tracy format, writes to disk, which I view in the GUI.
Tracy profiler GUI
030
Reposted by Apoorva Joshi
ceruleite.bsky.social @ceruleite.bsky.social · 14/08/2026
Slides for SIGGRAPH 2026 Advances in Real-Time Rendering in Games course's talk on Adaptive Tessellation and Subdivision by John Hable are now online - enjoy!! advances.realtimerendering.com/s2026/index....
0167
Apoorva Joshi @apoorvaj.io · 13/08/2026
Impressions on DeepSeek V4 Pro 0813: Really great model. Asks clarifying questions, pushes back as appropriate, strikes a good balance between eagerness and parsimony. And it is supposedly ~39x cheaper than Opus 5.
100
Reposted by Apoorva Joshi
papaya.io @papaya.io · 01/08/2026
Some optimizations just landed on papaya.io, powered by WebAssembly SIMD. ⚡
001
Apoorva Joshi @apoorvaj.io · 30/07/2026
This is a super fun feature. You can just paste in most ShaderToy effects. What's a better way to add bling to your graphics programmer CV than literally add a shader in there, and then just export to PDF? 😅
131
Apoorva Joshi @apoorvaj.io · 29/07/2026
github.com/jj-vcs/jj is a shiny new thing that's calling to me, but I'm not sure that it solves problems that I actually have.
github.com
GitHub - jj-vcs/jj: A Git-compatible VCS that is both simple and powerful
A Git-compatible VCS that is both simple and powerful - jj-vcs/jj
000
Reposted by Apoorva Joshi
Brian Graham @iroasmas.outgroup.social · 26/07/2026
openai announces that in a worrying demonstration, during a recent benchmark exercise requiring models to solve a math conjecture, their latest model broke out of a sandbox and gained illicit backdoor access directly to the platonic realm of forms
11666100
Reposted by Apoorva Joshi
Nicole Feng @nicole--f.bsky.social · 28/07/2026
At #SIGGRAPH2026, I presented "points as tori" (PAT) for fast pointwise evaluation of signed distance for point clouds. Some code (Python w/ C++ extensions) and demo up: github.com/nzfeng/point... Contributions from people/LLMs welcome. Explainer thread below for the project: 🧵
411825
Reposted by Apoorva Joshi
Sébastien Lagarde @seblagarde.bsky.social · 02/07/2026
Hey everyone. A reminder that the deadline for graphic article proposal for GPU Zen 5 is approaching quickly. Sharing knowledge is the best way to learn!
1189
Reposted by Apoorva Joshi
papaya.io @papaya.io · 01/07/2026
papaya.io ships new features all the time 🚀 Help us prioritize what comes next. You can now drop feedback right from the toolbar on the left. Takes 10 seconds. We read every word.
001
Reposted by Apoorva Joshi
papaya.io @papaya.io · 29/06/2026
papaya.io now has advanced image compression with a live preview.
021
Apoorva Joshi @apoorvaj.io · 27/06/2026
Added rich text editing to papaya.io, powered by the excellent Skribidi library. :) This was a joy and a challenge to implement, and I'm sure there are still rough edges.
020
Reposted by Apoorva Joshi
Gabriel Peyré @gabrielpeyre.bsky.social · 16/06/2026
The alpha version of my new book "Optimal Transport for Machine Learners" is out, with in particular an online version with interactive figures www.gpeyre.com/ot4ml/
09843
Apoorva Joshi @apoorvaj.io · 10/06/2026
Claude Fable has a certain clarity of thought in English. It says stuff that sounds like a smart person, not a compressed AI shoggoth. Interestingly, it still isn’t very good at API taste.
000
Apoorva Joshi @apoorvaj.io · 09/05/2026
Still having fun building papaya.io. Just implemented a pretty nifty compressed export feature, with swipe to compare. Supports JPEG, WebP and PNG compression for now.
Image export interface, image of two boats with a swipeable UI in the middle. The left half of the image is original, the right half is garbly and JPEG compressed.
010
Apoorva Joshi @apoorvaj.io · 30/04/2026
I'm trying out zed.dev since they announced v1.0. It feels like a real labor of love, and had no rough edges in my first day of using it. Comes with batteries included, and things Just Work. Feels more suited to my agent-heavy workflow than VS Code.
000
Reposted by Apoorva Joshi
Pema99 @pema99.bsky.social · 23/04/2026
(🧵 1/6) Recently I've been working on an HLSL interpreter, which can execute shader code entirely on the CPU github.com/pema99/HLSLI... I used it to make a cute little interactive debugger demo. You can try it yourself at pema.dev/hlsl/
56824
Apoorva Joshi @apoorvaj.io · 14/04/2026
Zig 0.16.0 is out, including the new IO interface, and a strong step towards incremental compilation: ziglang.org/download/0.1...
ziglang.org
0.16.0 Release Notes ⚡ The Zig Programming Language
010
Apoorva Joshi @apoorvaj.io · 08/04/2026
Implemented some fun stroke dynamics based on mouse speed in papaya.io in an evening.
040
Apoorva Joshi @apoorvaj.io · 07/04/2026
👀
110
Apoorva Joshi @apoorvaj.io · 30/03/2026
I had an index variable that kept track of the latest processed element in a list. gpt-5.3-codex today named it `watermark`, and I cannot get over the beauty of it.
010
Reposted by Apoorva Joshi
Soufiane KHIAT @soufianekhiat.bsky.social · 12/03/2026
Qaws (قوس) Arabic for *arc*, *bow*, *curve*. A dependency-free C11 library for creating, evaluating, sampling, traversing, and inspecting parametric curves and surfaces in 2D and 3D. A dependency-free C11 library for parametric curves and surfaces in 2D/3D. 1/13
23615
Reposted by Apoorva Joshi
mmalex @mmalex.bsky.social · 06/03/2026
oh that is awesome, well deserved! congrats @ocornut.bsky.social
47112
Apoorva Joshi @apoorvaj.io · 13/02/2026
I just vibe-coded a tax calculator: taxman.dk Here's a blog post about it: apoorvaj.io/vibe-coding-...
taxman.dk
taxman.dk - Danish tax calculator
Calculate your salary after tax in Denmark. Free Danish tax calculator with municipality tax rates, pension, interest deductions and more.
010
Apoorva Joshi @apoorvaj.io · 09/02/2026
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.
steve-yegge.medium.com
Welcome to Gas Town
Happy New Year, and Welcome to Gas Town!
000
Apoorva Joshi @apoorvaj.io · 09/02/2026
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 🔥.
000
Reposted by Apoorva Joshi
Ben Golus @bgolus.bsky.social · 12/11/2025
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”.
131
Apoorva Joshi @apoorvaj.io · 04/10/2025
New blog post: Stop over-engineering static websites apoorvaj.io/stop-overeng...
apoorvaj.io
Stop over-engineering static websites
010
Reposted by Apoorva Joshi
Loris Cro ⚡ @kristoff.it · 04/10/2025
mitchellh.com/writing/zig-builds-ge…
mitchellh.com
Zig Builds Are Getting Faster – Mitchell Hashimoto
https://mitchellh.com/writing/zig-builds-getting-faster
082
Apoorva Joshi @apoorvaj.io · 01/10/2025
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.
110
Apoorva Joshi @apoorvaj.io · 22/09/2025
Insanely well-made video on EUV photolithography: www.youtube.com/watch?v=B248...
youtube.com
How are Billions of Nanoscopic Transistors Made into a Microchip? EUV Photolithography 🛠️⚙️🤯
YouTube video by Branch Education
085
Apoorva Joshi @apoorvaj.io · 18/09/2025
New blog post: Testing that works apoorvaj.io/testing-that...
apoorvaj.io
Testing that works
010
Apoorva Joshi @apoorvaj.io · 25/08/2025
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.
110
Apoorva Joshi @apoorvaj.io · 21/08/2025
Holy crap, #ziglang 0.14 -> 0.15.1 is quite the breaking change. This is literally 5% of @papaya.io's Zig codebase.
030
Apoorva Joshi @apoorvaj.io · 15/08/2025
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. ...
160
Reposted by Apoorva Joshi
Pekka Väänänen @pekkavaa.bsky.social · 17/07/2025
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...
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.
1316
Reposted by Apoorva Joshi
Loris Cro ⚡ @kristoff.it · 12/07/2025
Zig's New Async I/O kristoff.it/blog/zig-new-async-io
kristoff.it
Zig's New Async I/O | Loris Cro's Blog
https://kristoff.it/blog/zig-new-async-io/
0135
Apoorva Joshi @apoorvaj.io · 04/07/2025
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...
youtube.com
Zig Roadmap 2026
YouTube video by Zig SHOWTIME
000
Apoorva Joshi @apoorvaj.io · 29/06/2025
Mikko and I added MacOS-style keyboard navigation to the Skribidi text library. github.com/memononen/Sk...
github.com
Add MacOS-style caret jumping on command+left/right, command+up/down, and option+left/right by ApoorvaJ · Pull Request #58 · memononen/Skribidi
Added some text editor navigation that feels native to MacOS: Command+left/right acts like home and end Command+up/down jumps to the beginning and end of the whole text. Option+left/right jumps to...
030
Apoorva Joshi @apoorvaj.io · 20/06/2025
*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.
030
Apoorva Joshi @apoorvaj.io · 15/06/2025
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 'ö'.
030
Apoorva Joshi @apoorvaj.io · 12/06/2025
Got simplified Chinese and FreeType variable font rendering to work in papaya.io.
121
Apoorva Joshi @apoorvaj.io · 11/06/2025
Multi-script rendering in papaya.io is starting to come together. Here's glyph caching and retrieval across several fonts (including an emoji font)!
020
Apoorva Joshi @apoorvaj.io · 09/06/2025
Added intermingled rendering of Latin and emoji (from different font files) to papaya.io. (Also look at that automatic word-wrapping and left-alignment, courtesy of Skribidi!)
010
Apoorva Joshi @apoorvaj.io · 08/06/2025
Emoji font rendering in papaya.io with @mikkomononen.bsky.social's github.com/memononen/Sk... library. Next up: intermingling font and emoji rendering.
062
Reposted by Apoorva Joshi
Mikko Mononen @mikkomononen.bsky.social · 05/06/2025
I just published the bidi text stuff I have been working the past months. It's called Skribidi (because all text and font related things need funny name for some reason). github.com/memononen/Sk...
github.com
GitHub - memononen/Skribidi: Nimble bidirectional text stack for UIs
Nimble bidirectional text stack for UIs. Contribute to memononen/Skribidi development by creating an account on GitHub.
76519
Apoorva Joshi @apoorvaj.io · 03/06/2025
Started implementing text rendering for papaya.io. Got FreeType and HarfBuzz compiling to WebAssembly. Here's a demo of kerning working with Roboto.
240
Apoorva Joshi @apoorvaj.io · 22/05/2025
Just relaunched papaya.io — a web-based image editor I've been building on nights and weekends. What's new: - .ppy file format for local saves - Automatic browser persistence - WebP import/export support Building fast and shipping features regularly. Try it out — feedback very welcome.
161
Apoorva Joshi @apoorvaj.io · 20/05/2025
130
Reposted by Apoorva Joshi
JCGT announcements @handle.invalid · 16/05/2025
An update, a bit of retrospection, and a call for you, yes, you, to help JCGT a bit: www.realtimerendering.com/blog/jcgt-is...
realtimerendering.com
JCGT is moving along | Real-Time Rendering
02014