HN user

alex-g

505 karma
Posts4
Comments91
View on HN
“So, …” What? 11 years ago

Seamus Heaney began his translation of Beowulf with "So", rendering the Old English "Hwaet" in a more natural way than the usual archaic "Listen!", "Lo!", "Hark!" kind of thing. In the introductory note, he explains: "'so' operates as an expression that obliterates all previous discourse and narrative, and at the same time functions as an exclamation calling for immediate attention." Far from being a chatty colloquialism, it is a solemn, weighty kind of "so" for Heaney.

Maybe part of the explanation for this specific attack is incompetence - miscommunication, comparatively junior people exceeding their authority, subordinates afraid to object, and everyone doubling down rather than admitting defeat. I could definitely imagine that the people who devised and built out the capability being furious at it being deployed like this.

I wonder if this even needs to be something in the home. Wouldn't it also make sense to install these things, in bulk, in a place where they could service several homes? Say, at the block level. If it is part of power distribution infrastructure as opposed to a consumer product, then that simplifies some of the safety and maintenance issues; concerns like weight or volume are even less important if they are housed in a dedicated structure.

The Mill certainly raises a lot of interesting code generation and optimization issues. I'm sure there's plenty of scope for figuring out good optimization strategies, as a lot seems to depend on the ability of the compiler to make good choices about instruction scheduling and belt slot allocation. Sure, that's the case for traditional architectures as well, but there's more prior art there too. There may also be ingenious algorithms which work better on the Mill architecture specifically. I'd love to know if there's any theory on the hardness of allocating positions on the belt, compared to traditional register allocation.

It's interesting, but the problem I have with the presentation is that the modern manifestation of this idea has nothing to do with Buddhism. While we can maybe say that Buddhism came up with some similar-looking stuff, there's no causal link, and the philosophical systems are not working within the same paradigm. Like seeing a human face on the surface of Mars, this is an example of coincidence more than any deep connection.

Well, OK, that's unfair, because Buddhism and formal logic are both human endeavours, and have to deal with the same facts. But this disconnect is even true with parts of Greek philosophy. "Atoms" as we understand them are very different from "atoms" as Aristotle thought of them, even though there is a historical connection. Today's chemists would do badly if they relied on Aristotle for anything other than historical curiosity.

Sperner's Lemma is probably my favorite mathematical result. It is easy to explain, and pretty easy to prove, but it has a higher than average number of "aha" moments along the way. The mathematics is not too intimidating - probably the scariest thing is the generalization to n dimensions, which requires induction. It is also fun to explain the connections to Nash's theorem and so on, as invoked in this article.

This was not a referendum, nor even a proper opinion poll - just a partisan petition. The figure of 89% is completely meaningless. Both the Daily Mail, and this article, prefer to make their own political point (we hate government and taxes) rather than engage in real news reporting or analysis.

Yes, the interface idea is basically the right thing, but there are technical difficulties which aren't immediately obvious. For example, we'd like to be able to prove that two different implementations of the natural numbers are equivalent (one can do this mathematically, so if our system is going to handle general mathematics then it has to be capable of doing this). So we have to think quite hard about what this "equivalence" actually means. It's not enough to say that they satisfy the same axioms, because in general there can be all kinds of models for some set of axioms. It's closer to say that all number-theoretic statements about numbers-v1 are true of numbers-v2, and vice versa: but you can see that this is starting to get a bit hairy in terms of computable proofs.

A related problem, which speaks to the leaky abstraction issue, is "proof irrelevance". Typically, if I've proved something, it shouldn't matter exactly how I did it. But it turns out to be tricky to make sure that the proof objects in the system don't accidentally carry too much information about where they came from. Sure, you can define a way to erase the details, but you still have to prove that erasing doesn't mess up the deductive system.

None of this is insurmountable, but it's a glimpse into the reasons why encoding mathematics computationally is not trivial.

Right, this is how mathematics really works. But formalizations of mathematics may suffer from leaky abstractions. If we prove facts about numbers by compiling them into sets, and then using set-theoretic axioms, we might accidentally make it possible to prove things about numbers that are incorrect or meaningless.

This is a very good thought. Some current projects are trying to develop computable mathematical foundations in a more structured way. Homotopy type theory (http://homotopytypetheory.org/) is one example that has a lot of buzz around it just now, but automated theorem proving has been trying to work with higher-order concepts for ages now.

In the classical approach of "compiling" everything into sets/logic/etc., you end up with just the assembly language problem that's being discussed, where all the high-level structure vanishes. In order to do your bottom-up approach instead, one of the things that needs to happen is to make the theory really compositional, so that once you've defined some abstraction or higher-level concept, you can use it in constructions and proofs without having to break the abstraction. You don't need to know - and in fact you shouldn't be able to find out - just how the natural numbers were constructed, as long as they work by the right rules. This motivates the use of type theory to describe mathematical objects, and say which operations are allowed. We want to be able to add two numbers and get another number, but we don't want to be able to intersect two numbers as if they were sets, even if they happen to have been built out of sets.

So I think you are right - or at least, there are plenty of people who agree with you that this is a good idea. It is difficult to actually do, of course, but that's life.

I don't know a lot about biology, but I do know a lot about proofs, provenance, zero-knowledge, etc. I wonder if there is some way, in an experiment of this kind, to tell whether the embryonic stem cells obtained are "really" derived from an adult mouse, as opposed to being extracted from an ordinary mouse embryo. In that case, third parties could verify the claim just by looking at the cell cultures. But I assume that they are actually completely normal-looking, as this is the point of the protocol.

Otherwise, perhaps it is possible for the provenance to be deliberately marked in some way that is resistant to forgery. For example, the adult cells used could be provided by some independent source who is generally trusted not to "leak" the corresponding embryonic cells. Then, if you produce ESCs with the right genome (which is easy to test), you must have done it using adult cells alone. If a clever and unscrupulous biologist could forge that - say by taking a normal ESC and injecting foreign genetic material, or by cloning the mouse and harvesting the new embryo - then perhaps some alternative marker could be devised. It would have to be something that could be introduced into the adult mouse cells, but couldn't be easily extracted, swamped by a new marker, or transferred in the cloning process. Or we could cross-check against other signs that those methods might have been used - some biological equivalent of tamper-evidence, maybe?

Your comment reminded me of this story:

"A certain well known mathematican, we'll call him Professor P.T. (these are not his initials...), upon his arrival at Harvard University, was scheduled to teach Math 1a (the first semester of freshman calculus.) He asked his fellow faculty members what he was supposed to teach in this course, and they told him: limits, continuity, differentiability, and a little bit of indefinite integration.

The next day he came back and asked: What am I supposed to cover in the second lecture?"

(from Spiro Karigiannis at http://mathoverflow.net/a/53238 - comments below refer to a version of the story where the professor is from the USSR specifically)

Suppose you don't have absolute clocks (so you don't know when it's 1pm) but you do have the ability to count time steps. Then you can solve the problem by "pinging" down to the end of the line and back, counting along the way. The first soldier sees the returned ping and fires immediately. The second soldier (who knows he's second, since when the ping went out, the message was only at "1") fires one interval after the returned ping passes by him, so that's the same time as the first soldier does it. Likewise, the third soldier fires two intervals after hearing the returned ping.

Alas, in this scenario we don't even have the ability to count, since we have a limited number of internal states to use to store numbers. So the really clever part is to encode additional information in the flow of additional messages. For example, to find the middle soldier, we can send out two pings, one three times faster than the other. They meet when the slower ping has gone through half the soldiers, and the faster one has gone all the way down the line, and back through half the soldiers (it's three times faster). Additional pings of different speeds can bounce back and forth in order to divide the interval still further - effectively, recursing into narrower sub-lines. Everything is set up so that all of the sub-lines reach their minimal size - one soldier - at the same time, at which point they know it's time to fire. The "recursion" means that the number of states can be bounded, as there are only a few different "modes" for the soldiers to operate in, regardless of the length of the sub-line involved.

There is no royal road; or if we want some mystical woo, we could say that the journey is the destination, or something. I think that if you're trying to understand P-vs-NP it's not a matter of proceeding definition by definition. It's more like simultaneously approaching the question from lots of different angles, in order to build the mental connections between P-vs-NP and other topics. That includes Turing machines, formal languages and automata, reductions, big-O analysis, important concrete problems in P, NP, or neither, important algorithms and methods, and so forth.

Recursion is probably the same way. For Colbert purposes you could certainly come up with some glib explanation. When I, or you, or anyone else, have learned recursion we've probably started with that, but then proceeded to build connections with induction, PL semantics, computer architecture, compiler/runtime implementations, and all the other allied topics.

But I do think the earliest, most informal, explanation has its place too, because you have to start somewhere. The learning process is (at least for me) more like proceeding through lots of explanations of the same thing, at greater levels of detail and with different metaphors and external references, than it is like a linear progression from topic to topic.

Fallacies 12 years ago

If you believe a slippery slope argument, you'll soon find yourself believing any old rubbish.

Which definition is being blurred, exactly? Definitions may be being changed, but that's in order to make our words more accurate and more practically useful.

It's actually quite hard to determine who is the intended target of a word like "he", since experience presents us with all kinds of difficult cases; appeal to appearance or behaviour or even chromosomes doesn't work universally. At some point, we either have to let people decide for themselves what they want, or impose our own arbitrary classification on them. Someone is making a judgement and I'd rather it be "I feel I am male" than "I feel you look male".

Sure, it might be nice if there were a simple flowchart, based on only objectively observable data, that we could follow to end up with either "he" or "she" in the end. But no such flowchart exists. I propose to drop the "objective" criterion and just ask the person what they prefer - especially given that the only reasons for having a he/she pronoun system are historical and social. If you want to talk about what's going on biologically, in great detail, then feel free, but the pronoun system doesn't have to correspond to that.

You appear to be something of a newcomer to this issue. I can tell you that everything you raise as a concern has been very extensively discussed - certainly in those places which afford legal recognition to gender transition, discrimination protection for trans people, and so on. Systems exist, and, to an extent, they work.

Still, calling somebody by their preferred name and pronouns does not grant them admission to the women's locker room, or anything else like that. It is a matter of courtesy.

The other thing is that often, in order to have a gender change legally recognized, or to access surgery and so on, one has to prove that one has already been living as a member of the appropriate gender. What this means is highly contested, but stuff like "people know me as Alice, not Bob" is part of it. It's difficult enough without people setting themselves up as linguistic gatekeepers, and deciding that they know better than Alice.

But scepticism about libertarian technofetishism has been a bit of a theme in his writing for... a while now. The Vile Offspring in Accelerando are a scarcely-veiled example.