this post was submitted on 17 Jul 2024
325 points (94.3% liked)

Programmer Humor

32495 readers
494 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
[–] livingcoder@programming.dev 17 points 4 months ago* (last edited 4 months 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?

[–] AVincentInSpace@pawb.social 23 points 4 months 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.

[–] apex32@lemmy.world 18 points 4 months 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 1 points 4 months 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?

[–] skulblaka@sh.itjust.works 8 points 4 months 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 month ago

you can bookmark(?) pages

[–] nova_ad_vitum@lemmy.ca 8 points 4 months 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.

[–] WolfLink@sh.itjust.works 5 points 4 months 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.

[–] mlg@lemmy.world 3 points 4 months ago (1 children)

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

[–] livingcoder@programming.dev 4 points 4 months 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.