1. 24

    I think if your articles generally get upvoted and/or lead to good conversation, it’s a good sign they’re appropriate for Lobste.rs. I appreciated several such stories and I think they’re an integral part to this community. They mostly get posted shortly after being written, though; submitting an entire backlog of blog posts doesn’t sound like it would do well.

    1. 20

      I think this should be the guideline and nothing else. Voting is the system that was designed to evaluate how well content fits here. Adding requirements only inhibits people from participating, because then they have to do other things as a chore (post content from other domains, make more comments on other submissions, etc) before they can post. On top of that, the quality of those contributions will probably be lower and they will degenerate the conversation too.

      To take it to the extreme: let’s say I post an article from my own blog each day for a month and each one of them gains a massive amounts of upvotes, why should that not be allowed? The community clearly likes it. If, on the other hand, I post three articles in a year and all three fail to collect votes and only generate negative comments, then that is an indication that the content is not appropriate for this site and it is too much, even at that rate.

      Now, the voting system might not be perfect, but if that is the case/the problem, let’s figure out a way to improve that.

      1. 7

        I think this should be the guideline and nothing else. Voting is the system that was designed to evaluate how well content fits here.

        Hear freaking hear!

        The OP mentions soatok’s blog and someone commenting that they flagged it as spam because “they keep posting their blog over and over”, but if you look at soatok’s submissions you see {50, 104, 96, 113, …} point stories. That’s someone posting objectively good material as judged by the community. I’ve upvoted every one of their posts after I’ve read them because they are well-written, informative, and taught me quite a bit about an area where I lack expertise.

        Hillel has chimed in with his opinion above, but I disagree in part

        If you’re only posting your own stuff and it’s high quality, that’s poor etiquette

        I think there’s absolutely nothing wrong with a writer posting their own high-quality content as often as they please. I’d read Hillel’s blog posts on TLA+ every day if he’d post them that often. I’d probably upvote them as well because they are always top-notch, and are able to make a very technical subject accessible to me.

        This really isn’t and shouldn’t be a hard discussion: the 25 articles on the New page right now range from 1 hour ago to 2 days ago. You aren’t going to be lost in the noise, but you are also unlikely to take over the whole page. Just post. You’ll get feedback and will be able to adjust.

        1. 2

          I should probably elaborate on what I mean by “poor etiquette”. It’s okay for a person to only post their own, high quality stuff… I just think it’s impolite. In the same way that adding too many tags or not removing authors from submission titles is “impolite”.

          The way I see it, lobsters is both a link aggregator and a community. I’ve made friends and enemies here. Posting only your own stuff doesn’t enrich the community in the same way posting your own stuff and commenting and posting other people’s stuff does. It’s toxic to the community if your stuff is spam, but you’re not doing anything wrong if your content is also high-quality. It’s just impolite.

          I think it’s awesome and really affirming that you’d be willing to read my blog posts if I posted them every day, but I think that would be impolite to the community at large. I won’t deny I get a huge rush whenever I see something I write go viral. But I also care a lot about the health of the community, so it’s important to me that I’m regularly commenting and submitting stories that aren’t mine.

      2. 6

        You are mistaken. The upvotes alone are not a sufficient metric. All articles from https://drewdevault.com/ were always upvoted and not posted by their author and yet the domain and the author were banned arbitrarily at a whim of the admin. The upvotes alone and the fact that the community enjoys it are not a sign that a content will not be removed and that the author will not be banned.

        1. 4

          That domain and author weren’t banned simply excessive self promotion though, which is what we’re talking about. It’s perfectly reasonably to believe that upvotes are a sufficient metric for one issue and insufficient for another.

          It’s also the case that the author frequently had comments with highly negative scores.

          1. 7

            There certainly is a difference between banning someone’s account because you don’t like their comments on this website (for whatever reason) and banning the entire domain just because you don’t like that person. I certainly liked the articles posted there.

        2. 2

          I’d rather not lean on upvotes so heavily. There’s a pretty large amount of “ideological spam” that gets posted here to peddle software ideology that gets upvoted because people resonate with it in a knee-jerk, ideological kind of way. This sort of content adds nothing to the site other than more “yes me too!!!” content. Upvote oriented moderation atop the existing no-downvotes (instead, flags) and the strict invite tree will just turn this place into a stuffy circlejerk. Just my personal opinion of course.

        1. 5

          In my experience, the method of process management is not nearly as important as people make it to be. A team can deliver quality work with just about any method, because the method is not the important ingredient. Having a group of motivated, skilled people that know how to communicate well is the important ingredient. Whatever you agree on after that, ways of working, how to cut up work, report progress, etc. are just implementations details.

          Now, when people get frustrated and the process becomes more important than everything else, that clearly is a sign of a problem. But attacking the process is not very useful, because that is symptom of the problem, not the problem itself. Usually, one of the ingredients listed (skill, motivation, communication) is missing in some part of the company. But in general it is really hard, or impossible, to improve that if you’re not the boss. So we’re a bit stuck here. Everyone keeps bashing the same things over and over again, just to let their anger out.

          1. 21

            In Neovim/Vim this is not hard at all:

            							*:ea* *:earlier*
            :earlier {count}	Go to older text state {count} times.
            :earlier {N}s		Go to older text state about {N} seconds before.
            :earlier {N}m		Go to older text state about {N} minutes before.
            :earlier {N}h		Go to older text state about {N} hours before.
            :earlier {N}d		Go to older text state about {N} days before.
            
            :earlier {N}f		Go to older text state {N} file writes before.
            			When changes were made since the last write
            			":earlier 1f" will revert the text to the state when
            			it was written.  Otherwise it will go to the write
            			before that.
            			When at the state of the first file write, or when
            			the file was not written, ":earlier 1f" will go to
            			before the first change.
            
            

            There is also a :later command.

            1. 9

              Yes, Vim’s :earlier/:later commands are nice; and so is Vim’s undo tree (especially with a graphical interface). But in both cases, you still have to flip back and forth between the historical version and your working code. Splitting the buffer doesn’t help, because :earlier affects all splits where that file (buffer) is open.

              The author’s Yestercode is a further improvement: it lets you pull up earlier states of your file next to the window where you’re editing it, so looking something up does not break the edit flow.

              1. 2

                This basically undo’s, so you won’t be able to use forward again when (accidentally) changing history. But yes, it is a nice feature, I use it as well!

                1. 4

                  Vim has branching undo though, so you can go back (forward?) to the original version, just not with :later.

              1. 1

                Lots of nice tidbits in here, and that’s good. But let me focus on one of the items:

                Frankly, I think rebasing for a clean history merely has perceived benefit. I have yet to see any demonstration that it provides actual benefit. Like, with metrics, or other measurable proof. All I see is people that ask for it, and people that behave as though it makes them feel better. I don’t have any problem with that, as long as we call it what it is. A style preference.

                There is actually at least one tangible downside to rebasing already-pushed material: if your team works with github, then rebases reset github’s memory of people’s “time of last review”, so you can no longer [easily] avail of features like viewing the diff of “commits since last review”. Also, rebasing makes things significantly inconvenient for teammates that have local checkouts of the same branch with local changes, compared to a “merge by default” team protocol.

                [rebasing] makes it also easier to later look for commits that introduced some specific feature or a bug

                What we have is a local git hook which takes a fragment of the branch name and prepends it to the commit message. So, given a branch like FE-135--fix-dashboard-margin, it will make the commit message [FE-135] increase the horizontal margins to match new design standards . Then, when you look at the history, you see these tags, and you can even do searches, filters, etc. on these tags. We know exactly which commits were for exactly which Jira (or Trello, or Asana, or ___) card.

                1. 2

                  A useful distinction to make is what type of branch you are working on. For a local feature branch that I’m working on I always rebase to one commit. For master, accept, or other shared branches one should never do that, as it messes with other people’s workfow, like you said.

                  I think there is a benefit outside style preference to that local rebasing: it makes merges and reverts so much easier. If the merge contains dozens of half baked commits, sprinkled through the history, you are going to have a really hard time if there is a conflict, or the automatic revert on your tool misunderstood something.

                  But even outside of that. I think there it is good practice not to add a lot of noise to the signal if you ever hope to make use of the information. That is not a style preference, that is common sense. Your local history is completely uninteresting to the rest of the team in the same sense that no-one gives a damn about how often I pressed save while I was editing a file. Would you object to adding that information to the history too?

                  1. 2

                    Your local history is completely uninteresting to the rest of the team in the same sense that no-one gives a damn about how often I pressed save while I was editing a file.

                    It’s very useful if you’re doing a git bisect!

                1. 21

                  The article never mentions the, in my humble opinion, most important part of good logging practices and that is structured logging. Without it you end up with weird regexes or other hacks trying to parse your log messages.

                  1. 4

                    As a sibling post notes, if you use structured logging you’re mostly throwing away the idea that the entries must be easily parsable by a human. If that’s the case, and we’ll need a custom method of displaying the structured logs in a human friendly way, I believe we should forego plain text all together and gain the benefits of logging directly to binary.

                    1. 5

                      You can do human readable structured logging if you use key="value" formats inside text messages. Some people still prefer json, but there is a middle ground.

                      1. 2

                        If you need just key=value, that’s not really structured in my opinion.

                        1. 4

                          Why not?

                          1. 2

                            Because the amount of information added by this format would be infinitesimal over a line based logger with manual tokenization. The reason why you’d want a structured logger is to allow proper context to a message. Unless you’re working with simple cases, the structure that would offer such context is more than one level deep.

                            1. 3

                              Hmm, definitely not.

                              Structured logging is about decorating log events with just enough of a schema to make them machine parseable, so that searching, aggregating, filtering, etc. can more than a crapshoot. Deeply nested events significantly increase the complexity of that schema, and therefore the requirements of the consumer.

                              By default, structured logs should be flat key/value pairs. It gets you the benefits of richer parseability, without giving up the ability to grep.

                    2. 2

                      Excellent point. That’s become such second nature to me by now, that I forgot to even mention it!

                      1. 1

                        On top of that, structured logger if implemented properly, can often be faster and be operated at granular levels (like the other comments pointed out, sometimes you do want to on-fly turn on some logs at some locations, not all logs at all locations).

                        1. 1

                          I love structured logging, with one caveat: the raw messages emitted (let’s assume JSON) are harder for me to scan when tailing directly (which I usually only do locally as we have better log querying tools in the cloud), in contrast to a semi-structured simple key-value format. Do you all use a different format than JSON? Or a tool that transforms structured logs to something more friendly to humans, eg. with different log levels displayed in different appropriate colors, eg. JSON syntax characters diminished, for local tailing?

                          1. 5

                            At Joyent, we used the Bunyan format. Each line in the file was a separate JSON object with standard properties, some mandatory and some optional, and freeform additional properties. We shipped a tool, bunyan, that was capable of acting as a filter that would render different human readable views of the JSON. For example, you would often run something like:

                            tail -F $(svcs -L manatee) | bunyan -o short
                            

                            It also had some rudimentary filtering options. It also had a relatively novel mode that would, instead of reading from a file or standard input, use DTrace probes for different log levels to allow you to dynamically listen for DEBUG and TRACE events even when those were not ordinarily present in the log files. The DTrace mode could target a particular process, or even all processes on the system that emitted Bunyan logs.

                            1. 1

                              Hi, what were the required fields? Was it just a unique request ID? Thanks for sharing about bunyan. Even though it’s been out for a while I was unaware of it.

                            2. 5

                              Do you all use a different format than JSON? Or a tool that transforms structured logs to something more friendly to humans, eg. with different log levels displayed in different appropriate colors, eg. JSON syntax characters diminished, for local tailing?

                              We use JSON and the only tools I use are grep and jq. And although I am pretty much still a novice with these two, I found that with the power of shell piping I can do almost anything I want. Sometimes I reach for the Kibana web interface, get seriously confused and then go back to the command line to figure out how to do it there.

                              I wrote a simple tutorial for the process, just a couple of weeks ago.

                              1. 1

                                If you rely on external tools to be able to make sense of your logs, why not go all the way, gain the speed and size benefits that binary logs would bring, and write your own log pager? I feel like the systemd folks had the right idea even when everyone was making fun of them.

                                1. 3

                                  I don’t think the average employer would be happy subsidizing an employee writing a log pager instead of implementing something that would bring a tangible result to the business. The potential money savings by using binary logs probably doesn’t outweigh the new subs/increased profits of churning out more features.

                                  1. 1

                                    To me that sounds like an excuse. The world is not made up of only software that is beholden to the all mighty shareholder.

                                    1. 1

                                      I mean, yes, if you’re developing something in your personal time, go bananas on what you implement.

                                      But I also know my manager would look at me funny and ask why I’m not just shoving everything into CloudWatch/<cloud logging service>

                                  2. 2

                                    I’m sure most problems with systemd journals are fixable, but they’ve left a very bad taste in my mouth for two main reasons: if stuff gets deleted from under them they apparently never recover (my services continue to say something like “journal was rotated” until I restart them), and inspecting journals is incredibly slow. I’m talking magnitudes slower than log files. This is at its worst (I often have time to make a cup of tea) when piping the output into grep or, as journalctl already does by default, less, which means every byte has to be formatted by journalctl and copied only to be skipped over by its recipient. But it’s still pretty bad (I have time to complain on IRC about the wait) when giving journalctl filters that reduce the final output down to a few thousand lines, which makes me suspect that there are other less fundamental issues.

                                    I should note that I’m using spinning disks and the logs I’m talking about are tens to hundreds of GB over a few months. I feel like that situation’s not abnormal.

                                    1. 1

                                      If you rely on external tools to be able to make sense of your logs, why not go all the way, gain the speed and size benefits that binary logs would bring, and write your own log pager?

                                      It’s hard to imagine a case at work where I could justify writing my own log pager.
                                      Here are some of the reasons I would avoid doing so:

                                      • Logs are an incidental detail to the application.
                                      • Logs are well understood; I can apply a logging library without issues.
                                      • My application isn’t a beautiful and unique snowflake. I should use the same logging mechanisms and libraries as our other applications unless I can justify doing something different.
                                      • JSON is boring, has a specification, substantial library support, tooling, etc.
                                      • Specifying, documenting, and testing a custom format is a lot of work.
                                      • Engineering time is limited; I try to focus my efforts on tasks that only I can complete.
                                      1. 2

                                        Logs are an incidental detail to the application.

                                        I think this is trivially disproved by observing that if the logs stop working for your service, that is (hopefully!) a page-able event.

                                        Logs are a cross-cutting concern, but as essential as any other piece of operational telemetry.

                                        1. 1

                                          Logs are a cross-cutting concern, but as essential as any other piece of operational telemetry.

                                          I rely heavily on logging for the services I support but the applications I wrote for work have only error reporting. They are used by a small audience and problems are rare; I might get a crash report every 18 months or so.

                                          1. 1

                                            Ah, yeah, I presume the context here is services.

                                    2. 1

                                      Agreed. jq is a really nice tool. It made the decision to transition to using JSON for logging very easy.

                                    3. 3

                                      Don’t use JSON, use logfmt.

                                      1. 1

                                        Yes! Logfmt is the good stuff. But it’s only semi-structured. Why not use JSON and a tool to transform to logfmt (with nested data elided probably) when needing to scan as a human?

                                        1. 1

                                          Logfmt is fully structured, it just doesn’t support nesting, which is an important feature! Structured logs should be flat.

                                    4. 1

                                      I’m surprised it wasn’t mentioned, but the larger advantage of passing a logger around to constructors is the ability to then have nested named loggers, such as

                                      Battery.ChargingStatus.FileReader: Failed to open file { file: "/tmp/battery charge", error: ... }
                                      Battery.ChargingStatus: Failed to access status logs, skipping report
                                      
                                    1. 1

                                      I used to think the same thing, but then I realized, depending on what you are shipping, there might be a caveat. The hackers who steal your code might not use it to set up a competing service, but to inspect it for vulnerabilities and hack you or your customers and do worse things.

                                      Although this argument falls in the realm of security by obscurity, obscurity might be a very useful protection if you ship code that

                                      wasn’t of the highest quality either: Half the time, the build would be broken. Testing and documentation were basically non-existent.

                                      I do agree with the rest of the argument though.

                                      1. 1

                                        I think the article is interesting for coming very close to saying that code is a liability but workers are an asset, and then not taking that step. Corporations are people, as US law famously declares, but that phrase can be read in two ways and every place I’ve worked has really hated to read it the second way.

                                      1. 1

                                        On a VPS:

                                        • Some personal websites
                                        • Offsite backup storage with Borg
                                        • Caldav and carddav with Radicale
                                        • RSS with cron and rss2email
                                        • Since this weekend: my personal project that does task management based on Imap. Mail is elsewhere though. Will do a write up later.

                                        At home:

                                        Nothing. I don’t even have a permanent network. I use the hotspot my smartphone when I need to use the internet. (I have an unlimited 4G plan)

                                        1. 3

                                          Interesting! I’m also working on a stricter Markdown alternative, but it’s more of a toy (link). Highly agree about the link format. One of my biggest gripes with Markdown is how difficult it is to read with huge web addresses in the middle of the text.

                                          1. 2

                                            Are you aware that Reference-style Links exist? I don’t know how widely supported that is though.

                                            1. 1

                                              Yeah, I know, and I almost always use them. The problem is that most other people don’t!

                                          1. 7

                                            I don’t want to 💩on the author’s writeup here, because it is a decent one. I’m using it to launch another public objection to Go Generics.

                                            A lot of proposals for and write ups about Go Generics seem to miss that there’s a very large group of Go users who object to Generics, and for good reason. It’s not because this group questions the efficacy of generics in solving very specific problems very well – objectors are generally well attuned to Generics’ utility. What’s objected to is the necessity of Generics. The question that we pose is do we need generics at all? Are the problems that Generics solve so important that Generics should pervade the language?

                                            From the author’s conclusion

                                            I was able to solve a problem in a way that was not previously possible.

                                            Being able to solve problems in new ways isn’t always valuable; it can even be counter-productive.

                                            1. 24

                                              Nothing is necessary except an assembler. Well, you don’t even need the assembler, you can just flip the bits yourself.

                                              Go has an expressiveness gap. It has some kind of big classes of algorithms that can’t be made into libraries in a useful way. Most people advocate just rewriting basically the same code over and over forever, which is kind of crazy and error-prone. Other people advocate code-generation tools with go generate, which is totally crazy and error-prone, even with the decent AST tools in the stdlib. Generics close the gap pretty well, they’re not insanely complex, and people have had decades to get used to them. If you don’t want to use them yourself, don’t use them, but accept that there are people for whom, say, the ability to just go get a red-black tree implementation that they can use with a datatype of their own choosing, without loss of type-safety or performance, will greatly improve the usefulness of the language.

                                              Plus, from a purely aesthetic standpoint, it always seemed criminal to me to have a language that has first-class functions, and lexical closure, but in which you can’t even write map because its type is inexpressible.

                                              1. 9

                                                Go has an expressiveness gap.

                                                That’s true. You’ve identified some of the costs. Can you identify some of the benefits, too?

                                                1. 12

                                                  Easy: not having a feature protects you from bright idiots that would misuse it.

                                                  Honestly though, that’s the only argument I can make against generic. And it’s not even valid, because you could say this about almost any feature. It’s a fully general counter argument: give people hammers, some will whack each other’s heads instead of hitting nails.

                                                  Assuming basic competency of the users and assuming they were designed from the ground up, generics have practically no downsides. They provide huge benefits at almost no marginal cost. There is a sizeable up-front cost for the language designer and the compiler writer, but they were willing to pay that kind of price when they set out to build a general purpose languages, didn’t they?

                                                  1. 2

                                                    They provide huge benefits at almost no marginal cost.

                                                    If this huge benefit is only one in a minor part of the project, or even, in a minority of projects, then it has to be balanced and thought through.

                                                    Right now, I don’t know many people that work Go daily, telling me that not having generics makes their day a pain.

                                                    Most of them told me that it’s sometimes painful, but that’s actually pretty rare.

                                                    There is a sizeable up-front cost for the language designer and the compiler writer, but they were willing to pay that kind of price when they set out to build a general purpose languages, didn’t they?

                                                    Is the burden really on them? To me the it is on the program writer.

                                                    1. 8

                                                      There’s likely a survivorship bias going on there.

                                                      I used Go as a programming language for my side projects for years. The thing that finally got me to give it up was the lack of generics. In writing PISC, the way I had approached it in Go ended up causing a lot of boilerplate for binding functions.

                                                      Go is something I’d happily write for pay, but I prefer expressiveness for my side projects now, as the amount of effort that goes into a side project is a big determining factor in how much I can do in one

                                                      1. 3

                                                        There is a sizeable up-front cost for the language designer and the compiler writer, but they were willing to pay that kind of price when they set out to build a general purpose languages, didn’t they?

                                                        Is the burden really on them? To me the it is on the program writer.

                                                        Assuming we are a collaborative species (we mostly are, with lots of exceptions), then one of our goals should be minimizing total cost. Either because we want to spend our time doing something else, or because we want to program even more stuff.

                                                        For a moderately popular programming language, the users will far outnumber and outproduce the maintainers of the language themselves. At the same time, the languages maintainers’ work have a disproportionate impact on everyone else. To such a ludicrous extent in fact that it might be worth spending months on a feature that would save users a few seconds per day. Like compilation speed.

                                                        Other stuff like generic will affect fewer users, but (i) it will affect them in a far bigger way than shaving off a few seconds of compilation time would have, and (ii) those particular users tend to be library writers, and as such they will have a significant impact on the rest of the community.

                                                        So yes, the burden really is on the language creators and compiler writers.


                                                        Note that the same reasoning applies when you write more mundane software, like a train reservation system. While there is rarely any monetary incentive to make that kind of thing not only rock solid, but fast and easy to work with, there is a moral imperative not to inflict misery upon your users.

                                                    2. 5

                                                      I haven’t used Go in anger but here are some benefits from not including generics.

                                                      • Generics are sometimes overused, e.g. many C++ libraries.
                                                      • The type system is simpler.
                                                      • The compiler is easier to implement and high quality error messages are easier to produce.
                                                      • The absence of generics encourages developers to use pre-existing data structures.
                                                    3. 2

                                                      If red-black trees and map were just built in to Go, wouldn’t that solve 90% of the problem, for all practical purposes?

                                                      What I really miss in Go is not generics, but something that solves the same problems as multiple dispatch and operator overloading.

                                                      1. 3

                                                        Sort of, but no. There’s too many data structures, and too many useful higher-order functions, to make them all part of the language. I was just throwing out examples, but literally just a red-black tree and map wouldn’t solve 90% of the problem. Maybe 2%. Everyone has their own needs, and Go is supposed to be a small language.

                                                        1. 1

                                                          Data structures and higher-order functions can already be implemented in Go, though, just not by using generics as part of the language.

                                                    4. 15

                                                      Technically Go does have generics, they just aren’t exposed to the end developer, except in the form of the builtin map and array types, and are only allowed for internal developers. So in a sense, Go does need generics and they already pervade the language.

                                                      I don’t personally have a horse in this race and don’t work with Go, but from a language-design perspective it does seem strange to limit user-developed code in such a way. I’d be curious what your thoughts on why this discrepancy is OK and why it shouldn’t be fixed by adding generics to the language.

                                                      1. 14

                                                        I don’t personally have a horse in this race and don’t work with Go, but from a language-design perspective it does seem strange to limit user-developed code in such a way.

                                                        Language design is all about limiting user defined code to reasonable subsets of what can be expressed. For a trivial example, why can’t I name my variable ‘int’? (In Myrddin, as a counterexample, var int : int is perfectly legal and well defined).

                                                        For a less trivial example, relatively few languages guarantee tail recursion – this also limits user developed code, and requires programmers to use loops instead of tail recursion or continuation passing style.

                                                        Adding generics adds a lot of corner cases to the type system, and increases the complexity of the language a good deal. I know. I implemented generics, type inference, and so on in Myrddin, and I’m sympathetic to leaving generics out (or, as you say, extremely limited) to put a cap on the complexity.

                                                        1. 3

                                                          I see only two legitimate reasons to limit a user’s capabilities:

                                                          1. Removing the limitation would make the implementer’s life harder.
                                                          2. Removing the limitation would allow the user to shoot themselves in the foot.

                                                          Limiting tail recursion falls squarely in (1). There is no way that guaranteeing tail recursion would cause users to shoot themselves in the foot. Generics is another matter, but I strongly suspect it is more about (1) than it is about (2).

                                                          Adding generics adds a lot of corner cases to the type system, and increases the complexity of the language a good deal.

                                                          This particular type system, perhaps. This particular language, maybe. I don’t know Go, I’ll take your word for it. Thing is, if Go’s designers had the… common sense not to omit generics from their upcoming language, they would have made a slightly different language, with far fewer corner cases they will inevitably suffer now that they’re adding it after the fact.

                                                          Besides, the complexity of a language is never a primary concern. The only complexity that matters is that of the programs written in that language. Now the complexity of a language does negatively impact the complexity of the programs that result from it, if only because language space is bigger. On the other hand, this complexity has the potential to pay for itself, and end up being a net win.

                                                          Take C++ for instance. Every single feature we add to it increases the complexity of the language, to almost unbearable levels. I hate this language. Yet, some of its features definitely pay for themselves. Range for for instance, while it slightly complicates the language, makes programs that use it significantly cleaner (although only locally). That particular feature definitely pays for itself. (we could discuss other examples, but this one has the advantage of being uncontroversial.)

                                                          As far as I can tell, generics tend to massively pay for themselves. Not only do they add flexibility in many cases, they often add type safety (not in C++, they don’t). See for instance this function:

                                                          foo : (a -> b) -> [a] -> [b]
                                                          

                                                          This function has two arguments (where a and be are unknown types): a function from a to b, and a list of a. It returns a list of b. From this alone, there is a lot we can tell about this function. The core idea here is that the body of the function cannot rely on the contents of generic types. This severely constraints what it can do, including the bugs it can have.

                                                          So, when we write let ys = foo f xs, here’s what we can expect before we even look at the source code:

                                                          • Assuming f is of type a->b, then xs is a list of a, and the result ys is a list of b.
                                                          • The elements of ys, if any, can only come from elements of xs.
                                                            • And they must have gone through f.
                                                            • Exactly once.
                                                          • The function f itself does not affect the number or order of elements in the result ys
                                                          • The elements of xs do not individually affect the number or order of elements in the result ys
                                                          • The only thing that affects the number or order of elements in the result ys is the size of xs (and the code of foo, of course).

                                                          This is quite unlike C++, or other template/monomorphisation approaches. Done right, generics have the opportunity to remove corner cases in practice. Any language designer deciding they’re not worth their while better have a damn good explanation. And in my opinion, the explanations offered for Go weren’t satisfactory.

                                                          1. 4

                                                            Complexity of a language is the primary concern!

                                                            Languages are tools to express ideas, but expressiveness is a secondary concern, in the same way that the computer is the secondary audience. Humans are the primary audience of a computer program, and coherence is the primary concern to optimize for.

                                                            Literary authors don’t generally invent new spoken languages because they’re dissatisfied with the expressive capability of their own. Artful literature is that which leverages the constraints of it’s language.

                                                            1. 4

                                                              Literary authors don’t generally invent new spoken languages because they’re dissatisfied with the expressive capability of their own. Artful literature is that which leverages the constraints of it’s language.

                                                              Eh, I have to disagree here. Literary authors try to stretch and cross the boundaries the of their spoken languages all the time, specifically because they search ways to express things that where not yet expressed before. To give some uncontroversial examples, Shakespeare invented 1700 new words and Tolkien invented not one, but a couple of whole new languages.

                                                              I am but a very low level amateur writer, but I can tell you: the struggle with the tool to express your ideas is as real with spoken languages as it is with programming languages. It is an approach from another direction, but the results from spoken languages turn out to be as imperfect as those from programming ones.

                                                              1. 1

                                                                I’d argue that constrained writing is more common, if nothing else than showing ones mastery of a shared language is more impressive than adding unknown elements.

                                                                Tolkien’s Elvish languages, while impressively complete, are simply used as flavor to the main story. The entire narrative instead leans heavily on tropes and language patterns from older (proto-English) tales.

                                                                1. 1

                                                                  Yes, you have a point. I mentioned Tolkien because that was the first writer that created a new language that I could come up with. But in the end, if you want to express an idea, then your audience must understand the language that you use, otherwise they will not get your message. So common language and tropes can help a lot.

                                                                  However, I think your mention of constrained writing is interesting. Because in a way, that Go does not have generics, is similar to the constraint that a sonnet must follow a particular scheme in form and content. It is perfectly possible to add generics to Go, the same way as it is very possible to slap another tercet at the end of a sonnet. Nothing is stopping you, really, Expect that then it would no longer be a sonnet. Is that a bad thing? I guess not. But still almost no-one does it.

                                                                  I’d say that the rules, or the constraints, are a form of communication too. If I read a sonnet, I know what to expect. If I read Go, I know what to expect. Because some things are ruled out, there can be more focus on what is expressed within the boundaries. As a reader you can still be amazed. And, the same as in Go, if what you want to express really does not fit in the rules of a sonnet, or if it is not worth the effort to try it, then you can use another form. Or another programming language.

                                                                2. 1

                                                                  Your points don’t conflict with my points, and I agree with them.

                                                                3. 2

                                                                  Can we agree that the goal of programming languages is to reduce costs?

                                                                  • Cost of writing the program.
                                                                  • Cost of errors that may occur.
                                                                  • Cost of correcting those errors.
                                                                  • Cost of modifying the program in the face of unanticipated new requirements.

                                                                  That kind of thing. Now we must ask what influences the costs. Now what about increased expressiveness?

                                                                  A more expressive language might be more complex (that’s bad), more error prone (that’s bad), and allow shorter programs (that’s good), or even clearer programs (that’s good). By only looking at the complexity of the language, you are ignoring many factors that often matter a whole lot more.

                                                                  Besides, that kind of reasoning quickly breaks down when you take it to its logical extreme. No one in their right mind would use the simplest language possible, which would be something like the Lambda Calculus, or even just the iota combinator. Good luck writing (or maintaining!) anything worth writing in those.

                                                                  Yes, generics makes a language more complex. No, that’s not a good enough argument. If it was, the best language would only use the iota combinator. And after working years in a number of languages (C, C++, OCaml, Ptython, Lua…), I can tell with high confidence that generics are worth their price several orders of magnitudes over.

                                                                  1. 2

                                                                    I agree with you that generics can be hugely net positive in the cost/benefit sense. But that’s a judgment that can only be made in the whole, taking into account the impact of the feature on the other dimensions of the language. And that’s true of all features.

                                                                    1. 1

                                                                      Just popping in here because I have minimal experience with go, but a decent amount of experience in languages with generics, and I’m wondering: if we set aside the implementation challenge, what are some examples of the “other dimensions” of the language which will be negatively impacted by adding generics? Are these unique to go, or general trade offs in languages with generics?

                                                                      To frame it in another way, maybe a naive take but I’ve been pretty surprised to see generics in go being rejected due to “complexity”. I agree that complexity ought to be weighed against utility but can we be a little more specific? Complexity of what specifically? In what way will writing, reading, compiling, running, or testing code become more complicated when my compiler supports generics. Is this complexity present even if my own code doesn’t use generics?

                                                                      And just a final comparison on language complexity. I remember when go was announced, the big ticket feature was its m:n threaded runtime and support for CSP-style programming. These runtimes aren’t trivial to implement, and certainly add “complexity” via segmented stacks. But the upside is the ability to ergonomically express certain kinds of computational processes that otherwise would require much more effort in a language without these primitives. Someone decided this tradeoff was worth it and I haven’t seen any popular backlash against it. This feature feels very analogous to generics in terms of tradeoffs which is why I’m so confused about the whole “complexity” take. And like, maybe another naive question, but wouldn’t generics be significantly less tricky to implement than m:n threads?

                                                                      1. 5

                                                                        It isn’t just implementation complexity of generics itself. It’s also sure to increase the complexity of source code itself, particularly in libraries. Maybe you don’t use generics in your code, but surely some library you use will use generics. In languages that have generics, I routinely come across libraries that are more difficult to understand because of their use of generics.

                                                                        The tricky part is that generics often provides some additional functionality that might not be plausible without it. This means the complexity isn’t just about generics itself, but rather, the designs and functionality encouraged by the very existence of generics. This also makes strict apples-to-apples comparisons difficult.

                                                                        At the end of the day, when I come across a library with lots of type parameters and generic interfaces, that almost always translates directly into spending more time understanding the library before I can use it, even for simple use cases. That to me is ultimately what leads me to say that “generics increases complexity.”

                                                                        1. 2

                                                                          what are some examples of the “other dimensions” of the language which will be negatively impacted by adding generics?

                                                                          From early golang blog posts I recall generics add substantial complexity to the garbage collector.

                                                                          The team have always been open about their position (that generics are not an early priority, and they will only add them if they can find a design that doesn’t compromise the language in ways they care about). There have been (numerous proposals rejected)[https://github.com/golang/go/issues?page=3&q=generics++is%3Aclosed+label%3AProposal] for varied reasons.

                                                                          Someone decided this tradeoff was worth it and I haven’t seen any popular backlash against it

                                                                          There’s no backlash against features in new languages, because there’s nobody to do the backlash.

                                                                          Go has already got a large community, and there’s no shortage of people who came to go because it was simple. For them, adding something complex to the language is frightening because they have invested substantial time in an ecosystem because of its simplicity. Time will tell whether those fears were well-founded.

                                                                    2. 1

                                                                      No, expressiveness is the only reason for languages to exist. As you say, humans are the primary audience. With enough brute force, any language can get any task done, but what we want is a language that aids the reader’s understanding. You do that by drawing attention to certain parts of the code and away from certain parts, so that the reader can follow the chain of logic that makes a given program or function tick, without getting distracted by irrelevant detail. A language that provides the range of tools to let an author achieve that kind of clarity is expressive.

                                                                      1. 2

                                                                        I think we are using “expressive” differently. Which is fair, it’s not really a well-defined term. But for me, expressiveness is basically a measure of the surface area of the language, the features and dimensions it offers to users to express different ideas, idioms, patterns, etc. Importantly, it’s also proportional to the number of things that it’s users have to learn in order to be fluent, and most of the time actually exponentially proportional, as emergent behaviors between interacting features are often non-obvious. This is a major cost of expressiveness, which IMO is systemically underestimated by PLT folks.

                                                                    3. 3

                                                                      I implemented generics. You’re trying to convince me that it’s worth implementing generics. Why?

                                                                      Besides, the complexity of a language is never a primary concern.

                                                                      I disagree. I think implementation matters.

                                                                  2. 2

                                                                    That’s an intersting observation; thanks for sharing it.

                                                                    they just aren’t exposed to the end developer

                                                                    I think this supports my point better than I’m able to. Language design is just as much about what is hidden from developers as what is exposed. That generics are hidden from end users is something I greatly appreciate about Go. So when I refer to generics, I’m referring to generics used by every day developers.

                                                                    I’d be curious what your thoughts on why this discrepancy is OK and why it shouldn’t be fixed by adding generics to the language.

                                                                    In my opinion the greatest signal that Go doesn’t need generics is the wonderfully immense corpus of code we have from the last decade – all written without generics. Much of it written with delight by developers who chose Go over other langauges for it’s pleasant simplicity and dearth of features.

                                                                    That is not to say that some of us offasionally could have written less code if generics were available. Particularly developers writing library or framework code that would be used by other developers. Those developers absolutely would have been aided by generics. They would have written less code; their projects may have cost less to initially develop. But for every library/framework developer there are five, ten, twenty (I can’t pretend to know) end user application developers who never had the cognitive load of genericized types foisted on them. And I think that is an advantage worth forgoing generics. I don’t think I’m particularly smart. Generics make code less readable to me. They impose immense cognitive load when you’re a new developer to a project. I think there are a lot of people like me. After years of Java and Scala development, Go to me is an absolute delight with its absence of generics.

                                                                    1. 6

                                                                      In my opinion the greatest signal that Go doesn’t need generics is the wonderfully immense corpus of code we have from the last decade

                                                                      I don’t have a ready example, but I’ve read that the standard library itself conspicuously jumped through hoops because of the lack of generics. I see it as a very strong sign (that’s an understatement) that the language has a dire, pervasive, need for generics. Worse, it could have been noticed even before the language went public.

                                                                      If you had the misfortune of working with bright incompetent architects astronauts who used generics as an opportunity to make an overly generic behemoth “just in case” instead of solving the real problem they had in front of them, well… sorry. Yet, I would hesitate to accuse the language’s semantics for the failings of its community.

                                                                  3. 7

                                                                    I don’t remember exact details, it was super long ago, but I once wanted to write an editor centered around using a nontrivial data structure (“table chain” or “string table” or whatever was the name). Also the editor had some display aspect structures (~cells of terminal). At some point I needed to be able to experiment with rapidly changing the type of the object stored both in the “cells” and “chains” of the editor (e.g. to see if adding styles etc. per character might make sense from architectural point of view). If you squint, those are both kind of “containers” for characters (haskeller would maybe say monads? dunno). I had to basically either manually change all the places where the original “character” type was used, or fall back to interface{} losing all benefits of static typing that I really needed. Notably this was long before type aliases which would have possibly allowed me to push a bit further, though it’s hard for me to recall now. But the pain and impossibility of rapid prototyping at this point was so big I didn’t see it possible to continue working on the project and abandoned it. Not sure if immediately then or some time later I realized that this is the rare moment where generics would be valuable in letting me explore designs I cannot realistically explore now.

                                                                    In other words, what others say: nontrivial/special-purpose “containers”. You don’t need them until you do.

                                                                    Until then I fully subscribed to “don’t need generics in Go” view. Since then I’m in “don’t need generics in Go; except when do”. And I had one more hobby project afterwards that I abandoned for exactly the same reason.

                                                                    And I am fearful and do lament that once they are introduced, we’ll probably see everyone around abusing them for a lot of unnecessary purposes, and that this will be a major change to the taste of the language. That makes me respect the fact that the Team are taking their time. But I do miss them since, and if the Team grudgingly accepts the current draft as passabke, this is such a high bar that it makes me extremely excited for what’s to come, that it will be one of the best ways how this compromise can be introduced. Given that most decisions in languages are some compromises.

                                                                    1. 6

                                                                      Yeah, Go is very much not a language for rapid prototyping. It expects you to come to the table with a design already in mind.

                                                                      1. 2

                                                                        Umm, what? Honestly not sure if you’re meaning this or being sarcastic (and if yes, don’t see the point). I prototyped quite a lot of things in Go no problem. I actually hold it as one of the preferred languages for rapid prototyping if I expect I might want to keep the result.

                                                                        1. 5

                                                                          I’m being totally serious. Go is chock full of stuff that makes typical rapid prototyping extremely difficult. A lack of a REPL. Compiler errors on unused variables. Verbose error handling. And so on. All of these things combine to make it harder to “design on the fly”, so to speak, which is what rapid prototyping frequently means.

                                                                          With that said, Go works great for prototyping in the “tracer bullet” methodology. That’s where your prototype is a complete and production quality thing, and the iteration happens at a higher level.

                                                                          1. 1

                                                                            Got it, thanks! This made me realize that I reach for different languages in different cases for prototyping. Not yet really sure why now. But I feel that sometimes the dynamic types of Lua make me explore faster, whereas sometimes static types of Go or Nim make me explore faster.

                                                                    2. 4

                                                                      I’m going to assume you’re arguing in good faith here, but as a lurker on the go-nuts mailing list, I’ve seen too many people say “I don’t think generics are necessary” or “I haven’t heard a good enough reason for the complexity of generics”. It’s worth pointing out the Go team has collected feedback. Ian Lance Taylor (one of the current proposal’s main authors) spends a large portion of time responding to emails/questions/objections.

                                                                      I read a comment from someone who was on the Kubernetes team that part of the complexity of the API (my understanding is they have a pseudo-type system inside) is based on the fact that proto-Kubernetes was written in Java and the differences between the type systems compounded with a lack of generics created lots of complexity. (NOTE I don’t remember who said this, and I am just some rando on the net, but that sounds like a decent example of the argument for generics. Yes, you can redesign everything to be more idiomatic, but sometimes there is a compelling need to do things like transfer a code base to a different language)

                                                                      1. 1

                                                                        Ouch, I was wondering why the Kubernetes API looks so painfully like Java and not like Go. TIL that’s because it was literally a dumb translation from Java. :/ As much as I’m a pro-generics-in-Go guy, I’m afraid that’s a bad case for an argument, as I strongly believe it is a really awful and unidiomatic API from Go perspective. Thus I by default suspect that if its authors had generics at their disposal, they’d still write it Java-style and not Go-style, and probably still complain that Go generics are different from Java generics (and generally that Go is not Java).

                                                                      2. 3

                                                                        I don’t know if the author’s example was a good one to demonstrate the value of generics, but a cursory look at the diff would suggest he didn’t really gain anything from it. I always thought a huge benefit of generics was it saved you 10s or even 100s of lines of code because you could write one generic function and have it work for multiple types. He ended up adding lines. Granted, the author said it was mostly from tests, but still there doesn’t seem to be any dramatic savings here.

                                                                        1. 3

                                                                          I recommend taking more than a cursory look. The value here is very much in the new library interface. In effect, the package provides generalize channels, and before the change, that generalization meant both a complicated interface, and losing compiler-enforced type safety.

                                                                      1. 12

                                                                        (very subjective thoughts, hopefully not too off-topic. I think that this is the right community though)

                                                                        I think the appearance of new “Hobby OSs” is one of the nicest things to happen in the recent years. There was a bit of a drought, as some projects slowly died. That’s not to say there aren’t any, there certainly are quite a few that made constant progress over all these years.

                                                                        However things like developing an OS mostly for fun is something that seems to be lacking lately. A part of that also seems to be that doing some things just for fun became harder in the mainstream world, if you wanna call it like that. Doing an app just for fun and distribute it to people is quite a hassle. One needs to pay certain fees for distribution, potentially even get a specific device to program, there’s usually quite a few things involved to keep things working, both on newer phones and not too rarely certain rules change.

                                                                        Overall things seem to move faster and the time for projects to be obsolete (unusable or close to) when doing nothing seems to speed up, in some fields more than other.

                                                                        Maybe it’s just my perception, but also it feels as if the willingness or let’s say the motivation to do a bigger project as a hobby in the free time goes down. A lot of the time people only do so if compensated (thanks to Patreon, etc. this is easily possible though), or if it at least makes well on the resume.

                                                                        Please don’t get me wrong. I certainly have no intention to tell people with their free time and completely understand things cost money. Please don’t take this as a criticism.

                                                                        What I am getting to is that with the growth of the amount of people being in IT it seems that - for the lack of a better word - the percentage of people doing “silly little things” is going down, especially when they can not be achieved within a few days.

                                                                        I have been wondering why this is. To me a lot of it feels like an increase of “wanting to feel professional” (again, no criticism!), even when not acting so. Maybe it’s also a general society or psychology topic. Maybe it’s how time is given a value and with such projects that are somewhere between work (with effort, like programming) and hobby, which for most people is a clearer categorization thing when watching a show on Netflix, playing a video game or listening to music hobbies taking effort make people more feel like they didn’t spend their time productively, nor considering it time to relax.

                                                                        A lot of that I perceive as “taking fun out of computing” so to say. But OS development projects like these, just like the tildeverse make me feel like a lot of it is returning after it was partly lost or at least not perceived by me.

                                                                        Curious on whether I am the only person seeing it like that or if you have different views on this.

                                                                        1. 7

                                                                          I too am happy to see these projects again, as hobby OS dev has always been a favourite interest of mine. But I do find it rather depressing that they all seem to be just yet another UNIXalike, rather than any sort of attempt to do something new, or even something else old that was abandoned.

                                                                          1. 4

                                                                            … the percentage of people doing “silly little things” is going down, especially when they can not be achieved within a few days. I have been wondering why this is. To me a lot of it feels like an increase of “wanting to feel professional”

                                                                            Yes, I agree with the sentiment. I think that the invention and the spread of internet in the mainstream has been a double edged sword. On one hand, it is so much easier now to learn how to do things and to make your creations accessible to the world. On the other hand, this benefit applies to everyone, not just to you, so you suddenly find yourself “competing” with a horde of amateurs and hobbyists just like you.

                                                                            Because if we’re honest, very few people want to make and do things in perfect isolation. There is not always a desire for a monetary reward, but I think that in the overwhelming amount of cases there is a desire for some kind of recognition from peers or others inside or outside the current social circle. But in this new era the bar to get that recognition is getting higher and higher. Not only the quality of the work rises, but also the expectation of what proper recognition is rises. I might be looking back with nostalgia, but I like to think that 50 years ago, if your mother had some skill in knitting sweaters, her skill would be recognized and valued in her family/village/street. So if she was able to impress 20 people, she would gain some real status and respect. If you were to try to get the same level of respect these days, you would need at least a couple of thousand followers on youtube/instagram/pinterest/whatever. Ideally you should also make some nice extra cash on the side by selling the the designs, or the sweaters themselves on etsy, or create tutorials on youtube, or..

                                                                            So the bar is much higher now and distractions are plentiful. So not as much people bother anymore. But that is relatively speaking. I think that in absolute numbers there are still way more people doing interesting stuff. They just get drowned out. But I don’t have any research to back that up.

                                                                            1. 1

                                                                              That’s very insightful. So far I took that more as effects of walled gardens, and raising the bar by complexity, the wanting to feel professional (not doing “hacky” things out of love - despite the whole “Do you have passion for X?” at many job ads).

                                                                              But sure, when you look for online likes, comments, stars and subscribers things are seen differently. And those measures typically don’t convey much. GitHub stars do oftentimes not even convey user base or general interest (readme-only repos with thousands of stars because it was posted on some news page, never even started out implementation). They mostly tell how many people have somewhat actively seen a headline or similar.

                                                                              And of course the attention span and new things popping up, together with the “newer is always better” assumption one has a hard time.

                                                                              The thing with research might turn out hard or at least I don’t know what the right approach is. A longer time ago I actually got interested in different ways of measuring impact of technologies (different kinds of, purely economical for example). The background was that things like measured programming language popularities seemed off, when looking at how they are perceived online, compared to when you looked into the real world.

                                                                              A lot of these are community and philosophy based. To stay with programming language popularity. A project with excellent documentation, clear guides, its own widely used communication channels tend to have a lot fewer questions on Stack Overflow, etc. A language that is often taught at university, has been hyped, etc. has more. Also the more centralized a community is the fewer post you’ll find with largely the same content.

                                                                              This doesn’t make a huge difference in the large, especially when putting in more factors, you still get a picture, but when it comes to finding patterns it is very easy to only end up with researching a specific subset, which might be interesting, but also might lead to in a way self-confirming assumptions. Or in other words, it’s hard to specify parameters and indicator to research without accidentally fooling yourself.

                                                                            2. 3

                                                                              Personally, I disagree. I would conjecture that there are actually more people doing “silly little things” (including the “bigger projects”) than “before”, but there are also many times more people now doing things “for money/popularity” than “before”. It’s just that as a result, those in the first group lost visibility among the second group — esp. compared to the “before” times, when I believe the second group was basically an empty set.

                                                                              As a quick example off the top of my head, I’d recommend taking a look at the Nim Conf 2020 presentations. Having attended this online conference, personally I was absolutely amazed how one after another of those were in my opinion quite sizeable “silly little things”. Those specific examples might not be OS-grade projects, but then there’s https://www.redox-os.org/, there’s https://genodians.org/, there’s https://www.haiku-os.org/, there’s https://github.com/akkartik/mu

                                                                              I mean, to see that nerd craziness is alive and well, just take a look at https://hackaday.com/blog!

                                                                              1. 4

                                                                                Thank you for the shout out to Mu! @reezer, Mu in particular is all about rarely requiring upgrades and never going obsolete. It achieves this by avoiding closed platforms, only relying on widely available PC hardware (any x86 processor of the last 20 years), and radically minimizing dependencies.

                                                                                My goal is a small subculture of programmers where the unit of collaboration is a full stack from the bootloader up, with the whole thing able to fit in one person’s head, and with guardrails (strong types, tests) throughout that help newcomers import the stack into their heads. Where everybody’s computer is unique and sovereign (think Starship Enterprise) rather than forced to look and work like everybody else’s (think the Borg). Fragmentation is a good thing, it makes our society more anti-fragile.

                                                                                I’ve been working on Mu for 5 years in my free time, through periods when that was just 1 hour a day and yet I didn’t lose steam. I don’t expect ever to get paid for it, and the goal above resonates enough with me that I expect to work on it indefinitely.

                                                                                1. 2

                                                                                  Just wanna say that despite Mu not being a tool I particularly want to use yet, I do read all your stuff about it that I encounter, and I’m very glad you’re out there doing it. And I’m certainly not alone.

                                                                                2. 1

                                                                                  Thank you for your response. You give great examples. I actually meant to give them as well. Just to clarify. For me Redox would be part of that new wave (maybe even the start of it), while Haiku is a project that had continuous progress, but is one of the old surviving ones, just like Genode.

                                                                                  AROS is another example for an old project.

                                                                                  What I meant with things that died during that period was for example Syllable and some projects of similar philosophy.

                                                                                  I also agree with the sentiment that there is more people, but it doesn’t feel like it grew in proportion (that’s what I meant with percentage). But it feels like it is changing, which I really like. It feels like a drought being over. The Haiku community also had ups and downs.

                                                                                  But I also don’t think it’s just operating systems. That’s why I mentioned the Fediverse. A completely different thing seems to be the open source game scene, which also feels like it’s growing again, insanely so. Especially when looking at purely open source games, which feel like they have massive growth now.

                                                                                  However, I still have some worries about the closed platform topic, making it harder. Tablets and phones are becoming the dominant “personal computers” (as in things you play games on, do online shopping, communicate). And they are very closed. If you in the late 90s or early 2000s wanted to install an alternative OS on your average personal computer you could, even on your non-average sometimes. For your average smartphone or tablet that’s a lot less likely and unlike back then the drive (at large, with some exceptions) seems to go into things being even more shut off, giving less room to play.

                                                                                  I don’t know that area, but it seems similar things are true for video game consoles. Less homebrew, and at least I did not hear about OSs being ported there, which seems a bit odd, given that by all that I know the hardware seems to be closer now to your average desktop computer.

                                                                                  I did not know about Mu. Also I will take a look at the Nim Conf. So thanks for that as well!

                                                                                  1. 1

                                                                                    Not much of a metric, but I guess you could try and graph the announcements on the OSDev.org forum thread year by year and see if there’s anything to read from them. Though on a glance, I’d say they’re probably too sparse to warrant any kind of trendline (but IANAStatistician). And the first one is 2007 anyway, so still no way to compare to “the late 90s or early 2000s”.

                                                                                    Yeah, I also kinda lament the closing of the platforms; but on the other hand, Raspberry Pi, ARM, RISC-V, PinePhone, LineageOS… honestly, I think I’m currently more concerned about Firefox losing to Chrome and a possible monoculture here. Truth said, whether I like it and admit it to myself or not, the browsers are probably in a way the de facto OS now.

                                                                                    And as to Fediverse and in general non-OS exciting things, there’s so many of them… for starters just the (for me) unexpected recent bloom of programming languages (Go, Rust, Zig, Nim, but also Janet, Jai, Red, etc. etc. etc.); but also IPFS, dat/hyper, etc. etc; then Nix/NixOS; then just around the corner an IMO potential revolution with https://github.com/enso-org/enso; as you say with games there’s Unity, Godot, the venerable RPGMaker, there’s itch.io; dunno, for me there’s constantly so many exciting things that I often can’t focus exactly because there’s so many things I’d love to play with… but then even as a kid I remember elders saying “you should focus on one thing and not constantly change your interests”, so it’s not that it’s something new…

                                                                                3. 2

                                                                                  I wonder how virtualization improvements over time might have also driven some of this?

                                                                                1. 28

                                                                                  Any of y’all want me to throw my hat in the ring?

                                                                                  Another time. :)

                                                                                  Okay fisch. I’ll try. If enough folks are interested I’ll shoot an app in.

                                                                                  1. 41

                                                                                    friendlysock is pretty much the only user who I have mentally flagged as consistently antagonistic and obnoxious, generally to the detriment of friendly and civil discussion. Other users may have particular topics which they feel sufficiently strongly about that they occasionally get a little antagonistic responding to criticism. With friendlysock, I see unnecessarily inflammatory comments often enough that I now mentally think, “ugh, I won’t bother reading this comment chain, it looks like another friendlysock spat”. If you can’t moderate your own comments, I don’t think you’d be good at moderating other peoples.

                                                                                    So if you really want our opinions, no, I do not want you to throw your hat into the ring.

                                                                                    1. 24

                                                                                      Strong disagree. friendlysock consistently engages in civil and friendly discussion, even when finding himself on the other side of an argument with someone whose political convictions make them feel they shouldn’t even attempt to be civil and friendly. I’ve never seen him make a comment I think could fairly be called unnecessarily inflammatory (and I say this as someone who has disagreed with him in the past). I generally enjoy seeing his posts and think he’s a good contributor to the site.

                                                                                      1. 31

                                                                                        You’re painting a picture where angersock is the civil one who just so happens to be constantly surrounded by people mad at him.

                                                                                        That’s wrong: angersock frequently accuses others or entire communities of bad faith and assumes a position of authority he doesn’t have when saying content doesn’t belong here (do I even need to link that one?).

                                                                                        I’ve rarely seen anybody argue with angersock twice. That alone should be pretty damning: The only constant in arguments involving angersock is he himself.

                                                                                        One can be inflammatory, incite flamewars and toxic communication while saving face by “remaining civil”. I’m not sure how much of it was intended in /u/Thra11’s post, but to me the point is that angersock remains civil, but brings incivility.

                                                                                        That is not to say that he doesn’t try his best, and I don’t think he does any of this on purpose (though I am really not sure). But I really don’t think he is cut out for this job, and given the comment ratio on his top-post vs the rest of the thread, I think he would be quite a controversial mod to say the least.

                                                                                        1. 14

                                                                                          It’s also missing the point: One can be inflammatory, incite flamewars and toxic communication while saving face by “remaining civil”.

                                                                                          That form of trolling is called Sea-lioning. http://wondermark.com/1k62/

                                                                                          1. 12

                                                                                            I strongly disagree that how friendlysock has been showing up here can be seen as a form of sealioning.

                                                                                            1. 7

                                                                                              It still blows my mind that not only do some people think the woman rather than the sea-lion was the sympathetic character in that comic, but that there are enough such people for “sea-lioning” to have become a meme.

                                                                                              1. 7

                                                                                                I suspect it’s because many people use public social media for private conversations with their friends (as they would speak while walking about town). A stranger injecting themselves into the conversation to demand your time and attention (regardless of how righteous they are) is unwanted and weird.

                                                                                                1. 5

                                                                                                  I was puzzled by that as well. There were enough of us that the author wrote a three paragraph clarification on the errata page. It’s possibly worth reading the explanation there. I’d summarize it as “the sea lion is a stand-in for people who behave a certain way and the woman’s objection is based on that behavior”.

                                                                                                  1. 5

                                                                                                    It’s pretty fitting, I think. Most people who cry “sea lioning” are just upset that someone responded to their public statements.

                                                                                                  2. 6

                                                                                                    I only have this comic as reference for as to what sealioning means, but the situation I see with angersock is not one where he actively seeks out people to engage in stupid arguments with. Maybe the term has evolved beyond that specific example, but then, without a new real definition, it has lost its meaning.

                                                                                                    1. 3

                                                                                                      The term has not lost its meaning, it has always been used to refer to people who make unwelcomed responses to publicly made statements.

                                                                                                  3. 9

                                                                                                    My own interactions with ‘sock have actually been pretty good, even in cases where we disagreed (as in this thread), and I don’t off-hand recall seeing and recent(ish) comments where I was “sjeez ’sock, relax mate”.

                                                                                                    But I also skip most Rust stories, as I don’t have a lot of interest in Rust (not at the moment anyway), and that link is indeed very much a “sjeez ’sock, relax mate” type of conversation.

                                                                                                    Point being: I guess people have a limited/biased view of ’sock (or any other members, for that matter) based on which stories they read and comment on. I certainly do, because I never would have seen that comment if you had not linked it here.

                                                                                                    1. 2

                                                                                                      do I even need to link that one?

                                                                                                      Would be helpful for people like me who aren’t as deep in the day-to-day of lobste.rs.

                                                                                                      1. 4

                                                                                                        It appears lobste.rs has some sort of retention on the index of comments per user, but here’s the most recent examples (not the best ones):

                                                                                                        All of those assume a place of authority and tell others how to use the site.

                                                                                                    2. 4

                                                                                                      In all fairness, this was not always the case (see also why I’m friendlysock instead of angersock), and even as recently as that Rust thread a few days ago I can still be more inflammatory than is helpful (less charitably: I can be a shithead). I’m no saint.

                                                                                                      1. 4

                                                                                                        and yet, gestures frantically below

                                                                                                      2. 6

                                                                                                        I would have to concur with this

                                                                                                      3. 34

                                                                                                        I personally would prefer not to have a moderator who thinks having Nazis participating is a fine idea (https://lobste.rs/s/nulfct/problem_with_code_conduct#c_dwa6s5). “You could exclude neither [Nazis nor the target of Nazis], and let them sort it out themselves elsewhere. Indeed, seeing each other in a context that doesn’t constantly reinforce their ideology might serve to build bridges and mellow both sides.”

                                                                                                        Seeing as my grandmother was almost murdered by Nazis the “mellowing both sides” bit did not go over well with me.

                                                                                                        1. 23

                                                                                                          It’s taken me quite some time to form a response.

                                                                                                          Here in Bloomington, IN, last year and the year prior, we had to deal with a real Nazi problem in our city. It was BAD. https://www.nytimes.com/2019/08/18/us/indiana-farmers-market-white-supremacy.html

                                                                                                          We have had a city govt run farmers market near the city square. It was on the largest walking/biking/running trail the city has.. It really was an amazing market.

                                                                                                          Then, the Unicorn Riot discord hack happened. Normally, this would oust Nazies and similar ideology. Except this time, it ousted a lady by the name of Sarah Dye, a farmowner and a stall vendor at the farmers market. It only outed the first name in the general vicinity and owned a farm - I was the one who found her account on Youtube by the name of Volkmom, and got her banned from the other 2 farmers market boards she was on. I forwarded the videos to their boards. They compared her voice to her damning videos.

                                                                                                          However, Bloomington IN doubled down, claiming 1st amendment concerns. Peaceful protests to Dye and the city were done… And the cops arrested the peaceful protesters, up to and including the president of low barrier homeless shelters - dressed as a purple unicorn ( https://www.thedailybeast.com/unicorns-arrested-at-protest-of-white-supremacy-at-bloomington-indianas-farmers-market ).

                                                                                                          And since Dye was being defended by the city, we had other undesirables show up. Other neonazies did. So did the 3 percent’ers. But when the 3%ers showed up, they were armed to the teeth, with AR15’s strapped to them, handguns (plural), zipties, and more. There was no question - they were not peaceful. They wanted to make a show of force that they were present to support their kind. Having them all show up shat on the very idea of the farmer’s market of inclusivity and coming together over shared food.

                                                                                                          We (public) finally solved this by deprecating the city run market, and a new market was made by a non-profit org. All the vendors showed up here, with exception of Sarah Dye and her stall. And unlike the city market, visible weaponry wasn’t allowed. And being in Indiana, people will pack heat; but it can at least be diminished.

                                                                                                          When nobody knew she was a Nazi and she didn’t do anything suspicious publicly, it was uneventful and peaceful. People just bought their groceries and all was good. The moment it was known, all the dregs, white nationalists, neonazies, kkk, and similar moved in to support “their kind”. We all literally had to abandon and regroup to get them to stop.

                                                                                                          If you don’t strongly deal with white nationalist groups, they’ll eat you out of house and home, run everyone off, and leave you with a shell of a community. I’ve seen it happen locally how it progresses in real life… and damned if I’ll let it happen to communities I’m currently a moderator of.

                                                                                                          1. 21

                                                                                                            Forgive me for being dense, but my reading of this is that everything was quiet and peaceful until you went out of your way to dox a Nazi and get her kicked out, and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened, and a bunch of ugliness occurred, and then after all this you got the original market back less one Nazi.

                                                                                                            If this is an accurate reading (and it may not be!), how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault? That being the case…how is all of the following ugliness not the result of the efforts to purge a secret Nazi?

                                                                                                            My desire to follow rules of topicality and civility is very much due to a desire to avoid that sort of protest-counterprotest stuff that harms communities more than it helps.

                                                                                                            1. 23

                                                                                                              how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault?

                                                                                                              Who escalated to violence? The white nationalists did. Arguing that the exposers of secret Nazis are at fault is the argument employed by domestic abusers. “Woman, why do you make me beat you? Why do you do this to me?”

                                                                                                              I know you’re arguing in good faith. But please do not try to justify violence from this crowd. They proved that they weren’t standing on moral high ground when they showed up with firearms and zipties.

                                                                                                              The violent response from white nationalists to nonviolent protests should prove just how much of a charade their pearl-clutching about “muh free speech” really is.

                                                                                                              1. 13

                                                                                                                Forgive me for being dense, but my reading of this is that everything was quiet and peaceful until you went out of your way to dox a Nazi and get her kicked out, and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened, and a bunch of ugliness occurred, and then after all this you got the original market back less on Nazi.

                                                                                                                More specifically, there was already an anti-nazi campaign locally going against her with what I considered shaky proof. Many of us were very hesitant to engage in protests in person or online, without solid proof. I used my OSINT skills and was able to positively identify that it was her. Had it not been, I would have also said so. I’m not going to engage in a protest against an individual unless I’m damned sure I can prove it… And I proved it beyond a reasonable doubt.

                                                                                                                Speaking to “and then people decided to protest a lawful application of the 1st Amendment, and then counter-protests happened”…

                                                                                                                The problem was that the city was supporting the nazi speech AND show of force, while arresting peaceful (non-weapon-possessing) protestors. If the city had applied equal force to both sides, there would have been less of an issue with respect to 1FA.

                                                                                                                If this is an accurate reading (and it may not be!), how could one not conclude that everything was fine until you got a bee in your bonnet about somebody being a Nazi in their free time? How is everything that followed not your fault? That being the case…how is all of the following ugliness not the result of the efforts to purge a secret Nazi?

                                                                                                                You’re extrapolating and assuming when you don’t have the information.

                                                                                                                My desire to follow rules of topicality and civility is very much due to a desire to avoid that sort of protest-counterprotest stuff that harms communities more than it helps.

                                                                                                                This sort of civility is similar to Sea-lioning ( http://wondermark.com/1k62/ ).

                                                                                                                Simply put, there is no civility when discussing people who want to murder people (and have done so) who differ only in race, skin color, or sexuality.

                                                                                                                1. 20

                                                                                                                  Over and over and over again the same “both sides are at fault” message, Nazis and their victims. You simply cannot get yourself to say “let’s leave Nazis out”, huh.

                                                                                                                  1. 12

                                                                                                                    A few questions to make sure I understand your arguments:

                                                                                                                    • Assuming Lobste.rs vows to leave the Nazi out, who is going to decide which user is a Nazi? What is the definition of a Nazi?
                                                                                                                    • Since we’re bound to leave the Nazi out, how can we ensure that there won’t be a “leave the Y out”, where “Y” can be muslim from Saudi Arabia, Palantir developers (are they morally superior to Nazis?), Steven Pinker, Noam Chomsky and everyone else group X doesn’t like ?

                                                                                                                    ps. This discussion is not new by any means. It is a hard discussion, Karl Popper wrote extensively about this exact issue.

                                                                                                                    1. 8

                                                                                                                      Thank you for your observation.

                                                                                                                      For me, I can’t help but notice that even if we say “Okay let’s get rid of the Nazis”, we still have the question of who is a Nazi?

                                                                                                                      Form a practical standpoint: half of my country (US) voted for Trump, for whatever reason. That makes them some flavor of Republican–or worse. It is not a stretch (and is pretty common in various circles) to see any affiliation with Republicans as basically being a Nazi.

                                                                                                                      If half of Lobsters is from the US, this means that like a quarter of the users–based on back-of-the-envelope calculations–are Nazis and should be banned, for being Nazis.

                                                                                                                      If we just ban based on civility and topicality, we get to sidestep this issue.

                                                                                                                        1. 7

                                                                                                                          Any of the comments that article references are clearly outside decorum and, if posted here, would warrant administrative action.

                                                                                                                          1. 8

                                                                                                                            Weev is a public figure. Weev was banned from gab. Weev could participate anonymously on lobsters. If weev wants to post here as weev, is that OK?

                                                                                                                            1. 8

                                                                                                                              Why wouldn’t it be, if he follows the rules and isn’t an asshole and contributes to on-topic discussion?

                                                                                                                              It being weev, I imagine it would be less than an hour before he gets banned for saying stupid Nazi shit, but might as well give the fellow a chance.

                                                                                                                              Our purpose here isn’t to punish people for actions in other communities; our purpose is to discuss technology.

                                                                                                                              1. 5

                                                                                                                                Weev is a public figure known for being a Nazi. For weev to be named as weev, it’s the same as https://lobste.rs/u/neonazi .

                                                                                                                                Weev could go by a different name to participate in lobsters.

                                                                                                                                1. 0

                                                                                                                                  Pretty sure there are many internet users with that nickname - most probably are unaware of some rando from US. To be honest I never heard about that guy until today. If he would have an account here I would judge him by what he writes here without crosschecking him across other sites. Who does that?!

                                                                                                                    2. 7

                                                                                                                      I won’t say it because I don’t believe it.

                                                                                                                      I would rather have a polite Nazi talking to me about technology than either a rude not-Nazi talking about technology or a polite not-Nazi talking about not-technology. As somebody mentioned above re: the Nazi variant of the Turing test…a sufficiently polite and topical Nazi is indistinguishable from a normal user, because they’re presumably not talking about Nazi shit and picking on Nazi victims.

                                                                                                                      If they are, the rules of civility and topicality give a handy way–and a more uniform way–of dealing with them. Even better, it gives a way of dealing with them that doesn’t give them the recourse of saying “Well you’re just doing this because you hate Nazis”, or “You’re just doing this because you support SJWs”, etc. I can point at the rules and say “You were off-topic and being uncivil. I don’t need to believe anything about Nazis or your relationship with that ideology to get rid of you.”

                                                                                                                      1. 22

                                                                                                                        Apparently you definition of civility includes telling me and other Jews to “mellow out” about people wanting to murder us. No thanks.

                                                                                                                        1. -9

                                                                                                                          Do you want to murder them, given that you (by my reading here) believe they are a clear and present danger to you and yours?

                                                                                                                          1. 17

                                                                                                                            This is too far. There are diminishing returns now on this conversation and also both of you seem to have lost perspective that this post is about finding new moderators because pushcx might be under huge moderator load - you’re not helping. At the least, take this to a different venue or to personal chat to hash it out and bring back here any positive results.

                                                                                                                            @itamarst You are talking about a subject which is understandably extremely sensitive and important to you. I think everyone can and would acknowledge the pain that you and your family must have gone through, and it is a failing of people in this conversation that that is not the first and most obvious point to be reiterated and repeated without fail. We all must acknowledge that terrible things have happened and that we want to take positive actions to prevent them happening again. That being said you are grossly not applying good faith in a situation where one person’s actions seem to have been offensive to you, and you are bringing a subject that is most definitely off topic for lobste.rs into this space. In relation to the former, you could have chosen a much more amicable way of bringing your point forward such as: Quoting friendlysock, explaining how you reacted to and felt when you read his comment and asking friendlysock to confirm if that was his intention and to clarify his meaning if it was. You definitely could have done that constructively inside the context which was friendlysock applying to be a moderator, so you could have phrased your question in a way relevant to this topic. No one would ever question your pain or your discomfort at seeing discussions of a group of people that brought great harm to your family and by extension pain to you; you do not have to not be angry, or not be in pain; but having the expectation that you can bring this up in this way in this space and the outcome be constructive is poor judgement: whether or not this was a motivation, you are not going to get personal resolution to political issues that cause you pain on lobste.rs.

                                                                                                                            @friendlysock Whatever your position you are grossly failing to take a step back and acknowledge itamarst’s point where he is now, not where you think he should be or how you think his point relates to lobste.rs. If you keep doubling down on your position, itamarst has to double down on his. This does not seem like rocket science. Whether this is on topic or not, when someone has gone to the effort and made themselves vulnerable by presenting something they are angry or in pain about, particualrly if it’s such a HUGE subject as this with so much emotion attached, step 1 is acknowledge that and consider your position in relation to what they said. You have no idea how they feel and you can not begin to understand their position so if they are offering you this level of confrontation the most you can do is acknowledge and listen. You don’t have to take responsibility for having caused their pain - no one is calling you a nazi or accusing you of murdering people, but you do have to acknowledge that they felt a particular way after reading what you wrote, and if you want to, you can explore that, but with about 1000 times more sensitivity. Acknowledgement and reiteration of your fundamental positions as they relate to lobste.rs, or moderation on lobste.rs would perhaps be a way to frame your position, if you’re interested in doing that.

                                                                                                                            1. 16

                                                                                                                              “Good faith” only goes far when some spends so much effort explaining how important it is we include Nazis in our discussions. Especially when they want to be a mod.

                                                                                                                              And really the whole point of the exercise is mod policy. As I’ve said before, in other discussions, you gotta pick a side. And the clearer friendlysock’s opinions, the clearer the choice pushcx has to make.

                                                                                                                            2. 13

                                                                                                                              Enough is enough. You are bullying itamarst with repeated emotional manipulation by way of a topic that has violently effected them, apparently so that you can get them to call for killings on a thread in which you nominated yourself to moderate the community in pursuit of civility. Are you done trolling yet?

                                                                                                                              1. 6

                                                                                                                                Do you want to murder them

                                                                                                                                Come on, this is too much.

                                                                                                                                1. 6

                                                                                                                                  No, of course not.

                                                                                                                      2. 32

                                                                                                                        no offence, but I find that “mellowing both sides” is a very legit goal. seeing as I’ve spent most of my life in a warzone, this goes very well with me. I’m not jewish, but I’ve had multiple run-ins with Neo-Nazis due to the way I look and where I escaped the war to. I used to hang out in this bar that was split in half, one of it was extreme leftists, and the other were staunch Nazis, some not even Neo. we were all fucked, so we just drank together in a weird peace of sorts. one of the Neo-Nazis never liked the fact that I started hanging out there, and was constantly hostile, and due to past experiences I had to often stay alert and make sure to be ready for whatever may come, but the beer was cheap mind you and the weed was good.

                                                                                                                        one of the Neo-Nazis in particular was this big guy who had it so clear in his eyes that he’d like to beat the shit out of me to prove his worth or whatever. I didn’t care as this was the least of my worries (at that time). one of the old men I used to hang out with was a programmer as well, so we’d get high and discuss all sorts of computer things. one day the convo came to Blender and 3D modelling, and all of a sudden this big guy who never wanted to exchange a word with me and rather punches came and started talking about Blender with love in his eyes instead of hate, after a couple of hours of that he threw the shittiest but unfortunately the most fitting line of all:

                                                                                                                        “your people aren’t too bad after all.”

                                                                                                                        we actually continued conversing after that and went through a couple of his traumas and why he ended up on the path he ended up on. I by no means expect everyone suffering from oppression to engage in such antics with their oppressors, but I’d rather the ones who can’t, let the one who can, do what they gotta do.

                                                                                                                        at the very least, you can try to not monopolize suffering under your own school of thought, and within only your own context.

                                                                                                                        this is probably my last comment here for a while, so feel free to PM if you wanna discuss this further. I am also very sad to hear about your grandma, it sucks to be almost murdered, it sucks to see people you love get murdered, and it sucks to see people you love commit murder, but that shit happens on all sides of aisle.

                                                                                                                        dehumanize one, and you dehumanize all, I find.

                                                                                                                        fucking hell, I need a beer.

                                                                                                                        1. 26

                                                                                                                          Thank you for sharing! I think that’s slightly missing the point, though:

                                                                                                                          1. The issue was with “both sides”. Why do I need to “mellow” if someone wants to murder me?
                                                                                                                          2. You are describing a truce backed by violence. And that might work for some, but the more common case is people not going into the bar at all, because they don’t feel safe.

                                                                                                                          I’m sure many Nazis have reasons for how they ended up where they are (though in the US a lot of them aren’t suffering at all, they’re upper middle class or rich). Maybe hanging out with Nazis will make them change their mind. I doubt it, but it’s possible.

                                                                                                                          But given the choice between making a safe environment for everyone, and letting some Nazis in in the vague hope they will learn something and lots of other people choosing not to participate, I’d rather choose the latter former.

                                                                                                                        2. 10

                                                                                                                          You know, I can sympathise with your viewpoint here, especially as a Muslim in the current global climate, but the problem I see is that this seems to be leading to such extreme echo chambers, that it makes people say things like what one user in the thread you linked said:

                                                                                                                          Feminists believe that women are as human and as entitled to agency and dignity as men are; MRAs believe that women are inferior to men and should be enslaved.

                                                                                                                          This is such an absurd statement to make without backing up and so patently false; the only way someone can believe this is by being fed a constant diet of lies people who really hate MRAs instead of just speaking to MRAs directly.

                                                                                                                          Suddenly, we’re not just banning Nazis who want to kill you and me and our entire family trees, we’re banning practicing religious people who aren’t willing to rewrite their holy scripture or reinterpret it to suit people’s desires, we’re banning critics of said religious folks who believe baby penises should remain intact — hey, they’re MRAs, right?; whatever, they must be islamophobes or antisemites either way — we’re banning critics of affirmative action, we’re banning all manner of people with valid and not so valid positions or arguments.

                                                                                                                          We don’t discriminate on truth, we discriminate on whether it’s comfortable or not to a select group of people. People who can’t discriminate between a belief like, “men and women have roughly equal average IQ, but the distribution is wider for men, so the ratio of men to women at Google is roughly what we’d expect if Google were selecting for such and such IQ” — responding with such inanity as “do the women at Google not belong there, then?” — and a belief like, “women are inferior to men and so should be enslaved to them”.

                                                                                                                          1. 20

                                                                                                                            I think that if I were on a rocketry forum I’d be interested in hearing what Wernher von Braun had to say (not merely a Nazi, but an officer in the SS). If I were on a forum about filesystems, I’d be happy to talk to Hans Reiser. If I were given the opportunity, I think that Konrad Zuse (not a Nazi, but certainly a collaborator) would have interesting things to say about electromechanical computer design.

                                                                                                                            I’d be more than happy to throw any of them out if they start going into politics or murder, but if they have useful expertise and follow the rules of decorum, they should have a place.

                                                                                                                            1. 15

                                                                                                                              Let me put it like this: if Hans Reiser would join a forum where Nina Reiser’s brother (or sister, close friend, etc.) would also participate, would you think it’s reasonable if they would object to this?

                                                                                                                              It’s not hard to see how this would also extend to neo-Nazis (as in, literal neo-Nazis, who looked at the Holocaust and thought that all of that was just a spiffing good idea); would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that? Are many people not a victim of these people’s actions just as much as Nina’s Reiser’s brother is? Would you happily discus webdesign best practices with the person running StormFront or some other neo-Nazi website?

                                                                                                                              I’m not so sure if “it’s limited to just technical conversation” is really all that important, never mind that this is too limited of a view of Lobsters IMHO, as it’s a community centred around technical topics.

                                                                                                                              For all we know Reiser or the StormFront maintainer are already participating on Lobsters anonymously. We can’t really prevent that because the only alternative would be to actively vet members. But if you know you’re talking to the StormFront webmaster then … yeah, I’d rather not.

                                                                                                                              I’m not suggesting that we implement some sort of wrongthink policy or anything of the sort; you put forth the extreme scenarios so I’m replying to those, and in more realistic scenarios things tend to be some shade of grey. If someone on Twitter said “I don’t like people of religion/ethnicity/identity X” then that would probably be okay; as in, I won’t like them more for it, but I see no reason to ban them here for just that. But I do think all of this is a bit more complicated than you put forth.

                                                                                                                              1. 18

                                                                                                                                Would you happily discus webdesign best practices with the person running StormFront or some other neo-Nazi website?

                                                                                                                                Let’s apply a variant of the Turing Test to this: if people from the interactions alone cannot tell whether they are made by a regular person or a Nazi, then the poster/commenter can be regarded as worthwhile talking to as any other normal person.

                                                                                                                                1. 5

                                                                                                                                  Yes. Nobodies forced to use real names on lobsters. If someone posts anonymously, respect it. Don’t dox.

                                                                                                                                  It’s not the same if he/she uses their neo-Nazi name. Lobsters has no moral obligation to be known as the place where neo-Nazis hang out.

                                                                                                                                  1. 10

                                                                                                                                    Yeah I think there’s a bit of a straw man being thrown around in some of these discussions about being randomly chosen as the target of doxxing. It’s pretty easy to be anonymous on this website.

                                                                                                                                    To even be perceived as a member of a hate group on a site like this would require affirmative signaling to one’s peers that they hold hateful views towards other members of the community for their birth-given human characteristics, which seems like a good enough reason to remove such a user in the first place.

                                                                                                                                    1. 3

                                                                                                                                      Yes. Nobodies forced to use real names on lobsters. If someone posts anonymously, respect it. Don’t dox.

                                                                                                                                      Yes, I pretty much said as much later on: “We can’t really prevent that because the only alternative would be to actively vet members” (that this isn’t feasible isn’t stated explicitly, but it’s pretty clear to everyone that it’s not).

                                                                                                                                      I think both you and @ewintr have missed the point of my reply; this entire discussion is fairly hypothetical because of course no neo-Nazi is going to link to their StormFront account on their Lobsters profile (or Gab, or wherever these people hang out these days). I just wanted to point out why having known neo-Nazis on Lobsters is something that people would object to, and why some people would choose not to visit Lobsters if this were the case.

                                                                                                                                      1. 3

                                                                                                                                        No. You’re wrong. It won’t remain hypothetical. Look at how many people got caught from the 6th based on social media.

                                                                                                                                  2. 6

                                                                                                                                    would you think it’s reasonable if they would object to this

                                                                                                                                    I totally would understand why they might object to this. Then again, dude was put into prison and served his time. According to the law, he has received his punishment. Anything further is just extrajudicial retribution–understandable but not lawful.

                                                                                                                                    would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that?

                                                                                                                                    If they were polite and solved my problem, sure. It’d be weird, but I’d rather have the help than not. The second they started going on about that other stuff, I’d report them cheerfully.

                                                                                                                                    For all we know Reiser or the StormFront maintainer are already participating on Lobsters anonymously.

                                                                                                                                    Exactly. For the dedicated opposition, this kneejerk intolerance serves no real obstacle–and can even be really useful as a leveraging point to disrupt a community. It’s like people have never played Among Us.

                                                                                                                                    but I see no reason to ban them here for just that.

                                                                                                                                    The problem is, several Lobsters I believe would be more than happy to do that, and would want it in a CoC. Further, where do you draw the line? How much Nazi is too Nazi? How little pedophilia is acceptable? I don’t want to make those calls–I’d rather focus on the (much simpler) tests of a) has this user treated other users respectfully in this space and b) has this user stayed on-topic. If followed, I believe those two rules are sufficient to guarantee a good time for everybody.

                                                                                                                                    But if you know you’re talking to the StormFront webmaster then … yeah, I’d rather not.

                                                                                                                                    As an aside, the world-wide experts in decentralization are about to all be, or keep company with, some really distasteful people. Ignoring their experience because they’re icky strikes me as a waste.

                                                                                                                                    1. 4

                                                                                                                                      The Reiser case is a bit more complicated, as I agree criminals should be given a second chance. However, it’s not unreasonable for victims of the crime to still harbour (strong) feelings of animosity; I don’t think that’s “extrajudicial retribution”. I don’t think that many people would happily chat with their sister’s murderer about filesystems after they served their time.

                                                                                                                                      At any rate, I only mentioned Reiser to illustrate the perpetrator/victim relationship, as it’s so clear in this case. I was tempted to leave that out entirely as it’s quite a different case from neo-Nazis.

                                                                                                                                      would you enjoy interacting with someone who literally wants to kill you and everyone like you and worships an attempt to do exactly that?

                                                                                                                                      If they were polite and solved my problem, sure. It’d be weird, but I’d rather have the help than not. The second they started going on about that other stuff, I’d report them cheerfully.

                                                                                                                                      Alright, fair enough. But it’s not hard to see how other people would make a different choice here.

                                                                                                                                      where do you draw the line? How much Nazi is too Nazi? How little pedophilia is acceptable?

                                                                                                                                      I don’t have clear answers to that; but this is a kind of reasoning I don’t really like. Maybe there’s a better name for this, but I like to call the “it’s hard fallacy”, which goes like: “it is hard to draw a line, therefore, we should not draw a line at all”.

                                                                                                                                      I’ve seen the same type of reasoning in conversations about civility. It can be really hard to draw a clear line about what is or isn’t acceptable, but that doesn’t mean we shouldn’t try at all. Clearly there should a line somewhere otherwise people replying with just “you’re a cunt” would be “acceptable”, and I think we can agree that it’s not. You can also see this fallacy in some other (political) topics.

                                                                                                                                      I’m not actually in favour of banning people for off-site behaviour unless it’s particularly egregious, such as active neo-Nazis, and even then I’d have to carefully look at the specific case at hand. In general I think the bar should be pretty high for this, but I do think there is a bar … somewhere.

                                                                                                                                      I mean, do you really expect black people or Jewish members to happily interact with people we happen to know are neo-Nazis or KKK members? If someone in your local soccer club is a great bloke and fun to hang out with, and then you discover he’s a Grand Hobbit Ghoul in the KKK (or whatever ridiculous ranks they have) then you would continue that relationship as-if nothing happened (and before you answer “yes I would”, would you expect everyone to do so, including your black teammates?)

                                                                                                                                  3. 16

                                                                                                                                    The problem, of course, is that then you lose all the people who don’t want to hang out with Nazis, or with people (like Hans Reiser) who murdered their wife.

                                                                                                                                    1. 25

                                                                                                                                      In an online forum for talking about X, I’d much rather have a room full of people who may be assholes elsewhere talking politely about X than I would a room full of people who might be lovely elsewhere being assholes in my forum because of something completely unrelated to X.

                                                                                                                                      1. 7

                                                                                                                                        Thank you for this succinct explanation.

                                                                                                                                      2. 12

                                                                                                                                        On the internet, no one knows you’re a dog.

                                                                                                                                        Who’s to say what someone’s intentions are? If people start causing problems, by all means remove them. The alternative is doxxing everyone who joins lobsters or digging up dirt, is that somehow a better alternative?

                                                                                                                                        I get it, no one wants to share a board with Nazis or murderers. I don’t either. But this social equivalent of a preemptive strike has the potential to be way worse.

                                                                                                                                        1. 11

                                                                                                                                          A good rule of thumb, in programming and elsewhere, is to always consider at least three solutions to any problem. There are in fact other solutions beyond the false dichotomy “doxxing everyone” and “accepting everyone”, one common one being a Code of Conduct. Personally I would go with “you must pass this very bar to participate”.

                                                                                                                                          1. 7

                                                                                                                                            Just because a comparison of two solutions are presented doesn’t mean you have to jump to “this is a false dichotomy.” Also, I thought we already had that with the lobsters rules? How does a code of conduct actually differ?

                                                                                                                                            1. 15

                                                                                                                                              Well, friendlysock apparently can compare Nazis as somehow equivalent to their victims (both sides apparently need to “mellow”). Most CoC would involve kicking him out for that.

                                                                                                                                              1. 6

                                                                                                                                                I don’t agree with the comparison and I don’t think friendlysock would be a good mod based on the fact that he could draw it. I just want to put this out there though - if there was a felon, Nazi or other unsavory person who could provide some insight into problems I’m trying to solve then I would still have an open ear so long as they stay on topic and don’t bring up their unrelated interests. Not doing so seems short sighted.

                                                                                                                                                Most Codes of Conduct are pretty crappy btw. Ruby has a good one, nearly all of the others are too suffocating.

                                                                                                                                                1. 3

                                                                                                                                                  I think both you and @itamarst may be missing something in how I wrote that–and that’s on me for articulating incorrectly.

                                                                                                                                                  My point was not to draw equivalence between those groups. My point was that everybody has some outgroup that they would prefer to see kicked out.

                                                                                                                                                2. 4

                                                                                                                                                  Maybe you should resolve that with friendlysock, then. Not going to fan these flames anymore.

                                                                                                                                            2. 9

                                                                                                                                              How is it “pre-emptive strike” to just not want to hang out with people you don’t like?

                                                                                                                                              This isn’t like…. the seat of government. This is a place to talk with people. Absolutely nobody is under any obligation to listen to people (short of mods basically “kicking people out”). There is zero moral requirement to listen to “varied viewpoints” or have an open mind.

                                                                                                                                              EDIT: And pointing to a previous declaration of moderation wishes as “digging up dirt” in a conversation about mod applications is rich. Are we supposed to just treat every conversation in some weird vacuum even when it comes to something so obviously relevant? I know you’re saying this in good faith but how is that not fair game?

                                                                                                                                              And like… you know what? These people that get doxxed or whatever? They are the ones that are vocal about their opinions. That’s how you even know that they are these kinds of people. If they kept their mouth shut we wouldn’t even be able to know!

                                                                                                                                              I’m tired of being lectured about how I’m the bad person for not wanting to deal with people who not only are (IMO) morally bad people, but also don’t have the social IQ to keep it to themselves.

                                                                                                                                              1. 10

                                                                                                                                                These people that get doxxed or whatever? They are the ones that are vocal about their opinions.

                                                                                                                                                Alright, where does the dirt digging stop, then? Everyone that’s somehow associated as commenting in this thread, supportive or otherwise? Because they may somehow have an agenda too?

                                                                                                                                                Dude, you’re not the bad person. No one’s saying you are. I’m just done with communities that engage in shit slinging, doxxing, and public shaming rather than actual discussion in good faith.

                                                                                                                                                Anyway, peace out, lobsters. N-gate was right about you.

                                                                                                                                                1. 4

                                                                                                                                                  I had someone PM me with personal details about myself while using a randomized username on reddit a few years back because I said that I didn’t think Ohio State was very good that year. People dox and dig up dirt for varied reasons. The nazi thing is an extreme example of that, but it happens for all sorts of other strange reasons as well.

                                                                                                                                                  I no longer use Reddit because of that event, and now I try to stick to a minimal set of social sites (like this one) where it’s obvious who I am if you search my username or look at my profile.

                                                                                                                                                  I don’t think you should feel obligated to listen to someone’s viewpoint if it’s non-technical (or even if it is technical really), but in this forum, the less I know about people, the better. I like hearing opinions or thoughts on tech without knowing who they are. I can’t control how they think or feel otherwise.

                                                                                                                                              2. 5

                                                                                                                                                Are you asking for Lobsters (and its mods, etc.) to:

                                                                                                                                                • Explicitly condemn Nazism, white supremacy, and murder
                                                                                                                                                • Ban anyone who publicly espouses these ideas, on or off our site
                                                                                                                                                1. 23

                                                                                                                                                  You write as if that would be some kind of absurd idea, when it seems quite sensible to me..?

                                                                                                                                                  1. 9

                                                                                                                                                    thank you for objecting to that.

                                                                                                                                                    reductio ad absurdem requires absurdity, and I’m not used to seeing “explicitly condemn Nazism” held forth as obviously absurd.

                                                                                                                                                    1. 5

                                                                                                                                                      It seems absurd to me because it’s kind of a given. Not every site needs to say “hey don’t murder people” for me to feel good about using it. It’s a general human sentiment that murder is bad. Explicitly stating it and only targeting those viewpoints makes me wonder why we aren’t explicitly denouncing every type of supremacy, nativism, genocide, rape, etc.

                                                                                                                                                      But I do think banning people who espouse any of those views (spoken or unspoken) on the site is not only warranted, but should also lead to a probationary period for the person who invited them.

                                                                                                                                                      1. 6

                                                                                                                                                        I don’t think we need to make a list of things we don’t agree with. But I do think that we should be clear that people who are known for their malicious activities (e.g. support for murder or racism) are not welcome here.

                                                                                                                                                      2. -1

                                                                                                                                                        Putting this bluntly, the second one is stupid and anyone who argues for it is stupid. On or off our site? What the hell. Maybe in person I could logic my way into thinking that it’s ok but online? Thousands of miles away with no immediate threat to my wellbeing?

                                                                                                                                                        Online there’s always going to be that one jerk who doxes someone else for wrong-think and it’ll start with this.

                                                                                                                                                        1. 12

                                                                                                                                                          Thank you for proving your commitment to the cause of rational discussion by calling me stupid.

                                                                                                                                                          The thing is, we want Lobsters to be a place where all people are welcome. If we allow known neo-nazis to hang out with us, then people that feel threatened by those neo-nazis won’t come here. Sure, it’s not a threat to them per se, but why would you want to spend your free time talking to people that literally want you dead?

                                                                                                                                                          Being a neo-nazi is a choice. Belonging to a minority group isn’t. We should give the neo-nazis the boot and welcome the members of minority groups.

                                                                                                                                                          1. 5

                                                                                                                                                            why would you want to spend your free time talking to people that literally want you dead?

                                                                                                                                                            Because they have information I want and are capable of staying on topic for the site I’m on. I do not care what they do anywhere else. It is incredibly vexing that people are making me defend the scum of humanity.

                                                                                                                                                            I believe all people are welcome on lobste.rs if they’re not talking about tons of off-topic stuff and spewing out hate while they’re here.

                                                                                                                                                            1. 13

                                                                                                                                                              Do you also want information from people who, for example, would feel uncomfortable sharing a discussion forum with neo-nazis?

                                                                                                                                                              This isn’t value-neutral, we have a choice to make: either we welcome the neo-nazis, or we welcome the people-who-don’t-want-to-talk-to-neo-nazis. I know who’s getting my vote.

                                                                                                                                                              1. 5

                                                                                                                                                                This isn’t value-neutral

                                                                                                                                                                I reject that premise.

                                                                                                                                                                The nazi stuff should not enter the flow of conversation for nearly any thread on lobste.rs. The only reason we’re discussing it now because this is a meta thread and it was brought up by itamarst. If he hadn’t then we’d not know and not care.

                                                                                                                                                                So I think that if we actually talk about the things that we thought we were going to talk about when we were invited in the first place there won’t be any issues with your first sentence.

                                                                                                                                                          2. 7

                                                                                                                                                            Please don’t call other users or standpoints stupid. It’s okay to disagree, it’s even better to providing reasoning, but name-calling never helps.

                                                                                                                                                      3. 6

                                                                                                                                                        You only lose the people who care more about Nazi status more than technology–and they’d doubtless be happier elsewhere, in a community that puts ideology and identity above knowledge and civility. I’ve made my peace with that.

                                                                                                                                                        I don’t think that you can fundamentally ensure that people always feel welcome, and there is no surer road to ruin than to cater to everybody’s exclusionary preferences. Everybody has a reason to hate Nazis, or furries, or Republicans, or women, or whatever–the only way a community grows and flourishes is by providing people the space and protocols to interact without requiring alignment on those things.

                                                                                                                                                        Don’t want to take up more space here on it, but am happy to continue discussing in DMs with whoever would like to.

                                                                                                                                                        1. 33

                                                                                                                                                          The fact that you seem to define “civility” as - roughly speaking - some sort of shallow politeness enabling us all to chum it up with nazis so long as we’re speaking about computers, rather than as good citizenship and strong community built on respect for one’s peers suggests to me that you’d be a terrible moderator.

                                                                                                                                                          1. 19

                                                                                                                                                            Agreed, that kind of response seems like it comes from a place of privilege. As in, “this doesn’t concern me too much, what’s the big idea?”

                                                                                                                                                            It’s been interesting to see convos here and elsewhere around accepting views that are rooted in hate but somehow we should all just suck it up because that’s “fair.” I’m often the only Black person in cis-White male dominated spaces so this is nothing new to me. Just…interesting to see this play out in the open for the first time.

                                                                                                                                                            Confronted with the knowledge of one’s privilege blinding oneself to what the disenfranchised has known to be true for eons is fascinating to watch/read.

                                                                                                                                                            1. 5

                                                                                                                                                              I’ll politely point out that my view would extend, were the conversations civil and on-topic, to folks like Malcolm X or Newton or Seale–not just stuffy old white dudes.

                                                                                                                                                              I think that, as John Perry Barlow observed, we here in cyberspace have the opportunity to transcend the strife we were all born into. Part of that means evaluating people based on their behaviour and not on what we think about their beliefs.

                                                                                                                                                              Edit: fixed rather embarrassing misattribution.

                                                                                                                                                              1. 11

                                                                                                                                                                (Davos is a place in Switzerland. That piece was authored by John Perry Barlow. I recommend the movie Hypernormalisation, there’s a very interesting part featuring Barlow and the other technolibertarians, discussing the connections to the counter-culture movement in the 60s)

                                                                                                                                                                I cannot help but find this sort of cyber-utopianism incredibly naïve. Things that happen on the internet can and do have effects on people in the real world. It’s been a long, long time since “just walk away from the screen, just close your eyes” was a genuine take to have.

                                                                                                                                                                1. 4

                                                                                                                                                                  Thanks for catching that, still waking up.

                                                                                                                                                                  It’s a naive approach, but that’s kinda the point right? Like, should we not strive to live in that more ideal, simpler, better world?

                                                                                                                                                            2. 2

                                                                                                                                                              good citizenship

                                                                                                                                                              What do you mean by this?

                                                                                                                                                              I agree btw.

                                                                                                                                                            3. 18

                                                                                                                                                              Everybody has a reason to hate Nazis, or furries, or Republicans, or women, or whatever

                                                                                                                                                              I think you may be lumping together several dissimilar attitudes here.

                                                                                                                                                              I do not think lobste.rs is suffering from including “the wrong people” or anything like that. We probably do have some people with terrible opinions, but it doesn’t leak into our usual discussions.

                                                                                                                                                              However, I do think it would be bad to have a mod to express the attitude that “some people hate Nazis, some people hate women. A pox on both their houses!”

                                                                                                                                                              I say “express” because I am not saying what you really think is “hating women is equivalent to hating Nazis”. But a mod has to be careful.

                                                                                                                                                        2. 6

                                                                                                                                                          Why stop with Nazis? If anyone shows any Nazi propaganda, they should be out. But let’s extend it to all other groups that cause harm to others. Any member of US army should be gone, heck, they didn’t try to kill my grandma, they killed my relatives, which were civilians (and they are still killing others in my country due to depleted uranium that was used in bombings). Also all the members of tech companies that help these strikes (looking at you, Microsoft et al).

                                                                                                                                                          Obviously, I’m exaggerating here to show a point that if we only look at membership of a group to exclude someone, we might also start extending the groups, as various people can/are affected. Personally, I don’t care which group people belong to, as long as they are not a threat to my family and are trying to help (or are just plain neutral) — which I think plenty of people here are, and that’s the main reason I come to this site.

                                                                                                                                                          1. 8

                                                                                                                                                            We did exactly this when a Palantir showed up to show a neat thing. It was one of the most shameful things I’ve seen in my time here.

                                                                                                                                                            1. 5

                                                                                                                                                              You are not exaggerating at all.

                                                                                                                                                              1. 2

                                                                                                                                                                This reads like the opposite-day version of “First they came…” by Martin Niemöller.

                                                                                                                                                                1. 1

                                                                                                                                                                  That is a great poem that I have only heard so far paraphrased. Thanks for sharing! However, it has been a rough week for me, so I don’t get the “opposite-day version” part, could you elaborate?

                                                                                                                                                              2. 4

                                                                                                                                                                Circumstances under which I would be OK with an Actual Nazi participating (both conditions must hold):

                                                                                                                                                                1. User does not reveal themselves to be a Nazi on the site, either by explicit statement or in the way they act, and
                                                                                                                                                                2. User is not notoriously a Nazi externally to the site, either for having done something terrible or by making themselves a “public figure” wrt their viewpoints.

                                                                                                                                                                If someone behaves themselves on the site, and their behavior on the site does not create distress for others, I don’t see why people should be encourage in shitstirring. (If it is inevitable that someone’s presence will create distress, regardless of the behavior of anyone on the site, I would strongly suggest they use a pseudonym.)

                                                                                                                                                                “Nazi” is an unlikely and hyperbolic example, but I’ve seen people go and seek out damning information of one sort or another about a member of a community (including doxxing them), and then make it a thing. It wouldn’t have been a thing, and wouldn’t have caused stress to members of oppressed populations, if they didn’t do that! By digging, they’ve actually caused harm. So my rule would be that the notoriety has to originate externally or via direct actions on the site, or you just incentivize this ugly community antipattern.

                                                                                                                                                                (Some of my ancestors were murdered by Actual Nazis or had to emigrate to avoid them, in case you need that for my opinion to be valid.)

                                                                                                                                                                ((EDIT: I don’t want to be a mod, though.))

                                                                                                                                                              3. 8

                                                                                                                                                                Maybe don’t apply if you’re seeking to do if because you think it’s what people want you to do… Someone with that personality might be inclined to lose interest before their term is up if they think popular opinion is drifting away from them…

                                                                                                                                                                1. 22

                                                                                                                                                                  My reasoning–and I’ve always held this position–is that anybody seeking such a position is either a lunatic, a tyrant, or both, and not to be trusted. Myself included.

                                                                                                                                                                  That said…

                                                                                                                                                                  Look, if we’re down to just one moderator, that’s a rough gig. That, plus the current state of the world, makes me worry for the site focus and discussion culture of Lobsters, and if I can help I’m happy to do so–and pushcx is welcome to shitcan and ban me (and will likely do so with great relish) at will should I fail in my duties.

                                                                                                                                                                  Asking for sufficient votes before appliying is me, in effect, getting a gauge of if the community would agree to abide. As we’ve seen in my country this year, the legitimacy of government ultimately stems from the consent of the governed.

                                                                                                                                                                  1. 11

                                                                                                                                                                    And as I’ve seen in my country (US) this year, it’s wise not to give power to folks who are in it for the attention :P

                                                                                                                                                                    1. 5

                                                                                                                                                                      I personally (and I have a decidedly average number of internet points) like the way your postings changed when your nick changed to friendly. That change shows an appreciation of your past and new styles that I would like to see in moderators.

                                                                                                                                                                    2. 2

                                                                                                                                                                      TBH asking to be upvoted seems like a bit of a conflict of interest with wanting to be a mod… as friendlysock said

                                                                                                                                                                    3. 7

                                                                                                                                                                      :(

                                                                                                                                                                    1. 1

                                                                                                                                                                      You should consider reworking your description fields. You should not be including the full post in the description.

                                                                                                                                                                      My website landing page is a feed, and as you can see, it includes all posts I’ve ever made, and remains tiny: http://len.falken.ink . My description fields are 1 sentence, describing my content.

                                                                                                                                                                      1. 18

                                                                                                                                                                        You should not be including the full post in the description

                                                                                                                                                                        Why not? I prefer sites I can read in my aggregator completely (so I don’t have to deal with whatever fonts and colors and fontsizes the “real” site uses). The feed doesn’t need to include every article ever posted, though. The last few is fine. Keep old articles around (or not), is up to the aggregator.

                                                                                                                                                                        1. 7

                                                                                                                                                                          This is exactly why I put the article text in the description. I don’t think readers handle the Mara stickers that well though :(

                                                                                                                                                                          1. -1

                                                                                                                                                                            And that’s why you had problems, you used it for what it was not intended for.

                                                                                                                                                                          2. 1

                                                                                                                                                                            Because it’s for a description, what else do I have to say?

                                                                                                                                                                            1. 5

                                                                                                                                                                              Neither common practice nor the RSS 2.0 spec support your assertion that the description element should only be used for a short description.

                                                                                                                                                                              1. 1

                                                                                                                                                                                It literally says “The item synopsis”….

                                                                                                                                                                                Are we reading the same thing?

                                                                                                                                                                                1. 5

                                                                                                                                                                                  I am reading: “An item may also be complete in itself”, which I interpret that the whole post is allowed to be in there.

                                                                                                                                                                                  But even if you were technically right, it feels as unnecessary and wasteful to require that the user fires up a browser to get the remaining two paragraphs of a three paragraph post, because the first one was regarded as intro/synopsis and is the only one allowed to be in the feed. If people do that, I always get the sense that they force you to do that to increase their ego through their pageview counters.

                                                                                                                                                                                  Text is easy to compress. If it is still too much, one can always limit the amount of items in the feed and possibly refer to a sitemap as the last item for the users who really use that feed to learn about everything on your site.

                                                                                                                                                                                  1. 1

                                                                                                                                                                                    If you read in the description field, it says what I wrote…

                                                                                                                                                                                    I agree with the logic where if you’re including some of the text, but then require to launch a browser to read the rest, it’s a waste.

                                                                                                                                                                                    If you’re delivering web content though, you’ll need a browser. You just can’t get over that. On my website, I don’t serve web content, I only serve plain text, for the exact purpose you mention: I don’t want my readers to launch a browser to read my content.

                                                                                                                                                                          3. 5

                                                                                                                                                                            You should not be including the full post in the description.

                                                                                                                                                                            Your root-page as feed idea is nifty, and I think there are plenty of scenarios where concise descriptions along those lines make good sense. Still, for probably the majority of blog-like things, the full content of posts in the feed offers a better user experience.

                                                                                                                                                                          1. 16

                                                                                                                                                                            Not to be glib, but I don’t.

                                                                                                                                                                            If I have personal stuff going on that requires more than a page in notebook, I probably have too much going on.

                                                                                                                                                                            1. 3

                                                                                                                                                                              Totally with you. I don’t either.

                                                                                                                                                                              It’s not about being glib or pessimistic. For me it’s about my sanity. The list of things I want to do and haven’t will always be longer than the list of things I have. In a perfect world, I would have PhD, be the author of a wildly popular programming language or library or something, and be highly regarded in my field. There’s nothing wrong with being down to earth and realizing at this point in my life the odds of any of those happening is slim. I’m okay with that.

                                                                                                                                                                              Now on a positive note, that doesn’t mean I’m not constantly out to do something I haven’t. Or trying to accomplish a new goal in my life. I just try not look back.

                                                                                                                                                                              1. 1

                                                                                                                                                                                For me having more than that page is a sign that I am not working on the right thing, or not in the right way. For work and other commitments it is different, but personal “goals” and projects are the only place where you can do things purely driven by intrinsic motivation. If you have enough of that, you don’t need a system to guide you, or a system that helps staying disciplined. It is very important for my mental health to have a place in my life where that can happen.

                                                                                                                                                                                So, if I have a day off and I can do whatever I want, what should I work on? On whatever I feel like. It’s that simple.

                                                                                                                                                                              1. 3

                                                                                                                                                                                We’re living in an age where dark mode is becoming a must. Soon a switch for on/off will be present pretty much everyhere. It reminds me a transition of the web to HTTPS.

                                                                                                                                                                                1. 2

                                                                                                                                                                                  Dark mode is an aesthetic choice. Many people seem to love it; some hate it. The arguments that it’s objectively better or reduces eye strain are pretty suspect, IMHO. My objective experience is that it exacerbates my (normally mild) astigmatism by making the pupils open wider, which reduces depth of field. The only time I find it useful is when reading in bed after light-out to avoid disturbing my partner.

                                                                                                                                                                                  Modern browsers have a way for pages to detect whether dark mode is enabled in the OS, right? Can’t lobste.rs use that?

                                                                                                                                                                                  1. 3

                                                                                                                                                                                    If you’re worried about eye strain, just dial back the brightness. It always amazes me how we collectively make things harder by trying to make things easier and prettier:

                                                                                                                                                                                    • Old way: monitors have physical brightness and contrast knobs. New way: buttons are ugly and we need a ton of other controls that no-one uses, so we hide everything behind invisible buttons and menus that are hard to operate. Result: it is a hassle to adjust the most basic things on a screen and no-one knows hoe to do it anymore.
                                                                                                                                                                                    • Old way: let’s define only the structure of the document and let everyone display it the way they want. New way: we want pixel perfect control even though everyone has different pixels. Result: we need new layouts (or apps!) for every device and too bad if you don’t like the one we give you.

                                                                                                                                                                                    If you look for it, you see this pattern everywhere.

                                                                                                                                                                                  2. 1

                                                                                                                                                                                    I’m curious, what do folks use a dark mode for? A few apps have started defaulting to inverted brightness and it’s sometimes attractive, but I haven’t found a personal use case.

                                                                                                                                                                                    1. 1

                                                                                                                                                                                      I like how it looks better, and often turn on dark mode for various programs I use if available. It’s not super important to me - I didn’t mind that lobsters didn’t have it, for instance.

                                                                                                                                                                                    2. 1

                                                                                                                                                                                      Dark mode a must? Dark mode is basically the computer nerd equivalent of “this seasons in color is pink” in fashion, its at best stylistic. https has technical reasons to exist, dark mode is “lets use different colors to display things, just in dark cause that’s the new fashion”. I’m not sure they’re even close to similar. One is simply color themes.

                                                                                                                                                                                      1. 2

                                                                                                                                                                                        You’ve misunderstood my comment. I am not comparing “dark mode” vs “https” technical implementation, just a similar trend happening in web.

                                                                                                                                                                                    1. 1

                                                                                                                                                                                      I don’t understand the argument. The line of reasoning is that pointfree programming removes some of the burden of holding state in you head while you read the code, by only naming things that need attention. The things that are not named are defined close to where they are used, so it is not hard to figure out what they are?

                                                                                                                                                                                      But there is as much state as there was before applying the pointfree principles. The same operations are done, you still have to hold the same intermediate states of the data in your head. The choice seems to be: either give the things an easy handle to to grasp them (a name), or don’t and define them close enough that you can look it up quickly.

                                                                                                                                                                                      First, I think those two are not mutually exclusive. You can define things close to where they are used and still give them names. Second, when juggling different pieces of the puzzle in your head it can be very convenient to have that name, even if it is only used in the scope of a few lines of code. Instead of having a vague concept like “those strings that indicate a player, I think” something like “names” is much clearer to me.

                                                                                                                                                                                      As always, it depends on the situation and your mileage may vary, but I am not inclined to use more of these pointfree idioms after reading the article.

                                                                                                                                                                                      1. 2

                                                                                                                                                                                        I don’t understand the argument. The line of reasoning is that pointfree programming removes some of the burden of holding state in you head while you read the code, by only naming things that need attention. The things that are not named are defined close to where they are used, so it is not hard to figure out what they are?

                                                                                                                                                                                        But there is as much state as there was before applying the pointfree principles.

                                                                                                                                                                                        Here’s the main point that, I believe, you are missing: when something has a name, the meaning of that name can change; when it doesn’t, there is nothing to change (and therefore less state). For a shorter (hopefully clearer?) example, compare the following bits of pseudocode

                                                                                                                                                                                        names = "ALICE BOB CAROL"
                                                                                                                                                                                        sorted_names = names.sort()
                                                                                                                                                                                        lc_names = sorted_names.toLowerCase()
                                                                                                                                                                                        print(lc_names)
                                                                                                                                                                                        

                                                                                                                                                                                        versus

                                                                                                                                                                                        print( "ALICE BOB CAROL".sort().toLowerCase() )
                                                                                                                                                                                        

                                                                                                                                                                                        You are correct that “the same operations are done” in both cases. But my claim is that names and sorted_names represent state that doesn’t exist in the second version: those names could be rebound or (depending on the language) the values they point to could be changed.

                                                                                                                                                                                        Of course, in an example this short, it’s easy to see that nothing changed sorted_names between where it was defined and where it was used. But that brings me to my other response to your comment. You made the point that

                                                                                                                                                                                        You can define things close to where they are used and still give them names.

                                                                                                                                                                                        I agree, you can. But, once you’ve given something a name, you can also refer to it using that name anywhere else in the same scope. You could adopt a rule that you shouldn’t do so, but I’d much rather adopt a style that makes it impossible for me to create that type of issue than to rely on programmer discipline (in the same way I often want the protection of a type system).

                                                                                                                                                                                        1. 2

                                                                                                                                                                                          Ah, thanks for the explanation. I think I get the point now and I agree that the second version is much better to understand and safer.

                                                                                                                                                                                          However, I still think that there is some mental burden that is being swept under the carpet. Your second version can be understood in a glance by all programmers, except the most junior. That is, depending on the situation, not the case with larger examples:

                                                                                                                                                                                          "ALICE BOB CAROL"
                                                                                                                                                                                            .sort()
                                                                                                                                                                                            .toLowerCase()
                                                                                                                                                                                            .filterOnSecondLetter( ["l", "o"] )
                                                                                                                                                                                            .reverse()
                                                                                                                                                                                            .filterOnSecondLetter( ["c", "o"] )
                                                                                                                                                                                            .reverse()
                                                                                                                                                                                            ...
                                                                                                                                                                                            // fifteen more steps
                                                                                                                                                                                            ...
                                                                                                                                                                                            .groupByLength()
                                                                                                                                                                                            .order(-1)
                                                                                                                                                                                            .formatHTMLList()
                                                                                                                                                                                            .print()
                                                                                                                                                                                          

                                                                                                                                                                                          Remembering what it exactly is that we are doing without names can become very hard very quickly. You step through all the intermediates states in your head and if you flinch once (“wait, what was the first row again?”) then you must start all over from the top, because there are no hooks like a name where you can pick up the trail half way. So I’d say this only works for trivial examples.

                                                                                                                                                                                          There is, of course, another easy solution to this problem that achieves the same goals (isolation, clarity by only emphasizing what matters) for programmers of all skill levels and that is: create a new scope. Put it in a function and you’re done:

                                                                                                                                                                                          print( formatWithWeirdLogic( "ALICE BOB CAROL" ) )
                                                                                                                                                                                          
                                                                                                                                                                                      1. 3

                                                                                                                                                                                        I know this “N KB Club” meme is becoming trite now but someone asked for it, so this had to be done! :-)

                                                                                                                                                                                        1. 6

                                                                                                                                                                                          10 KB club is cringe.

                                                                                                                                                                                          – This post made by 1 KB club

                                                                                                                                                                                          1. 3

                                                                                                                                                                                            1K?! LUXURY! When I was young 12 bytes and a piece of cheese was all we ever needed.

                                                                                                                                                                                            1. 4

                                                                                                                                                                                              You try and tell the Electron users of today that, they won’t believe you!

                                                                                                                                                                                              1. 3

                                                                                                                                                                                                I’ll just put an end to this by registering the 1 bit club and implement the only two possible websites myself.

                                                                                                                                                                                          1. 9

                                                                                                                                                                                            I’m on holidays, so I’ll work on a hobby project: making a static site generator for markdown files, mostly as a Go learning exercise.

                                                                                                                                                                                            1. 2

                                                                                                                                                                                              Recently wrote my own blog CMS in Go. Have fun! I recommend using goldmark for the markdown parsing and HTML generation.

                                                                                                                                                                                              1. 1

                                                                                                                                                                                                Nice. I wrote my own too and I always encourage others to take the plunge. Look here if you want some inspiration: https://git.sr.ht/~ewintr/shitty-ssg Currently I am in the process of making it less shitty, so I can add some other tools to the same system.

                                                                                                                                                                                              1. 36

                                                                                                                                                                                                Our UI was showing a lot of activity in the tiny island nation of Niue. We didn’t expect to see a lot of information security incidents involving a country of fewer than 2000 people, so we suspected a bug.

                                                                                                                                                                                                Turns out the UI was looking up locations by the two letter ISO country code. The first two characters of NULL, converted to a string, is “NU”…the ISO country code for Niue.

                                                                                                                                                                                                1. 12

                                                                                                                                                                                                  Fun fact, the Niue TLD is very popular in Sweden, because “nu” means “now” in Swedish. So you get snappy domain names like vecka.nu, which is a single-serve website that displays the current ISO week number.

                                                                                                                                                                                                  1. 4

                                                                                                                                                                                                    In Yiddish, “Nu” means “so?”

                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                      Interesting, “nu” also means “now” in Dutch, but the Niue TLD is not popular at all here. Apparently you need some domains to bootstrap the popularity.

                                                                                                                                                                                                      1. 3

                                                                                                                                                                                                        I think that is because it became known when a whole bunch of cheap second-rate brands and stores started to use .nu as a substitute for .nl and now it feels as a TLD for fake and low quality content.

                                                                                                                                                                                                      2. 1

                                                                                                                                                                                                        Serendipitously I was looking for something that could give me the current ISO week number at a glance rather than searching “current weeek of year” in Google. Bookmarked this for just those cases.

                                                                                                                                                                                                        1. 1

                                                                                                                                                                                                          You can use date +"%YW%V" for ISO weeks, date +"%YW%U" for US weeks (1st day of week is Sunday).

                                                                                                                                                                                                          BTW next week will be week 53 as NYE falls on a Thursday.

                                                                                                                                                                                                          I think I filed a bug at vecka.nu years and years ago where they missed that corner case…

                                                                                                                                                                                                    1. 4

                                                                                                                                                                                                      This type of announcement almost never generates a positive reaction. Apparently the only people motivated enough to write something about it are those who are annoyed that something familiar has changed into something unfamiliar.

                                                                                                                                                                                                      I am not going crazy about this change either, but I’ll probably get used to the new look and then forget it ever was a thing. However, I do know that even as a long time Debian user I was always struggling to find what I need. So I am glad they acknowledged that navigation and structure could be improved and I appreciate that they made an effort to do so.

                                                                                                                                                                                                      1. 19

                                                                                                                                                                                                        I’ve started thinking of this as “hairshirt computing.” Or “Amish computing” might be a good name too. Some people appear to be fascinated by The Olden Ways and want to recreate them for themselves — 8-bit computers, 80-column terminals, ancient operating systems.

                                                                                                                                                                                                        I know this article is about sustainability and post-apocalyptic computing, but as others have said here, it seems unlikely that computers will be useable or useful at all in such an environment. (Good luck sourcing electrolytic capacitors or RAM chips in a world gone iron-age, once all the Fry’s stores and Foxconn plants have been looted.) I suspect the author is interested in it more for the fun of messing with CP/M and PS/2 connectors.

                                                                                                                                                                                                        Most of these Amish folk seem a lot younger than the stuff they’re nostalgic for. I’m 56; I actually used CP/M back in the day. It sucked balls. This is something that literally made DOS 1.0 look like rocket science. The only justification for it is that it ran on an 8-bit 4MHz(?) CPU with 64KB of RAM and 100KB floppies.

                                                                                                                                                                                                        If your “100 year computer” has a 32-bit ARM SOC and gigabytes of Flash, why subject yourself to this instead of some kind of Unix? At roughly the same time in history, our primitive ancestors also had BSD 4.2. I also used that — it was my first Unix, running on a big-ass VAX 11/750 that the whole company timeshared. It was great! I mean, I’d never want to go back to it if I could avoid it, but it at least could run more than one program at a time and had directories to put your files in.

                                                                                                                                                                                                        1. 7

                                                                                                                                                                                                          I know this article is about sustainability and post-apocalyptic computing

                                                                                                                                                                                                          Post-apocalyptic computing isn’t mentioned once. The closest thing is a reference to collapseos’ Forth-based OS, which wasn’t deemed appropriate.

                                                                                                                                                                                                          Most of these Amish folk seem a lot younger than the stuff they’re nostalgic for. I’m 56; I actually used CP/M back in the day. It sucked balls.

                                                                                                                                                                                                          CP/M Plus has an extensible architecture. It has a ludicrous volume of professional applications and programming languages to draw on, software is still developed today and it fits offline-first tasks well. The CP/M being used is a CP/M Plus compatible implementation called MultitaskingCPM. It’s multisession, so multiple programs can be run at the same time. I too am old and have used old computers when they were current. CP/M 1 or 2.2 sucks balls to various degrees. A decently configured MultitaskingCPM does not.

                                                                                                                                                                                                          This is something that literally made DOS 1.0 look like rocket science. The only justification for it is that it ran on an 8-bit 4MHz(?) CPU with 64KB of RAM and 100KB floppies.

                                                                                                                                                                                                          DOS 1.0 didn’t have subdirectories, user areas,or support for fixed disks. The FAT12 implementation was terrible. There were hardly any products for it and the 5150 came with 16kb of RAM vs many CP/M systems’ 32, 48 or 64k. The 8088 in a 5150 ran at 4.77mhz.

                                                                                                                                                                                                          If your “100 year computer” has a 32-bit ARM SOC and gigabytes of Flash, why subject yourself to this instead of some kind of Unix?

                                                                                                                                                                                                          There are many reasons but perhaps the most obvious one is that the piece mostly talks about ESP32, which doesn’t have an MMU. A thin CP/M layer isn’t limited to MMU-based SoCs. If you did want something that ran an old BSD I’d recommend looking at liteBSD for the PIC32MZ.

                                                                                                                                                                                                          it at least could run more than one program at a time and had directories to put your files in.

                                                                                                                                                                                                          There is a video in the piece literally titled “Multitasking - Multisession CPM/3 (Plus) with ESP32 and FabGL”. The manual, linked from the piece walks users through how to use multitasking and directories.

                                                                                                                                                                                                          Technical issues aside, there’s a broader issue here. You might’ve skimmed part of the piece, but you very clearly haven’t taken time to read and understand the content. That’s ok. It’s a big piece with a lot in it and I can understand not taking it all in. But somehow, despite not having taken the time to read about the work of others you have decided to open a comment with insults about people who take the time to do something about the current state of computing, from a system that will almost certainly be built with every problem highlighted in the piece from bloat to slave labour.

                                                                                                                                                                                                          I’m sure you’re not a horrible person, but as public statements go, is this what your username to be attached to? And that’s the thing, this place is often touted as a place with better discussion than hacker news. I’m not convinced your comment would be fit for hacker news. I would ask that everyone who’s commented here have a think about whether or not they really understand the piece - if they mention that this is for apocalyptic or collapse computing, they have not.

                                                                                                                                                                                                          This isn’t about the apocalypse. It’s about rethinking the way we compute in light of the power available versus common need. It’s about rethinking the choices we make when purchasing. It’s about rethinking the need to be online for things to work and what drives that. Most importantly of all, it’s designed to encourage thinking. I would ask that people here don’t fall into the trap of just reacting, because that’s what other sites are for.

                                                                                                                                                                                                          @snej If you want to build an heirloom computer that uses 4.2 BSD, I’ve given you a link to a project that will let you build the core of that. Fabrizio di vittorio has a board you should be able to hook that up over serial for VGA out. I’m not trying to single you out, but your reference to ‘haircut computing’ is coming from my use of the term heirloom, and however intended, that’s been received as an unnecessary personal insult.

                                                                                                                                                                                                          1. 6

                                                                                                                                                                                                            Steve, I intended no insult at all. As I said, the term “hairshirt computing” came to me a while ago, not in connection with anything you wrote. A hairshirt was a garment worn by Christian ascetics as a deliberate discomfort. I’m using it sarcastically of course, but against an idea, not any person.

                                                                                                                                                                                                            I was not aware there were more advanced versions of CP/M. I assumed it had died off unmourned soon after the IBM PC was released.

                                                                                                                                                                                                            I still don’t understand the logic of going back to ancient software. We have access to state of the art compilers that generate excellent machine code, so why retreat to coding in assembly, with a probably 10x loss of productivity? And what makes an ESP32 more ethical than a PC motherboard? They’re made in similar factories.

                                                                                                                                                                                                            As for “bloat”, it means that we can do more stuff, more easily. That’s a good thing. I remember building GUIs on a 1987 Mac SE; it was a slow and painful process. Today I can build something similar in an hour with SwiftUI. Sure, the binary is much larger and uses many more clock cycles, but human time and energy is vastly more important than that. I would hate to go back to when coding was for Real Men who memorized ISAs and knew how to parse decimal numbers in the fewest possible number of instructions. That’s exactly the culture that drove most of the young women out of computer science classes in the 1980s. (I was there, I was part of it.)

                                                                                                                                                                                                            1. 3

                                                                                                                                                                                                              I still don’t understand the logic of going back to ancient software.

                                                                                                                                                                                                              It’s a space I’m exploring and I decided to start more simply so I could iterate more quickly. I started with a quick and dirty BASIC I knocked up and hit dead ends. Then I emulated a ZX81, then a Spectrum and hit dead ends. CP/M is just the first OS where I haven’t hit dead ends I can’t pass yet. I’m sure I’ll hit them with CP/M but it’s been small enough to extend around without hitting compatibility problems. If on the other hand I put all my energy into porting a 68k Mac emulator and hit dead ends, it’d just take longer before I got to something where I could reach them. If I write a custom OS, I have to write the userland, which means ultimately working towards posix layers, C etc. and I may as well just build a new Linux SBC at that point.

                                                                                                                                                                                                              We have access to state of the art compilers that generate excellent machine code, so why retreat to coding in assembly

                                                                                                                                                                                                              You’re not tied to assembly. So far I’ve been coding in Forth, Lisp, BASIC, tons of stuff. Last night I wrote a clear screen tool in C, today I’ll port it to asm because it’s a few bytes vs a few K and I think it’d make a good manual tutorial. Obviously there’s no JS or Python but there are lots of options for CP/M that aren’t present on a lot of similar era systems, even a MicroEMACS port.

                                                                                                                                                                                                              with a probably 10x loss of productivity?

                                                                                                                                                                                                              I get the impression that you’re seeing this as some sort of product to be sold rather than an exploration of ways of computing. I’m not convinced that productivity in the day-job work sense of the term is what this is for. It’s for exploring more sustainable and different ways of computing. Honestly, I was blown away by just how user-friendly SuperCalc 2 really is, and WordStar 4 is actually really good. I imagine if you wanted to do those things you could, but they’re not applications I’m massively interested in exploring. The heirloom notes system is one, but not the only one. I like the fact that kids could probably learn programming on this one day. Someone wrote to me this morning and said this:

                                                                                                                                                                                                              I think often of the Japanese temples that exist with continuity, yet are rebuilt periodically due to disaster or war. Alive both in physical instantiation and in people’s heads.

                                                                                                                                                                                                              Which really chimed with me. This sort of thing is to encourage people to explore what their own digital temples might look like and what might live in them.

                                                                                                                                                                                                              And what makes an ESP32 more ethical than a PC motherboard? They’re made in similar factories.

                                                                                                                                                                                                              The ESP32 is just there because it’s got a lot of RAM for what it is. It doesn’t become more or less ethical till they’re pulled out of scrap to replace dead ones. By then there’ll be other processors that can be used, STM32s, RiscV IoT boards and whatever thin emulation layers are used they should be portable between them. Also I’m serious about LiteBSD, you can build your own with this and it’ll run BSD Unix. You’ll hit the same stumbling blocks I did a few years ago, but they may not matter to you. It’s all just exploration and learning. There are no wrong answers.

                                                                                                                                                                                                              I would hate to go back to when coding was for Real Men…

                                                                                                                                                                                                              The Retro Zer0s were built by my partner and I. I’m sure she’ll have a chuckle at that one. I can’t send you a retro zer0 but if you’re interested in trying the ZX20, drop me a message with some details and when the next round of prototypes are ready I’ll send you a kit.

                                                                                                                                                                                                          2. 5

                                                                                                                                                                                                            In the face of a likely collapse of the global supply chain for hardware in the next 50 years, these projects are not just nostalgia but a way to mobilize people around the preservation of computing in the West at least in our lifespan. Now, to many people, fixing some bug in an obscure open source project seems more relevant than working on such stuff. Tomorrow, when this same person will be old, lucky enough to be alive and still toiling in a field to put some food on the table, he will regret not joining the collective effort to develop reliable, long-lasting embedded processors to automate part of his work or maybe, let him dream, a reliable home computer.

                                                                                                                                                                                                            Now we still have human technical resources that can be converted to a more responsible form of collective-driven technological development. Tomorrow we won’t. But I guess if you’re 56, this is not going to be your problem.

                                                                                                                                                                                                            1. 7

                                                                                                                                                                                                              I responded to this point in more depth in another comment here. Basically, I don’t believe we will ever be in a situation where we still have computers but they’re primitive. We will either have the tech to build full fledged computers, or none. If the world tech infrastructure collapses, we’re going back to the Industrial Revolution, if not to the Iron Age, and we won’t have computers at all. The tech required to build ESP32s (or Z-80s) is basically the same tech that builds Core i5s. The next step down from chip fabs is soldering things together out of discrete transistors.

                                                                                                                                                                                                            2. 4

                                                                                                                                                                                                              Most of these Amish folk seem a lot younger than the stuff they’re nostalgic for. I’m 56; I actually used CP/M back in the day. It sucked balls.

                                                                                                                                                                                                              Concur. I didn’t use it (no way my family could afford a computer!) but I’ve set it up in an emulator to explore some of the early C compilers and it is downright terrible.

                                                                                                                                                                                                              We like to complain about stuff now, but rest assured computing was an ugly, ugly slog 40+ years ago.

                                                                                                                                                                                                              1. 3

                                                                                                                                                                                                                There are generational shifts in awareness of macro-scale political and social situations and their implications for one’s ability to project forward and so build things you want for your future. Older generations have grown up in a world plentiful with resource, money and security. Younger generations have very not. This leads to a disparity where later generations interpret younger ones as foolishness and naivety but younger generations interpret what they’re doing as imperative simplicities to prepare for an economically and materially desolate world, let alone exist in the current one.

                                                                                                                                                                                                                There’s a ton of ‘zooming out’ and empathy with other generations and those that don’t have anywhere near the privilege we have required here, otherwise of course you can’t understand the worldview that makes these kinds of things interesting and actually, necessary

                                                                                                                                                                                                                1. 5

                                                                                                                                                                                                                  I grew up middle-class in the 1970s. I agree that I had better expectations of a college degree and job than people today. But more relevantly to this, may I point out that I never had access to a computer before my teens, nor a computer at home till I was 16. I never got to use any high level languages until college. I didn’t have ARPAnet until high school, and that was over a 300bps modem. You youngsters (sorryj are the ones who grew up with plentiful resources, technologically speaking. That’s why I’m rolling my eyes at the idea that it would be a good idea to throw it away.

                                                                                                                                                                                                                  An economically and materially desolate world will not have computers as we know them. Either we have the tech level to run chip fabs, or we don’t. If we don’t, you’d better get used to wire-wrapping and hope someone knows how to make discrete transistors so you can hand-build something on the scale of ENIAC. You won’t be able to run CP/M on it.

                                                                                                                                                                                                                  If we’re talking about today, not a Mad Max vision, even people in poor countries have access to cellphones that run modern OSs. People who want to avoid factory-built computers can make their own with $10 SOCs that resemble high end 1990s PCs. In a world where I can buy a $30 Raspberry Pi that’s a very capable Linux system, what good is an end-user computer that’s too low powered to run anything but CP/M?

                                                                                                                                                                                                                2. 2

                                                                                                                                                                                                                  I’ve started thinking of this as “hairshirt computing.” Or “Amish computing” might be a good name too. Some people appear to be fascinated by The Olden Ways and want to recreate them for themselves — 8-bit computers, 80-column terminals, ancient operating systems.

                                                                                                                                                                                                                  I think you are absolutely right. I am half way in my 40’s, but if there was an Amish computer club nearby, I would join it without hesitation. There is definitely some nostalgia at work here, but another part of it is a real frustration with the current state of affairs. I was an adult in the 90’s and used DOS and Windows 3.11 and Windows 95. And you know what? Society functioned pretty well back then. I know that, because I was there. With Moore’s law still going strong, I feel there were so much missed opportunities, so many things that could have gone better.

                                                                                                                                                                                                                  That is, I like the capabilities a smartphone gives me, and I like staring at the pretty pictures on my 4k monitor. But I tend to do that a lot, because I have to wait 2 minutes before the Jira ticket I’m working on is loaded. It’s just text and low-res pictures, but all the combined engineering effort that went into my laptop, the server and the internet was not enough to deliver it faster. Or it actually is, but it was all squandered by some parties involved due to laziness, wrong incentives, lack of knowledge, you name it.

                                                                                                                                                                                                                  So yes, I’ve never used CP/M, but I believe you in an instant if you say it sucked. But the present somewhat sucks too. There must be a better, more minimal way of doing things. I feel these type of dreams and fantasies are an outlet for that frustration and at the same time can be a productive way of trying to create something better.

                                                                                                                                                                                                                  1. 3

                                                                                                                                                                                                                    I’m not immune to the appeal of “retro” either. Half the reason I’m interested in embedded systems is because they remind me of the OS-less limited systems of my adolescence, like the Apple II. There’s an appeal to a system simple enough that you can understand it all (at least the software layers, not the hardware!)

                                                                                                                                                                                                                    A lot of stuff is too big or slow. I think that’s because the Web took over to such a degree that people started using browsers and client/server for everything. So I have a 100MB program that’s really a web browser running a super high level emulated program that still delegates most of the work to a bunch of far away servers. That’s what I think is broken. And we don’t need to go back to primitive computers or abandon modern user interfaces so fix it.