/mg/ - Software and Hardware Minimalism General

For discussing software and hardware minimalism and minimal computing lifestyle.

en.wikipedia.org/wiki/Minimalism_(computing)

- Fewer bugs
- Better performance
- Lower memory footprint
- Better maintainability
- Higher scalability
- Longer software lifetime
- Smaller attack surface

ix.io/ZE2

Alternatives to Bloatware: github.com/mayfrost/guides/blob/master/ALTERNATIVES.md

Window Managers: en.wikipedia.org/wiki/Comparison_of_X_window_managers

Suckless: suckless.org/rocks

Cat-v.org: harmful.cat-v.org/software/

Minimalism is not a lack of something. It's simply the perfect amount of something.

Attached: change.png (500x2000, 352.09K)

Other urls found in this thread:

github.com/arsv/minibase
st.suckless.org/patches/scrollback/
specifications.freedesktop.org/basedir-spec/latest/
github.com/martanne/vis.
en.wikipedia.org/wiki/Shellshock_(software_bug)
aquest.com/emacs.htm
github.com/torvalds/linux/blob/master/include/uapi/asm-generic/posix_types.h
en.wikipedia.org/wiki/Unix_philosophy
en.wikipedia.org/wiki/Minimalism_(computing)
suckless.org/rocks
harmful.cat-v.org/software/
en.wikipedia.org/wiki/Comparison_of_X_window_managers
github.com/mayfrost/guides/blob/master/ALTERNATIVES.md
twitter.com/NSFWRedditImage

oh look its another distro thread

i believe in minimalism but people here take it too far

Rate my setup, reddit.
OpenBSD and Gentoo
Ratpoison
Links and NetSurf
mksh/pdksh
urxvt on Gentoo, xterm on OpenBSD

(6/10)
(10/10)
(3/10)
(5/10)
(?/10)
(?/10)
(?/10)
(0/10)
(0/10)

Both excellent.
dwm
Great choice!
Both absolute garbage. urxvt is a dogshit. Vanilla st or patched st is the only way.

github.com/arsv/minibase
This project looks really interesting. Basically implementation of common used tools to build the base of Linux distro and ditch GNU, systemd and other shitware. Everything is implemented using Linux system calls, not even a specific libc dependency. But as far as I know it is not stable yet.

Another interesting alternative would be ubase & sbase (suckless) + hbase (Morphious project) + sinit. But it doesn't look that well maintained, most stuff stopped being developed in 2014.

I know xterm is bloated but it runs way faster than st. What is the point of minimalism if the minimal software is much slower?

I actually use st + dash for scripting, the lack of features makes it inferior for interactive use. The reason I use xterm on OpenBSD is that it's already in base. Is there any other terminal besides those 3 that is usable?

Anything specific? I can't think of anything really important. But yea in general if you want/need those features than st just isn't good enough.
Good point. Makes sense in that case.
Not minimalistic.

What features do you even need from st that urxvt doesn't have? A scroll bar widget?

Tab completion/scrolling not working was the big one for me (I don't know if fixing it is trivial, let me know if it is).

Personal preference.The performance penalty is minimal on modern hardware. In general I would gladly trade performance for simplicity and correctness. For example OpenBSD has worse performance than Linux in many areas, but still I wouldn't disregard it.

Currently I don't have minimalist setup (using xfce), so I can't remember if my st had a tab completion, but I think it has it by default no? I know you have to patch scrollback or just use tmux.
st.suckless.org/patches/scrollback/

Fish's tab complete works fine
There are patches on the website for it to add scrolling.

What is more minimalism?
Second option leads to less code in the system overall but more code being executed at the moment, and I am not sure what's more important.

If people actually thought about whether they wanted a featureless program or a small/fast one the gnu/linux world would be way less retarded.
To give you a perfect example. Kolibri OS is tiny. It has a GUI. GUI = bloat. So it's not minimalist.

An even better example of how little these "minimalists" grasp the very concept they're toting, GNU Emacs is a shell, a window manager, a text editor, a desktop environment, a userland--basically bloat incarnate. But because of a technical limitation of elisp, it will only ever use one core. Relatively speaking, it's tiny. Emacs is small, minimal, and light on resources--moreso than even most window managers--despite the fact that it's the antithesis of so-called minimalism.

You think that only because Luke Smith show you st. St is retarded. Scrolling is slower than any other terminal, it don't stop on top, simple color change is a mess and it takes more ram than urxvt.

not him but
literally who?
It's faster than uxrvt for me. This is likely due to st running at a higher frame rate.
What does that even mean? Both top and htop work perfectly in st.
What's that? If you are talking about 256 colors, they worked out of the box for me.
st's RAM usage for me is kind of weird. For example one of them it is only taking 332 KiB, but for another it is taking 14876 KiB. It's kind of weird that when I start a new instance of st is has more than 332 KiB allocated. It probably has something to do with the scrollback or something.

Great more permissive cucks who likes to take corporate cocks up their asses.

Anyone tried using dash as /bin/sh in gentoo?, I hear that gentoo has a lot of bashisms, mainly in the init scripts.

...

And some "MIT/BSD software" isn't minimalist and bloated to hell. And even among the majority of said software that does fit the criteria, almost none of it is minimalist enough to warrant the titular True Unix category that Macbook-toting elitists will divvy out to anything vaguely Unix-looking that also happens to be convincingly non-GNU enough to let them covertly and conveniently dismiss the ethical dilemmas strong copyleft addresses by conflating them with the technical flaws of GNU bloat--enough to characterize a license with the technical merits of software that coincidentally happens to be distributed under that license in typical shill fashion.

Its going to stay that way since anyone who thinks that systemd should stay as far away as possible.

Literally what, its using 31K for me. Let me guess, you are one of those retarded larps who claim minimalism but continue to use gbloatc.

*systemd is minimal

Why is there debian on the list?
It's like the whole infographic is a mean to shill for debian and against gentoo/bsd/alpine.

How is dwm compared to i3? Is it noticeably lighter? Any features an i3fag would miss with dwm?

Screen tearing, disgusting config syntax, meme cred.
I don't think the tiling works the same in dwm though.
If you don't like way dwm does it I would recommend bspwm over i3, though bspwm still has retarded configuration compared to dwm.

If you really think people here are now using st because their favorite YouTuber told them to, you are delusional. urxvt is basically just slightly cut down version of xterm with unicode support and shitload of anti-features bloat. I hope you enjoy your Perl shit in your terminal.
I am glad you can now load 1/10 of a new Chrome tab. I bet you use Chrome also because of superior performance, right?
Literally just keep the source code and change the colors, takes less 30 seconds and compilation time takes 1 second.
Minimalism is about simplicity and correctness of code not muh RAM.

I agree with you that suckless people are tok autistic, but there is not better alternative to st. Urxvt is shit, if you like bloat and complex codebase might as well use VTE based terminal emulator if you can't patch basic shit.

Attached: minimal_guide2.png (702x962, 153.86K)

I'd agree, but the default config pretty much does all the work for you. It's weird how it uses hjkl instead of jkl; in that config.

If it's unusable without teared off feature, then that's packagers work, if the dev himself is autistic fag.
I use st as well, but fuck, point is that it's literal autism, not including feature that is ==ESSENTIAL==.

This but add mg to editors and netsurf to browsers.

UNIX and C are the cause of bloat.

* In another article DB writes:* > Unix programmers have a bizzare idea of* > efficiency. Emacs misuses pointers to save a few bytes* > (while being huge and bloated), XWindows is a pig, but* > hey, we saved a JMP! :-)* That's not UNIX, that's MITnix. This massive abuse of* virtual memory seems to have come in with the MIT "free"* software: X, the GNU stuff, and so on... --First of all, memory for PCs (and soon for workstations)runs for about $30/MB, and 8 additional MB take care of bothX and GNU Emacs.In addition, I won't say much about X, which I dislike,although if I'm not mistaken most of the bloat has occurredbecause of vendor requests. X 10 was much leaner, andprovided more than sufficient functionality as far as I'mconcerned.With respect to Emacs, may I remind you that the originalversion ran on ITS on a PDP-10, whose address space was 1moby, i.e. 256 thousand 36-bit words (that's a little over 1Mbyte). It had plenty of space to contain many large files,and the actual program was a not-too-large fraction of thatspace.There are many reasons why GNU Emacs is as big as it iswhile its original ITS counterpart was much smaller:- C is a horrible language in which to implement such thingsas a Lisp interpreter and an interactive program. Inparticular any program that wants to be careful not to crash(and dump core) in the presence of errors has to becomebloated because it has to check everywhere. A reasonablecondition system would reduce the size of the code.- Unix is a horrible operating system for which to write anEmacs-like editor because it does not provide adequatesupport for anything except trivial "Hello world" programs.In particular, there is no standard good way (or even any inmany variants) to control your virtual memory sharingproperties.- Unix presents such a poor interaction environment to users(the various shells are pitiful) that GNU Emacs has had toimport a lot of the functionality that a minimally adequate"shell" would provide. Many programmers at TLA neverdirectly interact with the shell, GNU Emacs IS their shell,because it is the only adequate choice, and isolates themfrom the various Unix (and even OS) variants.Don't complain about TLA programs vs. Unix. The typicalworkstation Unix requires 3 - 6 Mb just for the kernel, andprovides less functionality (at the OS level) than the OSsof yesteryear. It is not surprising that programs that ranon adequate amounts of memory under those OSs have toreimplement some of the functionality that Unix has neverprovided.What is Unix doing with all that memory? No, don't answer,I know, it is all those pre-allocated fixed-sized tables andbuffers in the kernel that I'm hardly ever using on myworkstation but must have allocated at ALL times for therare times when I actually need them. Any non-brain-damagedOS would have a powerful internal memory manager, but whoever said that Unix was an OS?What is Unix doing with all that file space? No don'tanswer. It is providing all sorts of accounting junk whichis excesive for personal machines, and inadequate for largesystems. After all, any important file in the system hasbeen written by root -- terribly informative. And all thatwonderfully descriptive information after lots of memoryconsumed by accounting daemons and megabytes of disk takenup by the various useless log files.Just so you won't say that it is only TLA OSs and softwarethat has such problems, consider everyone's favorite textformatter, TeX (I'm being sarchastic, although when comparedwith troff and relatives...). The original version ranunder FLA on PDP-10s. It is also bloated under Unix, and italso must go through contortions in order to dump apre-loaded version of itself, among other things.

you are all edgy redditors who know nothing about computers and think that less is better

t. brainlet who doesn't know how to weave larger tools via scripting

You are absolutely retarded

OMG, YOU CAN PIPE IO from one bash script into another?
WOW, YOU'RE A GOD,CAN I SUCK YOUR DICK?

bloat no, having to install everything by yourself because idiot who made the distro likes minimalism is a no go for me

interdasting

You are missing the point of minimalism. The point is to reduce vertical bloat. It's not just about less is better, but an idea on how it should be distributed.
An example of vertical bloat is when you have dependencies which have dependencies which have dependencies which have dependencies. Eg. webapp depends on electron which depends on chrome which depends on a bunch of other libraries which depends on other libraries ...
With horizontal bloat, which most people do not consider bloat, your programs and data are spread out horizontally. For example, you could have separate tools for image conversion and video conversion. Why should you load all the resources for converting video when you just want to work on images. In this case of having more programs, you aren't adding more code which is going to take up more memory to run, but rather having them just take up disk space.

Can't you keep your /g/ shit at /g/

...

Good sh scripting (meaning POSIX compliant and not relying on too much external tools) isn't bloat but it'll take you far.

Bloat is fine as long as it's modular and decentralized.

POSIX sh is ass cancer, literally worse than PHP

...

You disgust me.


How is scrollback buffer essential? Its duplicated code. dvtm and tmux both implement that feature. Its is not the job of the _Terminal_ emulator. Terminals didn't have scrollback. Also you could just use less/more etc.

Seriously, if you want to know what kitchen-sink bloat and unnecessary abstractions look like, Lisps and family are the way to go.

Remove Debian (I don't know what you would put in its place, maybe OpenBSD?) swap vis for nvi (nano? really?) change ranger to mc, and add ratpoison to the window managers. Also, switch qutebrowser with netsurf (the framebuffer version).

...

It's the most usable of them all, while also having the easiest customization. It barely uses more ram than dwm, and it uses less than cwm -- which is also very minimal.

Attached: wm.png (290x319, 22.13K)

My bspwm is currently using 1.3 MiB. It's also very usable and is customized by a shell script.

Oddly enough, scrollback doesn't work on my OpenBSD text console when booted in UEFI mode. It only works if I enable the old "legacy" mode, and then the console is also 80x25 instead of some weird mode based on 1366x768.
Anyway, besides those there's screen, less, tee, and script.

Are you using it without sxhkd/xbindkeys? If I were being honest, I don't think I could use anything besides ratpoison at this point. The keybinds I've been using for years (and the way it synergizes with tmux) are invaluable. If you want to try it out, the most important thing to do would be to bind the escape key to the grave key.

I think if it were AntiX net instead of Debian it would work. AntiX is poettering-free and really good at keeping memory usage low since it's meant for old hardware.

I thought I remember ratpoison having really annoying keybinds though it's been a while so I might be misremembering. I didn't realize herbstluftwm was as light as it is. Anybody used it? How is it?

I won't deny that, but you can bind the modifier key (default is ctrl-t) to the grave key (only takes one line in the config file), and then everything feels fluid. Binding keys is easy as well.

Has minimalism gone too far? I feel pretty satisfied with my i3 install, how can 5.5M possibly be considered bloat?

it's bloated if you want to avoid SMM or Spectre using hardware

specifications.freedesktop.org/basedir-spec/latest/

Attached: 1520824839198.jpg (462x318, 21.01K)

Every fucking time someone brings up bspwm you make this same fucking point and every fucking time someone tells you that it doesn’t have to be that way but every single fucking time you still bother to type in the same retarded shit.

Attached: 79C17AC7-6B50-4C42-B5C9-C61B51BF99AA.png (1366x768, 297.1K)

You know there is a Wayland version called bspwc yeah? Get rid of that xorg cancer

Why are you using a compositor?
You should also ditch feh for sxiv, and use hsetroot to set your wallpaper.

Thanks for the tips guys, now can someone nicely tell me how use wpa_supplicant? I always get errors trying to get on the network and when I scan nothing comes up, yes I have WiFi.

bgs.c

You likely need firmware for your wifi-card. I think dmesg should confirm this, but you can just try installing the firmware and seeing if scans work afterwords. You shouldn't need wpa_supplicant unless you are on a university/corporate network with EAP.

Yes I do. If you are wondering about the memory usage of sxhkd it's 604 KiB.

Do SliTaz, antiX, and Tiny Core (especially Microcore) contain any bloat at all?

Bloat.
good.

Note I'm not talking about GCC, as terrible as it is, it is unavoidable.
Note2licensefag I'm not talking about the licenses. Clang is the same cancer as gcc, except it can't even compile the linux kernel.

or how I learned to stop worrying and love NetworkManager

kekt

"A list of operating systems and distributions that aren't bloat" and it has FUCKING SLACKWARE IN IT. And the "alternatives to bloatware" lists a bunch of shit that shouldn't be used at all, like fucking google drive.

OP's whole post sucks. Honestly it's looking like a troll thread. Well executed in that case.

Note that the line mentioning Google Drive is under the "File Server" category, featuring an arrow-separated list of progressively more minimalist implementations. Therefore one would note that Google Drive is listed leftmost in that category, and thus considered to be most bloated option.
kys

lol it's just some autistic ranking which means fucking nothing.

This sounds odd today, but my first PC was a 486 with 4 megs RAM. I installed Slackware on it, and it was very usable at the text console with programs like Lynx and such, or even some games that used svgalib. Normal X was too big, but there was a cut-down distribution called TinyX that came with rxvt and twm. That worked well enough to run a few rxvt's and rclock (smaller than xclock). Netscape was out of the question (it would send machine into swap hell), but Mosaic worked okay.
So yeah, things have gotten bloated these days.

Well, I guess it comes down to the flavor of minimalism. What people in this thread seem to be describing is minimal resource usage, as opposed to suckless minimal LOC.

mksh was forked from pdksh and is actively developed
What is wrong with vis? It's small enough
It's not, but it's not entirely my pic. I use void
qutebrowser is the best fully-featured browser without too much bloat


why not ed?
It was there before I edited it. Still smaller than vim
Not really that smaller. I can remove ranger instead of this
There is no need for listing every wm

I think most of the memory being used by wms and terminal emulators nowadays goes towards font rendering.
It was not a big issue back in the day of low res monitors and ANSI bitmap fonts, but now if you want to put some letters on screen you have to keep several font faces implementing different (and overlapping) parts of Unicode space in your memory, rendered from vector representation in high resolution.

What are some other window managers that are less than 1,000 lines of code? I know that catwm is at around 600 but any other ones like that?

I just finished configuring my Thinkpad:
All I need. With Libreboot it boots at blazing speeds.

DWM is ~2000 SLOC

Try abduco + dvtm

Not him but aren't those abandoned?

This, I don't want to seclude myself to some "everything is a minimal C program" -utopia. That'd mean not having Nextcloud, public transport route planning, no participating in Uni courses which use Netbeans, no making demoscene productions as a one man army with convenient tools like Rocket (needs Qt for editor). Probably lots of more personal examples. I like to keep things reasonably simple, but I have a modern computer with plenty of resources and I'd really like to use it fully. LARPing is stupid.

>Try abduco + dvtm
Ehy, thanks man, I'll definitely try them.
dvtm seems particularly interesting!

Check the git, they are both non-bloated piece of software, so if you encounter issues you could with some effort maintain them by yourself.

You mean finished?

Minimalism is a meme unless you only need computer to do one or few jobs which is okay though.

I prefer KDE and my RAM footprint floats around 470MiB with all of my required sticky notes, widgets, and custom icon pack, cursor, themes, vsync (no tearing) and all that bells and whistles animations or transparent blur wobbly windows and yes, the fonts MATTER a lot more before complaining about 'muh bloat'.

I'd say XFCE and others are "more" bloated in a sense not even sporting all the features I need or even don't need.

Minimalism is only useful if you have a UMPC/PDA or netbook tailored to lower standby consumption and performance bloat to maximize the already low-powered processor it sports.

I bet you fags like identity politics and meme pill.

Most people here have a dumb concept of minimalism. For me, it's having what I need and no more. Like having no trash around your house, you know?

To contribute more, I will list programs that I consider "minimal".

Distros: Salix mostly - one application per task philosophy. No really good ones exist though (might make one myself).
Desktop environment - Between having essential features, not being too hard to use or looking too ancient, and no bloat - Mate comes out in top, IMO.
Music players - Audacious.
Text editors - Leafpad for simple editing, Geany for programming.
PDF viewers - Atril.
Terminals? Not too important. LilyTerm I like the most.
Drawing - Pinta, I guess. Always felt GIMP has too much shit in it.
Torrents - generally prefer aMule than the usual torrent programs. qBittorrent would be good if not for its qt requirement. IMO, in-built search is just too handy to have.
Browsers - None currently exist that both have essential features (lynx and such fail this criteria) and no bloat (firefox, chrome and such fail this). Ideal browser would have HTTPS everywhere and uMatrix functionality built in, but no shit like firefox sync, pocket integration or other crap that keeps piling up. No PDF readers and probably no in-browser video playing (send it to video playing application). The situation with browsers is just terrible - because we need the main ones for the essential addons (uMatrix, HTTPS everywhere) but they are bloated in other ways. Adblock / uBlock is bloat by the way. They need fat lists to work, and uMatrix is just superior in every single way (though it can use lists too, but I disable them). Pale Moon is the least bad.

It's all over now.

mksh is pretty bad once you use openbsd's pdksh which is also actively developed.
Wrong mentality.
Again, its not minimal. Its a semi decent browser but webengine is essentially the antithesis to minimal. That alone makes qutebrowser more bloated than furfox.

The larping in this thread is intense.

could you point out differences?
Why? It's small and functional at the same time. I'd trade 500KB and 4 more dependencies for features that nvi doesn't have
Sites are not minimal too. It's good for what it does
I agree, but that's why i said it's the best FULLY-FEATURED browser. There is no working alternative to gecko/blink/webkit and all of them are bloated as hell
firefox as a browser comes with a lot of garbage which qb doesn't have. Engine is not the only layer

Minimalism is dead.
Nobody bothers to actively work on building true minimalistic tools. Suckless people maintain few projects like dwm and st, but those are so autistic they are barely useful. Everything else is a one man's pet project to scratch an itch. Most of them are barely maintained, basically on life support. On other hand you have reddit "minimalisic" memes like urxvt and vim, which are not minimalistic at all (horrible codebases). Hacker culture is long gone.

Who could have guess that
Wouldn't lead to
But instead

There are a few usability differences, one that I like is that in OpenBSD's ksh you can define an array of command argument completions.
The other differences though are hard to find. Origanally the mksh dev tried to submit some patches to openbsd but they told him to go away since his patches were pajeet quality and full of what they deemed as terrible ideas. So he forked it and applied his patches. If you look at his website he doesn't actually say anywhere what those patches were and instead just whines about openbsd not using mksh, all while spewing fallacies about unamed security bugs that he claims to have fixed.
The main reason I started using openbsd's ksh was because it was in base and didn't require me to install an extra shell, after that I moved all my linux installs as well so that I could share configuration between machines. The fact that mksh dev refuses to have a feature comparison between mksh and openbsd's ksh makes me unlikely to go back in the future especially considering he still applies loads of patches directly from openbsd.

Yeah you really figured everyone out, even though you don't know anyone here or what they're running, or what their needs are, and how they're addressing them.

wholly shit i just gained some perspective.

I doesn't need to be. People jump to pure C because it is the obvious "solution" in the sea of complex alternatives. It is easiest path to take, to just write as least features as possible with least amount of lines on tools that are proven. There is no reason GUI applications could not be considered minimalistic. You could have all those things if we build our foundation and tools the right way. It is all about the right level of abstraction. It needs to be done right, but nobody is doing the research anymore. We all are just building on decades old computer science research and "improving" it. The technology is not driven by researchers, but by corporate interests and selling shit to the "lowest common denominator".

The reason is all available GUI toolkits are shit, and shipping your own is a bit too much of work for "one man's pet project to scratch an itch".

Why is screen listed as superior to tmux? I thought it was considered harmful.

ok

Attached: mini.png (700x900, 85.41K)

stop it

Delete this image.

This is honestly so good. My current setup is i3 (no gaps), mpv, ranger, ncdu, neovim with deoplete and a few lighter extensions, latest Firefox, bash and dash. I know these are great and minimal software compared to say gnome or Windows 10, no matter what delusional autismos who wanna neglect current exciting computer culture say. However, I don't bother switching shell from Bash as many base Gentoo packages depend on it anyway and it has great completion.

If you think bash has good completion, then you haven't used fish yet.

I have used fish, I can't recall why I stopped.

It is slow, not POSIX compatible, no bash compatibility mode and majority of scripts can contain bashism so you need to have bash installed anyway. Something like that?

Fix “Minimal” to “Featureless”.

I mean why would you need anything better than bash.

Because bash is bloated, broken pile of shit. And despite claiming standards compliance it is nowhere near there.

Why are you ok with mediocrity?

I was specifically talking about completion and why fish's is ever needed over bash's, jeez, show us in the doll where the bash touched you.

Option completion is better in zsh, honestly. You can cycle through them by TABing and you get the option description too. Other nice thing is that you have completion for option arguments (e.g. ls --quoting-style= TAB will help you complete the style).

here's a blogpost about meme tier garbage I've tried.

I never use this shit, 99.99% + 0.01% of the time using the shell is faster.
Absolute meme, never needed, not that it's usable anyways, at least not until I wait 2 hours for it to be done scanning my wine envs.
Placebo autism, 80% of people who use it don't even contribute to it which makes it pointless, and this might just be my imagination but vim feels a lot faster.

Speaking of vim, what do you all think of this github.com/martanne/vis. Looks very promising.

en.wikipedia.org/wiki/Shellshock_(software_bug)

shit, meant to (you) you here

AFAIK bash's completions only work on tab completing file paths.
Here're some things fish does:
-auto completes command line options (along with a description of what it does)
-auto completes file paths
-auto completes the last part of a path based off a substring (eg. anime/Yuru\ Camp\ 12 can be completed to anime/\[HorribleSubs\]\ Yuru\ Camp\ -\ 12\ \[1080p\].mkv
-auto completes packages for emerge (probably works for other package managers)
-auto completes hostnames for ssh
There's probably more, but that's what I've personally seen it do.

bash-completion does this
bash does this
bash doesn't do exactly this, but you can just use the wildcard character (*)
bash-completion does this
bash-completion does this

fzf is not what you think it is and ranger is not comparable to the shell. Also weird to call neovim placebo, pretty sure it is fully functional.

They must not been built in, because none of those work for me.

Kek, this.
Fish and Zsh are the mark of newfags who don't know how to use their shell. I don't use bash, but I certainly don't use shells even more bloated then bash.

Does your shell support autocompleting from history based off your current directory?
It's very convenient that I can go to one of my projects and when I start typing the command for compiling and deploying, fish discovers what's the correct one to use.

Nope, nor would I want it to. Why would I need it to do such a thing when I can just type 'make install'. When something has become so tedious that you need have the shell autocomplete it rather then you typing it, its probably time to write a shell script/makefile/whatever to handle it for you.

Long time bash user, recently switched from vim to vis. Feel free to correct me if your thoughts differ, but I'm starting to think of shells as:

rc but with readline wrapper and readline wrapper is written in lua

No file path completion?

Oh, just realized I can use rlwrap completion.

Sometimes you don't realize that things are tedious and don't bother making a script for them. Another benefit of having it autocomplete, is that you are able to tweak the command before using it. Sometimes I need to change what file I'm scp'ing over or where it is going.

emerge -av bash-completion
you also need to add bash-completion to your USE flags.
If you're not on gentoo it should probably just werk.

uhhh, well, I guess it's 50% correct.

Attached: minilo.png (700x2000, 173.08K)

shell heaviness is retarded. Go make a minimal shell it's like ~100 lines. It will be just as heavy as sh. Go add readline to it. And it will be pretty much bash.

bullshit, mksh/oksh is 12x smaller than bash

Choose one.

You should.

Stop caring about shit like BSDs and other *nixes from the 80s nobody really cares about and start writing code for Linux directly. Stop worrying about undefined semantics the standards authors forgot about, regain your sanity by programming against stable and documented interfaces and use all the features that Linux has to offer.

Fuck off retard. You don't want to throw out PoSix because its a piece of shit, you want to throw it out because you are a contrarian edgelord. Have fun throwing away all your programs in the future when you decide to use something else because you locked yourself down like a retard to one particular subset of linux that will likely be machine dependent. Despite being full of terrible ideas the sole benefit of posix still exists. It allows you to switch computers and even architectures without having to rewrite all of your software.

I don't think either of them use readline.

Attached: some_shells.jpg (475x78, 15.54K)

Speaking of /mg/, does anyone actually use mg and prefer it to emacs (besides Torvalds)? I've been considering changing to a more lightweight text editor.

MicroEMACS came on the Amiga Workbench 1.3 "Extras" floppy. The Amiga binary is only 62 KB.
Here's a more recent version: aquest.com/emacs.htm

Attached: extras_85.jpg (561x591, 78.35K)

Don't reply to me brainlet.

Pretty sure they use libedit.

Don't see it.

Huh, you're right, only dash uses it.

You need to calm the fuck down, nobody's talking about changing syscalls or any other part of userspace. I'm literally only talking about POSIX-standardized sh syntax (unbalanced parentheses, case/esac, if/fi, while/do/done). Plan9 rc, as the other user suggested, throws all of that shit out.

Do whatever you want. I'm sure it will be better than whatever POSIX standard crap people insist on using. As far as I'm concerned, everyone is better off following Poettering's advice: read TLPI and ignore eveeything it says about POSIX.

Why is this /g/ thread in Holla Forums?

Pretty much all the shells do this. Even better all the programming languages you can use.
If you want the bizarre hybrid interactive shell vs scripting language then idk. Wrap rc in readline and call yourself a minimalist I guess.

You don't have any idea what your talking about. Unportable code can make assumptions about types that are inaccurate: example assuming integer (native c type) is 32 bits . This can vary from architecture to architecture. So, linux, unix, or any OS can have machine dependant code unless standards like posix are used.

If Linux made such assumptions, do you really think it would run on as many platforms as it does?

LOL
LOLx2
HUE

why is this Holla Forums user in /g/

The kernel and the user space are written to be posix / SUS compliant which is why they don't make assumptions about hardware. If you outright gutted POSIX, linux would either still follow something like posix, or essentially recreate something else like it.

I don't have any perl or perl accessories in my urxvt but you don't have any choise because you are not Gentoo™ user. And chrome is bad because it use more ram and you cannot close tab with letter d.
You can't because st use hex color names for normal 16 terminal colors and X11 color names for foreground and background. Is shit.
I don't feel any simplicity by adding patches only to have slow and broken terminal.

Dwm doesn't have tabs and you must apply patches to have better tiling.

Linux is bloat use openbsd

Wrong. You can either use a hex code for the color OR the X11 color name. This applies to pretty much every virtual terminal out there for X.

STFU kid. Linux supports what, 80 architectures? It's the most successful operating system in history. The userspace-kernel interface is inherently architecture specific. You put things in specific registers and issue a syscall instruction. That's it.

Linux provides headers for user space that define and export every single C type that could possibly be needed to interface with the kernel.

github.com/torvalds/linux/blob/master/include/uapi/asm-generic/posix_types.h

Look at that shit. It exports things things like __kernel_{long,ulong,size_t,ssize,pid}_t. THERE IS ABSOLUTELY NO TYPE MISMATCH, EVER. They use __kernel_ prefix because they don't want to pollute the user space's namespace. User space libraries will typedef that shit for you into shorter versions like size_t, ssize_t and pid_t and it will just work.

Like every single Unix-like ever, Linux differentiates itself through its non-standard features. Linux does A WHOLE LOT MORE than just follow standards. It defines a LOT of stuff that wasn't standardized and offers a shitload more features unique to Linux itself. Trying to write software that's somehow portable to fucktons of incompatible is the reason we have to use shit like configure scripts, even though GNU itself taught us the virtues of using a portable make rather than writing portable makefiles.

ugh
So I need to use another computer or dual boot to get software and then side-load it.
Other than that, it looks good.

This is really cool. Thanks for posting it.

For discussing software and hardware minimalism.

en.wikipedia.org/wiki/Unix_philosophy
en.wikipedia.org/wiki/Minimalism_(computing)

- Fewer bugs
- Better performance
- Lower memory footprint
- Better maintainability
- Higher scalability
- Longer software lifetime
- Smaller attack surface

LFS

FreeDOS, Plan 9

Crux, Source Mage, GuixSD, Void, FreeBSD

OpenBSD, Gentoo, Alpine

Debian (netinst)

Suckless: suckless.org/rocks
Cat-v.org: harmful.cat-v.org/software/
Window Managers: en.wikipedia.org/wiki/Comparison_of_X_window_managers
Alternatives to Bloatware: github.com/mayfrost/guides/blob/master/ALTERNATIVES.md

Minimalism is not a lack of something. It's simply the perfect amount of something.

There's something I don't understand though. Why doesn't the library simply include the kernel user space headers? A LOT of them are reproduced in the repository for no apparent reason. Stuff like linux/input.h was broken down into several separate headers and included in the library. Why?

It'd be better to #include , they're part of any normal Linux install. That way it's trivial to stay in sync with kernel. The programs would still be freestanding.

I dunno why Linux doesn't offer a generic syscall wrapper function as part of its userspace API, but that's about the only thing that needs to be written from scratch and even then its only a bunch of inline assembly lines; I see minibase already has great support in that area.

Saying LFS is the most minimal distro just portrays how you've never read any further than the preface into LFS

You literally build everything yourself, how can a prepackaged distro be any more minimal than that

Because you don't know how to optimise the compile of every package, and LFS guides you through building every individual component of a fully-featured GNU/Linux system.

LFS is the most minimal iso. I'm pretty sure that's the criteria there.

Rest is just the hipster distro bait list faggots think is funny. Y'know the one where gentoo is not a meme and debian is somehow notable for having a net install.

It definitely isn't. What about tiny core for example?

Assuming by LFS you mean following the "book", it is not as minimal as you can get. There's still a number of software you do not need to install which LFS has you do anyways.

It's like you're 14 and this is your first time on /g/.