exsf0859
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.
I don't have a Spotify link handy, but here's a YouTube Music example:
https://music.youtube.com/playlist?list=OLAK5uy_l_K6GgImOp-3...
The first answer on this forum post has what is probably the correct explanation for why the 8088 was chosen:
It was available, had a second source, and was not owned by a competitor.
https://retrocomputing.stackexchange.com/questions/16912/did...
Although ease-of-translation from 8080-based CP/M code was a benefit of choosing the 8086, this was just a nice-to-have, not a deciding factor.
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.
https://www.smh.com.au/technology/microsoft-fires-employee-f...
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.
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."
https://www.reddit.com/r/apolloapp/comments/12ram0f/had_a_fe...
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.
I just can't imagine that working at scale. I bet they add semantic versioning support pretty quickly.
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.
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.
M1 Mac owners should also check out the iPad version of Draw Things, which has a large number of features and is in very active development:
https://apps.apple.com/us/app/draw-things-ai-generation/id64...
Be aware that there is a bug in macOS 13.2b1 that makes Draw Things unusable on that version of macOS. Hopefully Apple will fix that soon.
Developing a working Starship is worth a lot to SpaceX. They could go deeply into debt on the first six launches, and make it up later.
Chris is talking about the Sooner: https://www.androidcentral.com/look-back-google-sooner-first.... It was called Sooner because it was going to come to market "sooner" than the other, more advanced, Dream prototype. After the iPhone announcement Sooner was canceled, in favor of the "Dream" prototype, which eventually shipped in a modified form as the G1.
The _software_ difference between non-touch Sooner and the touch-capable G1 were relatively minor. Same OS, same view system, same application framework.
As I recall, Chris's role at the time was as a UX focused engineer, so perhaps from his POV it was a massive redesign. But if you consider Android as a whole, relatively little changed. I recall the apps being pretty easy to port over to support touch. (Moving to a bigger screen helped offset the problem of having to make the buttons way larger.)
I'm not sure that this blog post author is trying to accomplish, possibly they are trying to use some other API besides Metal?
But before that, regular MS engineers were often "temporarily" doubled up or tripled up in their offices, so going open plan wasn't as much of a difference as it might have been.
In the old days people's computers and monitors were physically much larger, you needed multiple computers to multi-task, and you needed lots of paper documentation. One reason we're open-plan now is that people can be very productive with a chair, laptop, and 24" monitor.
1) they would start with a working kernel from an existing game, and incrementally modify it to create a new kernel for a new game.
2) they would code 2-dimensionally on large sheets of graph paper, where each cell corresponded to both a 6507 CPU cycle and a portion of the horizontal scan line.
By writing out the instructions this way, they could visually check that the code would execute at the correct time.
The problems are designed to be solved in Python with less than 100 lines of code, by taking advantage of Python's extensive library of data structures and algorithms.
https://www.theverge.com/2020/10/3/21500399/apple-tv-youtube...
But DEC did rule academic computing well into the 80s.
Here's an example Atari BASIC program that uses POKE statements to change and then restore the default margins.