Live data from Hacker News

macOS Internals

gist.github.com

101–110 of 146 posts

Re: macOS Internals

#101
post #60

Earlier quoted context omitted.

I agree with most of what you've said here, except: - Code signing. It's incredibly frustrating as a developer to try and codesign an application to pass gatekeeper, requiring multiple steps with very little information as to what's _actually_ going on or going wrong in the middle of it, including uploading your entire bundle to Apple and waiting an arbitrary amount of time for them to notarize it. > It's very weak t…

A core OS service in my books is an API that can be used by any app, can be adopted in a backwards compatible way and which is used by the in-house apps too. The App Store isn't an API or service, it can't be used by every app and the built-in macOS apps aren't necessarily store apps. Yes, it's Apple's strategy but I maintain that from a tech perspective it's a very weak one. Cryptography DX is always terrible on eve…

> Yes, it's Apple's strategy but I maintain that from a tech perspective it's a very weak one.

Gotcha. I disagree, but I think that's ok.

> Cryptography DX is always terrible on every platform, I don't know why,

Let's encrypt is a pretty good example of how simple it can be. The experience of codesigning + notarisation as a developer is poor. If you want to use the GUI and are working from xcode templates, it's fine, but apart from that, you're into glueing together forum posts running binaries and tools with no logs that report success with arbitrary delays that work on your local device but not on other devices.

> Swift is a good upgrade, but not exactly a high level managed language. Most of those languages have very fast or non-existent compile times as well as GC, they tend to be simple-ish, perhaps they have optional types. The Swift DX is quite different to a C# or a Java for example.

Swift has ARC, fast compile times, and a _very_ high level interface to the underlying API's. I think it's very comparable to C# on windows for many, many things.

Re: macOS Internals

#102
post #24

The window server is "lightweight" in that it does no screen drawing itself. It is, to use Apple's term, "drawing model agnostic." WindowServer is such a behemoth nowadays, it took me ages to reverse engineer how to make rcmd ( https://lowtechguys.com/rcmd ) control Stage Manager. It’s interesting to see it described as lightweight . I guess every lightweight solution becomes heavy and complex with enough usage.

How does reversing WindowServer allow you to make rcmd control Stage Manager?

Figuring out which CG calls WindowServer is making?

Wouldn't these calls fail unless you have special entitlements?

Re: macOS Internals

#103
post #4

History is such a great way to learn anything. It’s interesting - like a mystery revealed, but also provides the why - why things are the way they are. I was looking into accounting the other day, and you can go back to the first document that mentioned credit and debit and introduced modern accounting. There are so many topics like this that seem confusing and arbitrary but it all began extremely simply and pragmati…

This is so true. Most of math starts to make sense once you know the history behind the concepts.

I was able to do calculus when I first learned it, but it didn't really click until I studied Newton's Principia, and was like, oooooooooh I see what he did.

Similar with Euclid's Elements vs the modern "Cartesian" view of geometry.

Re: macOS Internals

#104
post #19

Earlier quoted context omitted.

Does anybody know why they are so hard to buy from outside the US?

International shipping of individual books has become very expensive. Within the US, media mail provides an inexpensive option for authors.

The loss of the bookdepository is a big one.

For some modern books you can get a digital copy.

I almost want to start a website dedicated to people bringing books on the plane with them when flying, but I'm sure that would light every single alarm bell the TSA has ever dreamed of having.

Re: macOS Internals

#105

There are also some amusing writings not included here about modern macOS changing things in a way Siracusa dislikes. For example, mandatory file extensions (written in 2001, when the Internet was a thing and file extensions were required for all file exchanges) [0] or the Spatial Finder saga [1] about missing an antiquated way to make a mess on your screen and pretend to be managing folders. [0] https://arstechnica.…

He’s right about the spatial Finder. The Mac OS 9 Finder is still a better user experience. The OS X Finder only become marginally usable when they added the sidebar so that you had some starting reference points; it was much improved with Spotlight because you could then find things without spatial reference points. But I still maintain that adding the NeXT browser view to the OS 9 Finder would be the perfect experi…

I think modern "kids" (who now are in their early 40s perhaps!) don't quite get how useful the spacial finder was to non-technically aligned people. "I left it right here" is a huge piece of memory that our brains have developed over millennia, and the spacial finder played right into that.

The "it's in the directory listing in terminal" or "spotlight will find it" or "what is a file" don't really compare, even if they can be made usable.

Re: macOS Internals

#106
post #42
post #39

Earlier quoted context omitted.

If you wanted to learn, I really recommend Operating Systems: Three Easy Pieces (OSTEP). I thought it was excellent and pretty easy to follow. https://pages.cs.wisc.edu/~remzi/OSTEP/

There are many things in OSTEP that I found really eye opening. One thing that stuck with me was that at some point, when discussing virtualization, it referred to an OS as a virtual machine, and that really changed the way I look at operating systems now. > That is, the OS takes a physical resource (such as the processor, or memory, or a disk) and transforms it into a more general, powerful, and easy-to-use virtual…

Oh that’s a great quote. Really good framing.

Re: macOS Internals

#107
post #80
post #64

Earlier quoted context omitted.

Only available to us old timers really, as newer devs on the ecosystem don't even know what to search for. I don't get it how they messed this up.

My hunch is SEO combined with placing less responsibility on the programmer. The new docs have a page per code symbol, and much more focused single-page topic articles, rather than 20-page programming guides. Docs seem to be structured to answer a question right when you have a problem, but then they don't offer a good way to study in depth before you begin. The other day a younger teammate asked a group about some A…

> would a newcomer even use the programming guides if they weren't down in the archive?

Yes, of course they would.

If you don't learn multiple different paradigms for acquiring knowledge, you'll be automated by ChatGPT.

Natural language query searches, category design & grouping via visual hierachies, are merely two forms of knowledge acquisition.

Re: macOS Internals

#108
post #18

It’s a bit confusing to say “read these in chronological order” since it’s not immediately apparent that the document is ordered chronologically. It would be clearer just to say “read these in order”.

Thanks for the note; I may tweak that. Does the Highlights section's intro, "These chronologically-ordered highlights…" help? —gist author

Yeah I’d find that clearer.

Re: macOS Internals

#110

Earlier quoted context omitted.

why i like arduino. why i kind of like old IBM PC environment. x86 + a few bios calls, dont even need DOS after you load game.exe

Yeah NetWare used to boot DOS then load their kernel over it. I feel like computers used to be cooler.

Well, that is it worked on Windows as well ( up until Windows ME ), load DOS first and then Windows.

You could still do it that way if you want. Windows 11 needs a boot loader. No reason you cannot write a DOS based one.

The comment about game.exe above probably refers to the days of “DOS Extenders” that games were based on. You would launch a game from DOS and, instead of just running a 16 bit DOS executable, it would switch into 32 bit mode and use a “DOS extender” to run the game.

“DOS extenders” are really just operating systems though that use DOS as a boot loader. Popular options for DOS games and programs were DOS/4GW, Phar Lap, and Quarterdeck ( from memory ). There were many others.

Windows 95 was really a “DOS extender” too.

Post reply on HN