this post was submitted on 22 Nov 2023
67 points (100.0% liked)
Asklemmy
1454 readers
114 users here now
A loosely moderated place to ask open-ended questions
Search asklemmy ๐
If your post meets the following criteria, it's welcome here!
- Open-ended question
- Not offensive: at this point, we do not have the bandwidth to moderate overtly political discussions. Assume best intent and be excellent to each other.
- Not regarding using or support for Lemmy: context, see the list of support communities and tools for finding communities below
- Not ad nauseam inducing: please make sure it is a question that would be new to most members
- An actual topic of discussion
Looking for support?
Looking for a community?
- Lemmyverse: community search
- sub.rehab: maps old subreddits to fediverse options, marks official as such
- !lemmy411@lemmy.ca: a community for finding communities
~Icon~ ~by~ ~@Double_A@discuss.tchncs.de~
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
There's a detailed description on my home instance, along with other stuff.
The short version is it uses a pair of BJT transistors to produce and amplify diode breakdown noise. That's amplified to TTL levels by some hex inverters. Then an 8-bit microcontroller passes it through a Von Neumann whitewashing algorithm (clock-cycle balanced in assembly language) to produce unbiased bits, which it accumulates into bytes. It's not a 'safe' way to use transistors and they will fail one day, but it will be fine for quite some time still.
Then an ESP32 samples the bytes from the 8-bit MCU. It connects to Wi-Fi and pushes it to the cloud over MQTT. A server listens for the random bytes, and uses them with the traditional I-Ching algorithm (yarrow-stick probabilities). Coding the yarrow-stick probabilities into an algorithm was a pain compared to the newer method that uses coin tosses :D
Also I had to convert the I-Ching to JSON, so I could programmatically pull the correct divination from it. The whole thing is gloriously absurd.
I have build a few particle detectors so I can use quantum-tunneling to produce the entropy instead (so an upgrade from a hardware RNG to a quantum RNG), but the radiation sources I have access to are a bit too weak to generate sufficient entropy.
I can't imagine any of this has any practical application, unless you happen to be a time traveler. In that case have work to do, meet me last week and we'll talk about it :P
Oh incidentally if the bot is down, let me know and I'll gently beat it into submission so it works again.