Software That Sucks Less
suckless.org
suckless.org
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.
In practice, however, many open source projects have socially dominant developers who incessantly rewrite everything and introduce bugs until some introvert correctness advocate explodes.
There is no way of dealing nicely with passive aggressive socially dominant people. They just continue their game until someone calls them out directly.
These days, of course, the introvert is canceled and they can carry on.
The Rust community is one of them. Regardless of whether it is successful as a recruitment tool, regardless of the effect on productivity, building a kind community is worthwhile just for the sake of its members.
Because life is short, and every hour that we spend enjoying ourselves rather than enveloped by hostility is a treasure.
I dream of open source software communities with a similar ethos, but they must exist within a vast sea of tech industry assholery and misogyny, and are so easily swamped.
I suspect that being derisive and dismissive is often a coping mechanism for when a person realizes they don't know how to answer a question but doesn't want to admit it.
"Difference" is a semantically overloaded word. The kind of differences that are needed to move software forward aren't the kind of superficial differences that might signal creative diversity in other industries, like music, where cultural background is a significant influence on creative output.
My heart remains in the independent music industry, not here. The tech industry is a horrible place.
Even if you've never had to interact with them, it's easy to see that social signaling is more important to the rust community than doing good work. Last time I was in the Rust discord, their channel logo was literally the rust logo over a the gay flag with lines for black and brown people added. Wtf?
I've submitted probably >100kloc to various open source projects over my career, and the weird politicking and immature behavior of the Rust community soured me on contributing to the Rust ecosystem almost immediately.
This sort of hateful comment is why the tech industry is a horrible place. Even in the best pockets of the tech industry, like HN, intolerance is treated as a legitimate enough perspective to be worthy of endless debate.
And then people furrow their brows over why tech's demographics are so warped. eye roll
There's no fix, no hope. The tech tradition of "open debate" guarantees an endless supply of comments like this.
There was some cool 9p roots that were genuinely distinct, but it didn't seem to really take hold strongly across the community.
But yeah, there were allegedly some un-good community members too, and I'd fully believe the community itself has improved a lot.
Instead of acknowledging that they're engaged in an interesting, unusual, and important experiment, they just say that everything else sucks. The whole premise of the existence of the group is more or less that most software is written by and for inept rubes.
On the other hand, maybe their exclusionary attitude is what helps keep the interesting, unusual, and important experiment alive. I know a lot of people who really enjoy using dwm, st, dmenu, surf, etc. They are indeed good, non-sucky programs, if you don't mind writing some light-duty C code and recompiling to update your config. Who am I to judge? But you have to acknowledge that this is a very unusual definition of "sucking less".
Nonetheless I like most suckless projects, especially st and dmenu are fantastic. Even though the push against bloat is more needed on the internet. I'm tired of all the tracking, loading times and memory usage, despite ad blockers.
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.
I think you mean GNOME Web/Epiphany. They both use libwebkit2gtk (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).
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.
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.
¹https://git.suckless.org/scroll/file/README.html ²https://st.suckless.org/patches/scrollback/
> 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.
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.
I think people there can definitely be jerks sometimes, and I don't really like the negativity either.
But on the other hand, not every place and community on the internet needs to be welcoming to teenagers and mentor them through the fundamentals of X11/C/Go.
I just wish people were a bit less of a jerk about it. Then again, I have said this nicely to people a few times over the years ("hey, cool you're interested, but note this is really intended for expert users"), and it's about a 50/50 toss-up about whether or not you'll get insults and an aggressive reply back. One time this guy got so triggered over this that he went to several subs to tell everyone what a horrible person I was just for (nicely!) explaining that they didn't really seem to be the intended target audience.
Turns out that being a programmer means you're obliged to help strangers out on the internet, according to some anyway *shrug*.
> I basically just tend to use whatever program gets the job done rather than obsessing over theory/purity/minimalism
That's pretty much why I use dwm; I use a hacked-up version and I somehow managed to lose the source code for that 2 years ago (not sure how...) but it's okay, because it Just Works™. It's very stable, never changes, and I never need to look at it or worry that an update will break anything or will move things around ("now where did that button go?!")
For me, suckless is very much a pragmatical thing, not a "minimalist ideological" thing.
> But on the other hand, not every place and community on the internet needs to be welcoming to teenagers and mentor them through the fundamentals of X11/C/Go.
> I just wish people were a bit less of a jerk about it.
I definitely agree with your point. I personally have very few hours of free time per week anymore due to work/programming/cooking/commuting/interfacing with family/etc., so I definitely sympathize with you.
To try to clarify a bit, I absolutely did not expect a bunch of internet strangers to feed me decades worth of information/experience over irc. It was more the fact that they didn't even point me in the right direction (for example, "here's why your sed-based approach won't work and here's the wiki page for lexing/parsing" would have helped me understand why my approach to that project was flawed) or provide any kind of advice at all — it was a pretty negative experience overall if I remember correctly.
While I did (at the time) read many of Rob Pike's papers and Russ Cox's Go code/xoc dissertation, the dwm/st/twm source to learn Xlib, googled most of the basics of linux/bsd/etc, read manpages, etc., there were a lot of blind spots where I wished I could have asked a mentor with extreme domain-specific knowledge to help me understand something fundamental/fill in the gaps that I was missing at the time.
For example, I remember wondering "what is the simplest/best way to format your ~/{.profile|.xinitrc|.xresources} dotfiles generically across multiple operating systems including plan9"? I found some info about this in manpages, but what really helped me learn was an obscure post by Russ Cox[0] and Aram Hăvărneanu's dotfiles[1][2] on github. I'm sure Russ or Aram could have explained this to me in a simple manner had we discussed it over email, but at that point I was already too scared to reach out to people online due to previous negative experiences.
While it is possible to learn everything from textbooks, source code, blog posts, stackoverflow, etc., the fact that we have teachers/tutors who are paid to communicate knowledge in a simple and easy to comprehend manner is really what helps people learn and retain information, in my opinion. I've always considered source code similar to textbooks and professional mentors similar to teachers. The problem is that mentors are generally only accessible through your job or through paid services online and most youtube videos cover the absolute undergrad-level basics.
I think I asked one Go question in the /r/golang subreddit ~5 years ago (apparently the go binary does not/did not work in cygwin on windows — who knew? not me; downvoted to 0) and one Go question on stackoverflow (i was writing an x-face encoder which should have operated on individual bytes rather than UTF-8 encoded byte sequences — this was nontrivial to me at the time so I think I ended up quickly implementing the js btoa() or something since EncodeToString returned replacement chars; downvoted to 0). After the second question, I never asked a technical question on any online service ever again.
Since then, I've found StackOverflow, Reddit, and irc to be too negative to really participate. I think many communities make newbies feel unwelcome, which can drive away talent and lead to those communities failing as there is nobody there to eventually replace those original talented users. It's like if you're not immediately an expert, then you are made to feel unwelcome/unintelligent in these communities. These days I just fire hyper specific google queries and almost always find what I'm looking for, but it sometimes takes time.
I think what I'm getting at is a more fundamental problem that plagues internet programming/engineering discourse in general — most mentorship/apprenticeship occurs in either proprietary or professional environments and it is very hard to propagate that knowledge in a clear and concise manner to engineers outside of your organization. Blogs help, but not everyone has the time/resources/energy to run one. Many organizations use proprietary tooling which you're not allowed to discuss externally.
I basically worry that these kind of communities can unknowingly/unwittingly/unconciously gatekeep information through in-group exclusivity and the desire to stay fashionable/different.
I've still never really been able to find a place online where simple/fundamental questions are _encouraged_. I mostly just discuss stuff with colleagues and pray that google turns up something that is somewhat related to my question.
> Then again, I have said this nicely to people a few times over the years ... One time this guy got so triggered over this that he went to several subs to tell everyone what a horrible person I was just for (nicely!) explaining that they didn't really seem to be the intended target audience ... Turns out that being a programmer means you're obliged to help strangers out on the internet, according to some anyway shrug.
That is shockingly unprofessional and creepy! I'm sorry about that. I don't even bother emailing people these days because I feel like I'm being a burden.
> That's pretty much why I use dwm; I use a hacked-up version and I somehow managed to lose the source code for that 2 years ago (not sure how...) but it's okay, because it Just Works™.
> For me, suckless is very much a pragmatical thing, not a "minimalist ideological" thing.
We are definitely in agreement here! I mainly moved from dwm to twm/ctwm because I prefer using the twm config file rather than recompiling and the fact that it provides just enough non-tiling related wm features that make me productive without feeling overwhelmed. I moved away from dwm because I also lost my config, no longer tile my windows now that I program in Sublime Text (rather than terminal emacs), and have been trying to use as many default configs/programs as possible. I've also found that tmux is sufficient for the amount of multiplexing/"tiling" I do need to rarely do.
I think the source of my "minimalist/ideological" comment was the fact that the original community where I first learned about dwm (/g/) was pretty toxic and fetishized programs as objects of fashion rather than as tools that are used to solve problems.
> It's very stable, never changes, and I never need to look at it or worry that an update will break anything or will move things around ("now where did that button go?!")
This is the way I feel about ctwm and xterm — they've been stable for like 30 years and basically never change.
This turned into kind of a long response, but I wanted to thoughtfully respond to your thoughtful response.
[0]: https://groups.google.com/g/comp.os.plan9/c/WHwcEe-ws4E/m/8p...
[1]: https://github.com/4ad/dotfiles/blob/master/profile
[2]: https://github.com/4ad/dotfiles/blob/c0a3ac77a072e1feb5225e2...
---
If you're interested, here's what my final dwm config ended up looking like many years ago! I was a big fan of the artwiz cure font and using XQuartz/X11 rootless alongside OS X's aqua, lol. Maybe we crossed paths online at some point.
http://cs.gettysburg.edu/~duncjo01/assets/portfolio/desktops...
In short, I think the biggest problem we have is that every community space tends to gravitate to "help me out getting started"-space, and I feel this puts quite a bit of pressure on the community as a whole; see the thread I linked as well as the blog posted I linked in there for some more details on my perspective.
I've probably helped out more people over the years than most programmers on various platforms; I'm hardly some n00b-hating curmudgeon. I just think it would be better for everyone if there's a clearer delineation of community spaces, because sometimes I just don't want to, and that's entirely valid too. There's someone asking for "best web frameworks?", "best way to learn Go", etc. on /r/golang all the time. I find it's just tiresome (and also lazy to be honest, as it's been discussed a million times already). Your specific question seems a bit more advanced/useful, but people get burned out by the torrent of beginner questions and then all questions are treated alike.
Stack Overflow, specifically the Go tag on Stack Overflow, is toxic and shit. It's so toxic that I just stopped participating. I'm mostly interested in answering questions, but it's just too frustrating to see how people are treated. I'm quite sad about this as I think it has a lot of potential, but any effort to change this have been met with hostility. I've ranted about this on my website[1] as well as on Twitter recently[2]. Much of the toxicity is coming from a small group of users by the way, so it's not even that of a problem to solve IMO. There are also some really cool people on the Go tag in SO (icza, specifically, is fantastic: always helpful and detailed, never condensing or an asshole; a model SO user in many ways).
On the Vi & Vim Stack Exchange we had one user being an asshole in my 5 years as a moderator, so I banned him for a week (only ban we ever had in that period) which led to a "please delete all my posts" temper tantrum (which we didn't of course) and he hasn't been back since. Goodbye and good riddance: the site has been much better since. While he provided many useful posts, he also chased away an equal amount of people, and new people came in and provided equally helpful posts after he left. It's really not a very hard problem to solve... The Go tag can be fixed by just correcting (warnings, or bans if that doesn't work) about 3 people.
Anyway, about suckless specifically: it's a community explicitly intended for a certain type of advanced users. I don't think there's any real objections to any and all questions, but if you come in and start asking questions right off the bat then that's probably not really appreciated as such.
> there were a lot of blind spots where I wished I could have asked a mentor with extreme domain-specific knowledge to help me understand something fundamental/fill in the gaps that I was missing at the time.
Yeah, that makes sense. I think many people don't really mind directing people in the right direction as such, but the big issues is that the industry has been growing at this incredible rate for decades now, meaning there are always more beginners to mentor. It's a never-ending torrent of people flooding in, and it gets tiresome. In many ways it's a scaling problem, which is exactly why I think we should be clearer about which community/community spaces are for what, exactly.
[1]: https://www.arp242.net/stackoverflow.html
[2]: https://twitter.com/arp242_martin/status/1334759690140434432 and https://twitter.com/arp242_martin/status/1330777673266708482
Hell, today some trolls sent some poor schmuck to cat-v to ask about debugging linux kernel code because its an cantankerous plan 9 channel; Right? Instead, they actually received a little help (and a humorous sarcastic remark or two...) from some very knowledgeable people. Ironically, Instead of being run off with so called cat-v torches and pitchforks, they were helped and went on their way. Maybe they'll see the light and come back one day.
I've always wondered at the docker images that a) include their own shared libraries and b) typically only run a single process. Seems like static linking would be fine.
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.
dynamic window manager, dynamic menu, suckless terminal
The names are all very clear once you know the naming convention.
Seems like enough to me.
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.
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.
A ha! One of today's Lucky 10000... https://xkcd.com/1053/
Googol or goggles, it's still just a typo someone decided to keep in mind for a name.
edit: they had that mobile app called that https://en.wikipedia.org/wiki/Google_Goggles
We name products with odd name because they are products, you want to be different.
Parts of this product are rarely named differently, a windshield is still called a windshield, not a "wdsd".
Embraer calls it's Side-Windows in the Cockpit DV's (Direct Vision)
SSD's have no Disk.
My WM is called i3 my File-manger Thunar or MC..Firefox whatever that is, git? Java? Go? C the successor of B..
https://en.wikipedia.org/wiki/Solid-state_drive
>sometimes called a solid-state device or a solid-state disk
Embrear does marketing, adding shiny names make it look better, it's like retina, it mean nothing but people think it mean it's a good screen.
IMO i3 is badly named, I did read it multiple time _in context_ and I only found out later that it was a window manager..
git, java, go and c and are pronouncable name and are most of the time in context.
It's funny that you put firefox in the middle, because when an old person I know started to use computers for his first time, I learned him to use Chrome. When I came back several week later, he was using Internet Explorer. Why ? Because it's called Internet Explorer and he forgot about chrome.
>>sometimes called a solid-state device or a solid-state disk
>and are most of the time in context.
With git your are right
>because when an old person I know started to use computers for his first time, I learned him to use Chrome.
That's why you exchange the Chrome icon with the Internet explorer one, but let's just call everything Browser or WWW-Explorer ok?
> I did read it multiple time _in context_ and I only found out later that it was a window manager..
Then work on your internal memory system and try to use a search-engine, and don't blame others for it...btw i3 is also a Car, not that your even more confused when someone wants you to show you a i3 in a Parking slot.
Ah the good old "the tool is not wrong, you are".
Don't search any further why Desktop Linux distribution are still less used by common people than Windows or Mac.
I choose the tool i like most and that is FreeBSD. And i really give a crap about common users. Who btw use iOS or Android and NOT Windows or Mac, different tools for different jobs.
BTW you know what Metal and DirectX is? And VisualStudio is NOT another Photoshop.
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.suckle...
[2] https://web.archive.org/web/20090315090203/http://wmii.suckl...
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/
[2]: 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?)
I meant as heavily inspired by it, not as based on the same code. From 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/. Those are packages, though. It's great that the repo for wmii is still available. Thanks for those links.
Anyway, I wanted to ask you both, what do you like most about wmii that you'd miss by switching?
<tangent>In fact, for a long time (now I'm not so sure) I even thought wmii did it better than Emacs: Instead of being tied to one language and one process, wmii exports everything as a filesystem, and you configure it by writing a program that inspects and modifies that filesystem. Instead of being tied to operating on in-memory objects in Lisp, you're operating on in-filesystem objects in the language of your choice. (Today, I still think configuration by exporting a 9p filesystem is a powerful idea, but I've come to realize some of wmii's assumptions are a little opinionated to where I'm less sure about "better than Emacs"). I'd previously used StumpWM, which is configured in Common Lisp and is very similar to Emacs; I wasn't very comfortable in Lisp (and am still not terribly comfortable in it, though much more than I was), and also at the time StumpWM wans't packaged in the main Arch/Parabola repos and wmii was.</tangent>
It's my understanding that most wmii users use one of the standard/example "wmiirc" scripts, and fuss with a few variables and make minor tweaks to customize it to their liking. My wmiirc (while inspired by the stock one), is written entirely by me. My code reads events from a socket on the filesystem, and then manipulates other files in the filesystem in response. It's like, even without taking the time to fully understand wmii's codebase, I feel like I have a very robust understanding of exactly what it's doing, as if I did understand the full codebase; because every action it takes is because of a line of code I wrote. And related to that, I'm pretty sure no other human in the world has their window manager keybindings set like I do; how it's configured is very personal and "mine".
I don't want a static configuration file, I want a dynamic configuration program. As a stupid example of "configuration as code": For most of the last 10 years I had a file of hex color codes to configure the color theme for wmii. Usually what would happen is I'd switch my Emacs color theme, then some time later adjust the wmii theme to match. A month or two ago, I got sick of that, and adjusted it to dynamically use `emacsclient --eval` to just query Emacs about the colors of its current theme, so I never have to deal with it again.
I would also miss wmii’s tagging which is incredibly flexible. I often have one window on multiple named tags (which are roughly like workspaces).
wmii's tagging does sound unique if I understand correctly that you can have 1 window in multiple workspaces and correspondingly in multiple positions and sizes. Something like that sounds like it would be problematic for handling multiple monitors, though. If one window is to be in 2 workspaces, what's supposed to happen when you want to show both workspaces at once in separate monitors? Can't show the same window in 2 places at once with different sizes.
In principle, wmii handles multiple monitors great; it's had Xinerama support the entire time I've used it (checking mercurial, since late 2008; first being included in a stable release in late 2009). Though, I've been discovering that it has some bugs with layouts that aren't just the monitors tiled horizontally. (That doesn't stop me from using it that way, just that there's some bugs for me to grumble at.)
1) I'm concerned about Emacs being single-threaded; on the boxes that I use Wanderlust (an Emacs mail client) on on large folders (such as the git devel mailing list, which receives thousands of emails every month), Emacs can stall for 10s of seconds. Packing on even more of the system to that single-threaded event loop worries me (especially if I can't even switch to another program during that stall).
2) I'd like to try Wayland at some point, so it seems like if I'm going to go through the trouble of switching, it should be something that is future-compatible.
You both have probably heard of it, but in case you haven't, Sway[1] is like a port of i3 to Wayland. Since i3 is based on wmii, Sway might be your best bet.
Regarding programmability, I'm not sure exactly how similar Sway is to i3, but you can get quite far in scripting configuration using the included i3-msg[2] executable. i3 keeps a socket open where you can send it commands or query its state. So, you can use it to "program"/"extend" i3 from any language by calling i3-msg.[3] This doesn't go as far as what you can achieve with a live programming environment like the Lisp WMs you mentioned, but it's something.
The manpage says you can also subscribe to events to listen to them, but it doesn't seem to mention what events these are.
[2] https://www.mankier.com/1/i3-msg
[3] As an example, a little configuration I've done is adding a command (called via keybinding) that moves back and forth the floating windows of the current workspace to a new workspace that's named based on the current workspace. In other words, it's a keybinding that shows or hides the floating windows of a given workspace without mixing the floating windows between the different workspaces. I use i3-msg to query the name of the current workspace, to check if there are floating windows in the workspace, and to send the command to send these windows to or from the alternate workspace corresponding to the current one.
in the past year i finally started making myself use Wayland instead of X11, & the natural/mainstream go to there is Sway. Sway is a lot like wmii or i3, much more so than Awesome, alas minus the 9P interface wmii had that i really wish i'd spent much more time learning & enjoying & scripting; definitely one of the coolest things i've ever been around, & i just chronically under-used it. had a couple play around sessions but never brought any scripting in to use the 9P interface on a regular basis to enhance my environment/do stuff.
Not sure what their view on Wayland is?
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.
This is a great example of Larry Wall's Conservation of Cruft principle. [0]
[0] https://metacpan.org/pod/distribution/Perl6-Doc/share/Apocal...
This is the first time I've seen networkmanager in that list. What's the alternative way of handling network connectivity? nmtui seemed pretty one-function to me
2013 https://news.ycombinator.com/item?id=5016823
2008 https://news.ycombinator.com/item?id=279925
also this from 2015: https://news.ycombinator.com/item?id=10565605
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.
You can think marxism sucks (I do) without torchlight marches and nazi naming schemes.
The latter is something else.
And I still don't know what's wrong with a torchlight hike/march. (They call it a hike, you call it a march) It sounds like something I'd do.
Stop with the cultural imperialism, race relations in the US are rather unique.
The torches are used as a symbol - might be nothing, but paired with speaking out against cultural marxism it's more likely to be intentional than it otherwise would be.
I don't know, but I'm not giving them the benefit of the doubt since the mail server is fairly explicit if true.
When people tell you who they are, believe them.
> these mails originate from a host called "wolfsschanze", which appears to be the laptop a certain Laslo Hunhold works from (their conf organizer?)
-- the tweet in the thread that you're mentioning
disclaimer: found on Google, unsure of context / if these people are core developers, just sharing for those who like me were also confused
But, to be clear, there are three things here:
1) They're doing a Tiki Torch walk, during a time when it was heavily politicised.
2) They're adapting Nazi slogans as hostnames
3) They're denigrating "Cultural Marxism".
Any one of these alone I would probably defend, but 3 is a pattern and not a good one.
No it wasn't; just in the US. Not everyone in the world is obsessed with the latest drama in the US.
I've done many torchwalks with scouts. In fact, they're used to celebrate the end of the Nazi occupation in my home town every single year on Sept 18th. Should we stop doing this because some yahoos on the other side of the world used some torches in some far-right march? This is "Hitler has a moustache, you have a moustache, ergo you must be a Nazi"-kind of logic.
> 2) They're adapting Nazi slogans as hostnames
A private server belonging to a single person, not the project. I have asked him plainly and directly about that and he avoided the question. I am also not impressed by this, but that doesn't make him a Nazi, and it certainly doesn't make everyone involved in the project a Nazi.
> 3) They're denigrating "Cultural Marxism".
A single person is (same one as the hostname). And like I said, there is a lot more to that conversation than the screenshot makes it out to be as there was a lot of confusion about what's intended with "cultural marxism". I really recommend you read the entire conversation in full, and while I don't personally agree with their take, it's also really not that bad.
In Germany the association between fascism and torch marches is even stronger and absolute a political symbol, it's an unambigious symbol that nobody adopts accidentally, and it is a contemporary political issue. So called 'Fackelmärsche' by far-right fraternities and far-right groups have been an issue over recent years.(https://www.dw.com/en/germany-torch-wielding-neo-nazis-march...)
Where do you think American Neo-Nazis get their symbolism from? The US invents a lot of culture, but this one is sadly on us.
Torch walks are not exclusively associated with or invented by the far right. They were adopted by the far right from pre-existing traditions in the regional cultures.
Considering the KKK were using torches before nazis existed the relationship goes the other way if anything: https://depts.washington.edu/civilr/kkk_rallies.htm
The torch has been used for thousands of years in many contexts (https://en.wikipedia.org/wiki/Torch#Symbolism), quite often as a form of intimidation but not always.
Is the Statue of Liberty a nazi symbol because she holds a torch?
I wasn't there. Maybe they were talking about the "final solution" for the Jews. I don't think they were, but there is no way for me to know for certain. But lacking any evidence of this, I find such a grave accusation based on such incredibly thin evidence – especially when stated like it's almost a certainty – deeply troubling.
I use st, it's one of the best terminal emulators I've found, and I'm not going to stop using it just because some possibly-associated dev made a kinda-sorta-tasteless joke when they named some random server.
Setting all those aside, you can configure any decent text editor to run `make` whenever you save, and I dare you to find any combination of patches for any single suckless software (except surf) that takes more than 1000 milliseconds to compile with tcc on a computer you use on a regular basis (should work for any normal desk/laptop from the past decade or two).
I've not experienced any of those problems while using dwm for the past several years.
Where I wasn't able to find an existing diff supporting my desired customizations I found the code easy to understand and extend myself.
Find me some spaghetti code in the codebase and your point might be a little more convincing to me.
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.
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)
I knew suckless were assholes whose software philosophy was unworkable in the real world, but their casual nazism just makes me want to avoid them more.
East German Communism and Nazism were both odious, but they are largely incompatible forms of odiousnesses.
When you take together all the fashy things they do, it kind of establishes a pattern that maaaaybe they don't believe in brotherhood and equality.
"I took some more time to read it up and from what I could see, I found that indeed cultural marxism has become more of a political slogan rather than a normal theoretical term in the USA.
Here in Germany the term “Kulturmarxismus” is much less politically charged from what I can see and thus I was surprised to get this response after I just had “translated” this term into English. It might be a lesson to first get some background on how this might be perceived internationally, however, it is a gigantic task for every term that might come around to you.
So to reiterate my question, what term could be better used instead? :)"
I don't speak German well enough to really have an opinion on the veracity of the claims here, but I see no reason to immediately assume the worst or to doubt that this is how this particular person intended to use this term (regardless of how it's used in Germany in general). People get confused about language all the time, and I'd rather look at the full context instead of getting all hung up on a single term.
This is not an endorsement of those views – far from it – but I really take issue how people just just to the worst possible conclusions on things like this.
What makes this an especially thorny issue is that there has been a very real fascination with cultural subversion among Western left-wing radicals since the 1960s and 1970s, on the model of the Great Proletarian Cultural Revolution ("Destroy the Four Olds, usher in the Four News!") and quite a few of those left-wing radical groups did indeed meld these Maoist ideas with those of the Frankfurt School (for example, "Marx, Mao, Marcuse!" was a common street slogan in the French protests of the late 1960s).
So one could retrospectively surmise that not all of the descriptions one sees in the more conspiratorial accounts of "Cultural Marxism" are entirely without merit. The difference is one of scale, time frame and perhaps motive: was this a purposeful conspiracy involving the Frankfurt School itself from the outset, or just something that arose later within Western radical politics, out of deeply misguided fascination with what was going on in places like China and perhaps Cambodia? It seems clear that the former description is quite wrong, and that those who cling to it are indeed doing so in bad faith. But I can see how some of this could be quite confusing!
Yes true, and half of the males have the Springerstiefel (from the militaryservice) on, because they have no other watertight shoes at home.
I want to add, for context, because I understand when Americans don't understand this: These types of "jokes" don't fly _culturally _in _Germany. If you glorify national socialism or the holocaust, even in humor, you are likely pretty close to that mindset anyway. It's really no joking matter here. And the suckless group _really plays with the local neonazi image... it's at most 90% joke.
FWIW, from another picture of that event, camo-trousers-guy looks like he's male-pattern-baldness-bald, not shaved-head-bald https://suckless.org/conferences/2017/slcon2017.png
Only one fellow appears to have a shaved head.
I can both hate the ideology and accept the software as having utility for me (not that I think I’ve used any of it, but in principle I have no problem with people being fascinated by TempleOS even though I am against a lot of the things the author has stated he stands for).
"But Hitler also started his movement in the Bierkeller!!!1" ;-)
In order to truly democratize access to computers, you must meet your users where they are. That means you have to put in a lot of hard work and abandon your academic elitist norms of "elegance" in favor of empathy. The real world is messy, your users have messy minds, so your software is going to be accordingly complex and messy. Embrace this. Your users will be better off for it.
Empathy is inimical to the Unix philosophy. "Do one thing and do it well" forces the user to cobble solutions together out of the tools they have lying around, and not all of them can do this. This causes stress. The empathetic programmer seeks to minimize stress by putting everything the user may wish to do within their reach, the unempathetic programmer just doesn't care. If you can't understand the system on its own terms, well, sucks to be you. This creates a hierarchy of haves and have-nots: power users, hackers, and the l33t who can engage with the system on its own terms, and "lusers" who cannot engage with it meaningfully at all, which suits the power users just fine -- that's the endgame of Unix-philosophy fundamentalism.
Nazism and fascism are political philosophies embraced by unempathetic people, so it's no surprise when a bunch of empathy-deficient Unix-philosophy hardliners also turn out to be Nazis.
The only lack of empathy I see here is a failure in understanding that not everyone uses computers in the same way as you prefer. That's okay, we're all different. You can do your thing and what works for you, and I'll do mine and what works for me.
Signed.
One of those unempathetic Unix types and Nazi.
Your users are human, so you can’t predict everything all of us will do. This is why we want hackable tools to reassemble, rather than sealed appliances.