Unsigned · 2022-08-20 17:33
For discussing software minimalism.
>What is computing minimalism?
https://en.wikipedia.org/wiki/Software_bloat
https://en.wikipedia.org/wiki/Unix_philosophy
https://wiki.installgentoo.com/wiki/Software_minimalism
>Why is software minimalism good?
- Fewer bugs
- Better performance
- Lower memory footprint
- Better maintainability
- Higher scalability
- Longer software lifetime
- Smaller attack surface
>Who hates software minimalism?
- Script kiddies (Muh Kali Linux)
- normal people (Your local tinder slut or Chad)
- Glowniggers (Take the vax, goyslop)
- Corporate Programmers (FAANG diversity hires & Indians)
>Website development
learnbchs.org
suckless.org/is like kicking dead whales down the beach/web
>List of minimal OSes and distros
- OpenBSD
- Gentoo Linux
- Alpine Linux
- Temple OS
>Useful links
suckless.org/rocks
suckless.org/is like kicking dead whales down the beach
Judge Fang · 2022-08-20 17:54
Nothing related to UNIX is minimal in any sense. Contrary to what plenty of imageboard users believe, UNIX is the reason we still have security issues. UNIX is worse than Multics, of which UNIX is just a castrated version. Explain to us, original poster, why writing the core of a system in a language with no safety checks is a good idea. Why use the C language and not, say, Ada? There's no obfuscated Ada programming competition.
A truly secure computer would implement a high-level language in the hardware and eliminate entire classes of errors, but that's bad for business.
The UNIX philosophy is simply brand-named simplicity. The ideas of modularity and simplicity predate automatic computing and recorded history, and yet people will claim one is following UNIX if one were to write a program that adheres to these basic ideals. Further, those other qualities of this philosophy result in programs that aren't modular, simple, nor beautiful. The thing to recognize here is that UNIX and the C language comprise a cult. They balk at everything else just long enough to stop at the C language; writing in a language that doesn't require that drudgery is just silly.
>Fewer bugs
Millions of lines of C language code will never be free of flaws.
>Better performance
No, this is the appearance of better performance, where the machine code may be slightly smaller, but the system has seventeen different and broken implementations of a basic data structure because generics such as Ada has had since 1983 are bloat, apparently.
>Lower memory footprint
Never forget that UNIX was the Electron of its day. It uses megabytes where other systems needed kilobytes, but those inefficiencies are inconvenient to acknowledge, so they don't matter anymore.
>Better maintainability
Making a program small and its parts reusable is better for maintainability. Ada can do this, APL can do this, Lisp can do this, but the C language can't do this.
>Higher scalability
Software is so inefficient nearly no one knows what a single machine can do nowadays. If UNIX weren't wasting time context switching, verifying system call arguments at runtime, and chasing zero octets, then a single machine would be enough to serve at least millions or billions of people.
>Longer software lifetime
Sure, so long as we don't acknowledge the army of idiots keeping things running, since programming work should never ever be automated so programmers can feel like wizards while they manually change basic aspects of a program.
>Smaller attack surface
The size of an attack surface is irrelevant when none of the software actually works anyway.
This thread really isn't worth leaving up, but it will be good to thoroughly crush this stupid notion of minimalism present within it.
Masami Eiri · 2022-08-20 21:39
>>19879
A few thoughts on Software Minimalism.
> Minimal Software isn't *always* more secure
IMO opinion, OpenBSD is actually less secure than FreeBSD for a variety of reasons depending on how you define security:
- It has no MAC system
- It doesn't explicitly support being virtualized guest
- It doesn't support reasonable file systems
All of these are things people can and do live with. I personally find Qubes to be compelling because of how easy and seemless it makes virtualization. Yet Qubes is quite maximal. I would really like to slim down qubes by migrating vm's to more minimal OS's like OpenBSD , but I wouldn't forgoe Qubes.
> Minimal Software is a learning opportunity
Minimal Software is an excellent opportunity to learn about the system and write your software or extend minimalist software. I have rewritten many UNIX utilities (xargs, find, ...) in C. By lowering the barrier to engaging with the system, minimalist software can make you not just a user but upskill you as well.
Lainon's should checkout xv6 (and the related only 100 page book on the OS) for a minimal UNIX to play with - its not a functional host system, its a toy UNIX to learn with.
Batou · 2022-08-24 05:03
>>19885
>more secure
Well there's your problem: that's not a real thing.
More secure against what? Storage failure? Surveillance capitalism? Skiddies? State-funded APTs? Bears? Like you said: "depending on how you define security".
Something like Qubes has some interesting trade-offs: It's heavily based upon some major, pre-existing, maintained to some degree projects that aren't particularly lightweight. However, it supplies some excellent information security tools like disposable Whonix VMs, convenient compartmentalization, file sanitation for PDFs, GUI separation, etc. So depending on your threat model (for me, it's not an active government attack) it might be a better tool than OpenBSD.
You're definitely right to point out minimalism doesn't imply security, hopefully no-one actually believed that, however there is still a valid point in reducing attack surface. It's just not the most effective way to reduce exploitability. I'd rather a much larger memory-safe program than a tiny C program if my goal was to reduce attack surface.
Yamaoto Toshi · 2022-08-24 08:38
>>19879
Terrible thread and this belongs in >>>/Ω/
藤原純一 · 2022-11-29 07:46
>>19880
>A truly secure computer would implement a high-level language in the hardware and eliminate entire classes of errors
This is interesting, are there any real life examples of this? (modern or ancient/obsolete)
Arisu Mizuki · 2022-11-29 16:51
>>20547
Yes. The Burroughs 5000 machines were programmed in ALGOL; the architecture is a high-level stack machine. I know more about the Lisp Machines, which had tagged memory for efficiently implementing linked list optimizations and other things; as an example, trying to add a number with something not a number would be prevented at the machine level, because the machine knew the types of everything.
There are also machines which go further than a high-level stack machine, and a physical implementation of this was the SCHEME-79 chip, which implemented Scheme in hardware; the code was represented as Lisp cons cells and interpreted by the hardware. A simple model of this kind of machine is called the SECD machine.
There's no such thing as accessing arrays out-of-bounds in these machines, because anything like an array carries around the information needed to check for such, and such is always checked. This is, understandably, bad for business, since people no longer expect computers to work, and if they worked people couldn't be convinced to download updates on corporate whims.
Sipho Nkosi · 2022-12-02 05:47
>>20548
>This is, understandably, bad for business, since people no longer expect computers to work, and if they worked people couldn't be convinced to download updates on corporate whims.
Not all vendors are corporations and not all customers are clueless civilians. The fact that there is no open source group doing this or no commercial group selling this to the military means you've probably missed something about the technology itself.
Pris · 2022-12-03 17:48
>>20559
>Not all vendors are corporations and not all customers are clueless civilians.
Enough are.
>The fact that there is no open source group doing this or no commercial group selling this to the military means you've probably missed something about the technology itself.
Actually, I believe Symbolics, a producer of Lisp Machines, still keeps inventory and the like precisely for the military, from what I know. When have open source advocates ever not been led by the nose by industry? The closest thing is RISC-V, a worthless solution to non-problems, and that was designed by a gaggle of masturbating academics even, not masturbating volunteers.