Follow

AU internet fanfic where instead of HTTP amd JSON, GIF bitstreams and binary application extensions over plain TCP became the predominant web protocol for RPCs/REST

Β· Β· 1 Β· 4 Β· 9

"but they're not graphics" but it's not hypertext, next question

I'm just saying we could probably do better than representing the vast majority of data-in-motion in a format with no integer type

like. okay, if we're gonna have stuff like json-schema.org/ then, well, allow me to introduce u to: docs.rs/binrw

or like, protobuf, or any number of other binary bitstream schema definition schemes

all those plaintext HTTP headers on top of all the stringy JSON parsing and formatting and allocation and gosh, aren't you tired of being nice

i am afflicted with the knowledge of computer and while i begrudgingly cooperate with "modern" technologies i am allowing myself to dream of a cooler world

anyway i recently got pretty familiar with the GIF format to make what i guess would *technically* amount to a cloud gaming platform outta 90s-era web technologies embedded in cohost and like. everything the industry has invented after 2005 feels even more wasteful now

also, pertaining to GIF as a graphics format: did you know GIF is capable of losslessly reproducing any RGB image? a lot of image editors will dither images and reduce their color palette to 256, but that's just a lack of imagination on their part.

don't believe me? take a look, here's a 24-bit color image:
lifning.neocities.org/gif-exam produces an identical image to lifning.neocities.org/gif-exam
(i can't upload it to mastodon because mastodon will transcode the .gif to .webm or .mp4, which is rarely correct behavior as far as i'm concerned but here we are)

the problem is, most gif renderers will take a while to finish drawing the image due to artificially inserting animation delays between each image block, so it'll look like it's "loading." but i promise, once it's done, you can copy the image and compare it and the PNG as 'difference' layers in an image editor and get 0!

and as a *lossless animation* format, it can be much better-suited for retro games with repetitive, low-color visuals than today's widely-available *lossless* video codecs. here's 13 hours and change of github.com/dannye/pokered-gbc gameplay footage recorded in GIF, and then fed through ffmpeg -c:v libx264rgb -crf 0.

@lifning by using a data interchange format with no types whatsoever

Sign in to participate in the conversation
Cybrespace

the mastodon instance at cybre.space is retiring

see the end-of-life plan for details: https://cybre.space/~chr/cybre-space-eol