Making a 88x31 button book using ImageMagick

(k.sosnierz.me)

169 points | by birdculture 5 days ago ago

33 comments

  • ninjalanternshk 2 days ago ago

    I think the title undersells the accomplishment.

    He made an animated button gif that scrolls the entire text of Moby Dick.

    4.2 Mb, 19 hours long.

    Top quality useless proof of concept. 10/10.

    • coldpie 2 days ago ago

      Man, few things have made me feel like more of a philistine than reading Moby Dick earlier this year. I read a lot, but I've never considered myself a "literature guy" and wow Moby Dick cemented that. I did finish it, but I thought it was just an awful read, absolutely boring from start to finish. About halfway through I was just skipping pages and pages and pages of filler descriptions and incomprehensible 20-page-long speeches. I absolutely hated it, among the worst books I've ever powered through to the end.

      It's definitely a "me problem," obviously people who are into literature and analysis get a lot out of it. But in future I'm gonna stick to my dumb sci-fi books where people talk in comprehensible sentences and things blow up, lol.

      • selfsimilar 2 days ago ago

        People like what they like, so if that's not your jam I wouldn't sweat it. That said, Moby Dick is perhaps a poor example of "literature" to start on if you're not sure you like "literature", mostly from being so long. If I might recommend trying Cosmicomics by Italo Calvino, or The Cyberiad by Stanislaw Lem, as they are easy to dip in and out of are nominally "sci fi" while still laying some claim to "literature". Lem and Calvino may lead you to Borges or PKD or Ursula K LeGuin or China Mieville - more genre artists that arguably aspire to being more than pulp.

      • sloum 2 days ago ago

        I definitely get it not being everyone's thing. But I really really love Moby Dick. It is so funny! My wife kind of prepped me for viewing a lot of it as comedy or humor, especially toward the beginning, and viewing it through that lens absolutely helped. The language is old enough that you sometimes have to realize that the author is being funny, but it is there. I really loved all of the information about whales... that is just not true. Wasn't even thought to be true at the time.

      • NetMageSCW a day ago ago

        I would definitely stay away from Alexandre Dumas then.

      • BoingBoomTschak a day ago ago

        I pretend to have a modicum of taste and while I didn't find it boring on the whole, there's a much smaller yet better novel that could be extracted from it. It's just way too self-indulgent and meandering at times.

      • Kye 2 days ago ago

        The promotion of "classic" literature is largely about exposing you to depictions of the lived experiences of others through history. You can probably find better sources for that these days. It doesn't have to be unbearable without going into it with a specific goal (like wading into muck to save a puppy), but it often is.

    • emil-lp 2 days ago ago

      Then I know what I'll do tomorrow!

      19 hours. Don't blink.

    • Zobat 2 days ago ago

      Yep, but I'm inclined to say he went full "Jurassic Park" on that one.

  • unleaded 2 days ago ago

    Reminds me of the classic "P Diddy Calls Bjork" https://www.negrophonic.com/wp-content/uploads/2007/02/bjork...

  • Jakob 2 days ago ago

    Very nice article. Refreshing to see one liners and fun projects. And the website’s glamour mode is great, too.

    Although, as tradition requests, any example of the useless use of `cat` (UUOC) must be called out. The _much_ more efficient use would of course be

      tr '\n' ' ' < input.txt | tr -d '\r' | fold …
    • coldpie 2 days ago ago

      These uses of cat aren't useless.

      It improves readability. One reads shell commands from left to right, following the logic of each step in the pipeline individually. It makes sense to start with a file, then pipe that to command 1, pipe that to command 2, etc. It makes less sense to start with command 1 into which we put the file and then take the output of command 1 from before the file and put that into command 2 etc.

      It also improves future editability. If you wanted to change the input to command 1, you go tweak the bit to the left of command 1 instead of having to hunt down where the < is stuck in the middle somewhere and potentially remove it and replace it with something off to the left anyway depending on whether it's a file or the output of some other command.

      Using cat as the first step into a pipeline is almost always the right thing to do!

      • ktpsns a day ago ago

           <input.txt tr '\n' ' ' | tr -d '\r' | fold …
        
        is valid bash and does the same as cat input.txt | tr ...
        • aarmot a day ago ago

          And now your mentor arrives and demands you change one character to source all input*.txt files

    • cedilla a day ago ago

      How is avoiding a single invocation of cat much more efficient?

      I feel if anything needs calling out, it's mistaking opinions for universal laws.

    • lifestyleguru 2 days ago ago

      > tr '\n' ' ' < input.txt | tr -d '\r' | fold …

      I enjoy discovering and decrypting these one liners much more than reading about what someone's AI agent generated recently.

  • lubujackson 2 days ago ago

    Mostly useless but genius, hand-written text and code.

    It is so, so refreshing and I love it.

  • sodimel 2 days ago ago

    This is a really great article! It show some simple tools calls and is still very small (no long wall of text to read). Thank you!

  • aezart a day ago ago

    I attempted to open the resulting full gif using GIMP to see all the individual layers but unfortunately it crashes about 12000 frames into the loading process.

  • wartywhoa23 2 days ago ago

    I recommend enabling the Glamour mode. So hilarious in a good way :)

    • jaffa2 2 days ago ago

      I like it. Can we have a general glamour mode plugin for all web pages.

  • noufalibrahim 2 days ago ago

    What a glorious combination of interesting, quick and absolutely useless. It's beautiful.

  • tarsierscripter 2 days ago ago

    I do really like this! I had never even heard of 88x31 buttons yet when presented with a few of them I got instant nostalgia for the “old web” of my youth.

    I think it’s my age speaking again, but I would have preferred Arial for this, as it’s much more legible to me than the final bitmap font he chose. He could have simply sped up the animation to account for only fitting 11 words per page and kept the whole thing in a reasonable time (if 19 hours is reasonable to you).

    • skyyler 2 days ago ago

      Arial would not look good at three by five pixels per character, would it?

      • tarsierscripter 2 days ago ago

        The Arial example that only fit 11 words was much more readable than the final result with 4 tiny lines of a nearly illegible low res bitmap font!

  • K2h 2 days ago ago

    At bottom of article click link to load all of moby dick in a single GIF. To play on ios, long press and select ’play animation’.

    ImageMagick was created and written in C by John Cristy (also known as Cristy) in 1987 while working at DuPont https://en.wikipedia.org/wiki/ImageMagick

  • tdhz77 2 days ago ago

    Reminds me about my attempt at the 1 kv club using wasm. Horrible choice all aroundc

  • Theodores 2 days ago ago

    I would like to cheat at this assignment, using an SVG file that has the whole book as an HTML foreignObject, that just scrolls by in its special way, to simply name the SVG file as a GIF, knowing that browsers just read the headers in a file, ignoring the file extension.

    My cheated assignment would fool humans because they would assume the SVG was a GIF binary.

    The file size would be significantly smaller.

    This skill in being able to deceive and brazenly stick to the lie would make me perfect for a top job in government, big tech, automotive or 'space'.

  • vladde 2 days ago ago

    obligatory recommendation, the "The 88x31 GIF Collection: Part 1" https://cyber.dabamos.de/88x31/

  • anthk a day ago ago

    Get some video of it:

       ffmpeg -i book.gif book.mpv
  • murni_ie a day ago ago

    bravo

  • jwilk a day ago ago

    (2024)

  • derekhong 2 days ago ago

    [flagged]