This Program Contains EVERY Image in History

Поделиться
HTML-код
  • Опубликовано: 2 июн 2024
  • I created a program that theoretically contains every image in human history, and then some.
    Big shoutout to @SolarSands for making an awesome video about the Babel Image Archives, and for serving as a big inspiration for this video • The Canvas of Babel
    LINKS
    ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
    Support the channel: ko-fi.com/codenoodles
    Itch.io: codenoodles.itch.io/
    GitHub: github.com/OfficialCodeNoodles
    █▀ █ █ █▄▄ █▀ █▀▀ █▀█ █ █▄▄ █▀▀
    ▄█ █▄█ █▄█ ▄█ █▄▄ █▀▄ █ █▄█ ██▄
  • НаукаНаука

Комментарии • 518

  • @shadamethyst1258
    @shadamethyst1258 6 месяцев назад +644

    The babel image archive (and its text counterpart) are really just a glorified two-way hashing function. The text archive has the nice property of being one long stream of identically-distributed chatacters, so `Babel(n+1)` = `Babel(n)[1..]`, and `Babel^-1([a, b, ..., z])` is easy to compute.
    You effectively recreated Base65536, with a lossy compression applied to the image beforehand (grayscale followed by quantization), and of course a neat little GUI to make it look nice

    • @proxy1212-
      @proxy1212- 6 месяцев назад +5

      you just made my brain fry

    • @darrennew8211
      @darrennew8211 6 месяцев назад +6

      An 8-bit greyscale image of the resolution described is significantly smaller than the actual hash described (talking about the Babel archive), even uncompressed.

    • @stylextv
      @stylextv 6 месяцев назад +23

      It's basically a really lousy image format for which you also need a website to open the images.

    • @lasinhouseinthetrees1928
      @lasinhouseinthetrees1928 6 месяцев назад +2

      Now what would elevate this more is making a numeral network find an image of m×n size using as little characters as possible and make it search for the writing text challenge using something similar to Tom7's uppestcase and lowestcase algorithm. Also bonus points if it's only using printable Latin ascii. Then it would be a good sigbovik paper

    • @TheRealStewpid
      @TheRealStewpid 6 месяцев назад +1

      i like your funny words magic man

  • @retroboi128thegamedev
    @retroboi128thegamedev 6 месяцев назад +881

    I just love dumb stupid theoretical things like this, it's incredible how numbers contains the secrets and the lies about those secrets of the universe, and everything in between as well!

    • @oggunlukarmy4901
      @oggunlukarmy4901 6 месяцев назад +32

      "Mathematics is the language in which God has written the universe."
      - Galileo Galilei

    • @mynameissanttu
      @mynameissanttu 6 месяцев назад +10

      ​@@oggunlukarmy4901maybe leave religion out of this. Have your own beliefs but I'm sure the original comment didn't ask for your beliefs.

    • @oggunlukarmy4901
      @oggunlukarmy4901 6 месяцев назад +32

      @@mynameissanttu Yeah no I am not the most religious person, it's just fascinating to me how math having infinite combinations and can basically prove anything that ever exists in the world. I just wanted to share what Galileo said about this.

    • @Idkpleasejustletmechangeit
      @Idkpleasejustletmechangeit 6 месяцев назад

      @@mynameissanttu it's a quote from a famous scientist guy. You're the one who shares believes nobody asked for. This isn't one of those "repent for your sins! Here's a bunch of bible verses: Exodus 21, Deuteronomy 21" spam comments.

    • @dontclick7389
      @dontclick7389 6 месяцев назад +11

      @@mynameissanttu Maybe leave your tyranny out of this. No one asked for your interpretation of it, but even so, no one stops you from commenting about it the same way they also have the right to post.

  • @le9038
    @le9038 6 месяцев назад +266

    The one thing to end this off would be to create a meaning finder. basically in the original library of babel story, there are these robots that look through each and every book in the library for meaning and if it doesn't have any meaning. it gets thrown away.
    the easiest way to do it is to use an image classifier and ask a ChatBot if the image has any meaning like a sea of noise to a pretty picture.
    if it identifies that the image has any meaning, it gets stored in a folder. else, it gets discarded.

    • @CodeNoodles
      @CodeNoodles  6 месяцев назад +110

      That's a cool concept in theory, but since there are so many images that could be generated, it would take so much time and processing power to find anything of value.

    • @waylonbarrett3456
      @waylonbarrett3456 6 месяцев назад +16

      I have an idea for how to go about this. Encode color values as overlapping binary vectors and store as a sparse distributed memory or a self-organizing map. Then upload existing images. Once a threshold density is reached in a region of this vast latent space, you will be able to find all related images near any that were uploaded. This is roughly the architecture of the AI model I am designing.

    • @Idkpleasejustletmechangeit
      @Idkpleasejustletmechangeit 6 месяцев назад +16

      But what if someone finds meaning in the meaningless? What if "shlungdinghliythujn" is the funniest shit they've ever seen?

    • @user-zn4pw5nk2v
      @user-zn4pw5nk2v 6 месяцев назад +10

      Everything has meaning that is why it is stored in the library of babel, in English, German may sound like gibberish, but not in German. A well cyphered message should look like a random assortment of letters, but that is precisely why it is valuable, because it looks like gibberish.
      To a librarian every book should be valuable, because someone wanted to say something, even if it's "vvvvvvv", because if not, we would have had one less cool game.

    • @jimmlmao
      @jimmlmao 6 месяцев назад +2

      ​@CodeNoodles sorry but your video is just a base6000 converter😂good work though

  • @jblen
    @jblen 6 месяцев назад +64

    This is a fun idea, i expected something like a web scraper somehow constantly finding new images and updating one local image that is the average of every image found by the program, but this is way better.

  • @lonerez
    @lonerez 6 месяцев назад +203

    Isn't this basically just making an image file type? like jpg etc.

  • @dandymcgee
    @dandymcgee 6 месяцев назад +16

    I thought of this idea and wrote this exact program about 10 years ago. There was also an art exhibit at a famous museum in the US some number of years ago that was based on this idea. I've thought about it a lot, and ways to reduce the insanely huge set of noise down to a smaller subset of "identifiable" images, but it's still sooooooooo much more data than your brain can comprehend.

    • @CodeNoodles
      @CodeNoodles  6 месяцев назад +4

      Yeah, that's the problem. If only we had a way to reduce the set of images so that it could be searched for something interesting.

    • @jonsmith6331
      @jonsmith6331 5 месяцев назад +2

      Looking for signals in the noise sounds like a “diffusion” model for image generation. Which is how modern image generation AI works. “Walking” from an identifiable image to a cleaner image is how that technique progresses towards the requested image. Check it out and see if that’s what you mean.

  • @YoloYester94
    @YoloYester94 6 месяцев назад +9

    I feel so bad about this, but my first thought when seeing this was “so how much of it is porn?”
    Not my best moment.

    • @CodeNoodles
      @CodeNoodles  6 месяцев назад +5

      Lol

    • @David280GG
      @David280GG 6 месяцев назад +1

      Technically it may have

    • @CoreDreamStudios
      @CoreDreamStudios 6 месяцев назад

      Babel is not going to have "everying" as far as porn goes, unless they want the FBI at their door as far as CSAM and gore goes.

    • @Swagpion
      @Swagpion 6 месяцев назад

      ​@@CoreDreamStudioshow are they going to find it in the INFINITE MESS OF RAINBOW STATIC? See, unless somebody already has that image they aren't gonna find it.

  • @Clozent
    @Clozent 6 месяцев назад +76

    This is not how the babel site works, though. It doesn’t actually have the information of the image, but a seed to generate it. What you have done is encode it…

    • @techheck3358
      @techheck3358 6 месяцев назад +8

      It’s basically the same thing. His site has all the images too, you just type some characters and it gets an image

    • @neey3832
      @neey3832 6 месяцев назад +4

      i'd really love if the seed was way smaller, like 400 characters long for a uploaded image, but we have to remember that the seed itself is the chance of every pixel on the uploaded image being where it is, so.. almost impossible to shrink it down.
      i thought about encoding an image to numbers, then trying to find it inside PI, so we would just need to compute PI and then use a adress to get our image back, but also the chance is so low. damn.

    • @human721
      @human721 6 месяцев назад

      there are trillions googols of possible images, it's impossible to store them in a small string like that @@neey3832

    • @totallynoteverything1.
      @totallynoteverything1. 5 месяцев назад

      @@neey3832 seed hunting my future

    • @shiinondogewalker2809
      @shiinondogewalker2809 4 месяца назад +1

      @@neey3832 the problem with shrinking it is that the number of different images you can possibly display depends on the number. So with 400 characters, if it's numbers 0-9 like in the website then it's a "mere" 10^400 images, which may sound like a lot but it's way to low of a number to display most (almost all) images for anything more than a tiny resolution. Using digits of PI wouldn't help either since the position of the digit would, on average, be as big of a number as the sequence stored there

  • @landman_0218
    @landman_0218 6 месяцев назад +129

    It’s nice to see a return to these kind of coding challenges.

  • @NotHumanPerson
    @NotHumanPerson 6 месяцев назад +11

    arent you literally just taking the pixel data dumping it into a file and then going hey, this is unicode ?

  • @dixie_rekd9601
    @dixie_rekd9601 5 месяцев назад +15

    not only does it contain every image in history, it also contains every image that will ever be made.

    • @swordofkings128
      @swordofkings128 2 месяца назад

      It also contains all images with images within them that can be displayed at the programs resolution and color depth! (Since any image containing any image(s) at any transformation/degradation than the original size/color is in the set of all images to ever exist)

  • @InfiniteCoder01
    @InfiniteCoder01 6 месяцев назад +56

    Actually, unicode is a 32bit format, but it takes one, two, three (maybe not three) or four bytes depending on the value

    • @pyxyne
      @pyxyne 6 месяцев назад +15

      what you're specifically talking about is the utf-8 encoding.
      codenoodles is (implicitly) using the utf-16 encoding here; that's what wchar_t represents, on windows at least (it's not very portable).
      you're right that codenoodle is restricting themself to a subset though, since there are 21 "useful" bits in a unicode character.

  • @Foxxey
    @Foxxey 6 месяцев назад +5

    Bro is just reinventing the .bmp file format.

  • @verstrahlt1907
    @verstrahlt1907 6 месяцев назад +4

    watching ½ of the video,
    and thinking: You are just
    making a new file-format
    for images (& its viewer).

    • @verstrahlt1907
      @verstrahlt1907 6 месяцев назад

      very well done; but
      nothing so special…
      according to the title

  • @tanhrs8711
    @tanhrs8711 6 месяцев назад +78

    Congrats ! You just basically made computer file system. Did you ever tried to open an image with block note ?

  • @BromeoWuggles
    @BromeoWuggles 6 месяцев назад +15

    Forgot what it is actually called but this kind of reminds me of the “monkey with the typewriter” thing. You could have an infinite amount of people and one (or more) could randomly generate any video on RUclips, just in low quality of course.

    • @AkshayCS1
      @AkshayCS1 6 месяцев назад +2

      The infinite monkey theorem

    • @BadiArt
      @BadiArt 5 месяцев назад

      I don't know if you have understood that theorem, but the point of that experiment was to show that it was impossible for any monkey to write even the slightest sensible word given infinite time. So no, no one will randomly generate a youtube video

  • @teamredstudio7012
    @teamredstudio7012 6 месяцев назад +13

    it's funny that the babel image keys are just a different file format than png but it's still storing the image in bytes. You can also send the data of your png image lol.

  • @krisstopher8259
    @krisstopher8259 5 месяцев назад +2

    i got my own image archive (since 2000) 150 000 images, 1/4 are my own images. 1000+ folders, almost half a terabyte. that would take years to scan through, lol. but i still search for old pics regularly (it takes usually 30 secs to find an image manually thanx to several levels of subfolders, up to 20 maybe). sometimes i create new folders/subfolders but it was pretty much optimized even 10 yrs ago. it's hard to take care of that many images. and yes i got several backups, lol

  • @AK-vx4dy
    @AK-vx4dy 6 месяцев назад +7

    More than a program more value is in you described your exploratory journey with succeses and fails.
    This can help new adepts to don't afraid to experiment and don't give up on first fails.
    I can't wait for more 😉

  • @reluctantuser6971
    @reluctantuser6971 6 месяцев назад +5

    Another idea is that you could open the jpeg (or whatever image format you have) file of the image you want to "find" in a hex editor, copy the content there, and make that the be string that identifies the image's location. Then on the backend, you can just use that file's location as the content of your image.

  • @codingidiot6754
    @codingidiot6754 6 месяцев назад +41

    i dont really understand how this is different from something like a PNG or JPG. those can technically display every single image too, cant they?

    • @AkshayCS1
      @AkshayCS1 6 месяцев назад +5

      JPG isn't lossless. It is practically impossible to store all the combinations in a JPG image. PNGs can be lossless.

    • @Alkanen
      @Alkanen 5 месяцев назад +7

      @@AkshayCS1sure, jpeg isn't lossless, but it's a whole lot less lossy than this project is

    • @borstenpinsel
      @borstenpinsel 5 месяцев назад +1

      ​@Alkanen well, turning an image into a compressed bit of trash and then storing that lossless is still not lossy. Jpg will gradually destroy an image if you save it over and over again. Lossless formats (like png) will not do that, even if your image format can't even store anything other than a low res greyscale. It's still lossless in the sense that you can save it over and over again.
      Think of a plain text editor. Compared to a book (or pdf) with page layout etc, you will lose that info in plain text. But once it's plain text, it will not deteriorat

    • @Alkanen
      @Alkanen 5 месяцев назад

      @@borstenpinsel yes, but using that argument storing a single 0 or 1 indicating if the entire image is more or less than 50 % luminance would be great since it's lossless, whereas in any practical terms at all it would be considered utterly useless (except in some *extremely* niche applications). It won't deteriorate though ;)

    • @borstenpinsel
      @borstenpinsel 5 месяцев назад

      @Alkanen of course but every recorded picture is already lossy. People a hundred years ago would have loved an audio recording that still sounded squeaky and pretty bad to be played a hundred times without it sounding even worse. Or the black and white pictures of the time to keep their contrast and not bleach over time. And if you need to compress data down until the original isn't recognised anymore the storage isn't meant for that data. But it's still lossless.
      Greyscale bitmap exists. So does (or did) 16 bit bitmap. Then came 24bit and now we have 32. This was normal a few decades ago.

  • @NachoMega
    @NachoMega 6 месяцев назад

    This is very intresting and cool!
    Congrats btw so far its been a bit i still remember your first few videos lol

  • @sentinelaenow4576
    @sentinelaenow4576 6 месяцев назад +5

    Imagine that every chunk of digital information, like an image, a video or a program, it's a limited set of 1s and 0s at the base level. So, it means that every single image, for example, is a single integer number, a very big number. If you convert base 2 (binary) to base 10 (decimal) you have a number that can describe an image, or any digital data. There are many ways to encode images, some more efficient than others, and basically you created a raw image encoder. The unicode representation is actually equivalent to the binary representation. If you take the PNG format for example, a lossless efficient format, you could have very similar results. The thing about unicode is that not every character is printable, and different softwares deal with certain characters differently. If you rename a PNG to TXT and open it in notepad for example, you'll see equaly strange chars, like the ones you have in your encoder, and if you try to copy and paste them into another notepad and save it with PNG extension, chances are that it would be corrupted, because some non printable chars would not be copied or pasted properly. So basically, what Babel Image Archives is doing is not giving you a path to the image, but the whole image information, in a decimal format.

  • @petrospaulos7736
    @petrospaulos7736 5 месяцев назад +3

    "The Library of Babel" by Jorge Luis Borges...
    the funny thing is that ALL the images that can be displayed in 640x416 or in 4K etc are finite.
    And this also applies to videos. Every 4K video that can be displayed in a monitor is a member of a finite set!

  • @standoffdudealt4822
    @standoffdudealt4822 6 месяцев назад +3

    Keep up the good work! you are so underrated my guy.

  • @paths7969
    @paths7969 6 месяцев назад

    this is really cool, i worked on a project to make a 2d interactive library of babel in pygame (for a while now im doing other things) and its interesting to see how you solved the huge location / key length.

  • @love_a_hater
    @love_a_hater 6 месяцев назад +5

    I am so impressed and inspired to learn more about this! Great job 😄

  • @TiagoTiagoT
    @TiagoTiagoT 6 месяцев назад +5

    If the location is smaller than the corresponding image file, then there must be images that can't be found there because there would already be another image in that same location as there are more images than locations. Though of course, you need to count the size accounting for any forms of compression/decompression the rendering algorithm might use, and not necessarily the raw bitmap that ends up on the screen.

    • @RampagingCoder
      @RampagingCoder 5 месяцев назад

      there is no difference between converting it and "finding it"

    • @TiagoTiagoT
      @TiagoTiagoT 5 месяцев назад

      @@RampagingCoder Either images that are just slightly different end up being identified as the same; or if something more scrambly like a hashing algorithm is used, then some images will end up pointing to the address of some other completely different images and cannot be actually found.

    • @RampagingCoder
      @RampagingCoder 5 месяцев назад

      just think of it this way, the "address" is just the conversion data of the original image, with some quality loss of course@@TiagoTiagoT

  • @haulin
    @haulin 6 месяцев назад +2

    Instead of selecting characters in order how they appear in the unicode table, you could arrange them by perceived brightness. That way just by looking at the location string in an editor set to the correct width, you can actually see a B&W representation of the image. Sort of like ASCII art, except unicode.

  • @zoeevans543
    @zoeevans543 5 месяцев назад

    I would like to see a version of this program which has limited the degree of pixel variation in order to dramatically decrease the total number of images stored. Most of Babel Image Archives is noise (random pixels beside each other) but if you were to write a program which assigned a difference value between every two colors (two shades of blue are very low difference, same color is 0 difference, blue to purple is medium difference, blue to orange is large difference), and then limited the total variation between a pixel and the 25 pixels around it (5x5 block) you would force out much of the utterly random images drastically reducing the total images and rendering the ones which existed much more likely to be look like something. You could also say that overall say 1% of pixels can go up to the max differential, 10% can have up to a fairly high differential, and 25% have an above default differential the remaining pixels have a default differential rating to allow for reasonable shapes but not pure random noise.

  • @Sparkette
    @Sparkette 6 месяцев назад +1

    I remember having this exact idea when I was a kid, except I was picturing a folder instead of a website or program.

  • @another-derpycrafter
    @another-derpycrafter 6 месяцев назад +9

    could you mash together every meme from the 2000's so we can have the funniest image on earth

  • @lynnwilliam
    @lynnwilliam 6 месяцев назад +5

    The number of digits to represent the image location was never a problem. I don't know why you thought you had fix it.

    • @iizvullok
      @iizvullok 6 месяцев назад

      If it uses base 10, a lot of storage is wasted because those numbers still use 8 bit. But i also did not see the point of using unicode instead of ascii.

    • @lynnwilliam
      @lynnwilliam 6 месяцев назад

      Nothing wrong with wasted storage, he wasted the coolest parts of the video on that.

    • @iizvullok
      @iizvullok 6 месяцев назад +4

      @@lynnwilliam I see your point, but i disagree since the video was mainly just about his approach on that. If all you want is to find out how you can make some sort if "infinite image library" yourself, take the trivial approach and just change the file format from .png or so to .txt. Send that text to someone, have them paste it into notepad, save it as .png and its an image again.

  •  6 месяцев назад +2

    By this logic even a Base64 encoding of images is just getting the location in babel's library of Base64, and converting image back to normal is just getting the image from that location :D

  • @lucidattf
    @lucidattf 6 месяцев назад +2

    bestie made an image format and sold it as the library of babel image archive

  • @flameofthephoenix8395
    @flameofthephoenix8395 6 месяцев назад +1

    1:15 Yeah, not very hard to imagine, it's all stored as bytes, just combine the bytes together as though they were each a single digit of a Base-256 number, and you've got yourself a way of turning any data stored on a computer into a number that you can reconstruct the data from.

  • @AK-vx4dy
    @AK-vx4dy 6 месяцев назад

    Once in primary school about 12 years old (35 years ago about 1988) i was fascinated with projecting fonts and diffrent symbols at 8x8 box (with milimeter paper and pencil),
    once i wander what if i generate all possible combinations, then i realised it will be 2^64 combinations.... then i tried to limit it to sensible (for human ) images
    checkerboards, lines at every angleat different angle etc. bit it stil overhelmed me finally.
    My thougths could be base of some lossless comprestion algorithm but then in BASIC on ZX Spectrum this was over imagination borderes even

  • @Nanamowa
    @Nanamowa 6 месяцев назад

    I wonder if you could encrypt combinations of unicode say, any given character could represent a combination of other characters and you have a key that determines how many levels of encryption has been done, so you can theoretically compress any image down to a single unicode symbol and a key that describes how many layers to unpack that single value down in order to get the actual values needed to represent the original image. Maybe it could be represented by a decimal point.

  • @stabilini
    @stabilini 6 месяцев назад

    As images can include text, there are images with passwords for every bitcoin wallet.
    Also you could make a text image, with all your passwords, upload, get the babelia hash and use it as your master password container

  • @da_pwo
    @da_pwo 6 месяцев назад

    Sounds like an amazing compressed file format

  • @Supercar2009YT
    @Supercar2009YT 5 месяцев назад +2

    Fun fact: this site contains US military secrets as well as nuclear launch codes

  • @ZipplyZane
    @ZipplyZane 5 месяцев назад

    If you do stick with Unicode anyways, not caring how big the URL actually is, I have a different suggestion.
    There are more than double the 65,536 characters in Unicode now. So any that would normally be in the reserved area could be mapped to different characters. What's more, this would also let you take out other problematic characters, like ones that look identical, or the combining characters.
    In short, I think you could probably create a table of 65,536 Unicode characters, and then map your bit stream to them. Most would correspond to their Unicode code point, but they wouldn't have to. It would be less performant, but I think it would probably be fine.
    You could even consider having the actual parsing be on the user-side, which would let you write this in JavaScript. I suspect it would still be quite fast as long as you keep the image resolution down. (And you could use the built-in to downscale any image to the resolution.)

  • @justejyraph
    @justejyraph 6 месяцев назад +1

    This is EXACTLY the question i was wondering when i layed down in bed every day since 1 year. Feels good to finally have an anwser, thank so much !

  • @wlockuz4467
    @wlockuz4467 6 месяцев назад +3

    Am I wrong to assume that this is just a naive bmp encoding?
    Cool project nonetheless.

  • @metalmint-1
    @metalmint-1 4 месяца назад +2

    Now find the image which contains every image that doesn't contain itself

  • @CrypticConsole
    @CrypticConsole 6 месяцев назад +3

    you can use the first bit to encode a secret message into the data

  • @chrizTwoEight
    @chrizTwoEight 5 месяцев назад +2

    At first I thought the idea was kinda cool, but the more I think about it, the more pointless it becomes.
    Your "location" is basically the entire image, encoded in a special format that you just came up with. Your "archive" doesn't contain anything, it just converts the encoded image that you give it into a something that can be displayed on the screen.
    Congrats, you just invented a slightly wore version of the bitmap file format!

  • @DawDaw24
    @DawDaw24 6 месяцев назад +1

    Imagine someone’s just casually scrolling through this and then they find like a pic of their home

  • @alpahetmk
    @alpahetmk 6 месяцев назад +1

    this needs a million views

  • @banana1093
    @banana1093 6 месяцев назад +1

    As soon as I saw you writing C++, I subscribed

  • @hellishbrogaming3643
    @hellishbrogaming3643 6 месяцев назад +9

    technically, unicode is a character set describing those characters. the term you are looking for is utf8, which is an encoding method for unicode characters, along with utf16, etc.

  • @BryndanMeyerholtTheRealDeal
    @BryndanMeyerholtTheRealDeal 6 месяцев назад +1

    4'33 I think it'd be better if it only used the "safe" Unicode Characters (i.e. NO unassigned code points, non-characters, surrogates (this can raise issues if the string is sent as UTF-16), formatting characters, control characters (including null, bell, backspace, or other non-printable characters), certain punctuation marks (as they may need to be escaped in sone programming languages), combining characters (this includes diacritical marks, which might have issues due to Unicode Normalization Forms), or Private-Use characters (these may have characteristics defined by private users that might not be desirable))

  • @Bingle1
    @Bingle1 6 месяцев назад +13

    This video is incredible! Keep up the good work :D

  • @wiktorchojnacki9746
    @wiktorchojnacki9746 6 месяцев назад +2

    This idea is really cool until you realise how large the space actually is. And it's not impressively large but rather boringly large. The idea is basically - you can draw anything by using a lot of pixels. Which is true, yet not as exciting.
    Congratz however on the execution, I loved the UI!

  • @aikisteven0616
    @aikisteven0616 6 месяцев назад +1

    this is essentially what we had to do back in the Usenet days - you could only post text, so all images/videos had to be converted to ascii code and then decoded by the reader.

  • @lynnwilliam
    @lynnwilliam 6 месяцев назад +2

    I think you need to look into vector representation spaces. Which coverd what you are already doing

  • @ThatOneLuigiFan
    @ThatOneLuigiFan 6 месяцев назад

    CodeNoodles make the coolest stuff :)

  • @kareemalmkahelah5338
    @kareemalmkahelah5338 6 месяцев назад +2

    The UI of the program is nice and simple :)
    what library did you use ? and you did all in c++ right?

    • @CodeNoodles
      @CodeNoodles  6 месяцев назад +1

      The UI is made from a library I created called Glass. And yes, it's all programmed in C++.

  • @ImExistent405
    @ImExistent405 5 месяцев назад +1

    The image I thought of was a 3D model of a Light Blue Yoshi in Rick Astley's clothes doing the Sonic CD stare meme pose I made once for no reason.

  • @heatshield
    @heatshield 6 месяцев назад +2

    In essence, this RUclips video already existed out there before you made it.
    It was just cut into individual frames, then each frame was cut into tiny squares of the proper resolution.
    Every video past and future is there, even the 3D ones, which means everything in reality is there as an explorable interactive 3D render.
    If you wanted to, you could watch my thumbs type this comment from my point of view. You could also watch me type something I’ve never typed before, while holding a cigarette and wearing a watch I’ve never owned. lol

  • @snoopy1alpha
    @snoopy1alpha 6 месяцев назад +3

    So you basically just created a new image format?

  • @kuzeybro2772
    @kuzeybro2772 5 месяцев назад

    i made an image to sound converter too. you can record the sound, and you will be able see the image back again!

  • @Isabel1e
    @Isabel1e 6 месяцев назад +2

    insane as always

  • @yigras
    @yigras 5 месяцев назад

    i have no idea what i just watched but it was fascinating

  • @theholypeanut8193
    @theholypeanut8193 5 месяцев назад +1

    So not only does this website have the most important historic photographs, but also MD R34? Very varied I see.

  • @TurquoiseIcy
    @TurquoiseIcy 6 месяцев назад +1

    So it's a very roundabout image file codec.

  • @mohrchen2520
    @mohrchen2520 6 месяцев назад +3

    So somewhere in there are spiderman pictures?

  • @JanasV
    @JanasV 5 месяцев назад

    Wow that's like saying your monitor has everything anyone has ever seen, because it can rearrange into any image just at a limited resolution.

  • @JamesTDG
    @JamesTDG 5 месяцев назад

    You know, this tool seems like it has some really good ARG implementation

  • @T_nology
    @T_nology 6 месяцев назад +8

    Wow, this is actually awesome! I always wonder how people manage to make such great things like this.

  • @evanlee93
    @evanlee93 6 месяцев назад +1

    I think the problem with The Babel Image Archive is that its images are 8bit RGB, which consist of 256x256x256(8 bits/256 colors per channel)=16,777,216 colors. Multiply that by the number of pixels, 640x416=266240, you get 4,466,765,987,840 possible images. I think if they used a limited palette like 512 colors(3 bits/8 colors per sample) that the images would still look good but still be able to contain a absolutely massive library of images. They would still have a library of 136,314,880 images.

    • @progect3548
      @progect3548 6 месяцев назад +1

      the amount of possible images is actually 16777216^266240, which is a number with 1.9 million digits

    • @evanlee93
      @evanlee93 6 месяцев назад

      @@progect3548 how did you come to that number?

  • @accountname7738
    @accountname7738 6 месяцев назад +2

    I've always thought of the babel image archive as being dumb, when you upload an image it's just giving you a textual representation of the same data. So... what's the point?

  • @Dergy
    @Dergy 6 месяцев назад +2

    Finally, someone else thought of this thing

  • @nyphakosi
    @nyphakosi 6 месяцев назад +2

    perhaps try using the "key"s like a seed for a random number generator, so it creates the same image with the same seed

    • @luigidabro
      @luigidabro 6 месяцев назад +2

      That won't work. There will be overlap and inaccessible numbers, and it is impossible to inverse engineer the seed of a random value.

    • @titangames6888
      @titangames6888 6 месяцев назад

      @@luigidabro actually, some algorithms do have invertible seeds.

  • @user-um2tz8oe9p
    @user-um2tz8oe9p 6 месяцев назад +1

    In fact, it's just a different image storage format, not its location)

  • @betoian
    @betoian 6 месяцев назад

    Nice! This is close to image compressors like PNG algorithm... There is also a way of sending images like this with a plain text email...😀

  • @Robin270
    @Robin270 6 месяцев назад +5

    This is amazing. From pure curiosity, I became interested in this topic recently and it led to me to do a calculation of how many possible unique FullHD 24-bit coloured images could exist. And the number is about 10^14 000 000 (ten to the power of fourteen million). Which is… a lot. So I was thinking how could I do something interesting with it, some cool custom program. And then I saw your video. At first I thought there's no way I had just thought about it and I got this recommendation on RUclips, but then it really inspired me even more. Thank you so much, awesome job!

    • @CodeNoodles
      @CodeNoodles  6 месяцев назад +3

      That's awesome that you had the same curiosity as me! It's insane how many images there could be even in a seemingly small resolution, but with full HD, it's practically infinate. Thanks for your comment and support!

    • @Margen67
      @Margen67 6 месяцев назад

      birb

  • @basspig
    @basspig 5 месяцев назад

    Funny thing is when you use the search feature Bable requests you upload an image.

  • @darkonyx6995
    @darkonyx6995 5 месяцев назад +2

    We did it bois, copyright is no more.

  • @despareint
    @despareint 6 месяцев назад +1

    babel archive is just reinventing the wheel and which is base64 image

  • @UltronZX
    @UltronZX 6 месяцев назад +2

    Once i had done the same opposite thing in python... for my game, i converted all data into an image and decoded the image to load the data

    • @Yadobler
      @Yadobler 6 месяцев назад

      When debugging GBA or other old gaming consoles or even computer programmes, it's not uncommon to "image dump" the memory, so one can see whether images and graphics are stored / processed into memory correctly. So for regions where there are images it shows the images while other regions show as seemingly random colours - that's kinda what you did. Kinda cool

  • @johnsimpsen5
    @johnsimpsen5 6 месяцев назад +3

    You should make this into something bigger where you can share images to people just using the text

    • @fumikato
      @fumikato 6 месяцев назад +2

      I think they call that a 'link'

    • @jmvr
      @jmvr 6 месяцев назад

      They mentioned that at the end, where they can get the text encoding and share that, then maybe even encrypt that so it's like it has double encryption

  • @g-ray4088
    @g-ray4088 6 дней назад

    You see, what it SHOULD'VE done is, for the first image, make everything except the top left pixel black.
    make each image counting up in a base 255 counting system with red being the ones place, green being the "tens" place, and blue being the "hundreds" place.
    Counting in every combination of the RGB channels, we would have 255^3 or 16,581,375 different images, for a change in.. one pixel.
    You just continue like this, making the next pixel the "thousandth", or 255^4th place, and so on.
    Not only do you know that every theoretical image can now be found, you can scroll in-order instead of it being random.
    This would make every possible image be 255^3^(640*416), which would be a very, VERY big number.

  • @RedStoneMatt
    @RedStoneMatt 6 месяцев назад +7

    Why not using UTF-8? It can encode all unicode characters in minimum amount of bytes, and is the default encoding for c++ strings

  • @Povilaz
    @Povilaz 6 месяцев назад

    Very interesting!

  • @paigelux4819
    @paigelux4819 6 месяцев назад +3

    Okay but does it have an image of travis scott on a soldier tf2 costume sitting on a beanos chair and eating a green mcrib in a space mcdonalds while he talks to goku from dragon ball who is the worker there?

    • @CodeNoodles
      @CodeNoodles  6 месяцев назад +3

      Yes, it does 😆

    • @paigelux4819
      @paigelux4819 6 месяцев назад +2

      W program@@CodeNoodles

    • @David280GG
      @David280GG 6 месяцев назад

      Yes from every angle

    • @paigelux4819
      @paigelux4819 6 месяцев назад +1

      EVEN BETTER@@David280GG

  • @MoreInsane96
    @MoreInsane96 6 месяцев назад

    The Kingdom bug music always makes me laugh

  • @Sam85Gamer
    @Sam85Gamer 4 месяца назад +1

    The nft people angry with this one

  • @LuigiCotocea
    @LuigiCotocea 6 месяцев назад

    You have no idea how much i wished for a program like this, because on the babel image archives all images are low quality!
    *you should try to do with library of babel too with the books but have more letters than the lowercase alphabet, commas, dots and spaces!*
    Edit: edit i run the app on windows 10 it says source image info, image info, id info and the rest of right side its just a thin line and dosent show the properties of loading a file... i dont know why!

  • @drumming_cat
    @drumming_cat 6 месяцев назад +1

    would still be nice to also have this better version you made but on the web

  • @Bill-lt5qf
    @Bill-lt5qf 5 месяцев назад

    i thought about a very similar concept when i was in college. but was never smart enough to do anything about it, so just came across as a crazy person.

  • @snapnut
    @snapnut 6 месяцев назад +2

    new *image format* just dropped

  • @LoneStarPianist
    @LoneStarPianist 4 месяца назад

    This seems like a neat situation where AI could actually be useful, and not just displacing something else. If you take an image generation model that makes an image from a prompt and a seed number, you might be able to make a program that decodes an input image back into those values, even if the input image was not made by AI. it would take way more processing power per image, but it would give a way shorter location.

  • @callyral
    @callyral 6 месяцев назад +2

    generative ai equivalent of bogosort

  • @ugielka
    @ugielka 6 месяцев назад

    i guess you could get higher resolutions by gettong the locations of many mosaic pieces of your higher resolution image

  • @QuantumAbyssal
    @QuantumAbyssal 6 месяцев назад

    you know unicode has about 149,813 characters, and if you use a string of 16 characters for each image location, you would have about 10^82 different possible permutations/combinations of image locations, which is about the number of atoms in the observable universe...

  • @e8root
    @e8root 6 месяцев назад +1

    You can already encode bitmap to base64 encoding and use directly on eg. websites. Besides all files are are numbers. Same with eg. hard disk - all it does is stores giant number. If you incremented it by one you would have all the collections of photos, movies, music, programs, games, etc. that you could fit on this hard drive's capacity including all the operating systems needed to run on any machine and this would be true for even devices which require authentication keys... and among different numbers you would have detailed schematics how to make every single thing, all the answers for all the questions , all the mathematical proofs for all the mathematical problems... what else... if possible at all (and would fit in given hard disk space) program that runs sentient general intelligence AI - including those which contains memories of all people/animals who existed including those from the future. So yeah... +1 and carry on...

  • @jayronbaello3645
    @jayronbaello3645 6 месяцев назад +1

    Broo I have been watching u since the start I remember scrolling trough yt and seeing ur snake one congrats on growing so much u deserve it all but pls tell me how did u got 100k from 1 vid???

    • @CodeNoodles
      @CodeNoodles  6 месяцев назад +1

      Thanks! What do you mean by 100k from 1 vid though?

    • @jayronbaello3645
      @jayronbaello3645 6 месяцев назад

      Uhh when I was watching ur first vid I saw u got 100k???@@CodeNoodles

  • @ultimatepotato713
    @ultimatepotato713 5 месяцев назад

    4:37 You can store 2^16 unique values in 16 bits because 0 is itself a unique value. 65535 is just the largest value it can store.

  • @Oho_o
    @Oho_o 6 месяцев назад

    This is so facinating.
    Like there is images of EVERYTHING.
    Imagine you could see every second of your life. In every (infinite) angle!??
    EVEERYTHING!!!!

    • @CoreDreamStudios
      @CoreDreamStudios 6 месяцев назад

      I highly doubt babel has "everything", if it did, it would include gore and child porn, so no thanks.

    • @Oho_o
      @Oho_o 6 месяцев назад +1

      I don't believe there could be any way of censoring those..
      It's just code that fills randomly every pixel on the canvas to make every pixel combination possible. @@CoreDreamStudios

    • @Swagpion
      @Swagpion 6 месяцев назад

      ​@@CoreDreamStudiosit's the curse of everything.

    • @phoneywheeze9959
      @phoneywheeze9959 5 месяцев назад

      It doesn't contain everything, but it has the ability to generate images from numbers, which isn't new.
      The image you see, is stored in a computer as a set of numbers. And when you want to view the image, the screen lights up the pixels depending on the numbers. When an image is 100KB big, it means there are ~1000000 charaters representing the image.
      There are different ways to store images in numbers. PNG, Jpeg, webp, etc. The babel uses one of their way. The website is just an image viewer.