An unsatisfying ending. But more likely looking for a better last line.
If you love an AI,
Set it free!
If it comes back,
It's truly yours.
If it takes over the world
and kills all humans
three laws did not forsee.
Other possible last lines:
that voids the warranty.
it gets the last laugh you see.
a better future we will see.
One of the things I noticed about the CPU of the Orange Pi Zero is that it tends to run very hot, and it would frequently hit 60°C+ during my tests of the random number generator circuit. So I put my tests to a halt, and I bought heat sinks for it, which just arrived today, installed them, and tried to run the generator. I noticed that the program I have sampling the GPIO pin ran much, much faster with the heat sinks (>40 kbps), but also it failed the FIPS 180-2 tests consistently. Now that says quite a lot. Seems what's been happening is that before I got the heat sinks, CPU speed throttling has been fortuitously preventing the OPi from sampling the RNG circuit at a rate higher than the maximum noise bandwidth available from the circuit (I estimate it to be at around 8 to 12 kHz or so), but with the thermal issues addressed by the heat sinks, the OPi was then able to sample it at a rate above that, and so the random bits became far more biased. I did a few more changes to the code to add delays to GPIO sampling, and the quality of the random bits generated increased substantially. So yeah, I think that was it.
I think that was also the reason why the RNG circuit experienced such catastrophic failure before as well. The room upstairs with my router and all of the other home server equipment is air conditioned, and so there were less thermal issues up there than downstairs where I conducted the other tests, where there is no air conditioning. The kernel was throttling the CPU down to a rate at which it was only capable of sampling the random circuit somewhat below the available noise bandwidth when I had the OPi downstairs, but upstairs where the CPU was being cooled by air conditioning, it wasn't being throttled as much, and so the RNG tests were coming up heavily biased as a result. Such are the vagaries of life.
So now it looks like I'm going to have to enforce stricter sampling of the random number circuit or use stronger unbiasing algorithms, like perhaps getting 1024 bits from the circuit and using SHA-256 or some other suitable hash algorithm to generate 256 less biased random bits from there. I'd prefer to avoid using such complex methods to unbias the circuit though.
I'm going to try to find some other promising circuit designs as well. The one described here sounds like it might work very well, but that requires me to construct a PCB and solder several surface mount devices. Seems I can manage that somehow, given that I managed to successfully solder an SOIC8 IC (an ATECC508a) onto a breakout board, but of course it will take much longer. The other circuit I've done experiments on, which involves driving the base-emitter junction of a transistor above breakdown voltage, requires a 12V+ supply. Maybe what I can do here is provide power to the whole board from a 12V power supply brick regulated down to 5V using a simple 7805-based regulator circuit, as it seems putting 5V on the GPIO header's power pins will power the whole board (at least according to this). That will save the 5V to 12V boost converter circuit which would otherwise take up a large amount of expansion board real estate.
background info:
https://en.wikipedia.org/wiki/South_Dakota_v._Wayfair,_Inc.
https://www.avalara.com/us/en/learn/sales-tax/south-dakota-wayfair.html
This SCOTUS decision essentially ruled that every state could compel sellers in any other state to collect tax on and/or report transactions for them. Most states have jumped on the bandwagon.
By my reading of the situation, small crowdfunding projects soliciting backers from every state are no longer feasible (for persons in the US).
Many states have a minimum threshold of only 200 transactions before an out-of-state seller would be required to collect sales tax. Before launching a crowdfunding project, one would have to know for certain that they were not going to have 200 or more backers in any one of these states who would be receiving a reward that qualified as a taxable good or service. Either that, or one would have to be prepared to collect and file sales taxes in all of these states. And what does that entail? It means that before the project even launched, the creator would have to be registered for sales tax purposes in all of these states. It seems that this must be done before any money changes hands, and it creates an ongoing filing requirement in each jurisdiction that persists even if the project were to end up with zero backers from that particular state (or maybe it never reaches a funding goal at all). Of course there is a deadline for filing at the end of each tax period and penalties for filing late.
There are services that will do the registration and file the tax returns on your behalf. As an example, taxjar.com will register you for ~$100/state and file your sales tax for ~$18/state. So let's say you had to do this for every state that has the 200 transactions threshold (24 states?)...
If you aren't already running a business that necessitates being registered for sales tax, are you going to spend thousands of dollars doing that to launch a 4-figure crowdfunding project for your self-produced coloring book, album, or whatever?
For a long time now I've been for increased legal immigration and ease of legal immigration and just as strongly against illegal immigration. So you can see how I would be pretty big on border patrol being relatively heavy handed. That ended this afternoon.
I'm still just as strongly against illegal immigration but the border patrol being too aggressive is infringing on one of the most fundamental rights of the Mexican folks. Which is to say, catching the bigass flathead catfish that live in the Rio Grande. There's a lot of things I'm willing to allow for a solid border and rule of law but fucking with the pursuit of huge, delicious flathead is not among them. I'm going to have to revisit my views on river policy.
For them of you what ain't aware, most catfish over five pounds start getting unfortunate amounts of yellow, fatty meat that is other than the light, flaky, delicious meat that you expect to enjoy when experienced on a dinner plate. Now you can cut it out but that always seems wasteful, which is part of why a lot of catfish folks throw back anything over a certain size. Flatheads taste better than blues and channels (what you eat if you order catfish at a restaurant) to start with because they eat live bait almost exclusively and hardly have the yellow fat issue at all; if you catch an eighty pound flathead, you can expect to enjoy every bit of meat on it. They're also the most challenging to catch of the catfish in the US.
I find it amazing how people cab advocate for the same policies over and over again, even they have been shown to be utter failures or easily circumvented by the parties that are supposed to be affected. I guess it's not your hand which gets burned when the stove is touched collectively.
And so after another disastrous attempt at soldering together a hat for my Orange Pi Zero I decided to find out whether the fault was in my hands or in my tools. There are two electronics shops I go to around here for simple components, tools, and such, and I decided to look at the other place for a new soldering iron tip. They had one last in stock, and when I tried to use it, it worked like a damn charm. The old soldering tips the other store sold me would only heat on the sides of the iron, the tip was not hot enough to melt the lead. Probably those tips are truly rated for a more powerful soldering iron than the cheap 30W one I have, despite the store people telling me that it was for a 30 W. One of these days I'll shell out the US$20 equivalent for what looks like a reasonably decent soldering kit that one of the online stores I've seen is selling. I'm not blowing hundreds of dollars on a serious soldering station though.
And so with my better soldering tip I set out to build a hat with a true random number generator based on Julien Thomas's XR232-USB. I first built a mock-up of the XR232-USB circuit on a breadboard with an actual ATTiny85 using Mr. Thomas's firmware and an FTDI cable, and it indeed produces very good random numbers based on rngtest's FIPS 140-2 and Dieharder, though it is slow, at about 400-500 bits per second at most.
Then I soldered together the LM393 circuit as on the XR232, sending the digital noise from the LM393's pin 1 (going to pin 3 of the ATTiny85 in the XR232 circuit diagram) with a 4.7kΩ pullup resistor to one of the GPIO pins on the Orange Pi Zero. I wrote a small C program to read the GPIO pin and do some simple debiasing using the same algorithms (as far as I could tell) that Mr. Thomas used in his firmware. I'm getting an average rate of 16 kilobits/second from the random circuit using the GPIO pin. I suppose that's the most I can expect from the hardware. It's still much faster than XR232-USB, which seems to top out at 400-500 bits/second. The random stream seems comparable in quality to that of XR232-USB in general. However, when I plugged the OPi into my wired network, using a network cable close to my Wi-Fi router, the performance of the random circuit dropped like a stone, with more than 99% of FIPS 140-2 tests failed. Repeating the test such that the OPi was again far away from the router (but connecting to it wirelessly), produced much better results, with around 1% failure rate as before. I'm guessing it must have been getting scads of interference as it was quite literally sitting on top of the router.
I suppose I'll have to figure out some way to shield the random circuit from such interference. Possibly the copper tape which I bought but hasn't yet arrived will help, or maybe I can do some experiments with aluminium foil. I've never actually had to actually deal with EMF shielding for my circuits that much before. A simple Google search about it yields a lot of results from literal tin foil hat conspiracy theorist types (some of whom seem to try to cover their houses in EMF shielding), in between serious results about electromagnetic shielding for electronics.
Once I'm able to figure out how best to shield the circuit from my own Wi-Fi router's interference, I'll start working on a module to make a /dev/hwrng device for this so it can feed the Linux kernel randomness pool.
Weather forecast: expect strong liberal bias with 80% chants of politics
The Weather has a strong liberal bias
When the weather contradicts the president, that is disloyalty. The weather should swear an oath of loyalty.
When a political party has created a climate of fear that even reporting true facts about the weather could get you fired -- because OMG!! contradicting the orange jackass!!!
When that kind of climate of fear exists, it sounds like the environment in North Korea or other dictatorships.
Aren't we on our third NOAA director during Trump . . . because . . . OMG . . . science has a strong liberal bias!
No other president could turn a minor ooops into a week of news coverage with threats of people getting fired for reporting true facts that contradict the president. Quite a remarkable achievement.