He refers to the known floating point rounding error. You should not expect a 'new coder', as he put it, to trully understand floating point rounding errors because to understand it, you need to already be a coder with some experience.
"You should not expect a 'new coder', as he put it, to trully understand..."
Oh, but I do. If you don't understand it, figure it out. If you still don't understand it, ask. If you still don't understand it, sound the alarm, and we'll both sit down and figure it out together. And you will learn it.
But please don't use "newness" as an excuse to leave shit behind. Excellence comes from doing excellently, whatever it takes.
I talk like that because one of my first assignment in College when learning C was exactly a program to calculate change. And the inherent floating point erro causes the said 0.01 difference. I was fresh into C, third, maybe fourth class. You can be sure that no one had the least idea why that happened. Obviously, we all took the easy way out, used integers multiplied by 100 to work around it, but you couldn't expect me to figure out by myself WHY that was happening. This error, and the explanation of why it happened was the introduction to floating point class that we had after we saw it happen. It is just one of those things that you have to see working to understand (like recursion and pointers).
I am always impressed to see how experienced people take a lot of knowledge for granted from others. It is not like you have never 'left shit behind' in your career. I would even daresay that if you pick the code you made six months ago, you will see that it could be improved in a lot of ways. Not because you wanted but because you didn't know better, mostly. This is pratically an axiom in the life of a coder.
Please don't use "experience" as an excuse to diss the hardships of others. We were all there one day.
I am gonna dive in. You can be sure of that. But I disagree with you when you say that there isn't all that much noise.
The are currently hundreds of distros. All of them serve a purpose. There are ones meant for servers, meant for gaming, meant for low-level machines, meant for coding, ones that work only with strict F.O.S.S software, ones that work with software that is commercial, ones that are paid, that offer support, that don't offer support, but there is a community willing to help, others that let you on your own. There are even ones that mimic Windows XP. And NONE that are user-friendly.
Kurumin is a brazilian distro that gets CLOSE to it, but it is quite lacking. Ubuntu is the nearest possible choice, but it is still not there.
Obviously, once you pick your distro, you have to pick your window manager. Ubuntu, Kubuntu or Xubuntu? Or maybe there is only one window manager for your distro, but then that nice application you saw on your friend's house belongs to other and is not supported on yours. And how were you suposed to know?
Once you get past the initial trauma, you will eventually reach the point on when you can make your stuff work on any of them, but do you really expect someone that used Windows all his life and can barely install his printer whose drivers are already bult-in on Windows to really make this jump?
And don't even get me started on the different shells. Everyone likes to pretend that there is only Bash out there, but some distros still swear by the original Bourne. Or even CShell.
I picked ubuntu ignoring the noise because it has a nice package system does everything I want, upgrades nicely. No trauma, I ignore the noise. It has the shell I want, and i can trivially change to another shell should I so desire.
So I stand corrected--there is a lot of noise. But I suggest not letting it bother you. Pick one, say ubuntu and go.
Java and JVM are different beasts, the later is a solid foundation for clojure. I'm not a Java guy at all, never used or learned it but still using clojure with great success and fun.