Windows 10/11’s clipboard stack lets you pin selections into the clipboard, so — and a variety of other characters live in mine. And on iOS you just hold down -, of course.
While it's narrowly true that CPU instruction sets generally don't have a null-pointer concept, I'm not sure how important that is: the null pointer seems to have been (I don't know enough to be sure) a well-established idiom in assembly programming which carried across naturally to BCPL and C. (In much the same way that record types were, apparently, a common assembly idiom long before they became particularly normal to have in HLLs.) Programmers like being able to null out a pointer field, 0 is an obvious "joker" value, and jump-if-0 instructions tend to be convenient and fast. Whether or not you'd want to say it's "how the hardware works" it does seem to have a certain character of inevitability. Even if the Bell Research guys had disapproved of the idiom they would likely have had difficulty keeping it out of other people's C programs once C became popular. The Hoare ALGOL W thing seems to be more relevant to null pointers in Java and the like.
> Programmers like being able to null out a pointer field, 0 is an obvious "joker" value, and jump-if-0 instructions tend to be convenient and fast.
And there's nothing wrong with that! But you should write it
union {
char *ptr;
size_t scalar;
} my_nullable_pointer;
if (my_nullable_pointer.scalar) {
printf("%s", my_nullable_pointer.ptr);
}
not:
char *my_nullable_pointer;
if (my_nullable_pointer) {
printf("%s", my_nullable_pointer);
}
Yes, this takes up more space, but it also makes the meaning of the code clearer. typedef in a header can bring this down to four extra lines per pointer type in the entire program. Add a macro, and it's five extra lines plus one extra line per pointer type. Put this in the standard library, and the programmer has to type a few extra characters – in exchange for it becoming extremely obvious (to an experienced programmer, or a quick-and-dirty linter) when someone's introduced a null pointer dereference, and when a flawed design makes null pointer dereferences inevitable.
> The Hoare ALGOL W thing seems to be more relevant to null pointers in Java and the like.
I believe you are correct; but I like blaming Tony Hoare for things. He keeps scooping me: I come up with something cool, and then Tony Hoare goes and takes credit for it 50 years in the past. Who does he think he is, Euler?
In another way Trump is actually rather like Adams himself: his one great talent is as an entertainer and self-publicist, but he feels that he deserves success in business and leadership, so that he can be hailed as a great builder and decision-maker. Trump does have the personal charisma and feel for manipulation which Adams longed for, though. (Though it does help Trump that he started with the charisma boosts of inherited megawealth and the associated upbringing.)
Probably the advantages of its location outweigh the extra costs for the IA. Having your datacentre sited on land and in a building you own, behind a non-shared front door, has legal advantages similar to the ones which drive organisations to keep their data centres on-premises. A distinctive location in a nice area of San Francisco probably helps to keep cultivating the goodwill of the SV tech industry and of local and state politicians. It's also an advantage to be within easy walking distance in a neighbourhood where people like the IA and would be inclined to go there and protest if government forces rolled up and started pushing their way inside. To be sure, I presume that 300 Funston Ave. also being a very pleasant workplace for senior IA people has something to do with why the Archive moved there and remains there; but remaining there seems justifiable for other reasons.
Even if Apple isn't very good at reciprocating faithful service from its suppliers, there's also the matter of how it treats suppliers who cause it problems instead.
Having clear insight in some areas and big blind spots (or worse) in others isn't just typical, it's basically all but universal (if we leave aside people who have no particular insight into anything).
For the past 50+ years there really has been a somewhat significant and quite influential body of people who genuinely want to preserve the planet’s ecosystem even at the expense of the people living on it.
reply