15 ms·
Software That Sucks Less
- Kuinox 6y agoWonderful. dwm, dmenu, and st. Good naming is required to have code of good quality. These name are too short, they lack of clarity. A good name is concise, give the point, and is pronoucable.
- KingMachiavelli 6y agoI love the names: dynamic window manager, dynamic menu, suckless terminal The names are all very clear once you know the naming convention.
- geofft 6y agoIs that a convention, or just what they stand for? (Do the window manager and the menu suck, because they don't have the "s" prefix? Is st static because it doesn't have the "d" prefix? Why do we abbreviate "terminal" but not "menu" / why not follow the established abbreviation of "term" as in xterm, dtterm, eterm, etc.? How come the "s" prefix in sprop and sselp stands for "simple" instead of "suckless"?)
- koenigdavidmj 6y agodwm: Don’t care what the D stands for, but there are a bunch of X11 window managers ending in ‘wm’ so that’s probably what this is too. dmenu: Since it’s coming from the same place as dwm, it’s probably a menu app that goes well with it. st isn’t obvious, I agree, but it makes sense to give a short name to the program you use most frequently.
- makapuf 6y agoI can agree, but the terminal emulator is something I very rarely launch from the command line. I run it from a menu, or an icon. Maybe with keyboard but then its meta+T
- Kuinox 6y agoThe origin of the name are clear, but the name itself should describe what is it because these name can be find out of context. These names can't be easily understandood without context. And these name will be found without context: For exemple, you may meet this name in a process list. In this case you don't understand why the process "dwm" is eating a lot of gpu power. A variable name can be short, because it's name will be found in it's context.
- Mediterraneo10 6y agoSuckless tools are meant for hardcore *nix hackers who already know how to look up this information, so no, the naming doesn't really matter. Anyone who knows how to use the ps command will also know the man command, so if someone wants to know what that dwm process is, they can just do "man dwm".
- Kuinox 6y ago"My name is not bad, every words that is in it can be found in the latin dictionary."
- asymptosis 6y agoI guess you're not a fan of "du", "df" or "su" either.
- paedubucher 6y agoIs plan9 a good name for an operating system? It's named after (arguably) the worst movie ever. It's even bad as a trash movie. Is the code quality of plan9 bad?
- nix23 6y agoAnd Linux is named after a rude developer..or Washing-soap..who knows. An Oracle is the opposite you want of a Database, but Intel made a really good promise for others (Meltdown's). Google the searchengine is written wrong -> Goggles and and and ;)
- kubanczyk 6y ago> Google the searchengine is written wrong -> Goggles A ha! One of today's Lucky 10000... https://xkcd.com/1053/ https://xkcd.com/1053/
- officeplant 6y agoWait do you really think Google is referencing Goggles and not Googolplex?
- nix23 6y agoYeah they try to rewrite history i think, but if you look at the old logo the G looks like Goggles, it's also more logic to call your search-engine goggle, and not a number, but anything is better then BackRub.
- Aeronwen 6y agoGoogol 10^100 not Googolplex 10^(10^100). Googol or goggles, it's still just a typo someone decided to keep in mind for a name.
- type0 6y agoGoogle Glass should have been made as Goggles, design-wise it would have been a smashing success if they dared to do it. edit: they had that mobile app called that https://en.wikipedia.org/wiki/Google_Goggles https://en.wikipedia.org/wiki/Google_Goggles
- jolmg 6y agoSome projects seem missing from the site. For example, this used to be the home of wmi[1] and wmii[2], the ancestors of i3. There's quite a bit to see if one browses the site through the WaybackMachine. I could've sworn it was also the home of i3 at one point, but I can't find it in the history, so maybe I'm mistaken about that. I also thought all 3 were started by the same author, but I'm not so sure anymore. EDIT: It was different people. Anselm R. Garbe started wmi and wmii, Michael Stapelberg started i3. [1] https://web.archive.org/web/20090315090203/http://wmi.suckless.org/ https://web.archive.org/web/20090315090203/http://wmi.suckle... [2] https://web.archive.org/web/20090315090203/http://wmii.suckless.org/ https://web.archive.org/web/20090315090203/http://wmii.suckl...
- deleted 6y ago[deleted]
- tfolbrecht 6y agoYou’re probably thinking of dwm. Another great tiling window manager.
- LukeShu 6y agoIf i3 is descended from wmii, that's news to me. wmii moved to Google Code[1] before becoming abandonware before Google Code shut down. Nevertheless, I continue to use wmii as my daily driver (as it has been for just a few months shy of 10 years), but it's really starting to wear on me that bugs won't be fixed unless I fix them[2], which I no longer have the gumption to do. [1] https://code.google.com/archive/p/wmii/ https://code.google.com/archive/p/wmii/ [2]: https://code.google.com/archive/p/wmii/issues/270 https://code.google.com/archive/p/wmii/issues/270 (when Google Code archived, a lot of users got weirdly anonymized? "Swift Bird" is me, apparently?)
- jolmg 6y ago> If i3 is descended from wmii, that's news to me. I meant as heavily inspired by it, not as based on the same code. From https://i3wm.org/ https://i3wm.org/: > Based upon the experiences we made when wanting to hack/fix wmii, we agreed upon the following goals for i3... Also, from the manpage i3(1): > i3 was created because wmii, our favorite window manager at the time, didn’t provide some features we wanted (multi-monitor done right, for example), had some bugs, didn’t progress since quite some time and wasn’t easy to hack at all (source code comments/documentation completely lacking). Still, we think the wmii developers and contributors did a great job. Thank you for inspiring us to create i3. > wmii moved to Google Code[1] before becoming abandonware before Google Code shut down. Both wmi's and wmii's code can also still be obtained at https://dl.suckless.org/ https://dl.suckless.org/. Those are packages, though. It's great that the repo for wmii is still available. Thanks for those links.
- zamalek 6y agoIt boggles the mind that developers, who believe that software should be minimal and do one thing well, attach toxic political agendas to their software[1] for no good reason. From a pragmatic standpoint Nazism (and all forms of racism) is pointless expenditure of mental resources and over-complicates life in general; which seems to conflict pretty strongly with their claimed ethos for software. [1]: https://twitter.com/kuschku/status/1156488420413362177 https://twitter.com/kuschku/status/1156488420413362177
- eznzt 6y agoEver heard of codes of conduct?
- zamalek 6y agoSure, but I'm referring to a developer community who specifically aims to create "software that does one thing and one thing only." Having a political agenda is doing another thing.
- eznzt 6y agoThey don't shove that political agenda into their software, do they? It's just something they do as a group of friends.
- caeril 6y agoYou're living about ten years in the past. Kicking contributors out of open source projects, or dis-inviting speakers from technical conferences due to their purely personal opinions has been going on for a while now. You don't need to act on wrongthink to get unpersoned by the mob. This has, of course, led to a situation where there are still a bunch of nazis, misogynists, etc, in our profession and communities, but they've learned to STFU and/or engage with much better OPSEC. So now you'll never actually know. Out of sight, out of mind. (to stay somewhat on-topic, yes, suckless, and dwm in particular, is awesome)
- paedubucher 6y ago
- asciimov 6y agoI've been using both dwm and dmenu for about a year now. I enjoy them as they do their thing and get out of the way.
- boogies 6y agoSame, plus st, which doesn’t even do tmux’s (or their tool scroll¹’s) scrollback thing and get a scrollbar or extraneous scrolling key bindings in the way (unless you apply the scrollback patch²). ¹https://git.suckless.org/scroll/file/README.html https://git.suckless.org/scroll/file/README.html ²https://st.suckless.org/patches/scrollback/ https://st.suckless.org/patches/scrollback/
- paedubucher 6y agoI've been using dwm since 2010 and and still don't consider changing that. I use st at home (qterminal at work). dwm in combination with dmenu, slstatus, and slock runs fast on every machine with minimal resources and doesn't waste a pixel of your screen.
- stevefolta 6y agoI switched to dwm a couple of weeks ago after using Ratpoison for years and years, and I'm super happy with it. It solves the things that bugged me about Ratpoison. The one feature I was missing was very easy to add myself (the equivalent of "set padding" in monocle mode).
- MisterTea 6y agohttps://harmful.neocities.org/ https://harmful.neocities.org/
- rectang 6y agoThis appears to an insider rant against suckless. It starts off like so: > clearing some things up re: cat-v > [context: this was produced for a particular community. if this doesnt mean anything to you, dont worry] > i am not within cat-v, i.e. “one of them” or a particular friend of anyone within it, but it was quite formative for me (on the technical side) from when i was about 14 years old, and i would like to provide the requisite context to view the whole ordeal charitably, and clear up some misconceptions suckless > first of all, suckless are shitheels. fuck em six ways to sunday.
- snarfy 6y agoA good friend introduced me to suckless many years ago. he tried contributing but was shut down at ever turn. They are a very closed group.
- jd3 6y ago(not the OP of that site, but here are my 2¢) I started really getting into computers and open source software around 2010/2011 and cat-v (I was first introduced to golang through uriel pereira's[0] proselytization) and suckless were both a pretty big inspiration to me at the time. I used dwm/st for years, but have since transitioned back to using ctwm/xterm as I find them more approachable and easier to use/extend. xterm may be "bloated and unmaintainable" according to the suckless community[1], but it has low latency, a pretty simple config, solid UTF-8 support, and is installed by default in most X11 environments that I use (I need to bounce around Windows/macOS/*bsd a lot). Personally, I think the biggest problem is that there is definitely a bit of ego involved in these respective communities. When I tried participating back in ~2011, rather than realizing I was an impressionable high schooler/teenage kid who could use a solid mentor to guide them through the fundamentals of X11/C/go/etc, I was instead basically laughed out of the irc channel which led me to never participate in their community again and instead just learn/work on projects on my own. I am still aesthetically interested in a lot of the cat-v/suckless software, but the politics/drama/exclusivity/negativity of it all (particularly in the early 2010s) steered me away from ever really participating in their respective communities. I am also less interested in tooling/ui/customization than I was back then, so I basically just tend to use whatever program gets the job done rather than obsessing over theory/purity/minimalism. I don't have a problem with those who do care about these things (I am not trying to criticize suckless as they do do a lot of great work), it's just no longer something I think about as much. [0]: http://uriel.cat-v.org/ http://uriel.cat-v.org/ [1]: https://st.suckless.org/ https://st.suckless.org/ http://cs.gettysburg.edu/~duncjo01/sites/berlinblue/ http://cs.gettysburg.edu/~duncjo01/sites/berlinblue/
- jonatron 6y agoSlock is the only one I use, but it's great.
- imiric 6y agoGreat tools and philosophy on software. I think their political views and whatever online drama they're involved in is hardly relevant to my enjoyment of their software. st is my favorite terminal and surf my favorite web browser. It does take some effort to add the features you need and to keep them updated, but once everything is in place they're a joy to use. The development on surf has stagnated in recent years, a few sites are unusable for me and the performance is terrible compared to mainstream browsers, but the simplicity and customization more than make up for it. surf would make a great base to build a simple browser for the masses, if a competent C developer would polish some of these issues and added a more user friendly UI, while still staying true to the suckless philosophy. But so far unfortunately I haven't seen a particular fork pick up steam.
- boogies 6y ago> a simple browser for the masses [with] more user friendly UI I think you mean GNOME Web/Epiphany. They both use libwebkit2gtk (https://webkitgtk.org/ https://webkitgtk.org/) as a base (as does luakit, a fairly simple and customizable browser that I’ll probably switch to if/when Palemoon breaks Pentadactyl).
- imiric 6y agoI've tried Epiphany, but it's still too bloated for my preferences, not customizable enough and I'd like to keep GNOME packages out of my system. :) Luakit is more to my liking, and I think I gave it a try a few years ago but can't remember what put me off about it. At first glance it has features I don't need like adblocking (I use a DNS blocker on my router) and tabs, but it's promising. I'll give it another try, thanks. I've also tried a few of these libwebkitgtk wrappers like qutebrowser, dwb, lariza, uzbl, etc. but they all had some drawbacks compared to surf. And I can't say I trust the Palemoon or Waterfox developers to maintain a Firefox fork. It's a gargantuan job, which is why I prefer the relative simplicity of the WebKit wrappers. Ideally I'd like to switch to a simpler rendering engine as well, but sadly the modern web is built with WebKit compatibility in mind.
- MayeulC 6y agoI quite like suckless software, unfortunately it is very X-centric. Not sure what their view on Wayland is?
- hnlmorg 6y agoThere's a lot of CLI tools in suckless too. I quite like their IRC client https://tools.suckless.org/ii/ https://tools.suckless.org/ii/
- spijdar 6y agoI can't speak for the group, but my guess is in practice they would dislike the Wayland ecosystem. A cursory google seems to show this too. A lot of their tooling and favored software works by being as minimal as possible while doing its one primary purpose well. They dislike monoliths like systemd, pulseaudio, networkmanager etc. which do many tasks. The wayland protocol itself is fairly minimalist, which they seem to like, but to practically use it you end up requiring a monolith compositor/window server. Further, Wayland fundamentally doesn't support running e.g. in a non-compositing mode, and requires more cruft to draw to the screen vs just using xlib. At the end of the day, all the functionality that Xorg provided has to be served by something. And when you're not using one of the big boy software stacks like Gnome or KDE, that means re-implementing the wheel, or copying from another project like wlroots. I suspect they prefer the status quo in that Xorg is at least proven and fairly battle hardened software. Just idly guessing, though.
- yjftsjthsd-h 6y agoIt kinda cuts both ways, I suspect. Xorg is itself a huge monolithic mess, but it takes all the messy bits into itself and lets you extend it with nice small programs (ex. window managers, screenshot programs, keybinding programs, whatever). Wayland is in some ways actually better because it removes the massive central mess that is the X server... but then forces every other component to deal with those things, and does so in ways that to date play badly with composability in the software (ex. now a "window manager" is a compositor and must do most of what the X server did before, and you can't factor out things like screen capture because that functionality is restricted).
- Barrin92 6y agothe strange nazism aside which is bad enough I honestly think their programming philosophy sucks. Why is it sensible to configure a software in C and having to recompile it every time I make a change? Patching software through diffs is error prone and you basically have to fiddle around with the order as to not accidentally mess up your entire program, it makes the software basically non-extensible in a sane way because there's no interface between extension and core code. The line number limits on code also incentivize spaghetti code. If you want software that sucks less you don't need fewer line numbers, you need good program structure and design.
- raspyberr 6y agoWell stuff like dwm and st should get reconfigured rarely so this doesn't matter. And it recompiles blazingly fast anyway.
- flukus 6y agoYep, my dwm re-compiles, installs and restarts faster than a theme change in gnome.
- tathougies 6y agoNazism?
- recursive 6y agoElsewhere in the thread, it's noted that they maintain a mail server that's named after some nazi stronghold or something.
- necrotic_comp 6y agoIt's probably just poor humor, but it doesn't reflect well on them.
- fossuser 6y ago
- _fq4v 6y agoRunit is amazing, and a great replacement for standard init on embedded systems
- arp242 6y agoYes, but it's not part of suckless.
- tathougies 6y agoUh... I always thought it was! You're right though. It shares the philosophy though.
- nrclark 6y agoFor the record, runit's code is in really bad shape. It uses deprecated APIs, and also hasn't been updated from K&R C. There are a number of type warnings on 64-bit systems. The build system cannot be used for cross-compilation, and compiling/installing it is a disaster kind of generally. Runit's licensing is all over the place, and its documentation is incomplete/inaccurate. It's been abandoned by its creator, as near as I can tell. I tried to get in touch with him a couple of years ago to offer some fixes, and got radio silence. There is no apparent way to contribute code to the project. I've never used the busybox version, and so I can't speak to that one. But upstream runit has been a dead project for years, and badly needs to be forked by the distros that use it.
- jezze 6y agoI see a lot of people here complain about their toxic community. This was always the worst thing about suckless and it put a lot of people off about trying to engage and help out, including me. Luckily the most toxic of them all left a few years ago now and the mailing list is now a lot better compared to how it used to be. I'm not on irc anymore so dont know about the conversations happening there but I hope it also has become better. Its interesting how one persons bad influence can throw shade on an entire community. Most of them are really nice.
- centimeter 6y agoCreating good software inherently involves some form of exclusion; you need a strategy to exclude bad software. There are fundamentally two families of exclusion strategies that can be used: formal and informal. Formal exclusion is when you exclude bad software through formal constructions, like proof systems. This works great but is expensive. Informal exclusion is when you exclude bad software through social pressure. This works well and is cheap. Any organization that successfully leverages informal exclusion will inevitably be perceived as "toxic" in the modern jargon. If you've been in open source for a while I'm sure you can think of some examples.
- lfam 6y agoIt's possible to maintain software quality (or quality of any endeavour) without being rude or making people feel bad. On the other hand, there doesn't seem to be any correlation between rude behaviour and high levels of technical quality, nor is there any plausible explanation for such a correlation. My hunch is that any successful project with a rude atmosphere succeeds in spite of the rudeness.
- dalbasal 6y agoReminds me of the "steve jobs effect" at certain points. CEOs and execs purposely being arseholes because greatness. Newton was a bastard. Steve was an ass. Prince was unbearable. If I act like a bastard...
- jhallenworld 6y agoI recently found out about them for "tabbed" (in the tools project)- converts xterm into a tabbed terminal emulator.
- leephillips 6y agoI love their software and their attitude. I’ve been using dwm for years and it’s the perfect window manager. Configuration by editing the header and recompiling makes sense when compilation takes under a second. I’m not much of a C programmer, but I like that I can sort of understand their code. A window manager in 2000 lines means that if I wanted to I could understand how the whole thing works. It’s all refreshing, and even, I would say, beautiful. I like that my environment uses very little memory, leaving my ram for actually doing things.
- cptnapalm 6y agoI tried running st on sparc64/OpenBSD. It compiled fine, but would instantly crash when run. I'm guessing it is an endian problem.
- dang 6y agoIf curious see also 2013 https://news.ycombinator.com/item?id=5016823 https://news.ycombinator.com/item?id=5016823 2008 https://news.ycombinator.com/item?id=279925 https://news.ycombinator.com/item?id=279925 also this from 2015: https://news.ycombinator.com/item?id=10565605 https://news.ycombinator.com/item?id=10565605