this post was submitted on 17 Jul 2024
9 points (100.0% liked)

Programmer Humor

35334 readers
1 users here now

Post funny things about programming here! (Or just rant about your favourite programming language.)

Rules:

founded 6 years ago
MODERATORS
all 49 comments
sorted by: hot top controversial new old
[–] Thorry84@feddit.nl 7 points 1 year ago (2 children)

Including relevant XKCD as demanded by internet law: https://xkcd.com/10/

[–] CanadaPlus@lemmy.sdf.org 4 points 1 year ago

Oooh, a rare two-digit.

[–] biscuitswalrus@aussie.zone 1 points 1 year ago (1 children)

Eating the onion is sure popular today!

[–] rain_worl@lemmy.world 0 points 11 months ago

they didn't?

[–] ILikeBoobies@lemmy.ca 3 points 1 year ago

“I may be a staunch atheist,” said Richard Stallman, creator of the GNU + Linux operating system and self-proclaimed architect of the modern world, “but any decent analysis in comparative religion would conclude that the universe is a copyleft creation, thereby pi should automatically fall under the terms of the GNUv3 license.”

Lol, he would actually say that

[–] the_beber@lemm.ee 2 points 1 year ago

This just in: Measurements are now limited to ~3M decimals.

Science is ruined!

[–] livingcoder@programming.dev 1 points 1 year ago* (last edited 1 year ago) (7 children)

Is there an algorithm or number such that we could basically pirate data from it by saying "start digit 9,031,643,679 with length 5,345,109 is an MP4 of Shrek"? Something that we could calculate in a day or less?

[–] nova_ad_vitum@lemmy.ca 4 points 1 year ago

Similarly: if you write a program to randomly run through all the combinations of pixels on a decently large screen (say, 1080p) you will eventually see every important question and answer that can be expressed on a screen.

[–] apex32@lemmy.world 3 points 1 year ago (1 children)

An example I found: the string of digits 0123456789 occurs at position 17387594880. In this case, it took 11 digits to describe where to find a 10-digit number.

So I think such an algorithm would technically work, but your "start digit" would be so large it would use more data than just sending the raw file data. Not to mention the impossible amount of computing power needed.

[–] livingcoder@programming.dev 0 points 1 year ago

What if instead we utilized an algorithm, some code, that would ultimately generate the file? I could imagine a program that generates a number which ultimately is more dense than the program. For example, if we just-so-happened to need a million digits of Pi the program would be shorter than the number. Is there a way to tailor an algorithm to collapse down to any number? As an example, what if we needed a million digits of Pi but the last 10 digits need to be all 9s?

[–] AVincentInSpace@pawb.social 3 points 1 year ago (1 children)

The short answer is no, and even if we could, the digit index you'd start at would have a larger binary representation than the actual data you were trying to encode.

[–] skulblaka@sh.itjust.works 2 points 1 year ago (1 children)

Could we already do this by leveraging the Library of Babel?

Genuinely asking, I'm not really sure.

[–] rain_worl@lemmy.world 0 points 1 year ago

you can bookmark(?) pages

[–] mlg@lemmy.world 1 points 1 year ago (1 children)

I think if you can ridiculously compress the size down then maybe lol.

[–] livingcoder@programming.dev 1 points 1 year ago

Do you happen to know of any good algorithms or numbers? Pi gets harder to calculate with each digit, so it's not a great candidate.

[–] WolfLink@sh.itjust.works 1 points 1 year ago

Conceptually this is basically just standard encryption: some math that spits out gibberish unless you have the info to make that gibberish become something useful.

[–] kibiz0r@midwest.social 1 points 1 year ago

Microsoft sues the Library of Babel

[–] Semi_Hemi_Demigod@lemmy.world 1 points 1 year ago (2 children)

If pi is truly infinite, then it contains all the works of Shakespeare, every version of Windows, and this comment I'm typing right now.

[–] driving_crooner@lemmy.eco.br 7 points 1 year ago (3 children)

That's not how it's works. Being "infinite" is not enough, the number 1.110100100010000... is "infinite", without repeating patterns and dosen't have other digits that 1 or 0.

[–] fubbernuckin@lemmy.world 1 points 1 year ago (2 children)

If it's infinite without repeating patterns then it just contain all patterns, no? Eh i guess that's not how that works, is it? Half of all patterns is still infinity.

[–] driving_crooner@lemmy.eco.br 1 points 1 year ago

Not, the example I gave have infinite decimals who doesn't repeat and don't contain any patterns.

What people think about when said that pi contain all patters, is in normal numbers. Pi is believed to be normal, but haven't been proven yet.

An easy example of a number who contains "all patterns" is 0.12345678910111213...

[–] OhNoMoreLemmy@lemmy.ml 1 points 1 year ago (2 children)

No. 1011001110001111... (One 1, one 0, two 1s, two zeros....) Doesn't contain repeating patterns. It also doesn't contain any patterns with '2' in it.

But pi is believed to be normal. https://en.m.wikipedia.org/wiki/Normal_number

So it should contain all finite patterns an infinite number of times.

[–] Ultraviolet@lemmy.world 2 points 1 year ago

However, as the name implies, this is nothing special about pi. Almost all numbers have this property. If anything, it's the integers that we should be finding weird, like you mean to tell me that every single digit after the decimal point is a zero? No matter how far you go, just zeroes forever?

[–] kn0wmad1c@programming.dev 1 points 1 year ago (1 children)

Yeah, but your number doesn't fit pi. It may not have a pattern, but it's predictable and deterministic.

[–] OhNoMoreLemmy@lemmy.ml 1 points 1 year ago (1 children)

Pi is predictable and deterministic.

Computer programs exist that can tell you what the next digit is. That means it's deterministic, and running the program will give you a prediction for each digit (within the memory constraints of your computer).

The fact that it's deterministic is exactly why pi is interesting. If it was random it would typically be much easier to prove properties about it's digits.

[–] kn0wmad1c@programming.dev 0 points 1 year ago* (last edited 1 year ago) (1 children)

There's no way to predict what the next unsolved pi digit will be just by looking at what came before it. It's neither predictable nor deterministic. The very existence of calculations to get the next digit supports that.

Note: I'm not saying Pi is random. Again, the calculations support the general non-randomness of it. It is possible to be unpredictable, undeterministic, and completely logical.

Note Note: I don't know everything. For all I know, we're in a simulation and we'll eventually hit the floating point limit of pi and underflow the universe. I just wanted to point out that your example doesn't quite fit with pi.

[–] Tlaloc_Temporal@lemmy.ca 1 points 1 year ago (1 children)

π isn't deterministic? How do you figure that? If two people calculate π they get different answers?

What π is, is fully determined by it's definition and the geometry of a circle.

Also, unpredictable? Difficult to predict, sure. Unpredictable by simple methods, sure. But fully impossible to predict at all?

[–] kn0wmad1c@programming.dev 0 points 1 year ago (1 children)

As I said, you can't predict the next number simply based upon the set of numbers that came before. You have to calculate it, and that calculation can be so complex that it takes insane amounts of energy to do it.

Also, I think I was thinking of the philisophical definition of "deterministic" when I was using it earlier. That doesn't really apply to pi... unless we really do live in a simulation.

[–] Tlaloc_Temporal@lemmy.ca 1 points 1 year ago (1 children)

This might just be my computer-focused life talking, but I've never heard of deterministic meaning anything but non-random. At best philosophic determinism is about free will and the existence of true randomness, but that just seems like sacred consciousness.

I also don't know why predictability would be solely based on the numbers that came before. Election predictions are heavily based on polling data, and any good CEO will prepare for coming policy changes, so why ignore context here? If that's a specific definition in math then fair enough, but that's not a good argument for or against the existence of arbitrary strings in some numbers. Difficult is a far cry from impossible.

[–] kn0wmad1c@programming.dev 0 points 1 year ago* (last edited 1 year ago) (1 children)

This might just be my computer-focused life talking

I'm a software eng too, but I have broad interests. Like I said, the philosophic use doesn't really have a place in this discussion and I messed up by bringing it in. The only way it would be relevant is if the universe is a simulation because, as you guessed, then free will itself becomes part of the equation.

I also don’t know why predictability would be solely based on the numbers that came before

There's a miscommunication happening here, and I'm wondering if I'm not explaining myself well. Election predictions use polling as their dataset, and there are no calculations that really go into predicting the results other than comparing the numbers within those sets. That's why they're notoriously garbage (every single pollster had Hillary winning in late October 2016, for example). Also, there aren't any calculations that go into a CEO/Boardroom's intuitions on how shareholders will react to policy changes, so I'm not sure about the relevance here. In the case of pi, there is no dataset that you can use that tells you what the next unknown number in pi is. The only way to get that number is to run a very complex calculation. Calculations are not predictions.

[–] Tlaloc_Temporal@lemmy.ca 1 points 1 year ago

If a new government makes it known that they'll increase tariffs, any company dealing with international trade can prepare for increased costs sooner. Or even better, if there's a movement for emissions regulations, they can get lobbyists and lawyers to find or add loopholes nice and early, long before cars would actually need to be more efficient.

Anyway, the miscommunication here seems to be what you mean by nondeterministic and unpredictable. We've been through deterministic, and that doesn't perclude unpredictable.

For example, cryptographic hashes are completely deterministic yet impossible to predict. The determinism allows easily checking for the correct string, but the unpredictability makes guessing the correct string impossible beyond brute force. Yet if a security protocol used π to seed it's hashes, it would be way more predictable than most methods. Even if your psudorandom table is indistinguishable from noise, if the table is known the whole system can be cracked relatively easily. Thus π would make that method predictable.

Now you could mean that each character or string says very little about each other character or string, but that's a different claim; that you can't predict one part of the number using another part. For example, if you say the code to your luggage is a five digit string starting at the 49702nd digit of π, that's easy to lookup. But no amount of digits will help you figure out that this string really is from π and not something else. I'd call that chaotic rather than unpredictable, as unpredictable makes me think of probability more than calculability. π is found in so many places that many sci-fi stories use it in first contact scenarios, alongside e, the hydrogen line, Fibonacci numbers, and c or sometimes hbar. Dependable is hardly unpredictable.

If we go back to your original reason for describing the predictability of some numbers, we find a simple nonrepeating number (101100111000... let's call it b for binary) and π. With b, any string can at least narrow down it's location in the number, and if a string contains both 10 and 01 we can positively fix it's location, even to a place that no one has calculated before. This is impossible with π, we can positively rule out many positions, but no position can be confirmed for any string, and any string may appear further in the digits as well, giving multiple possible positions for any string.

However we can still compute π, and thus can know (even better than predict!) any arbitrarily precise digit in finite time. There are numbers where that's not possible, so-called non-computable numbers (For example). This number cannot to computed in finite time, only approximated. This sounds more unpredictable.

Predictability could be seen as a function of the ease of calculability, especially when time is a limited resource, but why not just say that π is more complex to predict than b, or that the existence of b doesn't disprove that π can contain all finite strings? That was the original issue after all.

Sorry, TL;DR, I don't think unpredictable is a good word to use outside of probability, and even so an easily predictable number is enough to prove that not all irrational numbers are normal numbers (not all numbers with infinite digits contain all finite strings).

[–] HatchetHaro@lemmy.blahaj.zone 1 points 1 year ago* (last edited 1 year ago) (2 children)

to be fair, though, 1 and 0 are just binary representations of values, same as decimal and hexadecimal. within your example, we'd absolutely find the entire works of shakespeare encoded in ascii, unicode, and lcd pixel format with each letter arranged in 3x5 grids.

[–] driving_crooner@lemmy.eco.br 5 points 1 year ago (2 children)

Doesn't, the binary pattern 10101010 dosen't exists on that number, for example.

[–] leverage@lemdro.id 2 points 1 year ago (1 children)

You can encode base 2 as base 10, I don't think anyone is saying it exists in binary form.

[–] twei@discuss.tchncs.de 1 points 1 year ago

Well it's infinite so it has to I guess

[–] TdotMatrix@lemmy.ml 1 points 1 year ago

Does this count:

[–] CanadaPlus@lemmy.sdf.org 2 points 1 year ago* (last edited 1 year ago)

Actually, there'd only be single pixels past digit 225 in the last example, if I understand you correctly.

If we can choose encoding, we can "cheat" by effectively embedding whatever we want to find in the encoding. The existence of every substring in a one of a set of ordinary encodings might not even be a weaker property than a fixed encoding, though, because infinities can be like that.

[–] LodeMike@lemmy.today 0 points 1 year ago (1 children)

Yes that's why they specified pi.

[–] kogasa@programming.dev 0 points 1 year ago (1 children)

Still not enough, or at least pi is not known to have this property. You need the number to be "normal" (or a slightly weaker property) which turns out to be hard to prove about most numbers.

[–] CanadaPlus@lemmy.sdf.org 0 points 1 year ago* (last edited 1 year ago) (1 children)

Wikipedia for normal numbers, and for disjunctive sequences, which is the slightly weaker property mentioned.

[–] barsquid@lemmy.world 0 points 1 year ago (1 children)

"Nearly all real numbers are normal (basically no real numbers are not normal), but we're only aware of a few. This one literally non-computable one for sure. Maybe sqrt(2)."

Gotta love it.

[–] CanadaPlus@lemmy.sdf.org 2 points 1 year ago* (last edited 1 year ago)

We're so used to dealing with real numbers it's easy to forget they're terrible. These puppies are a particularly egregious example I like to point to - functions that preserve addition but literally black out the entire x-y plane when plotted. On rational numbers all additive functions are automatically linear, of the form mx+n. There's no nice in-between on the reals, either; it's the "curve" from hell or a line.

Hot take, but I really hope physics will turn out to work without them.

[–] Naz@sh.itjust.works 1 points 1 year ago

shaves the sphere down with a sculptor's knife

There. 3.1416. Not perfectly round but it'll bake in the oven just fine.

[–] Kalkaline@leminal.space 0 points 1 year ago (1 children)
[–] GlenTheFrog@lemmy.ml 1 points 1 year ago

Tbf I've heard crazier things which have ended up being true in the past week alone...

[–] scottmeme@sh.itjust.works 0 points 1 year ago (1 children)

There's no way the copyright office is actually going to approve this right?

[–] SkyNTP@lemmy.ml 1 points 1 year ago* (last edited 1 year ago)

I think this is satire. Poe's law is stronger than ever