Good software knows when to stop
Source: Hacker News
The “New” ls Experience
It’s 9 AM, you’re ready to upgrade your favorite Linux distribution and packages to their latest versions. The process goes smoothly, and after a reboot your machine is now up‑to‑date. You go about your day as usual, and then, when trying to list the contents of a directory, something strange happens. The routinely boring behavior you’re used to from ls surprises you – and not for the best:
$ ls
┌──────────────────────────────────────────────────────────────────────┐
│ │
│ NOTICE: The legacy utility `ls` has evolved. │
│ │
│ _ _ │
│ / \ __| | ___ │
│ / _ \ / _` |/ _ \ │
│ / ___ \ (_| | __/ │
│ /_/ \_\__,_|\___| │
│ │
│ AI-Powered Directory Intelligence™ │
│ │
│ Hello. │
│ │
│ The classic `ls` command has reached the end of its lifecycle. │
│ For decades it faithfully listed files. │
│ But listing is no longer enough. │
│ │
│ The filesystem deserves to be *understood*. │
│ │
│ Introducing: │
│ │
│ █████╗ ██╗ ███████╗ │
│ ██╔══██╗██║ ██╔════╝ │
│ ███████║██║ ███████╗ │
│ ██╔══██║██║ ╚════██║ │
│ ██║ ██║███████╗███████║ │
│ ╚═╝ ╚═╝╚══════╝╚══════╝ │
│ │
│ Adaptive Listing System │
│ │
│ `als` doesn't just show files. │
│ It predicts which ones you meant. │
│ It ranks them. │
│ It understands you. │
│ │
│ Your current `ls` binary will remain functional for: │
│ │
│ 30 days │
│ │
│ After this period: │
│ • `ls` will be deprecated │
│ • updates will cease │
│ • directory awareness will be disabled │
│ │
│ You can begin your transition today: │
│ │
│ $ als --trial │
│ │
│ (30‑day free evaluation period) │
│ │
│ Thank you for participating in the future of file awareness. │
│ │
│ — The `ls` Team │
│ (now part of ALS) │
│ │
└──────────────────────────────────────────────────────────────────────┘
Fortunately, this does not happen. Good software knows the purpose it serves; it does not try to do everything, it knows when to stop and what to improve.
Product Vision vs. Feature Creep
One of the most counter‑intuitive lessons for the maximalist human psyche is to understand the role and place your software fits in, and to decide whether what you want to do next aligns with a broader product vision or is merely another project, another tool.
For the oldest amongst us, this kind of lesson came from 37signals, the founders of Basecamp (the project‑management tool). Their books Rework and Getting Real are highly recommended—especially Getting Real for product design. Their key takeaways can be summed up as:
- Constraints are advantages – Small teams, tight budgets, and limited scope force better decisions.
- Ignore feature requests – Don’t build what users ask for; understand the underlying problem instead.
- Ship early, ship often – A half‑product that’s real beats a perfect product that never ships.
- Epicenter design – Start with the core interface/interaction, not the edges (navigation, footer, etc.).
- Say no by default – Every feature has a hidden cost: complexity, maintenance, edge cases.
- Scratch your own itch – Build something you yourself need; you’ll make better decisions.
At the time where Minio become… (the original text cuts off here)
es AIStor and even Oracle Database becomes the Oracle AI Database. I think a little reminder that not everything has to change drastically and that being the de facto standard for a given problem has more value than branding yourself as the new hot thing no‑one expected.