A faithful recreation of the legendary Novell NetWare worm screensaver, now on your Sense HAT's 8x8 LED matrix. Because the 90s weren't retro enough until you could watch them in miniature.
Back when NetWare ruled enterprise / school networks, there was a screensaver featuring a red worm that would speed up when your server was busy. It was the original real-time system monitor that nobody asked for but everyone secretly enjoyed.
Now you can experience that nostalgia on a display roughly the size of a postage stamp.
You can see a video of this running here (from this reddit post).
- Independent Worm Movement: Each CPU core gets its own colored worm bouncing around independently
- CPU Load Responsive: Worms speed up and grow longer tails under load
- Bouncy Physics: Worms bounce off edges like digital pinballs
- Multi-Core Support: Every core gets a coloured worm (Red, Green, Blue, Yellow, Cyan, Magenta, Orange, Pink)
- Systemd Integration: Run as a service, auto-starts on boot
- Customizable:
--intervaland--statsoptions for your own flavor of chaos
## Inspiration
- I miss the 90s
- This YouTube video of someone running SCRSAVER.NLM like the good ol' days and then running a fork bomb for lulz.
- I've been drinking.
sudo ./install.shThis will:
- Install Python dependencies via
apt(python3-sense-hatandpython3-psutil) - Copy the screensaver to
/usr/local/bin/sense_hat_worm - Install the systemd service
- Enable and start the service automatically
sudo apt-get update
sudo apt-get install -y python3-sense-hat python3-psutil
sudo cp sense_hat_worm.py /usr/local/bin/sense_hat_worm
sudo chmod +x /usr/local/bin/sense_hat_worm
sudo cp sense_hat_worm.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now sense_hat_worm.service# Run manually
python3 sense_hat_worm.py
# Show CPU stats (per worm)
python3 sense_hat_worm.py --stats
# Custom update interval (0.1-0.5 recommended, 0.4 or less for independent worms)
# But you can pretty much use any interval you want.
python3 sense_hat_worm.py --interval 0.3- Default (0.2s): Worms move at a reasonable pace
- Faster (0.1s or less): Worms get zippy
- Slower (0.5s+): Leisurely, zen-like movement, but they'll all appear to move at the same time every "tick".
- For independent movement: Use 0.4 seconds or less so you can see worms moving at different times, which more closely resembles the original behaviour.
sudo systemctl start sense_hat_worm # Start it
sudo systemctl stop sense_hat_worm # Stop it
sudo systemctl status sense_hat_worm # Check status
sudo systemctl restart sense_hat_worm # Restart itWatch two of the worms go bonkers:
sudo apt-get install stress-ng
stress-ng --cpu 2 --timeout 30s- Each worm bounces independently with staggered timing
- Movement speed scales with per-core CPU load (0.5s idle -> 0.2s at 100% load)
- Tail length grows with load (5 pixels idle -> 15 pixels at 100% load)
- Each core gets a different coloured worm
This will transport you back to server rooms that smelled like hot electronics and the inexplicable satisfaction of watching a worm move across your screen.
Warning: This screensaver may cause uncontrollable urges to set up an actual NetWare network in your basement.
