Daniel Hooper
@danielchooper.bsky.social
Graphics/low-level/game programmer.
Made www.principle.app.
Former Apple Engineer.
https://danielchasehooper.com
I post more frequently to my x.com/danielchooper account, if you'd rather follow me there.
Made www.principle.app.
Former Apple Engineer.
https://danielchasehooper.com
I post more frequently to my x.com/danielchooper account, if you'd rather follow me there.
Ok, here's the new way I recommend to do type safe generics in C.
It's cleaner compared to my old function-pointer-cast approach, avoids the undefined behavior everyone is so paranoid about, and doesn't require typeof()
It's cleaner compared to my old function-pointer-cast approach, avoids the undefined behavior everyone is so paranoid about, and doesn't require typeof()
July 1, 2025 at 5:18 AM
Ok, here's the new way I recommend to do type safe generics in C.
It's cleaner compared to my old function-pointer-cast approach, avoids the undefined behavior everyone is so paranoid about, and doesn't require typeof()
It's cleaner compared to my old function-pointer-cast approach, avoids the undefined behavior everyone is so paranoid about, and doesn't require typeof()
Hacked together a weird spiral Mario game prototype
June 30, 2025 at 11:08 PM
Hacked together a weird spiral Mario game prototype
New Post: How I Write Type Safe Generic Data Structures in C
danielchasehooper.com/posts/typech...
danielchasehooper.com/posts/typech...
June 30, 2025 at 4:37 PM
New Post: How I Write Type Safe Generic Data Structures in C
danielchasehooper.com/posts/typech...
danielchasehooper.com/posts/typech...
I like this comment in the source of /usr/bin/dtruss. It provides context with a "Hey dorks, don't mess with my code" kind of energy.
June 3, 2025 at 11:48 PM
I like this comment in the source of /usr/bin/dtruss. It provides context with a "Hey dorks, don't mess with my code" kind of energy.
Not a good sign when fixing a bug requires editing a file with this at the top
May 21, 2025 at 3:32 PM
Not a good sign when fixing a bug requires editing a file with this at the top
This was written by a filmmaker about color science, but it applies just as well to the software industry's dependency problem
May 15, 2025 at 5:40 PM
This was written by a filmmaker about color science, but it applies just as well to the software industry's dependency problem
Github needs this notification option
Tired of getting pinged every time a random person adds their two cents to a Github issue I follow.
Tired of getting pinged every time a random person adds their two cents to a Github issue I follow.
May 14, 2025 at 7:58 PM
Github needs this notification option
Tired of getting pinged every time a random person adds their two cents to a Github issue I follow.
Tired of getting pinged every time a random person adds their two cents to a Github issue I follow.
"C is how a computer actually works"
April 14, 2025 at 3:30 PM
"C is how a computer actually works"
TIL that CRT "pixels" can have only a portion illuminated, unlike LCD pixels. (Seen on the top and bottom edge of this 'P')
April 11, 2025 at 4:56 AM
TIL that CRT "pixels" can have only a portion illuminated, unlike LCD pixels. (Seen on the top and bottom edge of this 'P')
Today I bought an old TV for visual reference. Played Balatro to see how the game's CRT emulation compared to a real Cathode Ray Tube. Sadly details aren't legible on a 13" TV, and the emulation's scanline/phosphor pattern isn't realistic, but it nails the chromatic aberration.
April 11, 2025 at 4:56 AM
Today I bought an old TV for visual reference. Played Balatro to see how the game's CRT emulation compared to a real Cathode Ray Tube. Sadly details aren't legible on a 13" TV, and the emulation's scanline/phosphor pattern isn't realistic, but it nails the chromatic aberration.
My article titles keep getting longer. I don't know what to make of this.
March 14, 2025 at 2:51 PM
My article titles keep getting longer. I don't know what to make of this.
I'd guess that 93.732% of JavaScript devs don't know about bitmasks.
I used them to speed up my sudoku generator.
I used them to speed up my sudoku generator.
March 13, 2025 at 10:58 PM
I'd guess that 93.732% of JavaScript devs don't know about bitmasks.
I used them to speed up my sudoku generator.
I used them to speed up my sudoku generator.
I designed a new sudoku variant in which every cell has a different shape.
Try it here: danielchasehooper.com/posts/cracke...
Try it here: danielchasehooper.com/posts/cracke...
March 13, 2025 at 8:13 PM
I designed a new sudoku variant in which every cell has a different shape.
Try it here: danielchasehooper.com/posts/cracke...
Try it here: danielchasehooper.com/posts/cracke...
February 7, 2025 at 5:45 AM
TIL: Perlin Noise was invented as recently as 1983, and its inventor, Ken Perlin, is still alive. Feels like something that could’ve been invented centuries ago by some French dude.
February 6, 2025 at 9:07 PM
TIL: Perlin Noise was invented as recently as 1983, and its inventor, Ken Perlin, is still alive. Feels like something that could’ve been invented centuries ago by some French dude.
Live coding an animated SDF shader
February 5, 2025 at 7:43 PM
Live coding an animated SDF shader
I'm publishing a blog post tomorrow that I've been working on over several months. The post has a built in shader editor. I made an animated Rick with it lol
February 4, 2025 at 1:26 AM
I'm publishing a blog post tomorrow that I've been working on over several months. The post has a built in shader editor. I made an animated Rick with it lol
How I made a 3D Modeler in C.
Link to full video in replies
Link to full video in replies
November 8, 2024 at 4:43 AM
How I made a 3D Modeler in C.
Link to full video in replies
Link to full video in replies
My quake map loader / viewer written from scratch, in C
November 8, 2024 at 4:32 AM
My quake map loader / viewer written from scratch, in C