Opens profile photo
Follow
Click to Follow danielchooper
Daniel Hooper
@danielchooper
I make , games, and more.
Atlanta, GAdanielchasehooper.comJoined October 2011

Daniel Hooper’s Tweets

It'd be cool if long tweets supported markdown/formatting.
Quote Tweet
Replying to @forkingpathsdev
The Metal implementation will be written in Objective-C and be accessed via a C struct interface. The render code (which is all C) can call these without caring what the backing graphics library is (WebGL, OpenGL, Metal, etc) typedef struct { void *context; ClearFuncPtr…
1
4
It'd be nice if keyboard shortcuts went to the window you're looking at and not the foreground window on that other monitor over there
1
3
I wanted to be adding new stuff to Principle today, but instead I'm finding workarounds for dumb macOS bugs. 😩
Quote Tweet
If any AppKit folks are listening, here's an NSTrackingArea regression in Ventura, filed as FB11772168. Sample project: github.com/siracusa/NSTra
Move the cursor in and out of this window. Notice how the background color changes to red when the mouse is inside the window.

Now drag a file from the Finder and wave it over this window.

Expected result: The background color changes to red.

Actual result:
	On macOS 12 Monterey, the background color changes to red.
	On macOS 13 Ventura, the background color does NOT change.
1
3
The Zig code builds and uploads changes to the website in 6.4 seconds, most of that time is spent waiting for tsc to do its thing. Everything could be made way faster, but this is good enough for an internal tool.
3
Show this thread
I seem to have a knack for picking projects to write from scratch that *seem* easy if you never done them but are a huge pain to get right. This time: markdown parsing. Previously: text rendering.
6
Take a moment to look in your node_modules folder and reflect on this Alan Kay quote "Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves"
6
Maybe the concept of a throwaway game prototype is stupid? If the prototype is developed enough to evaluate then you've probably sunk some time into it, time better spent in your production tool of choice
4
4
If an experienced programmer wanted to quickly make throwaway 3D game prototypes, what should they use?
  • Godot
    20.7%
  • C with raylib, bullet
    12.1%
  • Unreal or Unity (which?)
    55.2%
  • three.js + ammo.js
    12.1%
58 votesFinal results
2
3
I got nerd sniped by the internet saying how hard text rendering is, so I decided to write a text system from scratch. Now I know: There's no *one* hard part, *but* there are thousands of easy parts...that you slowly learn about over the course of months via bug reports 😂
2
20
Show this thread
So macOS 12.3's removal of Python 2 finally killed Cactus, the build system I've used for Principle's website since 2016. I'm taking the opportunity to write a new build system in ! The annoyance of this is *mostly* offset by my excitement to use Zig
6
Just ordered a computer solely to fix a graphics bug that only happens on a certain GPU from 2016, so I guess I’m a real graphics programmer now. 🎊
10
As a first step, browsers could recognize pages served with something like "application/webapp" (idk), to opt into this mode without the browser compositor or js interpreter. WASM will need to be able to use WebGL+I/O without going through js for this to work.
1
1
Show this thread
"but won't each webpage including a html/js implementation take longer to load?" - no. Two reasons: 1. Since a js interpreter library would only implement one version of js like "es7", with no need for backwards compatibility, the implementation would be smaller.
1
Show this thread
Implementing html/css/js as libraries the client includes (like jquery) would remove the need for the standards bodies. 3rd parties could implement their own variations of each. Devs could chose which variant/version they wanted to use.
1
1
Show this thread
Browsers could be flipped to fix this. Instead of WASM being instantiated from js and run inside an HTML page, WASM would be the only thing the browser "understood". js and HTML would be implemented as a wasm library included by the webpage (if the webpage wanted to use js)
1
4
Show this thread