Recent submissions

Comment · 10 months ago
That particular code is idiomatic to anyone who worked with 2D bitmap graphics in that era.

pt == point, r == rect, h, v == horizontal, vertical, BSR(...,1) is a fast integer divide by 2, ORD4 promotes an expression to an unsigned 4 byte integer

The algorithms are extremely common for 2D graphics programming. The first is to find the center of a 2D rectangle, the second offsets a point by half the size, the third clips a point to be in the range of a rectangle, and so on.

Converting the idiomatic math into non-idiomatic words would not be an improvement in clarity in this case.

(Mac Pascal didn't have macros or inline expressions, so inline expressions like this were the way to go for performance.)

It's like using i,j,k for loop indexes, or x,y,z for graphics axis.

Comment · 3 years ago
Comment · 3 years ago
Comment · 3 years ago
Fun fact: The PowerMac G5 CPU cooling fan controllers have a failsafe mode: If the OS doesn't communicate with the fan controller, the fan controller assumes the worst: that the CPU is switched into the most power-hungry mode possible. To prevent potential damage to the CPU, after about 30 seconds, the cooling fans are cranked up to extraordinarily loud levels.

Apple didn't document how to control the fans. It took Microsoft a while to reverse-engineer the fan controllers. During that time period, using the G5s as Xbox dev kits required putting up with extraordinarily loud fans.

Comment · 3 years ago
I'll add that initial dev kits are typically released 18 months before the console launch, that means they are built using technology that is one generation behind the hardware that the actual console will use. In the old days before Moore's Law ended, that meant that the console had to have a much more expensive CPU and GPU, to try to match the expected performance of the console hardware. These days, with only marginal improvements in CPU and GPU from generation to generation, this is much less of an issue.
Comment · 3 years ago
Comment · 3 years ago
Comment · 3 years ago
There were tons of alternative hypertext systems before the world wide web.

Major reasons WWW succeeded:

1) Open standard, no license required. (My understanding is that TB-L worked hard to make this happen.)

2) A forgiving text-based format that was trivial to author, serve, and display. And evolve with forward/backwards compatibility.

3) One-way links. (Many other HyperText projects were hung up on bi-directional links.)

4) URLs didn't require any centralized authority other than already-existing DNS.

Comment · 3 years ago
He's covered the decline of BBBY many times in his newsletter, explaining the financial details and shaking his head each time.

His Monday April 24th, 2023 newsletter, titled "Bed Bath Moves Beyond", covers the situation once again. It ends:

"Bed Bath saw that its retail shareholders wanted to throw their money away, and that its sophisticated lenders wanted to get their money back, and realized that there was a trade to be done that would make everyone, temporarily, happy. So it did the trade. It’s amazing. The lawsuits are gonna be great."

Comment · 3 years ago
I doubt they'll go anywhere en masse. They'll probably just grudgingly use the official clients. Possibly with browser plugins to customize the UI.
Comment · 3 years ago
Comment · 3 years ago
Besides animation and games, Flash was also used for streaming video and video conferencing.

iPhone customers were so desirable that, over time, the video streaming sites had to support Apple's video streaming format. They would have also supported Apple's video conferencing app, but I think Apple was unable to open-source the protocols for the video conferencing format, due to patent issues.

Comment · 3 years ago
I also felt Tim was tempting fate when he said "You can import directly from a self published URL. Of course it's the responsibility of the publisher to never change the semantics of that code in an incompatible way."

I just can't imagine that working at scale. I bet they add semantic versioning support pretty quickly.

Comment · 3 years ago
Thanks for this link, very helpful in understanding the Verse language!

Verse-as-a-scripting-language-for-a-game-engine is an interesting experiment. The million script writers who use it are not going to have any understanding of the functional language underpinnings. They're going to copy-and-paste until things work. There's going to be a lot of superstition and cargo cults.

I guess Tim Sweeney has a long history of successfully using exotic custom scripting languages in game engines, from ZZT to various generations of UnrealScript. So he probably knows what he's doing.

Comment · 3 years ago
In my opinion Draw Things is the best stable diffusion app currently available for macOS/iOS. It's free, it is available in the App Store, it manages downloading models and weights, it supports a wide selection of popular models as well as custom weights, and it supports inpainting, text2image, and image2image.

It has some oddities: it uses a sqlite database to store generated images rather than the more traditional files, and the UI is idiosyncratic. You have to follow the author's twitter feed to learn how to use the advanced features.

Live from the official Hacker News API

A modern reader for Hacker News · SvelteKit + Skeleton