Corun
Joined 15 years ago
Joined 15 years ago
Take an example sqrt(5819): That's between two powers of two 2^12 = 4096 and 2^13 = 8192. The square roots of those numbers are easy, since you just half the exponent sqrt(4096) = 2^6 = 64
That gives us our initial estimate g for the algorithm from the article. Now we do: b = n / g = 5819 / 64 To do this division in our head we remember that we already know 4096 is 64 x 64. So we just need the remainder (5819 - 4096) / 64 ~= 1700 / 64. Now that's low enough that I can approximate it in my head 64 * 30 is too high by about 3 * 64 so the answer should be around 27 (actual answer 26.5). So b = 64 + 27 = 91
So now we finish the algorithm, sqrt(5819) ~= g + b / 2 = (64 + 91 / 2) = 77.5.
So, how did we do?
The actual sqrt is 76.28, so seems pretty good!
Where is the boundary between responsible and harmless fun?
Perhaps I should be careful not to edit this comment in case someone's test pipeline curls it and checks the content.
Sadly while many people enjoyed it, others were annoyed by it. And the author has now removed it.
I find it hard to relate with people who not only would be annoyed by something like this, but are annoyed about it enough to push their view on the internet to the point that the author feels the need to remove it.
In my view, the best response to those people? Update it to a more recent, or perhaps a more recognisable reference. Perhaps "Rocket Man".
CNC milling machines are at the heart of manufacturing with more than $300B of components produced by them each year. Despite this, their software is in the dark ages. Industrial CNC machine in action: https://www.youtube.com/watch?v=80iIhfjTm5I
We’re researching and applying breakthrough methods to control these machines automatically and more optimally than ever before. We’re looking for experts in C++, 3D graphics and GPGPU acceleration who want to help revolutionise how the things around us are made. From MacBook cases, to jet engine turbines.
Your role will consist of developing novel algorithms to solve real world problems in machining and working with a team to engineer our core product.
The perfect candidate would have:
• Experience working in C++ (11 or newer).
• A strong grasp of 3D maths.
• A solid understanding of computer architecture.
• A strong computer science background.
• Experience in software optimisation.
See: https://angel.co/cloudnc/jobs or email [email protected]
Also you might be interested to know that this is written in C++ and compiled to JS using emscripten and using WebGL.
Also, how good web or search ads are really depends on the economics of your product. If your customers will be paying $60 per year then paying 5$ to acquire them is pretty damn good.
For the moment though, I would focus on getting into real conversations(phone or video) with your customers to understand what they want, how much they’d pay, etc. With so much competition for attention, the days of validating with a landing page may be over.