Join the discussion

Write your take first — we'll ask for email only when you're ready to publish.

  • Hacker News
  • In the good ol' days, ~1990, Norton Commander had a screensaver with stars, similar to the one in the gallery readme, but with fewer stars, that grew from a dot to bigger dot, to shining, then bursted. Nice to see something like that again.
  • You can also experiment and make your own[1] using TerminalTextEffects[2]. I added this to my ~/.zshrc

        > /home/keeb/code/projects/login/motd.sh
    
    Which has..

        #!/usr/bin/env zsh
    
        values=("bubbles" "slide" "beams" "rain" "pour" "synthgrid" "unstable" "poop")
        len=${#values[@]}
        index=$(( (RANDOM % (len - 1)) + 1 ))
        selected=${values[$index]}
    
        cat /home/keeb/code/projects/login/motd | tte $selected
    
    Change motd to have an ascii art of your choice. Run it in a loop if you want :)

    1: https://keeb.dev/static/login.mp4 2: https://github.com/ChrisBuilds/terminaltexteffects

  • For the 'life' screensaver it might make sense to use half blocks as a base rendering unit. ASCII 220 and 223.
  • Never a nice surprise when I find rm -rf / --no-preserve-root in a public repo, apart from this time!

    Also, found one of the easter eggs!

  • Good catch!

    For folks curious about the rm -rf see https://github.com/attogram/bash-screensavers/blob/main/gall... line 339

  • I've never seen a repo that invites AI coders and then tells them how to behave [0]. I imagine we'll see more of this in the future.

    [0] https://github.com/attogram/bash-screensavers/blob/main/AGEN...

  • AGENTS.md is an attempt to standardise around the different conventions each of the agents uses[0]. It's an initiative by OpenAI. Anthropic don't seem to be in a hurry to support it though[1], possibly to maintain some kind of walled garden, but that's purely speculation on my part.

    [0] https://agents.md/

    [1] https://github.com/anthropics/claude-code/issues/6235

  • Nice! I won't use this since screensavers are much more interesting when not limited to characters, but this is a neat project.

    Screensavers are a lost art. I still enjoy them, but at some point we just gave up on them. In the era of CRTs they had a practical purpose (they're screen savers, after all), but modern OLED displays also suffer from burn-in for which screensavers would be useful. My enjoyment is purely aesthetic, though. Sometimes I just want to have something pleasing to glance at in the background, instead of a black screen.

    Nowadays most operating systems and desktop environments don't even support them. The state of the art on Linux still seems to be `xscreensaver`, which does have many great ones, but the collection is static, and most of it is visually stuck in the 90s. I wouldn't even try getting it to run on Wayland, and when I last looked into it, it required some hacks and 3rd-party tools.

    Also, I've always found the feature of screen locking and screen saving to be orthogonal. Often I want to see pretty graphics without locking my screen, and viceversa.

  • Recommendation: Use the terminal control codes 1049h and 1049l [1][2] to keep the terminal 'clean'.

    [1]: https://en.wikipedia.org/wiki/ANSI_escape_code#Control_Seque...

    [2]: https://unix.stackexchange.com/a/789031

  • I've used Emacs for years but just recently learned about zone.el. I wonder if this is based on it too. I see some of the same screensavers here.
  • Wow! The copyright of zone.el goes back to 2000. But this is the first time I hear about it! How did you find this gem?
  • I like how all the tests seem to be contained within a "jury" folder which judges the merit of your code, made me smile - It's always nice for open-source/FOSS projects to retain a bit of whimsy and joy.
  • You can put them onto your Plasma wallpaper and/or lockscreen background with plasma-wallpaper-application: https://invent.kde.org/dos/plasma-wallpaper-application

    (thought I'd share that since its raison d'être was to put Asciiquarium there :))

  • Ah, sweet!

    Do you know if this supports any DE (or no DE)? Or is it strictly for KDE Plasma?

  • Nice. This makes them actual screensavers in my view as opposed to just animations. (Not that screens require "saving" any more, but still.)
  • they're generally pretty but they should really hide the cursor, it looks offputting in basically all cases
  • How can anyone have a bad day when great projects like this pop up on the front page of HN?

    Did you see the library of viz? https://github.com/attogram/bash-screensavers/blob/main/libr...

    My favourite API: lov_die_with_honor()

  • > My favourite API: lov_die_with_honor()

    A friend of mine fancied the following when making an infinite loop in C:

      #define MONEY 1
      #define POWER 1
    
      while (MONEY == POWER)
      {
        ...
      }
  • With "matrix" causing bash to consume 46% of my CPU time, I think I'll pass. I think I can play the actual film in 4K with less CPU time than that.