Sign in

Alex Harrison

@alex-for-real.bsky.social
14 followers 37 following 48 posts
PostsRepliesMedia
Alex Harrison @alex-for-real.bsky.social · 04/07/2026
bvisness.me/high-level/ Great article on low-level programming. Don't be afraid of the high-level!
bvisness.me
High-level is the goal
Why should anyone care about low-level programming?
020
Alex Harrison @alex-for-real.bsky.social · 06/03/2026
x86-64 instruction encoding AHHHHHHHHHHHHH
010
Alex Harrison @alex-for-real.bsky.social · 28/02/2026
I 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/2026
Today 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/2026
zanlib.dev/blog/reliabl... Great article! Gives words to the emotions I have wrt LLMs.
zanlib.dev
Reliable Signals of Honest Intent
It's better if the message comes in an expensive box.
010
Alex Harrison @alex-for-real.bsky.social · 15/01/2026
Since 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/2026
I 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/2026
I thought the release would have quite a bit less in it, glad to have to show off than I thought!
010
Reposted by Alex Harrison
Tyler Glaiel @tylerglaiel.com · 06/12/2025
67 days until mewgenics releases
5827
Alex Harrison @alex-for-real.bsky.social · 03/12/2025
Cool 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.
typedef struct E_Arena {
    U8 *base;
    USize used;
    USize size;

    void *gpu_base;
    U32 gpu_used;
    U32 gpu_size;
} E_Arena;
110
Alex Harrison @alex-for-real.bsky.social · 14/10/2025
OF 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 · 14/10/2025
I HATE CSS
010
Alex Harrison @alex-for-real.bsky.social · 21/08/2025
vc 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/2025
Anytime 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/2025
Hated 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/2025
figured 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/2025
Rationalism 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/2025
Goddamn 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/2025
I am now officially a dolphin developer yippee! My two line change has been merged.
010
Alex Harrison @alex-for-real.bsky.social · 31/07/2025
IMO 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/2025
Just 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 · 09/07/2025
big fan of stonemasonry
000
Alex Harrison @alex-for-real.bsky.social · 05/07/2025
god I'm so freaking tired right now!!
000
Alex Harrison @alex-for-real.bsky.social · 02/06/2025
It'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/2025
I 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/2025
Never 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 Harrison
jesse yellowman @liaro7.bsky.social · 29/05/2025
shoutouts 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/2025
I 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/2025
Just 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/2025
UI 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/2025
Wrote 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/2025
Has 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/2025
Working 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/2025
Been 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/2025
I'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/2025
My 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