I’m talking about programs that can’t be improved no matter what. They do exactly what they’re supposed to and will never be changed.
It’ll probably have to be something small, like cd or pwd, but does such a program exist?
Ed. It’s the standard text editor.
I wanted to say VLC because to me, it’s the gold standard of fully working open-source software that just destroys the commercial competitors.
But it’s not perfect only because society changes. New video formats forces VLC and open-source devs to adapt. Bigger video and new tech specs require VLC to update. If it wasn’t for all those external needs, VLC would be perfect.
Did I also mentioned the many times rich companies wanted to buy VLC and they laughed?
Personally I prefer MPV but yeah both just wrap around FFMPEG
It’s worth noting that most commercial multimedia software is also more or less a wrapper around ffmpeg
Windows event viewer… You open it, go to the toilet, to the shower, take a coffee, … and only 2 more minutes later, it shows you the entries…
It’s so perfect, they never had to improve it in decades.
/s
TeX?
Development is considered to be complete, and the version numbering is just adding a digit of pi. Last change was 5 years ago.
This was going to be my point. The idea that as the software slowly makes new releases the version number more and more closely approximates Pi
Honestly, it all starts going to shite after “hello world.”
Shouldn’t it be “Hello world.”?
No. “Hello, world!” or you’re doing it wrong.
What does perfect hello world even mean? It can be realized in many ways and none is the best way.
Computers can’t even greet you in the real world. Its like some kind of sick joke.
“Dance, clanker! Dance!”
Hahahahah
deleted by creator
For software to be perfect, can not be improved no matter what, you’d have to define a very specific and narrow scope and evaluate against that.
Environments change, text and data encoding and content changes, forms and protocol of input and output changes, opportunities and wishes to integrate or extend change.
pwdseems simple enough.cdI would already say no, with opportunities to remember folders, support globbing, fuzzy matching, history, virtual filesystems. Many of those depend on the environment you’re in. Typically, shells handle globbing. There’s alternativecdtools that do fuzzy matching and history, and virtual filesystems are usually abstracted away. But things change. And I would certainly like an interactive and fuzzy cd.Now, if you define it’s scope, you can say: “All that other stuff is out of scope. It’s perfect within it’s defined target scope.” But I don’t know if that’s what you’re looking for? It certainly doesn’t mean it can’t be improved no matter what.
If you just need the functionality then fzf does (among other things) exactly that. Interactive fuzzy cd. If you use the shell bindings you can do
cd foo/bar/**<tab>to get a recursive fuzzy matching or you can do alt+c to immediately find any subdirectory and directly cd into it upon pressing enter. You can also use Ctrl+T to find and insert a path into the prompt.Thanks for the suggestion. As a first step, I set it up in Nushell with a
ctrl+tshortcut:$env.config.keybindings = ( $env.config.keybindings | append { name: fzf_file_picker modifier: control keycode: char_t mode: [emacs, vi_insert, vi_normal] event: { send: ExecuteHostCommand cmd: "commandline edit --insert (fzf | str trim)" } } )Maybe I will look into more. :) I’ve known about
fzfbut I guess never gotten around to fully evaluating and integrating it.Nushell supports fuzzy completions, globbing, and “menus” (TUI) natively. Still, the TUI aspect and possibly other forms of integrations seem like they could be worthwhile or useful as extensions.
It was fault tolerant but I wouldn’t say it was perfect. There were plenty of “known issues”, and the fix in production was basically, “don’t do that”.
It’s on Github and has several PRs.
I would say git, tex, sqlite, Clojure, Steel banks common lisp are some of the candidates.
Perfect doesn’t meen “not any bugs fixes or features needed” to me. I can’t really define what it means to me…
You may be interested by this https://en.wikipedia.org/wiki/Formal_verification.
Prominent examples of verified software systems include the CompCert verified C compiler and the seL4 high-assurance operating system kernel.
There was a moment in time where maybe it was qmail:
https://en.wikipedia.org/wiki/Qmail
Ten years after the launch of qmail 1.0, and at a time when more than a million of the Internet’s SMTP servers ran either qmail or netqmail, only four known bugs had been found in the qmail 1.0 releases, and no security issues.
More on how it was accomplished:
https://blog.acolyer.org/2018/01/17/some-thoughts-on-security-after-ten-years-of-qmail-1-0/
Djbdns was excellent too, and ezmlm,.in fact all DJB’s software was quality for its single purpose. The world moved on though, and you had to have your basic Internet servers just…do more
Automotive engine control computers.
They just work, for decades and millions of miles.
A program that just prints “Hello World” to the screen and quits.
…that supports Unicode? Which encodings? Or only ASCII? Unicode continues to change.
I wouldn’t be very confident that it won’t change or offer reasonable opportunities for improvement.
No; since every user defines the perfect program differently. Which should be the default behaviour(s)?
You cannot criticize a good knife by asking why it’s not a hammer.
But I can critisize it for having only one sharp edge instead of 2. Or for being too short or too long. Or for having a handle that’s not shaped well for my hand. (That last metaphor is probably the correct one for the sentiment I’m going for.)
The answer remains, this tool is not flawed, it’s just not the one you want.
Vim could be feature-complete and formally verified and I’m still using Xed.
A hammer is a completely different tool, but different defaults in a single program are not.
Point is there’s no objective standard for “perfect”
Software is always an ongoing conversation.
Of course: https://github.com/kelseyhightower/nocode
Ha. I still have an open PR on that.
Perfect code right here:











