ChaoticNeutralCzech

@ChaoticNeutralCzech@lemmy.ml

This profile is from a federated server and may be incomplete. Browse more on the original instance.

ChaoticNeutralCzech,

Finally, I can calmly watch the performance of my stock portfolio

ChaoticNeutralCzech, (edited )

I think you can guess that part. I doubt a current LLM can create a valid PNG, even if it’s just a 1x1px one that has been created before. This is partially because PNGs have a checksum and the LLM has definitely not seen enough PNGs in base64 to figure out the algorithm, and is not optimized to calculate checksums. In fact, I analyzed the image and the image header checksum is wrong even though the header makes sense (was likely stolen). Also, it gets penalized for repetition, which occurs a lot in image headers.

AFAIK, the smallest valid image you see mentioned on the web is a 35-byte transparent pixel GIF, and the smallest PNG is a black pixel with 67 bytes:


<span style="color:#323232;">data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEAAAAALAAAAAABAAEAAAIBAAA=
</span><span style="color:#323232;">data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQAAAAA3bvkkAAAACklEQVR4AWNgAAAAAgABc3UBGAAAAABJRU5ErkJggg==
</span>

Testing rendering: Alt text for the GIF; if you see it, it failed, Alt text for the PNG; if you see it, it failed, another 67-byte PNG but 8 px wide: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAABAQAAAADLe9LuAAAACklEQVR4AWNgAAAAAgABc3UBGAAAAABJRU5ErkJggg==, or 1 gray pixel: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4AWOwBQAAPwA+Eq7IEAAAAABJRU5ErkJggg==, or a green one: data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M/wHwAEBgIApD5fRAAAAABJRU5ErkJggg==

The article + the generator

ChaoticNeutralCzech, (edited )

No idea, it only has 1350 bytes now after the edit, and no crazy formatting

ChaoticNeutralCzech, (edited )

I prefer hexadecimal. The encoded data in its entirety is


<span style="color:#323232;">89 50 4E 47 0D 0A 1A 0A 
</span><span style="color:#323232;">00 00 00 0D 49 48 44 52 
</span><span style="color:#323232;">00 00 01 2C 00 00 01 2C 
</span><span style="color:#323232;">08 06 00 00 00 B9 B4 AC 
</span><span style="color:#323232;">33 00 00 01 A4 49 44 41 
</span><span style="color:#323232;">54 78 9C ED DD 41 8E 83 
</span><span style="color:#323232;">40 10 85 E1 7F 7F E4 B2 
</span><span style="color:#323232;">72 25 92 61 64 98 59 26 
</span><span style="color:#323232;">16 49 85 92 61 64 98 59 
</span><span style="color:#323232;">26 16 49 85 92 61 64 98 
</span><span style="color:#323232;">59 26 16 49 85 92 61 64 
</span><span style="color:#323232;">98 59 26 16 49 85 92 61 
</span><span style="color:#323232;">64 98 59 26 16 49 85 92 
</span><span style="color:#323232;">61 64 98 59 26 16 49 85 
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 
</span><span style="color:#323232;">85 92 61 64 98 59 26 16 
</span><span style="color:#323232;">49 85 92 61 64 98 59 26 
</span><span style="color:#323232;">16 49 85 92 61 64 98 59 
</span><span style="color:#323232;">26 16 49 85 92 61 64 98 
</span><span style="color:#323232;">59 26 16 49 85 92 61 64 
</span><span style="color:#323232;">98 59 26 16 49 85 92 61 
</span><span style="color:#323232;">64 98 59 26 16 49 85 92 
</span><span style="color:#323232;">61 64 98 59 26 16 49 85 
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 
</span><span style="color:#323232;">85 92 61 64 98 59 26 16 
</span><span style="color:#323232;">49 85 92 61 64 98 59 26 
</span><span style="color:#323232;">16 49 85 92 61 64 98 59 
</span><span style="color:#323232;">26 16 49 85 92 61 64 98 
</span><span style="color:#323232;">59 26 16 49 85 92 61 64 
</span><span style="color:#323232;">98 59 26 1(abrupt end at 4 bits of last byte)
</span>

We can analyze the PNG file header. Surprisingly, some of it makes sense.


<span style="color:#323232;">89 50 4E 47 0D 0A 1A 0A //PNG signature (0x89 P N G 0xD 0xA 0x1A 0xA)
</span><span style="color:#323232;">
</span><span style="color:#323232;">00 00 00 0D // Start of chunk with data length 13 bytes
</span><span style="color:#323232;">49 48 44 52 // Type of chunk: IHDR (image header)
</span><span style="color:#323232;">00 00 01 2C // Width: 300 px
</span><span style="color:#323232;">00 00 01 2C // Height: 300 px 
</span><span style="color:#323232;">08 // Bits per color channel: 8 
</span><span style="color:#323232;">06 // Color format: 6 (RGBA)
</span><span style="color:#323232;">00 // Compression method: 0 (DEFLATE)
</span><span style="color:#323232;">00 // Filter method: 0 (Adaptive)
</span><span style="color:#323232;">00 // Interlace method: 0 (None)
</span><span style="color:#323232;">B9 B4 AC 33 // CRC-32 of chunk (invalid, should be 79 7D 8E 75)
</span><span style="color:#323232;">
</span><span style="color:#323232;">00 00 01 A4 // Start of chunk with data length 420 bytes
</span><span style="color:#323232;">49 44 41 54 // Type of chunk: IDAT (image data)
</span><span style="color:#323232;">78 9C ED DD 41 8E 83 40 
</span><span style="color:#323232;">10 85 E1 7F 7F E4 B2 72 25 
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 16 49 85
</span><span style="color:#323232;">92 61 64 98 59 26 1
</span><span style="color:#323232;">// 194.5 of the expected 420 data bytes, invalid when attempting to deflate
</span><span style="color:#323232;">// the deflate algorithm needs a Huffman tree but an unfull one is presented
</span>

Credits to the PNG chunk inspector at nayuki.io

You may try to figure out if the header checksum was stolen from elsewhere and corresponds to another common image size but I cannot be bothered. The data could be subjected to forensic analysis but we only really have 21 unique bytes, the rest is likely nonsense because data encoded by the DEFLATE algorithm is unlikely to be so repetitive. Also, the image in total will likely have just 481 bytes (8+(8+13+4)+(8+420+4)+16), as a less-than-65535-byte IDAT chunk tends to be the last one before a 16-byte trailer. There are very few 300x300 PNGs of such small size we could call memes, most of it will have to be just solid color. Example of a 256x256 map tile you can store in around that size (467 B):
OSM tile for Crozet Islands at around 1:10 000 000 scale, the archipelago the area of Malta is represented by about 10 white pixels with the exclusive economic zone circles of radius 5 px around the islands
(And this one is pre-optimized, using an indexed palette of just 13 distinct RGB colors as opposed to the full RGBA gamut!)

ChaoticNeutralCzech, (edited )

I analyzed it in another comment: the header says the image is 300x300px 8-bit RGBA but the data is invalid. Most viewers will notice that and show an error.

However, the syntax it used for embedding images is valid, as data:image/png;base64, is the start of a valid image URL and you can use it like other image URLs in supported Markdown interpretors.

Example, using the 103-byte Google Maps’ sea tiles, and a 178-byte GIF:


<span style="color:#323232;">![Google Maps sea map tile](data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAQAAAAEAAQMAAABmvDolAAAAA1BMVEW10NBjBBbqAAAAH0lEQVRoge3BAQ0AAADCoPdPbQ43oAAAAAAAAAAAvg0hAAABmmDh1QAAAABJRU5ErkJggg==)
</span><span style="color:#323232;">![wink.gif](data:image/gif;base64,R0lGODlhDwAVAKIEAAAAAP//AP//3v///wAAAAAAAAAAAAAAACH/C05FVFNDQVBFMi4wAwEAAAAh+QQFlgAEACwAAAAADwAVAAADSUiq0L2QtEDpg6Bqu/LeAGN5wVRKlVmS6qe17hiDHvlyNciho5N2sxDGtoIMBgyH8Kg4IiMEZ1NKlUarSOdTe81arZHvE3olJAAAIfkEBR4ABAAsCAAEAAQABQAAAwYIGtz+ASQAOw==)
</span>

renders as

Google Maps sea map tile wink.gif

Works in the default web interface

ChaoticNeutralCzech,

ZJh (base64) in binary is 011001 001001 100001

ChaoticNeutralCzech,

I literally predicted that old.reddit.com would shut down in 6 months after u/spez said it’s not going anywhere, just like Apollo. I wasn’t sure how seriously to take this but I think I will be pretty close.

ChaoticNeutralCzech,

What the video doesn’t address: Did the politicians face any consequences?

  • All
  • Subscribed
  • Moderated
  • Favorites
  • localhost
  • All magazines
  • Loading…
    Loading the web debug toolbar…
    Attempt #