Daniel Hooper
1.5K posts

Daniel Hooper
@DanielcHooper
Graphics/games/low level programming. Created https://t.co/8vlhOlfcTi. Former Apple engineer.
Pacific NW Katılım Ekim 2011
248 Takip Edilen11.3K Takipçiler
Sabitlenmiş Tweet

@lindadong Congrats! My wife and I had our first two months ago! Nothing like it!
English

"No one on our team has opened an IDE in Months"
The team's homepage:
ken@aquariusacquah
With 3 engineers, Kaizen went from 10K LOC committed per week in September, to 100k LOC in December, to 1M LOC this past week all with a background agent. No one on our team has opened an IDE in months.
English

@macnuvo @michael_silver This is the comment people at the company should've made!
Safari 26.2, macOS 15.7.3, M1 Pro.
I can sometimes get the visuals to load (lots of them are canvases), but get terrible scrolling framerate.
English

@DanielcHooper @michael_silver What browser are you on? Just curious if I can repro, don’t work at kaizen
English

@michael_silver JavaScript is enabled. Also doesn’t work if I turn off all content blockers. Really tried to give you guys benefit of the doubt.
English

@DanielcHooper bro blocks javascript then is shocked website doesn't work 🤔
English

@rockorager “In order to ensure your account number is accurate, we’ve disabled the most accurate way to enter it“
English

@rfleury In your initial response, you may have been thinking I'm talking about each thread calling a function in such a way that each thread has its own data, like SIMD, but that's not what I'm talking about.
May be too subtle of a question for twitter
English

if you didn't have `if(lane_idx() == 0)` somewhere, then for many functions you would either:
A. Do redundant work for threads 1 to N. For example, you probably don't want 8 threads doing u64_from_str8 on the same string.
B. Or get undesirable side effects, like getting one copy per-thread of a string from str8_copy()
English

@rfleury For your multithreaded approach, how do you deal with functions that are inherently single-threaded, like str8_from_16()
You need to be inside a `if(lane_idx() == 0)` somewhere in the stack before those leaf functions get called. It seems like there is a tension there:
Early in the stack:
You lose the ability to split work over multiple threads later in the stack.
Late in the stack:
You have to sprinkle `if(lane_idx() == 0)` in almost every function. Seems easy to forget one and do wasted work, or get threading bugs from functions with side effects.
English

@vicenteferrari_ @kechogarcia yes that's what I meant by "sk_text_shape.h"
English

@DanielcHooper @kechogarcia I’d recommend taking a look a kb_text_shape!
English

@valigo Would love a mac version.
I've been experimenting with Helix editor, but it kind of feels like abandonware, and without a plugin system you have to edit it's source to customize.
English

10x editor doesn't get the love it deserves:
> fastest C/C++ IDE
> from-scratch C++ parser that easily rivals Clion and Visual Studio in its completeness
> no setup needed, because there's no LSP
Literally the only downside of 10x is that it's Windows-only
Stewart Lynch@stewartlynch8
10x Search panel now has Source Preview!
English

@DanielcHooper i've been working on some very cool stuff! just not quite ready for primetime yet. promise there will be a new video soon™
English

@jdah__ What have you been up to? I'm craving a new video!
English

@nanimonull @getvasanth That's the point though, it supports literally anything. Even programs I've never even heard of.
It traces processes at the OS level, so it doesn't matter what the process is.
English

@DanielcHooper @getvasanth Excuse me. I would prefer no animation, and to literally see all 18 options at once, instead of small subsets of 1 or 4 options. The colors are nice, keep the colors.
English

@eugsr1 You don't think both feels like too much / redundant?
English

@getvasanth Seeing it all at once is the best argument for the scrolling list.
English

@DanielcHooper I like the scrolling one, the typing one have to wait for all the items, and I feel its takes longer time to see what all it supports.
Scrolling is my choice
English


@DanielcHooper Daniel what would you say is the best learning resource to learn software engineering and C?
English

How to tell a dev is an old C dev?
> at 60fps.
Dude, it's the year 2026; stop living in the past and give us at least 165fps! :)
Daniel Hooper@DanielcHooper
I wrote a UI library in C that can lay out 95000 items at 60fps. The library is 566 lines of C, and the application-specific ui code is 998 lines. Works on mac, windows, and linux.
English

@rawxtl @Grim_Maple X only supports video up to 60fps. That's a 60fps video.
docs.x.com/x-api/media/qu…
English

@DanielcHooper @Grim_Maple Any one who's using a screen or monitor with over 60Hz can see it's obviously faster than 60 frames.. like broo🤦. Idk what to do with these ppl
English

@cifilter @rfleury @PrincipleApp I haven't, but I'm a fan of his work. A few months ago the SwiftUI team reached out to me about joining and the biggest draw was the opportunity to work with John.
How do you know about him?
English

@DanielcHooper @rfleury @PrincipleApp I wish I was at the level that you’re at! I sit a layer or two above writing my own UI lib! Did you ever work with John Harper at all?
English

Easy to miss if you get lost in the noise in online programming discourse, but straightforward programming in a systems language like C can provide high performance, modern UI, without much hassle.
Daniel Hooper@DanielcHooper
I wrote a UI library in C that can lay out 95000 items at 60fps. The library is 566 lines of C, and the application-specific ui code is 998 lines. Works on mac, windows, and linux.
English





