Live data from Hacker News

Reverse Engineering MacOS High Sierra Supplemental Update

cocoaengineering.com

81–90 of 135 posts

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#81

> Apparently, Disk Utility and command line diskutil use different code paths. StorageKit does not appear as a direct dependency of diskutil. [snip] This duplication in what’s more or less the same functionality, while sometimes justified, certainly increases the opportunity for bugs. To me this is the more problematic part - good design would use same code paths as much as possible for the GUI app and the command li…

Lately, every new macOS release displays less in the way of good design.

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#82
post #53

Earlier quoted context omitted.

> a company which has approximately infinite resources I believe the leadership insists in keeping up a pretension that this is not actually the case. To be fair, most of that "infinity" is sitting in offshore bank accounts and can only be used as leverage for borrowing rather than being spent directly.

To be fair, it doesn't need to be spent in the US.

Yeah, they could build a giant Apple QA building somewhere in the EU and just have them file radars all day.

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#83
post #59
post #16

It's pretty insane this sort of bug either passed or didn't even go through code review and testing at Apple, a company which has approximately infinite resources and whose marketing pitch is making high-quality products. I loved Apple products and still do, but as both a user of and a developer for their systems, I feel the quality has been steadily going downhill the last few years.

I don't know. Serious QA problems in Apple software isn't anything new. Remember when iTunes 2.0 would wipe out hard disks? https://apple.slashdot.org/story/01/11/04/0412209/itunes-20-... The problem was an installer script that ran "rm -rf" as root: https://www.cnet.com/uk/news/itunes-2-0-an-analysis-of-what-...

Valve did the same thing when they first brought steam to Linux.

https://github.com/valvesoftware/steam-for-linux/issues/3671

https://www.theregister.co.uk/2015/01/17/scary_code_of_the_w... (article)

I can imagine myself doing the same thing as well had I not heard about this back then

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#84

Installing a new Mac OS on a machine you care for has become an absolute no-go area. I wait for at least half a year and then only install in a place that I can trash in case I still see problems.

I'm not sure why you say "has become". In the circles I've been it has been common practice to wait for the .2(but minimum .1) release before it goes onto real work machines. The early Mac OS X releases were even worse. Even if for some reason the OS itself was fine by itself, they almost always broke compat with a bunch of 3rd party applications. EDIT: typo

I've actually never had an issue updating to a .0 release for OS X/MacOS, though I always make sure I have a full disk backup. Xcode on the other hand...

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#85
post #53
post #16

It's pretty insane this sort of bug either passed or didn't even go through code review and testing at Apple, a company which has approximately infinite resources and whose marketing pitch is making high-quality products. I loved Apple products and still do, but as both a user of and a developer for their systems, I feel the quality has been steadily going downhill the last few years.

> a company which has approximately infinite resources I believe the leadership insists in keeping up a pretension that this is not actually the case. To be fair, most of that "infinity" is sitting in offshore bank accounts and can only be used as leverage for borrowing rather than being spent directly.

> can only be used as leverage for borrowing rather than being spent directly

Or , they could pay the tax and use the money (crazy idea I know).

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#86
post #85
post #53

Earlier quoted context omitted.

> a company which has approximately infinite resources I believe the leadership insists in keeping up a pretension that this is not actually the case. To be fair, most of that "infinity" is sitting in offshore bank accounts and can only be used as leverage for borrowing rather than being spent directly.

> can only be used as leverage for borrowing rather than being spent directly Or , they could pay the tax and use the money (crazy idea I know).

If they thought of doing that they could and probably should be sued. CEOs have a fiduciary duty meaning they are legally implored to do what is best for the company and bringing money back at a 40% tax is not in the financial interest of the company.

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#87
post #70

> Apparently, Disk Utility and command line diskutil use different code paths. StorageKit does not appear as a direct dependency of diskutil. [snip] This duplication in what’s more or less the same functionality, while sometimes justified, certainly increases the opportunity for bugs. To me this is the more problematic part - good design would use same code paths as much as possible for the GUI app and the command li…

Yeah it seems bonkers to me that an OS would ship with two sets of disk management libraries. At worst, at least try to make one depend on the other.

I can’t believe I’m actually arguing this but devils advocate I guess: in this instance if they both used the same library then the command line would also have this problem. In this case at least there was a work around in that you could use the cli.

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#88
post #62

I don't like the old style NSDictionary way of packing information that so many API's use. First of all they're lacking an enforcement for the type of the value they're expecting (sometimes leading to crashes if you get them wrong) and the discoverability of possibilities is less easy than with a struct or object. Still, passing in password twice would still be a possible mistake. The only thing that would help in my…

Yea I was thinking about this too! We can talk all day about static typing vs productivity but if they had a basic string type called PasswordHint and Password then maybe (maybe!) this wouldn’t happen.

Re: Reverse Engineering MacOS High Sierra Supplemental Update

#90
post #85
post #53

Earlier quoted context omitted.

> a company which has approximately infinite resources I believe the leadership insists in keeping up a pretension that this is not actually the case. To be fair, most of that "infinity" is sitting in offshore bank accounts and can only be used as leverage for borrowing rather than being spent directly.

> can only be used as leverage for borrowing rather than being spent directly Or , they could pay the tax and use the money (crazy idea I know).

Not crazy as much as dumb. Why would you intentionally lose money you don’t have to?
Post reply on HN