Pipeseroni Projects: How pipes.sh, pipes.c, snakes.pl, maze.py, pipesX.sh, and weave.sh Differ
Updated
Pipeseroni is a small collective that maintains terminal screensaver programs built around the original pipes.sh concept. Its project list separates the original Bash script from ports in other languages and from variants that change the visual behavior: pipes.c (C), snakes.pl (Perl), and maze.py (Python) are language versions, while pipesX.sh adds a diagonal weave and weave.sh injects mathematics into the pipes. If you want the canonical, most widely known program, start with pipes.sh; if you want a port for a specific runtime or a different visual effect, choose from the others.
The full project list at a glance
The site presents all maintained programs in a single table. The key distinction is between language ports and concept variants.
| Program | Language | Description |
|---|---|---|
pipes.sh |
Bash | the original script |
pipes.c |
C | a version written in C |
snakes.pl |
Perl | a version written in Perl |
maze.py |
Python | a version written in Python |
pipesX.sh |
Bash | original pipes, but this time diagonal |
weave.sh |
Bash | inject some mathematics into your pipes |
Language ports vs. concept variants
Language ports: same idea, different runtime
pipes.c, snakes.pl, and maze.py are described as versions of the core pipes concept written in other languages. The practical difference is the runtime you already have or prefer:
pipes.sh(Bash) — the reference implementation and the one the site calls the most well known. Choose it when you want the original behavior and a script that fits a standard shell environment.pipes.c(C) — choose it if you want a compiled version rather than an interpreted script.snakes.pl(Perl) — choose it if Perl is your preferred or available runtime.maze.py(Python) — choose it if you work in Python environments.
The site does not publish performance benchmarks, feature-by-feature parity notes, or installation instructions for each port, so treat the language as the primary differentiator rather than assuming identical options or flags across all versions.
Concept variants: same language, different visuals
pipesX.sh and weave.sh are both Bash scripts, so the choice here is about the effect rather than the runtime:
pipesX.sh— takes the original pipes and renders them diagonally. Pick this when you want the familiar pipes look with a diagonal orientation.weave.sh— adds a mathematical element to the pipes. Pick this when you want a more generative, math-driven pattern rather than the plain original.
A short history that explains the structure
The project list makes more sense with the timeline the site provides:
- Early 2010 — Matthew Simpson creates
pipes.shand posts it to the Arch Linux Forums, later releasing it on Gist into the public domain. - Early 2013 — Yu-Jie Lin posts a modification to Gist after reading about it on a blog; it is maintained on Gist independently for a few months.
- 2014 — the script gets its own GitHub repository, encouraging contributions from other developers.
- 2015 — the MIT license is added and the Pipeseroni collective is formed to maintain the projects, combining forces with developers of similar projects.
That consolidation is why the current list mixes the original script, ports by other developers, and idea-building variants under one maintainer group.
How to decide
- Want the original and most well known program? Use
pipes.sh. - Need a non-Bash runtime? Match your environment: C →
pipes.c, Perl →snakes.pl, Python →maze.py. - Want a different visual effect but still Bash? Use
pipesX.shfor diagonal pipes orweave.shfor math-infused pipes. - Want to see who maintains the projects or contribute? The site points to the current members on GitHub.
The site does not list pricing, download links per project, or platform requirements beyond language, so verify installation details from each project's repository before relying on a specific setup.