this post was submitted on 17 Jul 2024
317 points (94.6% liked)

Programmer Humor

32018 readers
571 users here now

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

Rules:

founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 16 points 1 month ago* (last edited 1 month 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?

[–] [email protected] 22 points 1 month 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.

[–] [email protected] 18 points 1 month 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.

[–] [email protected] 1 points 1 month 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?

[–] [email protected] 8 points 1 month 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.

[–] skulblaka 7 points 1 month ago

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

Genuinely asking, I'm not really sure.

[–] WolfLink 5 points 1 month 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.

[–] [email protected] 3 points 1 month ago (1 children)

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

[–] [email protected] 4 points 1 month 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.