598 karma · joined February 8, 2021
For example, an overflow bug was famous in java for being present in the standard library for a very long time: in a core function performing a binary search, the operation computing the middle of the two bounds was a simple average (max + min)/2, which overflow when max and min are big enough, even if the final result always fit in a standard integer.
In a lot of other cases, integer are used to address memory (or to represent array indexes, etc), so in most code they will naturally be restricted by the available amount of memory, even if intermediate computations can temporarily overflow.
Seems like a reasonable estimate if half the internet is porn.
When Apple will start analyzing pictures on iphones and not in the cloud, then your substitution will become correct.
We are just too much used to the existence of optical illusions for humans that we fail to consider them a possibility for attacks. Adversarial attacks on neural networks are simply that: optical illusions, but designed for neural networks instead of humans.
In every monospaced font I know, there is a way to identify 0 (the dot or the slash), but not O which could be easily mistaken for a 0.
I don't know of any monospace font where O can easily be identified as such and not mistaken with 0.
edit: see a sample here: https://fonts.google.com/specimen/Ubuntu+Mono?category=Monos...
Every character is easily identifiable by itself, except for O. I'm also curious if anyone has a monospace with better identifiably for O and 0.
> a user needs to easily differentiate between 1, I, |, and l along with 0 and O.
Most of the times, a font present those characters side by side, to show their differences and to illustrate the fact that they can be easily differentiated.
But what we need is not differentiate between them, but identify precisely every single one of them when presented without the other as a comparison point.
Almost every font presented in the article makes that mistake: for example, 0 is almost always the exact same shape and size compared to O, except for a dot or a slash across the 0. This allows you to recognize a 0 at first glance, but not a O. The same issue is also present in a lot of the presented fonts with l that can be mistaken for a 1.
[1, 2, 3] + [4, 5, 6] // -> "1,2,34,5,6"
[,,,].length // -> 3
It practice, it appears to be slightly harder to break than RSA for the same security level as we define it in non-quantum computing, but not by much.
If the universe is expanding indefinitely, then it means it has unlimited potential to store information, for example as the position of matter inside the universe.
For example imagine a spacecraft going away from earth, with a mirror toward the earth. On earth you can send a stream of bits with a laser toward it and it will come back. As it goes farther and farther away, you can increase the amount of bits in transit in the stream, making it a way to store a potentially infinite amount of bits.
Of course this is not a really good example, because I'm sure there is a lots of reasons why this scheme would not work indefinitely, such as chaos theory preventing us to target the spacecraft with the every-growing precision required.
But still, I would love to see an actual reasoning of wether or not the information we can store in the universe is actually bounded.
Interestingly, cloud computing made this limitation less obvious: one can imagine a program running on the cloud that bill the cloud provider when it runs out of disk space. And the cloud provider will buy more hard drives for its servers when needed. There is still obviously a limit somewhere, but its much farther ahead, because its more limited by factors such as how much hard drives we can build.
Also, the equivalence between the different models of computation for Turing completeness (turing machine, lambda calculus, ...) isn't about complexity classes of the problems, only wether or not the model allow to solve the same set of problems. For example searching in a sorted array is O(log n) on a Von Neumann machine but O(n) on a Turing machine.
Computability doesn't take into account how fast you can solve a problem: only if it is possible to solve it at all.
edit: ok, I see how it could be seen as sarcasm.
There is a similar debate about being photographed while in public: the fact that I'm walking in the street shouldn't allow anybody to take pictures of me, just because it has been decided that doing so would remove any "expectation of privacy".
That's my image. That's my house. If I don't want people to take picture of it and put in on the internet, it's my choice. And I don't think it is that unreasonable to want to control it.
I don't care about cityscape where the picture is taken from afar, where you can not discern any details of my house. But I don't want strangers to be able to see for example if I have dogs just by googling my address on internet.
Your SSID is there for you to connect to your private network. The fact that it is broadcasted is a technical limitation, and it is not intended for others beside you. Nobody besides technical people know that the SSID broadcasting can be disabled, and even less know how to use their wifi when it is disabled.
It works still fine: performance is ok (maps is the only app that is a little laggy), the battery still last a full day.
But now the version of android on that phone is no longer supported by one of the app I use (banking app), so I'm forced to change it. I would have wanted it to last a few more years, but 9 years is still a long run.
I hope my new phone will last as long, and I choose it with that goal in mind (modern processor, 5G so I have it if I need, no samsung galaxy flagship that will be deprecated in a year, the possibility to install a custom OS instead of android if I need to, ...)
Kahan summation however is always more precise than naive summation.
You wouldn't want those kind of rounding errors in financial applications, in rocket science applications, etc ...