HNHacker News
TopNewBestAskShowJobs

loicd

119 karma · joined January 13, 2020

submissionscomments
loicd··on Mathematical Existence and the Axiom of Choice
The idea that the axiom of choice is guilty of all the non-constructible, weird stuff in mathematics is incorrect. The actual source of non-constructibility is always the law of excluded middle (aka the difference between classical and intuitionistic logics). What is true however is that the axiom of choice amplifies in a non-trivial way the non-constructibility of the law of excluded middle.

To pick an analogy, consider the 2022 world cup. There will be a winner, but we don't know it yet. Thus, in a sense, the existence of the winner is non-constructible. In classical logic, we accept as true the following statement:

    Either France is the winner or the 2022 world cup, or it is not,
even though we cannot tell which it is now. This is not a problem, because if we wait a bit, we will be able to determine which it is. The axiom of choice in that analogy amplifies the above non-constructive problem by allowing us to wait an infinite amount of time.

In the end, the reason why the axiom of choice 'won' is the same as the reason why classical logic 'won' over intuitionistic logic: because constructibility gets in the way.

loicd··on The Case for Abolishing Elections
I am not OP, but it seems to me that there is an obvious problem with it. If you select a truly random set of citizens to rule a country, there are no guarantees that you will get a representative sample of the citizenry. That's simply not how statistics work. Without any further selection, you will eventually (and sooner than you would expect) put terrible or incompetent people in power. Now, if the randomly selected citizens must go through a selection process or be moderated by experts, then the actual power is in the selection process and moderation, and there is nothing democratic about it.

For what it is worth, I am French, and my country recently made a sortition experiment[1] that I found less than convincing. This was in response to the yellow vest movement. I did not feel represented by that 'citizens convention'. I do not know what part of their propositions come from them, and what part come from the experts advising them. Some of their propositions (like putting a more stringent speed limit on highways) were not implemented because, ironically, they were impopular. The whole thing felt like a failed experiment to me.

[1]: https://en.wikipedia.org/wiki/Citizens_Convention_for_Climat...

loicd··on The Case for Abolishing Elections
The problem is that averages are constructs of the mind. It is a fallacy to think that random citizens are average citizens. You can average numbers, you cannot average people.
loicd··on Posits, a New Kind of Number, Improves the Math of AI
The idea is that you can reuse instructions for signed integer comparisons. This is explicitely mentioned in the standard, section 5.3:

https://posithub.org/docs/posit_standard-2.pdf

loicd··on Posits, a New Kind of Number, Improves the Math of AI
Yes, sign-magnitude is the right terminology, my mistake, but too late to edit. As for two's complement, look at slide 18-19 from the link somebody produced below:

https://posithub.org/conga/2019/docs/13/1430-John-Introducto...

loicd··on Posits, a New Kind of Number, Improves the Math of AI
> I want a function (isinf, isnumber etc) and I am happy.

Sure, isnan(x) is what one should use. The fact that it is `x != x` is an implementation detail. The problem is that it is also a hack that breaks the usual mathematical axioms for equality and for order relations. For instance, if you want to sort floating-point values, you have to write your own comparison predicate in case there is a NaN, because a NaN is neither smaller, greater or equal to itself.

As for infinities, they somewhat work for real numbers, but it gets more complicated for complex numbers. For instance, Annex G of the C standard stipulates that an infinite complex number multiplied by a nonzero finite complex number should yield an infinite complex number. Sounds reasonable, but consider:

  (∞ + i∞)×(0 + i1) = (∞×0-∞×1) + i(∞×1+∞×0) = NaN + iNaN
So Annex G recommends some complicated functions to be executed at each complex multiplication and complex division, which makes little sense for most applications, and I suspect few people do that. As an aside, Annex G breaks the whole point of NaNs, because it stipulates that numbers like (∞ + iNaN) should be considered infinities rather than NaNs, which means that NaNs are no longer necessarily viral.

All in all, what I find frustating with these aspects of IEEE754 is that they complicates things under the hood, but the benefits seem to me limited to some specialized applications.

loicd··on Posits, a New Kind of Number, Improves the Math of AI
Isn't that also the usual argument against subnormal numbers? Anyway, you're right. According to that paper, section 4.3:

https://people.eecs.berkeley.edu/~demmel/ma221_Fall20/Dinech...

the relative error is bounded by 2^{-24} only in the interval [1.0e-6,1.0e6] for the Posit32 format, whereas it is [1.17e-38,3.4e38] for the IEEE binary32 format.

loicd··on Posits, a New Kind of Number, Improves the Math of AI
I don't know about regime notation, but it is nice to see a new format with the most annoying ideas from IEEE754 removed:

- Two's complement instead of one's complement

- No infinities, no signed zeroes

- Only one exceptional value with the same encoding as the smallest signed integer: 10...0

The above means that comparisons work exactly like for signed integers (with the unique exceptional value behaving like -∞). Also, one can test whether x is invalid using `x == -x && x != 0` rather than the ugly `x != x`, i.e. no need to break reflexivity. Even if posits do nothing but remove the one's complement dust off IEEE754, that would be a positive change in my view.

loicd··on Ask HN: We are getting close to Russia using nukes and few people care. Why?
I think that there is a difference between threatening to use nukes and actually using them. Threats make people scared and perhaps willing to compromise, which sows division among Ukraine's allies and favors Russia. However, I think that detonating a nuke in Ukraine would achieve the opposite. It would unite people in anger and revenge. This is why I think Russia's threats are probably empty. Of course, in any cases, mutually assured destruction works. People in Moscow have as little desire to be nuked as we have. They will remove the mad dictator before things get out of hands.
loicd··on Two types of privacy
I mostly agree. What I mean by "fondamentally not a technical problem but a political one" is that technological solutions to bad or incompetent government policies seem to me to be band-aids that do not actually solve the problem. They are useful if this is all you have, but they are no substitutes for good policies.
loicd··on Two types of privacy
Reading the title, I assumed that the article would talk about what people mean by privacy. However, it really is about how people try to achieve privacy (by reducing the mount of collected data, or by reducing the amount of collectible data). The thing is how you do it depends on what you are trying to achieve. When discussing privacy, I find it useful to distinguish three types: a) privacy from government, which is fondamentally not a technical problem but a political one, b) privacy from big corporations, and c) privacy from criminals (i.e. "hackers"). In my experience, people are really mostly interested in c) and so-called privacy conscious people are mostly interested in b). As for how to achieve b), I (perhaps naively) assume that corporate data collection obeys a law of diminishing returns, so the best strategy is simply to do more than the masses who do not care.
loicd··on My story on “worse is better” (2018)
> This will sound crazy from our perspective this year, but from the perspective of the essay 31 years ago, Lisp dominates software development today; we just spell it without parentheses.

It is true that some good ideas originate from Lisp. However, by saying that 'Lisp dominates software development today', you are giving the false impression that the Lisp heritage is the only one that matters, as if Lisp were some sort of linguistic asymptote toward which all other programming languages must inevitably converge. I take issue with that. Creating a new programming language involves copying the good ideas from previous languages and rejecting the bad ones. The notion that this or that modern programming language is a 'dialect of Lisp with slightly different syntax' completely ignores all the bad ideas from Lisp that were not copied and all the good ideas from other languages that were.

loicd··on C++ Frequently Questioned Answers (2009)
I would like to comment on the claim that "all popular languages have context-free grammars, while C++ has undecidable grammar". Although I understand what is meant here, the terminology is just plain wrong. There are no such things as undecidable grammars. There are only undecidable problems. The C++ grammar is context-free, period. What gets people confused about it is that it is ambiguous, and that there are in fact two parsing problems you can associate to an ambiguous context-free grammar. One of them is decidable, the other is not in the case of C++.

The first parsing problem is what I would call textbook parsing, as this is what is usually presented in books on the topic. It is a decision problem: the answer is either "yes" or "no". For context-free grammars, including C++, it is always decidable. So what about the ambiguous `AA BB(CC);` given in example here? Is it an object definition or a function declaration? The (decidable) textbook answer is simply "yes". The key thing to understand here is that textbook parsing does not require resolving any ambiguities. The "context-free" in "context-free grammar" only refers to this decision problem, which is why C++ has a context-free grammar, because textbook parsing does not require looking at any surrounding context.

Of course, if you are writing a compiler, "yes" is not a very useful answer. You want either "yes, it is an object definition" or "yes, it is a function declaration", which turns the parsing problem into a completely different one, which I will call compiler parsing. Compiler parsing is not a decision problem, and in the case of C++, it is undecidable.

What is meant by "all popular languages have context-free grammars" is simply that most languages have an unambiguous context-free grammar. To add to the confusion, textbook parsing and compiler parsing are essentially the same problem for unambiguous grammars.

loicd··on Misbehaving Microsoft Teams ad brings down the entire Windows 11 desktop
There used to be the "Windows tax" that the rest of Microsoft had to pay[1], now I guess that there is the "Rest-of-Microsoft tax" that Windows has to pay.

[1] https://www.ft.com/content/9e09d082-b5d3-11e3-a1bd-00144feab...

loicd··on Hydrogen lobbyist quits, slams oil companies’ “false claims” about blue hydrogen
The question for me would be: is hydrogen really the best chemical for energy storage? (I genuinely do not know actually.) Although you are not explicitely saying that, it seems to me that the underlying assumption behind the hydrogen-as-storage argument is that hydrogen is produced from surplus electricity and then used e.g. in transportation. The choice of hydrogen is then justified because only water is released into the environment in that scenario.

However, that seems terribly inefficient to me, if only because you have to move hydrogen around. An efficient storage system should work in a closed loop: you produce hydrogen and oxygen by electrolysis with surplus electricity, store hydrogen locally, and use the locally stored hydrogen to produce electricity when needed. There is no need to release anything into the environment. In particular, other chemicals could be used instead of hydrogen.

loicd··on Hydrogen lobbyist quits, slams oil companies’ “false claims” about blue hydrogen
There was also Nicolas-Joseph Cugnot who built a steam "car" in 1770.

https://en.wikipedia.org/wiki/Nicolas-Joseph_Cugnot

loicd··on Hydrogen lobbyist quits, slams oil companies’ “false claims” about blue hydrogen
I fail to see an economic future for hydrogen as a fuel source. If it is produced from e.g. methane (the blue version), then we are burning more methane than we would have if we had been using the methane directly. If it is produced from electricity and water (the green version), then we are wasting electricity that could have been used directly in BEVs. At the end of the day, hydrogen is always going to cost more than the energy source that was used to produce it, and it will not be competitive against solutions that use that primary energy source directly.
loicd··on How smallpox claimed its final victim
You would think that, but there was a smallpox epidemic in Montreal in 1885 where vaccination became mandatory, and people rebelled against that, attacked pharmacies selling the vaccine, etc.

https://fr.wikipedia.org/wiki/%C3%89pid%C3%A9mie_de_variole_...

(in french)

loicd··on America is plummeting down the global vaccination league table
> We do not know whether this virus is purely natural.

Actually, the origin of the virus is irrelevant to the point I was trying to make. In my experience, people opposed to vaccination are often biased against it by the fact that it is man-made, or perhaps more vaguely, that it is some sort of human intervention. I called that "a bit of a naturalistic fallacy". Maybe that's a poor choice of words, but I stand by my point. Our little discussion has multiple examples of that.

* You said previously that "I can't choose to not get the virus, but I can choose to not get the vaccine". Sure, but what if it is a better idea to get vaccinated? Vaccines are approved by government bodies (at least in Europe where I live) based on scientific evidence that the benefits outweigh the risks. In other words, it is a better idea to get the vaccine. You somehow ignore that and focus on the fact that the vaccine requires human intervention, which biases you against it.

* You talked previously of "long-term effects of modified spike protein" of the vaccine. What about the long-term effects of the unmodified spike protein? What about the delta variant? I think it is remarkable that you are not worried about the modifications in the delta variant (which happened randomly), but worried about the modifications in the vaccine (which is man-made). To me, that is again a bias. One that is all the more remarkable since the modifications to the vaccine spike protein were made to prevent it from reaching its fusion form (required to infect a cell) based on research done years ago on MERS.

* You mention that the vaccine makers required and obtained legal immunity. Nobody asked for government aproval for the introduction of the delta variant. It just happened. Nobody is responsible for it. The virus is natural here in the sense that it only submits to the laws of nature, not to human laws. Its actual origin is irrelevant.

> However yes, I cannot have a symmetric worry, because risks and available information are very different for the COVID and for the vaccine.

I don't know what you mean here.

loicd··on America is plummeting down the global vaccination league table
> Vaccine isn't 100% protection from being affected by the virus.

True, but I don't care about that. It is a bit as if you were arguing that I should not fasten my seat belt because it is not 100% effective at saving me in a car accident. The protection against infection provided by the vaccine is real. The risks associated to a covid infection are real. Some of them (loss of smell, long haul covid) are not as unlikely as you suggest. On the other hand, the risks associated to the vaccine are completely fictive.

> There are reasons. Vaccine brings in risk: from long-term effects of modified spike protein and vaccine components, from vaccine breakthrough cases which put selection pressure on the virus, and possibly other mechanisms which are unknown.

To me, that's medecine fiction. None of that is real. I don't know of any other vaccine for which that happened. Note that my original point stands: people invent all sorts of possible long-term side effects for the vaccine, but not for the virus whose infection can be prevented by the vaccine. And I still don't see why I should expect any long-term side effect from the vaccine.

> Yes, I do not trust pharma scientists to have all the answers about future effects of their vaccines. Their owners required and got immunity from prosecution and that tells me a lot.

Sounds like business as usual to me. Scientists never have all the answers. Corporations are always covering their back. Your argument here has a bit of a naturalistic fallacy. Somebody got immunity for their vaccine and that worries you. However, you cannot have a symmetric worry for the virus because it is natural and nobody is responsible for it. Who are you going to sue for its long-term side effects? Thus, independently of the facts on the ground, if you think like that, you can only be more worried about the vaccine than the virus, and that's a bias.

loicd··on America is plummeting down the global vaccination league table
> The important point is I can't choose to not get the virus, but I can choose to not get the vaccine.

I disagree. You can choose not to be affected by the virus by taking the vaccine. That's the whole point of the vaccine. So the question really is: what are the odds that something bad happens to me with the vaccine and with the virus. Since there are no reasons to think that there will be long term effects with the vaccine, and at worst, no more reasons than with the virus, one has to look at the short term and this clearly favors the vaccine.

loicd··on America is plummeting down the global vaccination league table
I know about GB syndrome. I do not consider that to be "long term". When I got my first dose, many people had already been fully vaccinated for more than 6 weeks and I personally knew quite a few of them. There was nothing to worry about. On the other hand, I've actually been told by some people I know that the vaccine is going to kill me in a couple years through some mysterious unspecified long term side effect. There are no examples of a vaccine doing that, no proposed mechanism for that, and the whole argument boils down to "we do not have 10 years of data so we do not know for sure that it is not the case". Well, we do not have 10 years of data on the long term side effects of getting infected by Sars-cov-2 either. I point out the asymmetry as these are the same people saying that covid is not that bad.

> COVID is very contagious if you believe that positive PCR test means you have COVID.

I'm startled. Are you nitpicking over covid (the disease) vs sars-cov-2 (the virus)? Of course if you have a positive PCR test it means that you are infected by the virus. Whether or not you have symptoms is irrelevant when we are talking about long term side effects. Think about HIV or the cancer inducing HPV strains. Again, even if you are asymptomatic you may get lung damage from covid. I am not saying that there are long term consequences to that, but you do not know that, and there are no less reasons to believe that than to believe in any long term side effects of the vaccine.

edit: typos

loicd··on America is plummeting down the global vaccination league table
I don't understand why people are so obsessed over potential long term effects of vaccines while completely ignoring the potential long term effects of covid. There are no examples of vaccines with long term side effects. On the other hand, there are viruses like HPV that despite producing essentially no symptoms cause cancer in the long run. Sars-cov-2 is a new virus. Nobody knows its long term effects. Even asymptomatic covid cases may have damage to their lungs. Given how contagious covid is, the choice really is between covid and the vaccine, and the vaccine definitely looks like the safer choice.
loicd··on Scientist finds early virus sequences that had been mysteriously deleted
I think this is a problem with modal logic. There are important nuances between what is true, what is likely and what is possible. In my experience, people are not good at perceiving those nuances and personal bias often erases them. It can go in one of two ways: (1) It is possible and I like the idea so it is true; (2) It is possible but I do not like the idea so it is false. Now what happens when lots of people indulge in (1) for a particular topic (here the lab leak hypothesis) ? Then you will have lots of "serious" people forcefully pointing out correctly that there is no evidence that this is true, since it is merely a possibility. But since people do not perceive the nuance, they will interpret that as meaning that the "serious" people believe it to be false. When the group indulging in (1) stops monopolizing the conversation, the nuance reemerges and it appears like it becomes a possibility again.
loicd··on 533M Facebook users' phone numbers and personal data have been leaked online
Nice option, but whitelisting is a bit much for me. Amazingly, the iphone still does not have an option to automatically block anonymous calls (those that hide their numbers) and only them.
loicd··on The naked truth about writing a programming language (2014)
Thank you for the links, but I am unconvinced. Your medium link claims that to decide between a function and a variable declaration in the given program, the compiler has to solve an instance of the Post Correspondence Problem (which is undecidable). However, this does not mean that the grammar is not context-free! Context-free languages are closed under union [0] so a context-free grammar (CFG) is perfectly happy with an ambiguity like 'a variable declaration or a function declaration'.

Also, you can use an ambiguous CFG to parse a language: when the parser needs to choose between two productions, you cheat a bit and look at some external context for help. The grammar being used is still context-free though, even though the terminology becomes confusing.

For instance, the ISO C99 standard provides a grammar that is context-free but ambiguous. One of the conflicts involves the `typedef` keyword:

    typedef-name: identifier
    primary-expression: identifier
One way to solve the ambiguity is to look at the symbol table to determine whether the underlying identifier has been declared as a `typedef` previously.

IMO, Walter Bright should talk about "unambiguous grammar" instead of "context-free grammar" when he is criticizing the above situation, because it seems to me to be the proper terminology.

As for C++, I have never implemented a C++ front-end (and I hope I'll never have to). However, it looks like the C++ standard specifies an ambiguous context-free grammar, whose ambiguities must be resolved outside the parser. That solving the ambiguities may require solving instances of the Post Correspondence Problem does not change the fact that the grammar is context-free if it is. On the other hand, I fully expect lots of hidden horrors in that standard, hence my question.

[0] https://en.wikipedia.org/wiki/Context-free_grammar#Closure_p...

loicd··on The naked truth about writing a programming language (2014)
Although the explanation of what you mean by "context-free grammars" is clear, it seems to me that you should be using "unambiguous grammars" instead. An ambiguous context-free grammar is not going to facilitate the job of an IDE. I also think you are mistaken about the C++ grammar not being context-free. The problem is that it is ambiguous. I could be wrong here since I have not kept up with the C++ standards. So can you provide an example of C++ grammar productions you think are not context-free?
loicd··on Why we’re writing machine learning infrastructure in Go, not Python
Thanks for the writing. I had noticed some of the things you wrote but not all (I am not a Go programmer though I keep track of what is happening there). Your post made me look a bit more into 'defer'. I did not expect it to be a source of errors.
loicd··on Why we’re writing machine learning infrastructure in Go, not Python
Out of curiosity, would you share those flaws you have found?
loicd··on Sometimes all functions are continuous (2006)
The result presented in TFA is that all computable functions over the real numbers are continuous. To generalize that to 'all functions are continuous', you not only need to believe that all functions should be computable, which sounds reasonable for a constructivist, but also that all numbers should be real, which is not. Back when I was in academia, I remember a talk by a mathematician who thought that we should all be doing analysis with rational numbers rather than real numbers. With such a perspective, the sign function defined over rational numbers (e.g. presented as a pair numerator, denominator) is both discontinuous at 0 and computable.
← PreviousPage 2 of 2