HackerTrans
TopNewTrendsCommentsPastAskShowJobs

fredilo

no profile record

comments

fredilo
·5개월 전·discuss
> Can't a textual description be infinitely long?

That's a good question. The usual answer is no.

The idea is that every book/description that has ever been written can be seen as string of finite length over a finite alphabet. For example, the PDF of the book is a file, i.e., a string of finite length over the byte-alphabet.

Another way to think about it, that every book/description has to have been written. Writing started some time in the past. Since then a finite amount of time has passed. Assuming one writes one character per second at most, one obtains an upper length on the number of characters in the book. This implies that it is finite in length.

That being said, one way to define the real numbers is to start with infinite sequences of rational numbers. Next, one defines when they converge against the same number. A real number x is then defined as the classes of sequences that converges against x. The set of infinite sequences of rational numbers is uncountable infinite. That's where the cardinality of the real numbers at the end of the day comes from.

The reason I bring this up is because one can view an "infinite sequence of rational numbers" as "infinitely long textual description". So your question really scratches the core of the problem.
fredilo
·5개월 전·discuss
If you say that humanity will end at some point, then yes, there is only a finite number of people. This, however, does not go against my overall argument. In that case, you end up with a finite number of thoughts. That's even smaller than countable infinite and makes the real numbers even weirder.
fredilo
·5개월 전·discuss
The real numbers have some very unreal properties. Especially, their uncountable infinite cardinality is mind boggling.

A person can have a finite number of thoughts in his live. The number of persons that have and will ever live is countably infinite, as they can be arranged in a family tree (graph). This means that the total thoughts that all of mankind ever had and will have is countably infinite. For nearly all real numbers, humankind will never have thought of them.

You can do a similar argument with the subset of real numbers than can be described in any way. With description, I do not just mean writing down digits. Sentences of the form "the limit of sequence X", "the number fulfilling equation Y", etc are also descriptions. There are a countably infinite descriptions, as at the end every description is text, yet there are uncountably many real numbers. This means that nearly no real number can even be described.

I find it hard to consider something "real" when it is not possible to describe most of it. I find equally hard when nearly no real number has been used (thought of) by humankind.

The complex extension of the rational numbers, on the other hand, feel very natural to me when I look at them as vectors in a plane.

I think the main thing people stumble over when grasping complex numbers is the term "number". Colloquially, numbers are used to order stuff. The primary function of the natural numbers is counting after all. We think of numbers as advanced counting, i.e., ordering. The complex "numbers" are not ordered though (in the sense of an ordered field). I really think that calling them "numbers" is therefore a misnomer. Numbers are for counting. Complex "numbers" cannot count, and are thus no numbers. However, they make darn good vectors.
fredilo
·작년·discuss
> The maintainer could just write a wrapper around malloc that crashes on failure and replace all calls with the wrapper. It seems like an easy fix. Because almost no software can run where there is no heap memory so it makes no sense for the program to continue.

So could the reporter of the bug. Alternatively, he could add an `if(is null){crash}` after the malloc. The fix is easy for anyone that has some knowledge of the code base. The reporter has demonstrated this knowledge in finding the issue.

If a useful PR/patch diff was provided with the reporter, I would have expected it to be merged right away.

However, instead of doing the obvious thing to actually solve the issue, the reporter hits the maintainer with this bureaucratic monster:

> We'd like to inform you that we are preparing publications on the discovered vulnerability.

> Our Researchers plan to release the technical research, which will include the description and details of the discovered vulnerability.

> The research will be released after 90 days from the date you were informed of the vulnerability (approx. August 5th, 2025).

> Please answer the following questions:

>

> * When and in what version will you fix the vulnerability described in the Report? (date, version)

> * If it is not possible to release a patch in the next 90 days, then please indicate the expected release date of the patch (month).

> * Please, provide the CVE-ID for the vulnerability that we submitted to you.

>

> In case you have any further questions, please, contact us.

https://gitlab.gnome.org/GNOME/libxml2/-/issues/905#note_243...

The main issue here is really one of tone. The maintainer has been investing his free time to altruistically move the state of software forward and the reporter is too lazy to even type up a tone-adjusted individual message. Would it have been so hard for the reporter to write the following?

> Thank you for your nice library. It is very useful to us! However, we found a minor error that unfortunately might be severely exploitable. Attached is a patch that "fixes" it in an ad-hoc way. If you want to solve the issue in a different way, could we apply the patch first, and then you refactor the solution when you find time? Thanks! Could you give us some insights on when after merging to main/master, the patch will end up in a release? This is important for us to decide whether we need to work with a bleeding edge master version. Thank you again for your time!

Ultimately, it is a very similar message content. However, it feels completely different.

Suppose you are a maintainer without that much motivation left, and you get hit with such a message. You will feel like the reporter is an asshole. (I'm not saying he is one.) Do you really care, if he gets powned via this bug? It takes some character strength on the side of the maintainer to not just leave the issue open out of spite.
fredilo
·2년 전·discuss
What is surprising and what not is always very subjective.

Now that I think more about it, one could argue that everything you can do with inverting radicals can also be done by inverting polynomials. So You could look at radicals as the step after multiplication and at inverting polynomials as the step after radicals. With this may depiction that these are two competing extensions falls apart a bit.

My chain of argumentation was that one could expect that there is a single natural ever growing set of "numbers" starting with the natural numbers, then integers, then rational numbers, then real numbers, culminating in the real complex numbers and ever set is a superset of the previous one. This is the "natural" order in which they are taught in school and somewhat mirrors how they historically were discovered. In retrospect, this is obviously not true. Just look at the existence of rational complex numbers. However, when all you have are natural, integer and rational numbers, it seems like it could be true.

Let me try a different way of explaining why it is surprising to some.

In school, I learned that I can solve quadratic equations by combining the inverse operations of the basic operations that make up the quadratic polynom. This seems natural as it worked for solving the linear equations I had seen so far. Inverse of combination is combination of inverse. At some point the teacher showed the formula for degree three. Cubic radicals appeared. We were overwhelmed by it's size but the basic operations used matched what we expected. The teacher said that degree 4 is even drastically larger with degree 4 radicals and we definitely do not want to see that, which is true. Nothing was said about degree 5 but it felt like it was implied that the pattern continues and the main problem with degree 5 is that our brains are just not able to handle the amount of operations that make up the formula.

Fast forward to university. Now the professor proves in the Galois theory course that, no, it's not that you are too stupid to handle degree 5. It's just that degree 5 cannot be handled this way at all. I am still unsure about whether my teacher in school knew that degree 5 is impossible or just assumed that he too is just too stupid.

I guess this mathematicians must have felt something similar back then. You learn about linear equations. All is easy and works. You learn about quadratics. After mixing in quadratic radicals, all is well again. You try to grasp cubics, and yes, with a lot of work this too can be learned. You think about quartics and after lots and lots of time come to the conclusion that yes it is possible but impossible to master the formula. It feels like the pattern should continue and the reason you don't have a quintic formula with degree 5 radicals is not because it does not exist but because of it's sheer size and just stating it would fill a whole book. Turns out, there is no such book.

Suppose you are a renowned mathematician back then who has failed for years to find a quintic formula. Now this teenager named Évariste comes along and fails too but says that it's not because he's too stupid but because it's impossible. At first, this does sound like an excuse of a lazy student, doesn't it?

Let's say you are not surprised that roots of degree 5 polynoms cannot be computed using just addition, subtraction, multiplication, division, and radicals. Does it surprise you that degree 4 polynoms can? Why does this work for degree 2, 3 and 4 yet fails for 5 and higher? I can see that one can argue that there is no reason to assume that it always works. However, at least learning the fact that it starts failing at degree 5 should be non-intuitive.
fredilo
·2년 전·discuss
> interestingly enough, one of my colleagues thinks very strongly that intuition should not be shared, and the path to intuition should be walked by everyone so that they ´ Make their own mental images ´. I guess that there’s a tradeoff between making things accessible, and deeply understood, but I don’t know what to make of his opinion.

If the objective is to advance mathematics instead of making it accessible, then this is a somewhat reasonable position. The mathematical statements that a person can come up with is often a direct product of their mental image. If everyone has the same image, everyone comes up with similar mathematical statements. For this reason you want to avoid that everyone has the same picture. Forcing everyone to start with a clean canvas increases the chance that there is diversity in the images. Maybe someone finds a new image, that leads to new mathematical statements. At least that's the idea. One could also argue that it just leads to blank canvases everywhere.
fredilo
·2년 전·discuss
Formulated differently, you cannot determine left- and right-handedness but you can determine same-handedness.
fredilo
·2년 전·discuss
I should probably add why I think the motivation is so important here. For pure engineers, numbers are a tool. They ask: What can I build with numbers? Pure mathematicians ask a different question. They are interested in the limits of numbers. They ask: What can I not build with numbers? Studying these two questions is deeply related but also a constant source of frustration for engineers taking math courses designed for mathematicians by mathematicians.

Galois theory, is a theory of "no". It ultimately serves to answer several "Can I build this?" questions with no. This makes it very interesting to pure mathematicians. However, for pure engineers that are looking for numeric machine parts that can be assembled in other useful ways to actually build something... Galois theory can be quite disappointing.
fredilo
·2년 전·discuss
What it states is correct and it gives you a good overview over what you do in a Galois theory course. It does, however, not give you an idea of why this is interesting. When just reading that article one might get the idea that some mathematicians just had too much free time.

I tried to motivate the questions leading to Galois Theory in https://news.ycombinator.com/item?id=41258726 in a way that is hopefully accessible to more down-to-earth programmers and engineers.
fredilo
·2년 전·discuss
The sentence you quote actually gives you the answer to your question but it is not completely obvious why. :)

The complex numbers are essentially the theory of 2D-space. You are asking about 3D-space. The statement that you quoted tells you that you cannot distinguish between up and down in theory.

Now, 2D-space is part of every 3D-space. There are multiple ways to see this. The easiest is to just drop the z-coordinate.

Suppose you could distinguish left-handed and right-handed in 3D-space. In this case, you would have a way to distinguish up and down in the embedded 2D-space. However, you cannot do this distinction in 2D-space and therefore you cannot distinguish left-handed and right-handed in 3D-space.
fredilo
·2년 전·discuss
Superb question! Interestingly, my math professor asked the exact same question after teaching Galois theory and stated that he does not have a good answer himself. Let me try to give sort of an answer. :)

We have fingers. These we can count. This is why we are interested in counting. This is gives us the natural numbers and why we are interested in them. What can we do with natural numbers? Well the basic axioms allow only one thing: Increment them.

Now, it is a natural question to ask what happens when we increment repeatedly. This leads to addition of natural numbers. The next question is to ask is whether we can undo addition. This leads to subtraction. Next, we ask whether all natural numbers can be subtracted. The answer is no. Can we extend the natural numbers such that this is possible? Yes, and in come the integers.

Now, that we have addition. We can ask whether we can repeat it. This leads to multiplication with a natural number. Next, we ask whether we can undo it and get division and rational numbers. We can also ask whether multiplication makes sense when both operands are non-natural.

Now, that we have multiplication, we can ask whether we can repeat it. This gives us the raising to the power of a natural number. Can we undo this? This gives radicals. Can we take the root of any rational number? No, and in come rational field extensions including the complex numbers.

A different train of thought asks what we can do with mixing multiplication and addition. An infinite number of these operations seems strange, so let's just ask what happens when we have finite number. It turns out, no matter how you combine multiplication and addition, you can always rearrange them to get a polynomial. Formulated differently: Every branch-free and loop-free finite program is a polynomial (when disregarding numeric stability). This view as a program is what motivates the study of polynomials.

Now, that we have polynomials, we can ask whether we can undo them. This motivates looking at roots of polynomials.

Now, we have radicals and roots of polynomials. Both motivated independently. It is natural to ask whether both trains of thought lead to the same mathematical object. Galois theory answers this and says no.

This is a somewhat surprising result, because up to now, no matter in which order we asked the questions: Can we repeat? Can we undo? How to enable undo by extension? We always ended up with the same mathematical object. Here this is not the case. This is why the result of Galois theory is so surprising to some.

Slightly off-topic but equally interesting is the question about what happens when we allow loops in our programs with multiplication and addition? i.e. we ask what happens when we mix an infinite number of addition and multiplication. Well, this is somewhat harder to formalize but a natural way to look at it is to say that we have some variable, in the programming sense, that we track in each loop iteration. The values that this variable takes forms a sequence. Now, the question is what will this variable end up being when we iterate very often. This leads to the concept of limit of a sequence.

Sidenote: You can look at the usual mathematical limit notation as a program. The limit sign is the while-condition of the loop and the part that describes the sequence is the body of the loop.

Now that we have limits and rational numbers, we can ask how to extend the rational numbers such that every rational sequence has a limit. This gives us the real numbers.

Now we can ask the question of undoing the limit operation. Here the question is what undoing here actually means. One way to look at it is whether you can find for every limit, i.e., every real number, a multiply-add-loop-program that describes the sequence whose limit was taken. The answer turns out to be no. There is a countable infinite number of programs but uncountably infinite many real numbers. There are way more real numbers than programs. In my opinion this is a way stranger result than that of Galois theory. It turns out, that nearly no real number can be described by a program, or even more generally any textual description. For this reason, in my opinion, real numbers are the strangest construct in all of mathematics.

I hope you found my rambling interesting. I just love to talk about this sort of stuff. :)