Forget Flags and Scripts: Just Rename the File

Published: (March 18, 2026 at 12:11 AM EDT)
2 min read

Source: Hacker News

Forget Flags and Scripts: Just Rename the File

Programs usually get input from flags or scripts. But there’s another way: a program can read its own filename. That means the entire configuration can live in the file name itself, making programs self‑contained, portable, and instantly shareable.

Why not just flags or scripts?

  • Flags are ephemeral – you have to share the command line or wrap it in a script.
  • Scripts depend on the environment, which can break portability.

Filenames solve both: the program describes itself, requires zero setup, and any configuration can be shared by simply renaming the file.

Example 1: Reusable installers

Imagine install_PY3_MODULE_NAME.exe. It reads the filename, extracts the Python module name, downloads dependencies, sets up Python if needed, and creates a launcher. Rename it, and you have a new installer for a different project. Icons, mirrors, or other metadata can also live in the file as resources – all self‑contained, all shareable.

See the exploration: here

Example 2: AI experiment runners

ML experiments usually require scripts, configs, and data setup. Imagine a single executable:

train---resnet50---lr0.001---batch32---cifar10.exe

It parses its filename, downloads datasets, sets hyperparameters, installs dependencies, and runs automatically. Rename it for a new model, dataset, or parameters.

Share the file, reproduce instantly.

Example 3: Ephemeral utilities

Small ad‑hoc tasks can also be encoded in filenames:

compress---photos---high.exe
backup---home---encrypt-aes256.exe
fetch---api.github.com---repos/owner/project---q=stars>100---o=json.exe

Each file does its job immediately. Rename to perform a new task. Share it. No setup, no instructions. Everything is self‑contained in the name.

Example 4: P2P VPN tunnels

VPNs between friends are usually tricky to set up. Imagine:

lounge-room---friends-machine---t25565---minecraft.exe
  • First two parts: machine names, automatically registered with a server using ECDSA keys.
  • Third part: ports to open.
  • Optional: description.

Run the file to open one side of the tunnel. Rename for new endpoints or ports. Send to a friend, they open their side, the tunnel is connected, game on. No config, no editing, zero friction.

Closing thoughts

This approach collapses configuration, portability, and reproducibility into a single artifact. It challenges conventional assumptions by using filenames as the interface. For installers, AI experiments, utilities, or even VPNs, renaming the file is all it takes to change behavior.

0 views
Back to Blog

Related posts

Read more »