accdoo.app is a Web App / PWA that help you to crunch some numbers:<p><pre><code> arr.map(BigInt).reduce((a, b) => (a * b) ** 2n)
</code></pre>
The same operation can be performed on any off-the-shelf calculator (or in mind), but this one comes in handy for large numbers without losing its precisions, up to 100,000 digits on Web, 1,000,000 in CLI, configurable from API (npm:accdoo).<p>Aside from the spirit of xkcd/936, it is widely applicable (does not require a dictionary nor an ANSI keyboard) and can be used for things like door locks, vaults, pins, passcodes, entropy seeding, or even root password for password managers (yes, all numeric is fine), etc.<p>Now back to Pi, it is an infinite data source and constant across the universe (base-10), figured would be great to have it chopped freely and then mixed into the calculations above. The Pi is produced on-the-fly, using JavaScript native BigInt and Chudnovsky Algorithm ([wiki]), the code was taken from one of the examples in the QuickJS project ([quickjs/pi], [pi_bigint.js]).<p>The syntax for cutting is the same as in the manual ([accdoo.app/about]):<p><pre><code> pi#6 // take 6 digits of Pi (314_159)
pi#6#3 // take 6 digits of Pi but drop 3 beforehand (159_265)
pi#1#40000 // take one digit at 40,000th
</code></pre>
This is the second Show HN post as its major feature bump, here's the link to its first intro 10 days ago ([39115559]) and a previous sideways on Ask HN 8 days ago ([39138957]).<p>[wiki]: <a href="https://en.wikipedia.org/wiki/Chudnovsky_algorithm" rel="nofollow">https://en.wikipedia.org/wiki/Chudnovsky_algorithm</a><p>[quickjs/pi]: <a href="https://bellard.org/quickjs/pi.html" rel="nofollow">https://bellard.org/quickjs/pi.html</a><p>[pi_bigint.js]: <a href="https://github.com/bellard/quickjs/blob/master/examples/pi_bigint.js">https://github.com/bellard/quickjs/blob/master/examples/pi_b...</a><p>[accdoo.app/about]: <a href="https://accdoo.app/about#manual" rel="nofollow">https://accdoo.app/about#manual</a><p>[39115559]: <a href="https://news.ycombinator.com/item?id=39115559">https://news.ycombinator.com/item?id=39115559</a><p>[39138957]: <a href="https://news.ycombinator.com/item?id=39138957">https://news.ycombinator.com/item?id=39138957</a>