Tomek Czajecki
tchayen.com
Tomek Czajecki
@tchayen.com
EM @expo.dev working on EAS product infrastructure

I blog about my hobbies – a mix of graphics programming and gamedev – see tchayen.com
A use case for LLMs where they shine the most for me is doing research for non-urgent online shopping.

Sometimes I have very specific requirements, like Japanese rice cooker that cooks rice for a single person not a village and ships to Finland. Or a 5K IPS screen, ideally >60Hz
May 5, 2025 at 2:47 PM
I don't know how I survived this long recompiling WASM binary after every change but I finally wrote a mini Vite plugin for HMR.

Now when I change anything and save the file, WASM module is automatically compiled and reloaded.
May 5, 2025 at 11:43 AM
It's crazy how Cursor packs two opposite user experiences in one app. Tab autocomplete is reading my mind, while chat agent mode feels like trying to get the dumbest coder I have ever met to fix my code without giving him ability to run it.
April 25, 2025 at 8:59 PM
Reposted by Tomek Czajecki
⚙️ Over-the-air updates made easy by @expo.dev team! Learn the ins and outs of EAS Update, including native fingerprints, preview deployments, and the latest JS API features at the App.js 2025 workshop.

🎟️ appjs.co/tickets#Work...
April 3, 2025 at 1:18 PM
My watch told me my sleep goal was met but then I checked the app and turns out it included yesterday evening nap. Well, explains why I don't feel like my sleep goal was met
March 31, 2025 at 9:20 AM
I was working on a WebGPU demo and decided to try how fast I can make it. Zig in WASM generates a buffer with command stream sorted to minimize GPU state changes.

This is 10k individual draw calls, unoptimized, no instancing, no render bundles. Every object is controlled separately.
February 21, 2025 at 10:52 PM
Asked gemini for WebGPU setup with several cylinder models and orbiting camera. Got interstellar scene (unfortunately had to first spend 15 minutes to fix it).
February 11, 2025 at 12:28 AM
Friday is the day of hard decisions: which food that makes my tummy hurt should I order.

Today it will be… drumroll 🥁 … chicken wings
February 7, 2025 at 7:29 PM
Writing a blog over a span of several years is a great practice in fighting perfectionism. I hate most of my old blogposts. The problems I was solving were poorly defined, approach badly explained. The scope so small that I wouldn't bother posting about it now.
February 3, 2025 at 6:00 PM
Recently Arc started randomly changing window size and now all the open non-pinned tabs went blank and don't refresh. How does unmaintained software get more buggy over time lol.
January 29, 2025 at 12:25 PM
Just copied some code from GitHub for a change, not from LLM. Someone tested it, ran who knows how many times and even wrote unit tests. Worked on the first try. Incredible feeling. I already miss it.
January 27, 2025 at 11:53 PM
Uhhh… hours_wasted_because_my_struct_was_stack_allocated_and_should_have_been_on_heap += 3.

I was sitting with debugger staring at two memory regions and pulling my hair wondering why one and changes one doesn’t.

Having code run orders of magnitude faster than equivalent JS comes at a price…
January 27, 2025 at 12:01 AM
I am trying Biome on some side projects and loving it so far. Happily haven't had to touch the default config yet, but forcing me to omit else when there are earlier returns is just plain wrong.
January 26, 2025 at 4:23 PM
When you are working on computational geometry problem using half-edge data structure, every problem is an edge case
January 21, 2025 at 3:51 PM
Tried GPT-4o for the first time (when it came out I was using Claude 3.5 Sonnet and wasn’t looking back).

Initially 4o started by impressing me with one or two super solid code samples but the usual problems came quickly – it was hallucinating things and getting stuck in a loop on a fix attempt.
January 20, 2025 at 7:15 AM
I love when after a flu my body decides that afternoon naps were actually the sleep and the night sleep was an extended nap, which we don’t need to do anymore.
January 6, 2025 at 4:15 AM
There’s this weird mix of pride and disappointment when I ask Perplexity about a problem and it quotes back my blogpost.

Good for me I guess but I am sorry to everyone if that’s the best resource out there. It’s just my notes from trying to learn that – they often don’t age well.
January 1, 2025 at 10:10 PM
Small weekend (I lost track of time anyway) project: mesh picking in WebGPU.

There's a render pass which draws scene to a r32_unit texture where color of mesh is its ID. Then a compute shader given mouse coordinates writes which color it was to a tiny buffer which is mapped and read back CPU side.
December 30, 2024 at 2:49 PM
Oh I forgot to run device.tick() and that’s why WebGPU read back from buffer in Dawn was so slow (happening every 7th frame which is kind of weird on its own).

In old programming fashion, I found solution in GitHub issues of a completely unrelated project – Swift bindings for WebGPU.
December 30, 2024 at 2:09 PM
Note to self: writing texture to a buffer and reading from it in WebGPU is trickier than I expected. Mapping buffer in my particular case seems to be slow, only happens on every 7nth so it must be 100+ ms.
December 29, 2024 at 6:46 PM
Programming in the evening is always like: hmm what was I doing? Maybe better question – why do I not remember that? Oh, it's 2 AM, right…
December 23, 2024 at 12:48 AM
When someone is showing me how my code works in production
In the Miami airport. Oohh… Aahhh.
December 21, 2024 at 10:42 AM
I had 20h between leaving home and entering hotel in NYC. Spent half of that time watching the X-Files (for the first time!). Woah, it’s way better than I expected
December 4, 2024 at 5:05 AM
Proud to announce that I also got my first snow of the year just now
November 19, 2024 at 10:22 PM
Reposted by Tomek Czajecki
🥳 It's time to party!

We have announcements, blog posts, videos, and livestreams scheduled throughout the week.

⚡ And we're getting things started today with an SDK 52 Highlight video: youtu.be/quZv3uKSEfY?...
Expo SDK 52: Our largest release ever!
YouTube video by Expo
youtu.be
November 18, 2024 at 3:05 PM