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:

  1. Early 2010 — Matthew Simpson creates pipes.sh and posts it to the Arch Linux Forums, later releasing it on Gist into the public domain.
  2. 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.
  3. 2014 — the script gets its own GitHub repository, encouraging contributions from other developers.
  4. 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.sh for diagonal pipes or weave.sh for 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.