Alex Harrison @alex-for-real.bsky.social · 04/07/2026bvisness.me/high-level/ Great article on low-level programming. Don't be afraid of the high-level!bvisness.meHigh-level is the goalWhy should anyone care about low-level programming? 020
Alex Harrison @alex-for-real.bsky.social · 28/02/2026I once went on a 3 day programming bender where I listened to the soundtrack to Koyaanisqatsi on repeat and my only sustenance was homemade brownies and their caffeine and sugar and now every time I listen to that soundtrack I desperately crave brownies 010
Alex Harrison @alex-for-real.bsky.social · 27/01/2026Today I found myself replacing enums + LUTs with pointers to static structs. The main benefit I found (other than being way more ergonomic to read and write) is that you can construct arbitrary variants at runtime as needed - surprisingly useful! The downside is memory usage and non-serializability. 010
Alex Harrison @alex-for-real.bsky.social · 21/01/2026zanlib.dev/blog/reliabl... Great article! Gives words to the emotions I have wrt LLMs.zanlib.devReliable Signals of Honest IntentIt's better if the message comes in an expensive box. 010
Alex Harrison @alex-for-real.bsky.social · 15/01/2026Since BSS memory is allocated virtually, you can pre-allocate huge amounts of memory for free without dealing with mmap! char virtual_mem[10ULL << 30]; You need to set `-mcmodel=medium` for BSS larger than 2GB. Interestingly, it starts segfaulting for me at around ~20GB. I wonder why that is? 010
Alex Harrison @alex-for-real.bsky.social · 09/01/2026I might be missing something but I feel like the idea of a texture atlas is kind of silly. You're representing an array of bytes as a rectangle (the atlas) and allocating a rectangle inside to store an array of bytes (the texture). Just put the small array in the big array, no? Keep it all 1D. 100
Alex Harrison @alex-for-real.bsky.social · 09/01/2026I thought the release would have quite a bit less in it, glad to have to show off than I thought! 010
Reposted by Alex HarrisonTyler Glaiel @tylerglaiel.com · 06/12/202567 days until mewgenics releases 5827
Alex Harrison @alex-for-real.bsky.social · 03/12/2025Cool method of handling GPU allocations - Create a combined CPU/GPU linear allocator struct with both cpu and gpu buffers, then take an allocator pointer to everything! No need for reference counting or tracking. Cleanup is just a buffer destroy and a couple pointer resets. 110
Alex Harrison @alex-for-real.bsky.social · 14/10/2025OF COURSE RIGHT: 0 DOESNT WORK WITH POSITION: ABSOLUTE FOR SOME REASON< EXCEPT WHEN YOU ADD POSITION: RELATIVE TO THE PARENT FOR SOME REASON> OF COURSE I SHOULD HAVE THOUGHT OF THAT MY BAD 010
Alex Harrison @alex-for-real.bsky.social · 21/08/2025vc funding but it's just a dude with a job giving my unemployed ass 100 bucks 010
Alex Harrison @alex-for-real.bsky.social · 14/08/2025Anytime anyone in the future mentions git even in passing I am going to evangelize about git reflog. This has saved my ass so many times since I learned about it. 000
Alex Harrison @alex-for-real.bsky.social · 13/08/2025Hated making icons by code in my app, so I wrote a whole ass separate panel for making them lmao. Only took a few hours to make, surprisingly time efficient! 010
Alex Harrison @alex-for-real.bsky.social · 13/08/2025figured out that literally any api can be immediate mode with good caches behind it this has caused many small revelations for me 000
Alex Harrison @alex-for-real.bsky.social · 13/08/2025Rationalism is a cult but damn do they have the most accurate and actionable advice sometimes 000
Alex Harrison @alex-for-real.bsky.social · 03/08/2025Goddamn it, why is modding tooling always exclusive to windows. We had cross-platform development in the 80s! 000
Alex Harrison @alex-for-real.bsky.social · 31/07/2025I am now officially a dolphin developer yippee! My two line change has been merged. 010
Alex Harrison @alex-for-real.bsky.social · 31/07/2025IMO it's totally valid (and in some cases better) to use a big flat string as the backing for a text editor. You can easily memmove for inserts in under a millisecond on multi-megabyte text files. And while people may open and look through larger files (e.g. logs) it's unlikely they will edit them. 000
Alex Harrison @alex-for-real.bsky.social · 21/07/2025Just finished rewriting two ubiquitous ssbm tools in like a week to be faster, simpler, easier to use, more correct, and cross platform. I love my job. 000
Alex Harrison @alex-for-real.bsky.social · 02/06/2025It's so fun learning a field that's adjacent to your main expertise. You constantly think "yep, I'm gonna look back at this and cringe". But this feeling isn't negative for me, it's instead looking forward to the enjoyment of drastic improvement over the next few months. 000
Alex Harrison @alex-for-real.bsky.social · 02/06/2025I really like bsky because there's no one here. I don't want people seeing my lowest behaviour of shouting into the void. 010
Alex Harrison @alex-for-real.bsky.social · 30/05/2025Never thought I'd be saying this but damn, webdev is kinda fun. At least if you don't do anything crazy. Got a simple server read/writing to a db and from a site working in a few hours. Gonna turn it into a simple forum / chat for fun. Used sqlite, mongoose, and htmx and it works great. 120
Reposted by Alex Harrisonjesse yellowman @liaro7.bsky.social · 29/05/2025shoutouts to @alex-for-real.bsky.social for defeating himself in order to win empty house 031
Alex Harrison @alex-for-real.bsky.social · 14/05/2025I really like doing commissions for tournaments. Being self-employed means I don't have any deadlines, which makes my efforts often meandering and unfocused. Having that hard deadline is nice as it forces me to get my shit together. Reminds me of uni, except now people actually care. 000
Alex Harrison @alex-for-real.bsky.social · 14/05/2025Just fixed a crazy bug. The results screen model scale table was being overwritten unknowingly by mex, causing us to load code as a model scale value making models to disappear. Was hell to track down, thank god for memory breakpoints. Solution was ez tho, just moved the table and it works great! 000
Alex Harrison @alex-for-real.bsky.social · 24/04/2025UI upgrades took so long... BUT I found a cool new (to me) way of representing UI! Instead of a tree, all you need are two vectors, a panel vector and a split vector. Each split contains a direction and bitfields for the l/r or u/d panels. Then split manipulation is pretty much all bitfield ops! 010
Alex Harrison @alex-for-real.bsky.social · 25/02/2025Wrote a complex plane visualization with my wgpu wrapper today. Was a lot of fun! I highly recommend building a graphics programming wrapper. Making small programs like this is soooooooo much faster and simpler. This visualization only took 150 lines, including the shader! See a few more below 140
Alex Harrison @alex-for-real.bsky.social · 30/01/2025Has anyone tried out the SDL3 gpu api yet? What did you think of it? I skimmed the docs, and it looks very similar to the webgpu api. It makes sense they'd be similar - they both wrap the same graphics backends. 000
Alex Harrison @alex-for-real.bsky.social · 14/01/2025Working in a legacy codebase is mostly pain, but it can be fun when you get to refactor gems like this. I'm not sure if the new logic is 100% the same, but I guarantee the original author also had no clue what their code was calculating either. In any case, it tests just fine. 010
Alex Harrison @alex-for-real.bsky.social · 03/01/2025Been working hard on this! Adding drawing was really fun. You can just draw capsules between each mouse event and it looks great. Shoutouts to Inigo Quilez, stole his capsule code lol. Handling window resizing which can force a texture copy when they draw oob was a bit of a pain, but we got there. 110
Alex Harrison @alex-for-real.bsky.social · 01/01/2025I'm writing a fun little text editor in C and vulkan! Like vim, it's modal. But there is no concept of a cursor in normal mode, only a selection. You can switch the selection "granularity" with h and l, then move the selection with j and k. And ofc there are a ton more hotkeys for selection manip. 1135
Alex Harrison @alex-for-real.bsky.social · 01/01/2025My new years resolution is to share more. I don't ever share anything. I always felt it was selfish to take the time for myself, but that is not how connecting with people works! I'd like to learn to keep mental notes of things that happen, then share them with people I care about. 030