A blog engine in one 1,200-line bash script, and the thread can't agree if that's craft or madness
Bashblog is a single Bash file with no dependencies beyond date, grep and sed. Type ./bb.sh post and write. The comments split over whether long bash is a discipline or a developer-experience crime.
Bashblog generates a full static blog, RSS, tags and backups from one ~1,200-line Bash script that leans only on standard Unix tools. No runtime to install, no database. It has 1.9k GitHub stars.
The objection was blunt: one engineer said there's zero advantage to bash past a few lines, with editor syntax highlighting breaking across the file. The counter came from someone who runs web servers in 128MB of RAM, where pulling in Python or Node is exactly the cost you're trying to avoid.
One file, zero runtime: what Bashblog actually is
Bashblog is a static blog generator that fits in a single Bash script of about 1,200 lines. The pitch is its whole personality: "Just type ./bb.sh post and start writing your blogpost." It produces plain HTML files — no database — and still covers RSS feeds, tags and categories, drafts, optional Markdown, Disqus comments, and an automatic backup on every post.
What it pointedly does not need is a runtime. It relies only on standard Unix utilities — date, basename, grep, sed — and runs on Linux, BSD and macOS without GNU coreutils. The repo carries 1.9k stars and 238 forks, following the UNIX line of doing one thing well.

The thread: discipline, or a developer-experience crime?
The loudest objection in the thread was that long bash is simply bad tooling:
"I don't understand why people write bash scripts more than a few lines long. There's absolutely 0 advantage … even GitHub's syntax highlighting (and VS Code's) breaks in many places throughout the script." — a developer who'd rather use Python for any of these scripts
He also punctured the no-runtime defense: the script uses bash, not sh, so it is not as portable as the pitch implies. The strongest rebuttal named the one workload where the trade flips:
"I want to run a web server with 128mb of ram and a 1gb disk … it's useful to just use the base system." — a commenter who provisions minimal servers
He pushed further, comparing the skeptics to asking "why know how to use a saw when you can use a chainsaw" — fluency in your shell is its own payoff. A FOSS purist raised a different worry entirely:
"a program I would like to use if it was distributed in the standard repo of my OS, rather than totally unvetted on the Microsoft Github page of a random developer" — a self-described FOSS principled user
The thread also turned into a quiet roll call of people who had built the same thing — a NodeJS rewrite, a Jekyll migration, a one-liner find … -exec pandoc, and a multi-year shell blog that does RSS and dual-language. That is the real tell: a 1,200-line bash blog is not a tool most will adopt, it is a rite of passage that a surprising number of engineers have already performed and quietly retired.
Get breakdowns like this every day
The top Hacker News stories, unpacked — by email, Telegram, or RSS.
A DLL the loader swears is pinned, but its code memory is gone
Windows reported combase.dll as loaded with a pinned reference count, yet the bytes holding CoTaskMemFree had been deallocated. Calling it crashed the process, and shell32 took the blame for a corpse someone else had freed.