HN user

favorited

4,860 karma
Posts2
Comments1,223
View on HN

That doesn't mean you should default to a slower implementation for new code. If you do, you're just creating more low-hanging fruit that nobody will find time to solve.

OS9Map 27 days ago

And, unofficially, MacOS9Lives can boot directly to OS 9 on FW800 PowerMacs, which have 1.42GHz processors with 2x the L3 cache. Officially, those machines only supported OS 9 via Classic.

I used it to install OS 9 on my G4 Mac mini, and, aside from an annoying bug where the USB mouse is completely unresponsive after booting 50% of the time, it works great.

Some corporations prefer Apache 2.0 for projects where they'll be accepting contributions, because it includes patent protection and retaliation clauses. In case like this, where source code is just being published for reference and contributions aren't accepted, those risks don't exist.

It was supposed to be Copilot, with access to your Xbox account. So you could ask it things like "what achievements do I have in [game]?" It would also know what game you were playing, and answer questions like, "I'm stuck on [puzzle], give me a hint," etc.

The "on mobile" part was that it would be integrated into the Xbox mobile app.

(I say "supposed to be" because it was just a beta, and hadn't even made it to consoles yet – just PC and mobile.)

You basically just need a metal tube, and well... a pipe from home depot does that much better than trying to 3d print something much less reliable.

Why would you buy a pipe at Home Depot? A gun barrel is not a firearm, and is not required to be registered or serialized. You can drive to Arizona or Nevada and buy an actual barrel, with rifling, manufactured to meet well-known specifications, without showing an ID. Until this year, you could have a barrel shipped to your California residence without an ID. There's no need to build the Shinzo Abe contraption.

So my assumption is immediately that some relatively large lobbying group feels threatened by 3d printing, and is using this as a driver to try to control access and limit business impact.

Occam's razor. This isn't a shadowy manufacturing cabal, threatened by 3D printing. Gun control lobbyists are trying to prevent the printing of handgun frames and Glock switches, because they're the easiest parts to print.

Either way, this is bad legislation.

California legislators haven't met a bad gun law that they don't like.

The best part of the 10NES design, as a consumer, was that it was fail-safe, rather than fail-secure. The console defaulted to booting. So, if your NES started having the infamous boot-reset flashing light, all you had to do was unscrew the NES enclosure and clip the power pin on the 10NES chip. And these were huge pins, it didn't require any subtlety. You could do it with a nail clipper.

Why I love FreeBSD 4 months ago

The ZFS implementation is less buggy.

FreeBSD and Linux have been using the same implementation of ZFS for years.

From a practical perspective, they "won" in their recent attacks on emulation by shutting big projects down, but we can't know what would have happened at trial because they never got that far.

NoA sued the Yuzu devs and settled out of court, with the devs paying $2.4 million and shutting down the Yuzu and Citra projects. The $2.4 million was noted as being a reasonable estimate of what Nintendo's lawyers would have billed if the case went to trial, not a reflection of Yuzu's collection of donations.

NoA used some combination of carrot-and-stick to get the Ryujinx developers to shut that project down as well, but we won't know what that combination was because they never filed a lawsuit, so there are no public records, and there was likely an NDA.

Why Objective-C 5 months ago

Frankly, all of this is an API and ABI choice from Apple. It was not the case that sending a message to nil always returned nil/NULL/0 before Apple's Intel transition, and the subsequent introduction of their modern Objective-C ABI. From Apple's 2006 Cocoa coding guidelines:

If the message sent to nil returns anything other than the aforementioned value types (for example, if it returns any struct type, any floating-point type, or any vector type) the return value is undefined

And from the Intel transition guide:

messages to a nil object always return 0.0 for methods whose return type is float, double, long double, or long long. Methods whose return value is a struct, as defined by the Mac OS X ABI Function Call Guide to be returned in registers, will return 0.0 for every field in the data structure. Other struct data types will not be filled with zeros. This is also true under Rosetta. On PowerPC Macintosh computers, the behavior is undefined.

This wasn't just a theoretical issue, either. You could run the same Objective-C code on a PPC Mac, an Intel Mac, the iPhone Simulator, and an iPhone – you'd get a zero-filled struct on Intel and the Simulator, while you'd get garbage on PPC and on real iPhone hardware.

Why Objective-C 5 months ago

One of the great things about Objective-C, as a direct superset of C, is that you can identify the slow parts of your app and just implement them in C, inline with the rest of your code. You don't even need to move it outside of your class's @implementation.

Why Objective-C 5 months ago

It's not difficult to determine where different languages are used – you can run `symbols -noDemangling BINARY | grep _Z`, where BINARY is a path to any binary, and see how many symbols use Itanium C++ name mangling. You'll see it sprinkled in enough places to get an idea of which parts of the system use it more than others.

Of course, parts of the Objective-C runtime are written in Objective-C++, so someone more pedantic than I might claim that fact alone counts as it being "used heavily."

Why Objective-C 5 months ago

You can send messages to `nil`, but the inverse isn't universally true. APIs like

  [text stringByAppendingString:other]; 
will throw an `NSInvalidArgumentException` if `other` is nil.

I'd love to hear more about your setup. The last time I tried messing with virtual webcams on macOS, most of the OSS options were still using the deprecated DAL API, which stopped working in Sonoma (without setting a `system-override` from Recovery Mode).

Do you know if your setup is using the new CMIO APIs? Or did you need to set the `legacy-camera-plugins-without-sw-camera-indication` override?

Google, through YouTube and YouTube TV, already runs one of the most significant video processing lines of business in the world. If they had any interest in supplanting FFmpeg with their own software stack, they wouldn't need to muck around with CVEs to do so.