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 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
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.
> 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.
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.
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.
It's funny you mention /r/golang, because to be honest I'm not a huge fan of people using it to ask beginner questions. There was a discussion about that a few months ago, and see my comments there: https://www.reddit.com/r/golang/comments/g9zyva/real_questio...
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.
cat-v is full of good people these days. I'm more of a recent lurker there and I have had good interactions so far. Of course some are terse/inquisitive/contrary but never mean or nasty. Blunt perhaps? Nothing that ever bothered me.
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.
Understandable. It's my own anecdata. For what it's worth he's been an engineer at google for about 18 years now. I trust him when he says he made an honest effort.
This 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.
> they are cargo-cult idiots who do things like unironically create a linux distribution with static linking as a design goal and namesake
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.
This is really a relief. I knew the two communities existed on a similar kind of plane, and was worried that cat-v and by extension 9front were just as bad as suckless. But I did not know how to interpret the connection between cat-v and 9front after finding out they were safe with that crossed-out swastika ... glad to hear that the harmful section of the website is effectively just dated.