Back to News
Advertisement
Advertisement

⚡ Community Insights

Discussion Sentiment

67% Positive

Analyzed from 1067 words in the discussion.

Trending Topics

#measure#casey#programming#lot#where#still#programs#don#structured#hot

Discussion (41 Comments)Read Original on HackerNews

Almondsetatabout 1 hour ago
I think Casey is currently the most informed person to make a series of books or articles summarizing the history of SW Engineering, all the lessons learned and forgotten, and all the good stuff that was published and still hasn't gained traction in the practice
FacelessJimabout 1 hour ago
Terrific presentation. But I have a comment:

His dismissal of the argument Knuth makes regarding the hot loops could have been explored a bit better. I found it weird he didn’t mention the difference of types of programs of then vs now. Even today, in scientific code it is still absolutely the case a lot of the time that a huge chunk of the runtime comes from a single very very hot loop. It might be hidden in a library, but it’s there. Instead he focuses only on “program size”. Knuth samples where very small FORTRAN programs (compared to today’s standards). Today’s program are bigger but the fundamental number crunching primitive of “let’s compute stuff in a loop” remains. It’s just buried under a pile of extra cruft (data loading, parallelism, dispatching etc).

Now we just deal with a lot more programs that are of a whole different class compared to what they where doing with computers in the 70s. We have much more I/O involved. And hot loops don’t like being I/O bound.

collinstevens25 minutes ago
> I found it weird he didn’t mention the difference of types of programs of then vs now.

iirc, in the talk casey in fact does goes on about how he tried to find examples, but couldn't. in the q&a, he was also asked about this further.

dundarious26 minutes ago
He has addressed the "hotspot" notion in the past, one example being part of https://youtu.be/x2EOOJg8FkA
Panzerschrek14 minutes ago
It's a common situation for many quotes of such kind. Taken out of context they loose or completely change their initial meaning.
kshallvariabout 2 hours ago
THE LEGENDARY GAME PROGRAMMER
nchmyabout 2 hours ago
Isn't that Jonathan blow?

(to be clear, I'm a big fan of Casey)

arnorhsabout 2 hours ago
I believe this is referencing a meme on the primeagen's standup podcast, where Casey is referred to as legendary while he feels undeserving of this title.

Titles aside, his talk is really insightful and it is super interesting to do a deep dive on these old computer/programming topics as the modern concepts were being discovered

nchmyabout 2 hours ago
Hah, I wasn't aware of that. I was sort of referring to what seems to be not such a meme that jblow is always introduced like that. It just seems weird, even if true...

Yeah Ive been meaning to watch that talk - I love listening to pretty much anything Casey says/does. He's extremely thoughtful and fair.

kshallvariabout 1 hour ago
> I believe this is referencing a meme on the primeagen's standup podcast

Exactly!

dgellowabout 2 hours ago
They are both legendary game programmers
dist-epochabout 1 hour ago
No, that would be John Carmack
torginusabout 2 hours ago
Personally I'm quite sure this is super interesting, but I don't really have 3 hours to listen to this, even 1.5h at 2x speed is too much.

I would very much prefer something written down, so I could absorb this at my own pace. I know, gift horse, but still.

MobiusHorizons2 minutes ago
It is quite long, but I thought it was worth it if you can find the time. Short of that I think just reading the Knuth article the quote is from might bring similar insights.
xen020 minutes ago
Thanks to modern playback technology, you can pause it and resume play later at your convenience.
pton_xd21 minutes ago
It's worth the listen if you're even mildly interested in the history of computer science. He's a great presenter. I guess at some point you do have to prioritize how to spend your time, though.
andai22 minutes ago
Maybe go for a long drive? Long walk? Whatever floats your boat.

I used to do manual labor and I would work my way through like eight hours of audiobooks per day.

knollimarabout 2 hours ago
If you want a spoilery TLDR: It's more about the journey. He tracks down the origin, finds the support, finds the support flawed, and leaves you to your own conclusion rather than make a new flawed one.

The basic idea is that the origin assumes a highly critical inner hot loop, don't assume where it is, and optimize there.

There's some other time spent saying this justifies slower abstractions for maintainability elsewhere.

abainbridgeabout 1 hour ago
Another point I liked was that there was, apparently, an influential book called Structured Programming, whose content was so universally agreed upon, that all programming became Structured Programming. Nobody needs the book anymore.
mrkeen31 minutes ago
Hard to tell if sarcastic, but anyway.

I think the GOTOers just died out.

Some day null, statements (rather than expressions) and side-effects will have always been wrong.

kshallvariabout 1 hour ago
There is a 45 min version at Primeagen's "The Standup"
philippta28 minutes ago
Having watched both, they cover completey different topics.
wpm36 minutes ago
Audio transcription has been around for a while, you could solve this problem for yourself quite easily.
andai23 minutes ago
I get the auto-transcript with yt-dlp then ask a cheap LLM like DeepSeek to clean it up.

Though lately I've been uploading the audio to AssemblyAI, I somehow still haven't used up my credits after several years lol

At one point I built a system that would summarize the transcript and I'd be able to ask questions about it, but Gemini can do that natively now so I usually just use that.

jdw648 minutes ago
Do not guess. Measure, but only measure the bottlenecks that threaten the business
dkerstenabout 1 hour ago
I enjoyed this talk. It’s long, but it’s interesting and goes into a lot of “lost” history.
jeffrallenabout 1 hour ago
It's premature optimization, according to the video description.
cuechanabout 2 hours ago
He is just legendary when it comes to game programming
socalgal234 minutes ago
What games has he shipped?
moefh17 minutes ago
He works in the engine/tool side of things. He worked on some widely used libraries, mainly Bink 2 (video codec) and Granny 3D (3D animation) used in a ton of shipped games.
singleshot_14 minutes ago
Very interesting that the Christmas Disk still has not been released.
dundarious22 minutes ago
He did middleware at RAD, home of a lot of good stuff, and worked directly on at least The Witness
mberningabout 2 hours ago
Will have to give this a watch after the kids go to bed. I like a lot of Casey’s views even if I don’t agree with them.
tialaramexabout 2 hours ago
tl;dr the saying is that "premature optimisation is the root of all evil", and Casey burrows into contemporary data to show that really although the claim was 3% of the code takes up 90% of the runtime even then it was more likely 4% takes 50%.

The best thing you could take away from this lecture is something a reasonable person should take away from the original "root of all evil" saying anyway. Measure. Measure. Measure. If you aren't measuring that's not optimization it's masturbation.

Ironically in the process of measuring for a third time yesterday I tripped a bug in Bill's language for which I opened an issue. This is not the goal of measuring three times but merely a happy accident.

Along the way Casey discovers (?) that Structured Programming means just what we today call programming†, that software was a lot smaller in the days when 4096 bytes of RAM was a good entry level option and that loads of these famous people from 1970s computer science knew each other.

† And knowing about this is one reason the Structured Concurrency people want that everywhere. Very possibly there's a future where it seems silly that people once wrote programs which did not use structured concurrency.

socalgal231 minutes ago
> Measure. Measure. Measure.

The problem is knowing what to measure. There's another saying

"When a measure becomes a target, it ceases to be a good measure."

As an example from memory, there was a game dev company that celebrated they had maxed out the cores on the PS3. That didn't mean anything though, anyone can max out the cores by filing them with bad code. But hey, their "measurement" told them they had maxed out the machine

tialaramex7 minutes ago
> The problem is knowing what to measure.

This can be a problem, but much less so because so often we're doing "easy mode" where we don't need a proxy. The "it ceases to be a good measure" is because you're measuring a proxy. You wanted to deliver happiness, you measured wealth because it was easier to measure but seemed correlated and now you've got rich miserable people, oops. But software engineers can often measure the actual thing they want to improve directly, not a proxy and so it cannot cease to be a good measure.

Advertisement
perkinsResearchabout 1 hour ago
Legend