1. 1

    Can’t you just option+click on Update and select the IPSW file? I don’t think any of the spoofing apple servers is required.

    1. 1

      Only if you both have the IPSW file (not easy to download for a non-iOS-administrator) and know to option-click update (it’s completely undiscoverable).

      1. 1

        I thought the ipsw download links were common knowledge …

    1. 5

      How are other kernels managed?

      Doesn’t never “breaking compatibility” result in accumulating “technical debt”?

      What would it take for user space stuff to adapt to changes in a kernel’s API?

      1. 9

        Other OS’s have ABI versioning and the userspace matches that.

        1. 9

          FreeBSD is allowed to break ABI in a new major release. Compatibility layers are provided for old binaries (down to 4.x!) and they work… when reasonable — right now in -CURRENT every <=11.x binary that touches stat and dirent is kinda screwed thanks to 64-bit inodes.

          OpenBSD, IIRC, doesn’t have any compatibility layers or even minor releases. New release — new ABI, recompile your crap.

          1. 2

            That’s sad. I really like the backwards compatibility that FreeBSD and NetBSD provide.

            1. 7

              What is sad about getting a new set of binaries every 6 months?

              1. 6

                Christos (from NetBSD) was really into binary compatibility (among other things) and he used Franz Lisp compiled for NetBSD 0.9 in 1994 (http://www.aiai.ed.ac.uk/~jeff/franz-for-386.html) to test NetBSD’s binary compatibility over the years. Last time I saw him reporting success was around NetBSD 4.0. If he continued this work, Franz Lisp is likely still running, unchanged, 20 years later.

                I think that’s something to be proud of.

                1. 4

                  Having to manually adjust hard-coded information about syscalls in languages like Go every 6 months or risk your programs failing at run-time

                  1. 3

                    syscalls will usually be given at least 2 releases cycles (12 months) to phase out.

                    But such problems do happen sometimes, indeed. However, if there’s a process in place to deal with such changes on a regular basis, they can be dealt with more easily than if they only happen once in a decade, making everyone forget how to best transition to a new ABI.

            2. 8

              On Darwin (macOS/iOS/…), the syscall boundary isn’t considered ABI. Rather there’s a libsystem_kernel.dylib that provides the userspace system call stubs and the functions exported there define the ABI. This allows lockstep kernel/user changes and userspace can use symbol versioning or other tricks to keep old software working.

              1. 3

                Windows does this too, though it’s just one of the numerous schemes (of varying insanity) to avoid breaking userland.

              2. 5

                I don’t know about kernels, but

                Doesn’t never “breaking compatibility” result in accumulating “technical debt”?
                

                isn’t true in a wider scope, you can just mark a method as deprecated and add a new method instead that does what you want. Then there’s some deprecation policy that’ll let you remove the old code eventually. You have to tolerate the debt for the period of the policy.

                I think we as developers really hate that once we create an API we’re locked into it. It really annoys us, but when you write an API, you’ve made a contract and you’ve got to deal.

                This is why I avoid working on APIs ;)

                1. 7

                  Or you can add longer and longer calls to sleep() below the deprecation message: https://twitter.com/johnregehr/status/920691341738123264

                2. 4

                  Doesn’t never “breaking compatibility” result in accumulating “technical debt”?

                  Yes, it does. There are numerous system calls (i.e. mmap2 or statx) which should be used instead of older system calls but remain “optional.” It’s not as much of a problem as one might think, however. A lot of new functionality is instead implemented as a file (although /proc is fairly crufty itself) or as an ioctl.

                1. 3

                  Maybe I’m misunderstanding this model, but it sounds a lot like what Jessica Kerr discuses in “Hyperproductive development”.

                  I did recently find myself in a role not entirely unlike the surgeon role. While the surgeon model was great for the initial bringup of a new project, it didn’t scale nearly as well once customers started to adopt and we needed to screen incoming questions and bug reports. There’s just too much triage required and issues started piling up until the rest of the team learned to debug things to a root cause. But being able to do that debugging requires a level of understanding and intimacy with the code that seems to run counter to this model.

                  I also found this model to be highly conducive to causing burnout.

                  1. 1

                    This is probably the best reason I’ve heard so far.

                    1. 1

                      If your ‘assistants’ weren’t finding/explaining root causes, or triage incoming work, how were they assisting you?

                      1. 1

                        Handling small components or bits of leafy development that were less core to the system. Work that was well separable from the main development.

                    1. 10

                      Recently ex-Googler Yonathan Zunger has one of the best responses I’ve read: So, about this Googler’s manifesto

                      In particular, I think he counters the silencing of discussion argument really well (paraphrasing): there’s a fine but important line between an opinion that is unpopular and an opinion that is hostile; expression of the latter creates a hostile work environment.

                      1. 5

                        I think he counters the silencing of discussion argument really well

                        How could he, when he misrepresents the memo as “about, essentially, how women and men are intrinsically different and we should stop trying to make it possible for women to be engineers”?

                        Have you read the original document? Please quote the part where the evil author advocates against equal opportunities for lowly females.

                        there’s a fine but important line between an opinion that is unpopular and an opinion that is hostile; expression of the latter creates a hostile work environment

                        In my mind, an opinion is hostile if it asks for the arbitrary termination of an employee - that’s dangerous in a country where only the well employed can afford decent healthcare. You’re not just getting a short adrenaline rush from ganging up to lynch an ideological opponent, you’re putting real lives at real risk.

                        1. 4

                          Please quote the part where the evil author advocates against equal opportunities for lowly females.

                          When you assess the ethical consequences of some speech or text, you have to take into account not just the factual accuracy of the text, but also the function of the text in the social context. This is what Yonathan Zunger was talking about. In this case, the manifesto functions as hostile to certain groups of people (women), and the mechanism of this functionality is rather clear: a woman already has a disadvantage within our society’s structure because, from an early age, she is shunted into a limited amount of roles. The manifesto lists these rather explicitly and even reinforces them: see the “Personality differences” section and the part about biological determinism.

                          Think of this like “degrees of freedom”: by characterizing a group (“category”) of people in this way, it limits the degrees of freedom that those people have for choosing their own place in society. Of course this works for both men and women, or any category of people; the manifesto author makes a statement to this effect:

                          • The male gender role is currently inflexible
                          • Feminism has made great progress in freeing women from the female gender role, but men are still very much tied to the male gender role. If we, as a society, allow men to be more “feminine,” then the gender gap will shrink, although probably because men will leave tech and leadership for traditionally feminine roles.

                          The point of diversity (IMO) is to expand the degrees of freedom for a category of people; if Google’s diversity program is expanding degrees of freedom for women and limiting degrees of freedom for men, then it should probably be re-thought. I’m not a Googler so don’t have enough context to assess that. And I don’t think the manifesto author’s claims about “left ideology” or biological determinism work as evidence of any kind of bias. If the manifesto author wanted to be more effective, they should have based their argument on this degrees of freedom aspect (which is empirically verifiable), instead of making inaccurate assumptions about biological determinism or hand-wavy claims about “left ideology”.

                          1. 5

                            When you assess the ethical consequences of some speech or text, you have to take into account not just the factual accuracy of the text, but also the function of the text in the social context.

                            The French call this fallacy “procès d’intention” - putting a presumed intent on trial, instead of what was actually said.

                            In this case, the manifesto functions as hostile to certain groups of people

                            Is this the “someone was offended/triggered by this so the blame is all yours” defence? There’s nothing hostile in there. No call to break the law or harm people in any way. You just don’t like the message and try to blame the messenger for you being upset. That’s not how adults are supposed to reason.

                            a woman already has a disadvantage within our society’s structure because, from an early age, she is shunted into a limited amount of roles

                            Bullshit. This “victimhood in perpetuity” narrative has been false for a long time in most of the world.

                            Think of this like “degrees of freedom”: by characterizing a group (“category”) of people in this way, it limits the degrees of freedom that those people have for choosing their own place in society.

                            So we should ban observation altogether, because stating the facts magically casts them in stone?

                            The point of diversity (IMO) is to expand the degrees of freedom for a category of people

                            No, of course not. The point of diversity programs and policies is to reproduce in a non-random sample the composition of the general population.

                            this degrees of freedom aspect (which is empirically verifiable)

                            You seem confused about how reality works. Things don’t become true just because we wish them to be true really, really hard.

                            1. 3

                              Hey stefantalpalaru, I appreciate your hard-line logicism on the above points, but in doing so you’re actually missing the real point, which is one of ethics. Ethics consists of social and psychological constructions around subjects, and the effects those constructions have on said subjects. These constructions wield social and psychological power over people, so analysis of how power works is central to any debate around what is fair or right. This line of thought has a long and well-defined history, beginning with Spinoza’s Ethics, in which he created a mathematical description of how the subject works, continuing with Nietzsche’s Genealogy of Morals and his discussions of forces, Foucault’s work on power and discipline, Deleuze’s work on psychoanalysis (schizoanalysis) and the history of philosophy, Levinas’ (fantastic) books on ethics and alterity, and so on.

                              All of your points above completely miss this aspect of ethics and power. You’ve cherry-picked clauses that aren’t central to my thesis that the functional mechanics of the manifesto rhetoric is hostile to certain groups of people. This is not the “victimhood in perpetuity” argument; it’s just simple and well-established ethical principles and power dynamics. There’s no blaming the messenger, at least I’m not blaming anyone. This is a discussion that should be had, but it is entirely a discussion of ethics.

                              Rationality is great and useful, but it can also be mis-used as an instrument of power: when the manifesto author says that women are biologically less prone to logical tasks, he is claiming authority over rationality, and using this authority to determine what women are allowed to do, thus over-powering them. It doesn’t even matter if men are inherently more logical (whatever that might mean) than women. The very structure of this argument concerns power, not the abilities of men and women. Abilities should be assessed strictly on an individual basis and all structures that over-power a group of people, preventing them from being assessed accurately, should be removed. To his credit, the manifesto author says something along these lines, but he also completely undermines his argument by bringing up the biological determinism stuff.

                              Here are some videos that introduce you to how ethics works (or just read the books I mention above):

                              If you can watch those videos and take up the discussion on my actual argument, then I’d be happy to continue. Otherwise we are just talking past each other.

                              1. 0

                                when the manifesto author says that women are biologically less prone to logical tasks, he is claiming authority over rationality, and using this authority to determine what women are allowed to do, thus over-powering them

                                That’s just an attempt to explain differences in outcome. You can completely remove these explanations and the rest still stands. What you cannot do is use them to undermine the observed reality: there is no equal outcome given equal opportunity.

                                Abilities should be assessed strictly on an individual basis and all structures that over-power a group of people, preventing them from being assessed accurately, should be removed.

                                How do you reconcile this with reparatory discrimination? Individuals should not be penalised when applying for college, unless they are Asian? They should not be penalised when applying for programming jobs, unless they are white males?

                                Seriously, how do you explain to yourself that power dynamics trump ethics and reason so we need to discriminate for the greater good?

                                1. 1

                                  there is no equal outcome given equal opportunity.

                                  Nobody is saying “equal outcome” is the goal here. Some “neoliberals” (who don’t usually understand the history of liberalism) might think that, but in general it is not the view of the contemporary leftist thinkers. Rather, leftists want to remove the inhibitory power structures that unnecessarily limit individuals from achieving what they want.

                                  power dynamics trump ethics and reason

                                  I never said that. Power dynamics are an important element to any ethical analysis, but the entire analysis is had within a framework of reason. This is what Foucault and Nietzsche and others talk about, they go so far as to develop new logical structures for understanding the power dynamics and analyzing them.

                              2. 1

                                The French call this fallacy “procès d’intention” - putting a presumed intent on trial, instead of what was actually said.

                                Indeed. When the mafia guy says: “nice face you got, it would be a shame if it got pounded into the pavement”, it would be a fallacy to ascribe an intent to threaten. Thanks for making that so clear.

                                It would be a fallacy, by the same logic, to imagine that “thanks for making that clear” has any sarcastic tone or carried any negative assessments of your communication skills.

                                1. 3

                                  Funny, but no. An actual example would be accusing of antisemitism each and every critic of Israel, or accusing of islamophobia anyone opposing the use of burka in public.

                                  Thoughtcrime is not about a more or less veiled threat, but about presumed thoughts that have no basis in what was expressed. Not even a dissimulated one.

                                  1. 1

                                    Your first claim was that interpreting statements in terms of the words and the social context was illogical. So I pointed out that everyone knows communication depends on both words and social context. Your fallback seems to rely on the implication that there is no social context that helps us understand the text. Is being obtuse your only form of argument? To claim in an organization like Google that people of lower capability are being promoted in defiance of scientific fact, is not to simply express an opinion, such as an opinion that foie gras tastes good or that Bob Dylan’s voice is annoying - it is to attack both the management of the company and the status of one’s colleagues in an offensive way. If this attack is justified in terms resentment and a moronic reading of the scientific literature it is doubly offensive. That’s not making thinking a crime, it is making rudeness and stupidity socially unacceptable.

                                    1. 2

                                      That’s not making thinking a crime, it is making rudeness and stupidity socially unacceptable.

                                      So it’s rude and stupid to point out that the emperor is naked? I wonder if it was rude and stupid to point out that most of the 9/11 terrorists were Saudis and Iraq had nothing to do with it, or that there is no evidence that Russia hacked DNC and that whole propaganda campaign is built on appeals to authority.

                                      Maybe we need these “rude and stupid” people to zap us out of the complacency of going along with the banality of evil. Maybe we should thank them for their sacrifice.

                                      1. 0

                                        Hilarious.