• 0 Posts
  • 5 Comments
Joined 3 months ago
cake
Cake day: November 30th, 2024

help-circle
  • All libertarian ideologies (including left and right wing anarchism) are anti-social and primitivist.

    It is anti-social because it arises from a hatred of working in a large groups. It’s impossible to have any sort of large-scale institution without having rules that people want to follow, and libertarian ideology arises out of people hating to have to follow rules, i.e. to be a respectable member of society, i.e. they hate society and don’t want to be social. They thus desire very small institutions with limited rules and restrictions. Right-wing libertarians envision a society dominated by small private businesses while left-wing libertarians imagine a society dominated by either small worker-cooperative, communes, or some sort of community council.

    Of course, everyone of all ideologies opposes submitting to hierarchies they find unjust, but hatred of submitting to hierarchies at all is just anti-social, as any society will have rules, people who write the rules, people who enforce the rules. It is necessary for any social institution to function. It is part of being an adult and learning to live in a society to learn to obey the rules, such as traffic rules. Sometimes it is annoying or inconvenient, but you do it because you are a respectable member of society and not a rebellious edgelord who makes things harder on everyone else because they don’t obey basic rules.

    It is primitivist because some institutions simply only work if they are very large. You cannot have something like NASA that builds rocket ships operated by five people. You are going to always need an enormous institution which will have a ton of people, a lot of different levels of command (“hierarchy”), strict rules for everyone to follow, etc. If you tried to “bust up” something like NASA or SpaceX to be small businesses they simply would lose their ability to build rocket ships at all.

    Of course, anarchists don’t mind, they will say, “who cares about rockets? They’re not important.” It reminds me of the old meme that spread around where someone asked anarchists how their tiny communes would be able to organize current massive supply chains in our modern societies and they responded by saying that the supply chain would be reduced to just people growing beans in their backyard and eating it, like a feudal peasant. They won’t even defend that their system could function as well as our modern economy but just says modern marvels of human engineering don’t even matter, because they are ultimately primitivists at heart.

    I never understood the popularity of libertarian and anarchist beliefs in programming circles. We would never have entered the Information Age if we had an anarchism or libertarian system. No matter how much they might pretend these are the ideal systems, they don’t even believe it themselves. If a libertarian has a serious medical illness, they are either going to seek medical help at a public hospital or a corporate hospital. Nobody is going to seek medical help at a “hospital small business” ran out of someone’s garage. We all intuitively and implicitly understand that large swathes of economy that we all take advantage of simply cannot feasibly be ran by small organizations, but libertarians are just in denial.


  • Anarchism thus becomes meaningless as anyone who defends certain hierarchies obviously does so because they believe they are just. Literally everyone on earth is against “unjust hierarchies” at least in their own personal evaluation of said hierarchies. People who support capitalism do so because they believe the exploitative systems it engenders are justifiable and will usually immediately tell you what those justifications are. Sure, you and I might not agree with their argument, but that’s not the point. To say your ideology is to oppose “unjust hierarchies” is to not say anything at all, because even the capitalist, hell, even the fascist would probably agree that they oppose “unjust hierarchies” because in their minds the hierarchies they promote are indeed justified by whatever twisted logic they have in their head.

    Telling me you oppose “unjust hierarchies” thus tells me nothing about what you actually believe, it does not tell me anything at all. It is as vague as saying “I oppose bad things.” It’s a meaningless statement on its own without clarifying what is meant by “bad” in this case. Similarly, “I oppose unjust hierarchies” is meaningless statement without clarifying what qualifies “just” and “unjust,” and once you tell me that, it would make more sense you label you based on your answer to that question. Anarchism thus becomes a meaningless word that tells me nothing about you. For example, you might tell me one unjust hierarchy you want to abolish is prison. It would make more sense for me to call you a prison abolitionist than an anarchist since that term at least carries meaning, and there are plenty of prison abolitionists who don’t identify as anarchist.


  • quantum nature of the randomly generated numbers helped specifically with quantum computer simulations, but based on your reply you clearly just meant that you were using it as a multi-purpose RNG that is free of unwanted correlations between the randomly generated bits

    It is used as the source of entropy for the simulator. Quantum mechanics is random, so to actually get the results you have to sample it. In quantum computing, this typically involves running the same program tens of thousands of times, which are called “shots,” and then forming a distribution of the results. The sampling with the simulator uses the QRNG for the source of entropy, so the sampling results are truly random.

    Out of curiosity, have you found that the card works as well as advertised? I ask because it seems to me that any imprecision in the design and/or manufacture of the card could introduce systematic errors in the quantum measurements that would result in correlations in the sampled bits, so I am curious if you have been able to verify that is not something to be concerned about.

    I have tried several hardware random number generators and usually there is no bias either because they specifically designed it not to have a bias or they have some level of post-processing to remove the bias. If there is a bias, it is possible to remove the bias yourself. There are two methods that I tend to use that depends upon the source of the bias.

    To be “random” simply means each bit is statistically independent of each other bit, not necessarily that the outcome is uniform, i.e. 50% chance of 0 and 50% chance of 1. It can still be considered truly random with a non-uniform distribution, such as 52% chance of 0 and 48% chance of 1, as long as each successive bit is entirely independent of any previous bit, i.e. there is no statistical analysis you could ever perform on the bits to improve your chances of predicting the next one beyond the initial distribution of 52%/48%.

    In the case where it is genuinely random (statistical independence) yet is non-uniform (which we can call nondeterministic bias), you can transform it into a uniform distribution using what is known as a von Neumann extractor. This takes advantage of a simple probability rule for statistically independent data whereby Pr(A)Pr(B)=Pr(B)Pr(A). Let’s say A=0 and B=1, then Pr(0)Pr(1)=Pr(1)Pr(0). That means you can read two bits at a time rather than one and throw out all results that are 00 and 11 and only keep results that are 01 or 10, and then you can map 01 to 0 and 10 to 1. You would then be mathematically guaranteed that the resulting distribution of bits are perfectly uniform with 50% chance of 0 and 50% chance of 1.

    I have used this method to develop my own hardware random number generator that can pull random numbers from the air, by analyzing tiny fluctuations in electrical noise in your environment using an antenna. The problem is that electromagnetic waves are not always hitting the antenna, so there can often be long strings of zeros, so if you set something up like this, you will find your random numbers are massively skewed towards zero (like 95% chance of 0 and 5% chance of 1). However, since each bit still is truly independent of the successive bit, using this method will give you a uniform distribution of 50% 0 and 50% 1.

    Although, one thing to keep in mind is the bigger the skew, the more data you have to throw out. With my own hardware random number generator I built myself that pulls the numbers from the air, it ends up throwing out the vast majority of the data due to the huge bias, so it can be very slow. There are other algorithms which throw out less data but they can be much more mathematically complicated and require far more resources.

    In the cases where it may not be genuinely random because the bias is caused by some imperfection in the design (which we can call deterministic bias), you can still uniformly distribute the bias across all the bits so that not only would be much more difficult to detect the bias, but you will still get uniform results. The way to do this is to take your random number and XOR it with some data set that is non-random but uniform, which you can generate from a pseudorandom number generator like the C’s rand() function.

    This will not improve the quality of the random numbers because, let’s say if it is biased 52% to 48% but you use this method to de-bias it so the distribution is 50% to 50%, if someone can predict the next value of the rand() function that would increase their ability to make a prediction back to 52% to 48%. You can make it more difficult to do so by using a higher quality pseudorandom number generator like using something like AES to generate the pseudorandom numbers. NIST even has standards for this kind of post-processing.

    But ultimately using this method is only obfuscation, making it more and more difficult to discover the deterministic bias by hiding it away more cleverly, but does not truly get rid of it. It’s impossible to take a random data set with some deterministic bias and trulyget rid of the deterministic bias purely through deterministic mathematical transformations,. You can only hide it away very cleverly. Only if the bias is nondeterministic can you get rid of it with a mathematical transformation.

    It is impossible to reduce the quality of the random numbers this way. If the entropy source is truly random and truly non-biased, then XORing it with the C rand() function, despite it being a low-quality pseudorandom number generator, is mathematically guaranteed to still output something truly random and non-biased. So there is never harm in doing this.

    However, in my experience if you find your hardware random number generator is biased (most aren’t), the bias usually isn’t very large. If something is truly random but biased so that there is a 52% chance of 0 and 48% chance of 1, this isn’t enough of a bias to actually cause much issues. You could even use it for something like cryptography and even if someone does figure out the bias, it would not increase their ability to predict keys enough to actually put anything at risk. If you use a cryptographysically secure pseudorandom number generator (CSPRNG) in place of something like C rand(), they will likely not be able to discover the bias in the first place, as these do a very good job at obfuscating the bias to the point that it will likely be undetectable.


  • I’m not sure what you mean by “turning into into a classical random number.” The only point of the card is to make sure that the sampling results from the simulator are truly random, down to a quantum level, and have no deterministic patterns in them. Indeed, actually using quantum optics for this purpose is a bit overkill as there are hardware random number generators which are not quantum-based and produce something good enough for all practical purposes, like Intel Secure Key Technology which is built into most modern x86 CPUs.

    For that reason, my software does allow you to select other hardware random number generators. For example, you can easily get an entire build (including the GPU) that can run simulations of 14 qubits for only a few hundred dollars if you just use the Intel Secure Key Technology option. It also supports a much cheaper device called TrueRNGv3 which is a USB device. It also has an option to use a pseudorandom number generator if you’re not that interested in randomness accuracy, and when using the pseudorandom number generator option it also supports “hidden variables” which really just act as the seed to the pseudorandom number generator.

    For most most practical purpose, no, you do not need this card and it’s definitely overkill. The main reason I even bought it was just because I was adding support for hardware random number generators to my software and I wanted to support a quantum one and so I needed to buy it to actually test it and make sure it works for it. But now I use it regularly for the back-end to my simulator just because I think it is neat.