I was going to write a question asking if reduce is the thing I know as accumulate (I think I picked this up from SICP). But then I went to wikipedia, and it seems that an even more common name is fold.
Here's a hypothesis: The fact that the same operation has half a dozen different names makes it sound like there is a lot to learn. If I am totally familiar with fold, and i come upon a reduce, I may need to think more about what's going on, which is distracting.
I don't think map and filter have so many synonyms? I know select for filter, but it seems to me less common.
And in some contexts you have the subtle distinction that fold is linear and reduce requires an associative operation and an identity element (aka a monoid)
Mathematicians and computer scientists will also say
"for all" / "there exists" instead of "every" / "there's at least one"
"let" as an imperative for establishing facts
"fix" for choosing a value
"given" instead of "if"
"modulo" instead of "except for"
"if, and only if," when the occasion warrants it
"implies" instead of "means"
"trivial" without intending to be mean
"yes" when asked an "or" question
"transitively"
"by symmetry"
"it follows"
"canonical"
It's a lovely, concise language.
You can say a lot with few words when you have rich definitions.
When I started playing (2011-ish), I suppose I was the counterparty to your playstyle. But that was the appeal: Being in actual danger and at risk for loss. Even stuff like moving an industrial with goods from highsec to npc null to sell at a markup was an exhilerating adventure. And if there is risk, sometimes you lose.
I don't know how many people felt like I did, versus how many ragequit the game.
After some years I became a wormholer though, and finally a permanent -10 lowsec pirate in the end. It's been a decade since I quit now.
That's the bizarre thing about this hn discussion... A lot of people referencing rooted phones, but to the best of my knowledge GrapheneOS is almost never rooted?
There's only root if people make a userdebug build with user-accessible root or make a derivative of GrapheneOS with major modifications. The production builds don't have uncontained root since it would greatly roll back the security model. Only a few core processes run as a limited subset of root.
I think your latter comment is kind of analogous to people writing python (or any high-level language) without understanding assembly. I think maybe that reduces the mystery a bit?
Experimental multithreading was added in 2023 https://www.bay12forums.com/smf/index.php?topic=181776
I'm not sure if it's improved since then. Performance doesn't seem to be a priority for Tarn. It's kind of unfortunate, since I think DF would be an interesting problem space for optimizations, similar to Factorio, and it really needs it.
The reason I started with vim was to do live writing of latex notes while listening to conference lectures, on a small notebook. I did not want to bring a mouse with me due to the extra weight and usually lack of a mouse surface.
With the constraint that you simply don't have a mouse available, vim turned out to be faster from day 1 than alternative editors. Even knowing just a couple of vim movements.
The numbers you mentioned are computable numbers. Constructivists and intuitionists have no problem with them, generally. The problem is that there is only a countable number of computable reals, so what do we do about all the other reals? The ones that nobody will give an example of because it is simply not possible to do so, which is to say, the vast majority of reals?
Does it exist if it is impossible to show an example? Only if "exist" is interpreted to mean "you cannot deduce a contradiction from assuming them", which is a logically consistent position. But if you mean "they are in some sense actually there", in some describable way, then it's muddier. And you can build a logically consistent position from declaring "they are not there" as well. Precisely because no counterexample can be produced.
And then there's ultrafinitists, and yeah, they are a bit bonkers.
They are in a very meaningful sense actually there. If I draw a curve I want the line not to have holes in it, and they have to be there for that to be true.
More importantly, a function is its graph so if I want my functions to be continuous I need them to be there.
No matter how small you go, between every two real numbers is a computable number, and between every two computable numbers is a real number that's not computable. If you restricted yourself to computable numbers, are you sure there are any holes in your graphs and functions? Can you point to or name one?
I understand the point about density and I'm fine with the concept of functions being continuous over a restricted domain (eg the rationals even) but if I draw a line and label one end 0 and one end 1 then I have plotted the set of all numbers in that interval, not just the ones we find computationally convenient.
The historical context about the constructivist movement is that it was a religiously-inspired objection to the work of Cantor, who some random bishop said was challenging God with his work on transfinite numbers because God owned infinity. I just find it weird that now people try to pretend that it's somehow more rigorous when really it's just an alternative axiomatic perspective that started in this shonky way and has grown to a point where it's just about respectable.
I can't speak to the religious bits or history. That's certainly not my motivation for thinking about this stuff. It's not about computational convenience either. Both of those seem like strawmen, but maybe they're relevant to other people.
The problem to me is that the Reals which aren't computable are absurd. We've never used any of them in all history. We can only put names on a very special few, those are countable, and we don't even know their value very well.
And the main way we prove that the Reals are uncountable is to use a proof by contradiction. It would take too long to spell it out, but they aren't really just contradicting "Reals are Countable". It's "All that other stuff we think is true AND Reals are Countable" that gets contradicted.
Once you accept the Reals, the Axiom of Choice is not simply obvious any more. And if you go down that path you get things like the Banach-Tarski paradox. To me THAT ought to be a proof by contradiction that we've made a mistake somewhere.
More interesting than that though: If the universe we live in requires non-computable Reals to describe it carefully, then it says something very weird about determinism. In order to compute a future state of a system, we need to use numbers we can't compute?!?
You just used them yourself in your previous post to make your argument that computable numbers are dense in incomputable numbers.[1] So presumably that makes you the first person in all of maths history to use them. Congratulations I guess? The other possibility is they get used a lot and we just don’t make a fuss about it because most of the time it’s exactly like you used them - to express an argument where it doesn’t matter whether they are computable or not.
I have no idea why you think they are absurd but as I say it’s an alternative axiomatic perspective. It just makes a huge amount of maths very inconvenient without really yielding (as far as I can see) much of anything.
I don’t have a perspective on your questions about the universe. Non-computable numbers don’t really trouble my world view. We invented the calculus and the language of continuous functions which gave rise to the rigorous construction of the real numbers precisely to better describe the universe, so it seems that they are pretty useful in that context.
[1] Which is interesting right, because this is a trivial argument in the sense that in standard first year analysis you learn that the rationals are dense in the irrationals and rationals are obviously computable so it must be that rationals are dense in the non-computable numbers. But this is a very basic argument that we can only make because we permit the Reals to be complete. It’s not possible to express the argument in the restriction to computable numbers because there is no ambient space outside the computable numbers for them to be dense into.
> And the main way we prove that the Reals are uncountable is to use a proof by contradiction. It would take too long to spell it out, but they aren't really just contradicting "Reals are Countable". It's "All that other stuff we think is true AND Reals are Countable" that gets contradicted.
Btw that's not true. Cantor's diagonal argument isn't a proof by contradiction, it's a purely constructive argument. The way he made it in his original paper is a bit more technical than this but this is the "modern" version that's a bit easier to put into layman's terms.
Say you say you can construct a (countably finite) list containing all the real numbers. I say I don't care how you made your list I can give you a number that's not on it, and in fact cut your list down to just numbers between 0 and 1. If you have all the real numbers you must have all the numbers between 0 and 1, but even if you make a countably infinite list of numbers between 0 and 1 I'll give you a procedure that will construct a number that's not on your list no matter how you made it.
1) Read the first number on your list. If it has 1 in the first decimal place, make the first decimal place of my number a two otherwise make it a 1.
2) Read the second number on your list. If it has 1 in the second decimal place, make the second decimal place of my number a two otherwise make it a 1.
....
Proceed in that manner.
At the n-th step I read the n-th number on your list. If it has 1 in the n-th decimal place make the n-th decimal place of my number a 2 otherwise make it a 1.
Now: My number is clearly nowhere on your list as it differs at in least one decimal place from every number on your list.
Therefore it is not possible to construct a countably infinite list of real numbers.
reply