1,283 karma · joined July 5, 2012
OP links to a not quite informative web site.
shrugs
Here's a windows manager (dwm) and it's docs and build system in 13 files and just around 3000 lines of code.
https://git.suckless.org/dwm/files.html
And sbase, a sort of "busybox-like" set of common *NIX base utils written to be small and portable. Some of the commands are just a few dozen lines.
1. You're limited to binaries and executable scripts in your $PATH
2. Many commands do not have bash-completion support.
vi mode for bash, bash-completion are both innovations trying to tackle this optimization of workflow. I see tools like dmenu and slmenu as better ways to give richer UI and create/reuse workflows. GP's request for `allows fuzzy search of program names, tags and a short description` is highly doable in dmenu/slmenu if not already done [0]. Not so much with bash, vi mode for bash, bash-completion.
[0] https://github.com/lpsantil/slmenu
Sagan said..."extraordinary claims require extraordinary evidence".
According to this benchmark, a low end 486/25MHz was over 1000x faster than a 286/6MHz with software FPU. The Pentium 10x faster still. [1]
[0] https://www.linksysinfo.org/index.php?threads/using-fpu-emul...
[0] https://bellard.org/TinyGL/
A Basic Just-In-Time Compiler https://nullprogram.com/blog/2015/03/19/
A JIT Compiler Skirmish with SELinux https://nullprogram.com/blog/2018/11/15/
I’ve also had issues with downloading my 2TB of data the Backblaze has. Takes about 3 or 4 days, if you’re successful. With retries and failures, wall time was about a week. And I have a 1G/1G internet connection. And doing the work to break it into 500GB chunks sucks.
I’d like to back up more of my files but I worry I would not be able to get it back.
Today, a Pi0W could emulate anything up to a low end 486, Pi0-2W/CM3 could do about 486DX-100/low end Pentium.
https://en.m.wikipedia.org/wiki/List_of_former_IA-32_compati...
I work for Red Hat in Presales. Formerly of Red Hat Consulting for 4.5 years. I’ve been here over 5 years now. Love the place. I’ve only ever worked on our Kubernetes distribution, OpenShift and related products. Great mission. Great work to do. Great people to work with. Good Managers. We’re always hiring.
I also worked at NASA/JPL at the start of my career. Worked on the Mars Rovers, satellite network simulations and then enterprise software. Also great work to do. Great mission. Great people to work with. Good management. Pay was always behind industry. But hard to complain when closing down a project can sometimes mean creating an archive for submission to the National Archives.
https://fd.lod.bz/rbil/interrup/dos_kernel/2148.html#sect-29...
https://fd.lod.bz/rbil/interrup/memory/2f4310.html#sect-4815
https://fd.lod.bz/rbil/interrup/memory/673f_cx5145.html#sect...
https://en.wikipedia.org/wiki/DOS_extender#DOS_extenders
Before 2000, many many commercial games and software were written using “classical” C/C++ and had any performance critical areas written in assembly language. People would actually profile their apps and optimize their code and loops. Most any language that had large runtimes or included a garbage collector was not considered an option. Only the most complex, data oriented or GUI oriented parts of the code would be written in high level language. A good example of this mixed language code base is the Allegro 4.x Game Programming Library for DOS, Linux, and Windows.
Going back further into the 80s and 90s, many many commercial games and software were written in all assembly language. Look at the old MS DOS code bases on GitHub for a reference.
All that to say that modern software does a ton things in periphery that old software considered superfluous. We know some of it makes easier to write software, or that the software is more secure, or that it can take advantage of the features of the hardware old machines didn’t have. However, that is still extra code that needs run, often in (event) loops which multiples the amount of time dedicated to that code.
Look at codegolf or other minimal code challenges to see what could be accomplished with a different programming process.