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 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 my 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, tunnel is connected, game on. No config, no editing, zero friction.