Threads for yann

    1. 3

      I tried to create a point-by-point rebuttal of this piece but there’s just so much to poke holes at, I gave up a few sections through. Its general point, that we aren’t close to General AI, and that AI is a “mathematical trick” meant to optimize pattern recognition is certainly under vigorous debate right now, and depending on the practitioner/researcher you ask, probably true. It’s certainly what I believe anyway, that we’re a long way away from General AI. I’m not sure what to make of this article though as it could condense its meandering into a few sentences to get the point across.

      1. 3

        I think most of the article makes good points. I’m not sure what you’d poke holes in. It does ramble, but I think the general gist is sound.

        This article may not be as in depth as On the Imminence and Danger of AI, but it makes a lot of the same points.

        There are a lot of scientists who think if they can just figure out what part of our brain architecture leads to our sentient, we can replicate that part. But looking at the regulatory network for a bacteria shows how insanely complex biology is! It’s not a matter of finding the missing piece.

        Another issue is that people think intelligence can scale. Say we create a sentient machine. Can we just add more CPU; more brain, to make it go faster? A true general purpose AI may not be able to multiple numbers faster than we can, and there may be no way to scale it except to give it access to regular machines.

        I agree this article seems to ramble a bit, but the philosophical questions around what is “intelligence” is important. We train our machines to give us the outputs we want. You train software to identify cats from dogs and it’s always an either/or output, what happens when you throw in a bird?

        The big question is that of goal settings. How do we choose our goals? Will we create machines that will one day be able to chose their own goals? Their own evolutionary fitness, outside of any constraints we put on their environments.

        1. 4

          I don’t know what the numbers look like, but I’d be willing to bet that only a minority of AI researchers and practitioners believe that our current path along ML will lead to the emergence of AGI, due in large part to limitations exposed by NFL theorems and the curse of dimensionality. Likewise, a lot of the current successful topologies, like GANs, are not based on prior biological art, and are locked solidly in the ML discipline itself.

          The big question is that of goal settings. How do we choose our goals? Will we create machines that will one day be able to chose their own goals? Their own evolutionary fitness, outside of any constraints we put on their environments.

          Perhaps, but there’s many more mundane AI goals to tackle first that can have real value. Optimal PIDs, sun-tracking swivelling solar arrays, self-balancing platforms, sensor denoising, supply chain prediction, automated drone flying; there’s a lot of value for AI that has nothing to do with AGI itself. Indeed to many AGI is the least interesting of the lot.

          If anything, I think there’s a large danger lurking in the homogeneity of our datasets and the implicit biases found in practitioners. This can lead anywhere from just not having input data on entire ethnicities to missed post-stratification because observed likelihoods line up with “prior” experience. Rather than spending mental effort on trying to epistomologically back AI, I’d rather we understand and effectively communicate the dangers of our increasingly AI algorithm dependent world than one where we may eventually have AGI in some unclear timeline.

          As far as the article itself, I think it falls into the common trap of assuming that, because a subset of AI practitioners try to throw gobs of compute on garbage models that are much more complex than the problem domain asks for, that every AI practitioner is like that. Most AI practitioners understand how difficult hyperparameter search is, understand the real pitfalls of deep NN topologies and overfitting, and are sensitive to the sheer effort that must be put into data cleaning before an algorithm can result in meaningful predictions. Judging an entire field by its weakest members does the field injustice.

          1. 3

            Nope, no free lunch theorem presents no barrier to AGI. This is basic. You can’t be effective against all problems, but that’s not an issue, since you only need to be effective against real world problems. NFL, if applied as you want, would also prove human intelligence is impossible, which is absurd.

            1. 3

              NFL, if applied as you want, would also prove human intelligence is impossible, which is absurd.

              Or that our current model of neurons/NNs/search algorithms is not how human intelligence works. I’ll freely admit that I’m not particularly strong on the AGI aspect of ML because I’ve only read a few papers on it, so take that as you will.

        2. 3

          Will we create machines that will one day be able to chose their own goals?

          Why would we do that? Then they will pursue their own goals, instead of ours, which presumably is not what we want.

          1. 2

            Good thing we know how to precisely specify our own goals then! :)

    2. 2

      Complete the pattern:

      3 2 1 0 -1 -2 -3

      Odd Even Odd ??? Odd Even Odd

      Even if you as a programmer knows that 0 is technically not even, you will still probably check if a number is even with (x % 2 == 0).

      So they will miss out on seeing how a line of reasoning can be used to deduce things, they will listen to random ramblings, unconnected and emotive sentences, and be convinced by “logic” that is non-existent.

      People say 0 is even because in the vast majority of real world applications for the test, it is appropriate to treat zero as even, not because they are afraid of your big brained maths.

      1. 6

        Even if you as a programmer knows that 0 is technically not even, you will still probably check if a number is even with (x % 2 == 0).

        That is the actual test to see if a number is even. To be more precise, an integer n is even if and only if it can be written as n = 2*m, where m is also an integer. So 6 is even, because we can set m to 3: 6 = 2*3. 0, then, is even, because 0 = 2*0.

        The definition of odd, on the other hand, is m = (2*n) + 1, with m and n both integers.

      2. 4

        Even if you as a programmer knows that 0 is technically not even

        0 is “technically even”. Did you read the post? This isn’t about discussing whether or not it is, it’s about why some people don’t realise it is, and how maths could be better taught/communicated to rectify this.

      3. 1

        a is divisible by a nonzero b if there exists a whole number x such that a = x•b. Then we call b a divisor of a. Clearly every whole number is a divisor of 0, and since 2 is a divisor of 0, 0 is even.

    3. 21

      This could be one of those hard cases that I talked about recently. This is mostly critiquing his programming, but then there’s notes about his business work that he’s now more famous for, and the business stuff is off-topic here. I’m not removing this because it’s mostly programming. Please help maintain the topicality of the site by not diving into his business and politics. (And reminder: anyone is welcome to help work through the above cases to figure out where to draw the line and how to express it. Those comments I just linked are my current thinking as I slowly work towards getting more of this more explicitly into /about.)

      1. 30

        I enjoy bashing PG and startupcanistan as much as anyone, but this critique was heavy on “PG is an ossified hasbeen reactionary” and light on good critiques of Arc.

        An article about why Arc has deficiencies and what we can learn from it is one thing; character attacks in the guise of technical critique are another.

        I am as sure the real damages and harm PG has done are nontechnical as I am sure this is offtopic.

        1. 24

          More succinctly: we wouldn’t celebrate an article attacking Larry Wall or Richatd Stallman instead of Perl or Emacs.

          0r at least, I would hope we wouldn’t.

          1. 10

            I don’t have as much faith in the ability of the lobsters commentariat (and moderation team) to fairly judge what content is too political to be on-topic as you do. I would say that merely using the word “reactionary” in a pejorative way makes this article far more political than, say, anything I’ve ever posted here about Urbit that was flagged as off topic or trolling.

          2. 3

            Just to note that the bar for discussing an article here shouldn’t be that it’s worthy of celebration. What’s being discussed is whether this is on-topic at all.

            1. 9

              Consider the case of an article about, I don’t know, old IBM punchcards. Perfectly good information. Additionally, the author goes into Holocaust ramblings. How much other stuff are you willing to put up with?

              The exploit being used in this article is “mix nontechnical political content, e.g. character assasination, in with sufficient technical content, e.g. language design”.

              The article itself could’ve been written purely as a critique of Arc, with a passing reference to its designer, but that clearly isn’t why it was written.

              1. 8

                This isn’t even close to character assassination. It gives due praise but delves into a serious critique of character or maybe more accurately of method and intent. That was the point of the article. The technical content isn’t an excuse for the political content, it’s an illustrative example. The fact that the article isn’t a good fit for Lobsters shouldn’t matter to the author one bit.

                1. 9

                  It gives due praise but delves into a serious critique of character or maybe more accurately of method and intent. That was the point of the article. The technical content isn’t an excuse for the political content, it’s an illustrative example.

                  Thank you for making my point!

                  Lobsters isn’t a site for character critiques and other drama gussied up with supporting technical details.

                  1. 6

                    Well, in theory a lot of people take technical advice from his essays on programming languages, language design, etc. If someone believes that’s a bad idea, it is 100% fair game and technical content to make that argument. Not long ago there was a piece that critiqued taking technical advice from Bob Martin by pointing out problems with Clean Code, for example.

          3. 1

            More succinctly: (make-my-point)

        2. 6

          I disagree, it is fairly technical and on point with Arc.

          Speaking as someone who actually wrote a program in Arc when it was released.

      2. 24

        Is this a reasonable summary of the article?

        • PG’s writing has taken a reactionary turn
        • Brevity in language design is a flawed and unrigorous notion. He’s using his intuition, which has not held up to reality
        • This is evidence that he uses his intuition everywhere; his opinions about politics shouldn’t be taken seriously.

        It’s a fair enough set of observations, although I’m not sure the argument is air tight. It’s also a very roundabout way of refuting political arguments… I’d rather just read a direct refutation of the politics (on a different site)

        1. 16

          Yes, the politics mentioned in the introduction felt out of place. The rest of the article was well-written and dispassionately argued, but I couldn’t help feeling the whole piece was motivated by political disagreements with Graham (epitomized by the coinbase tweet), and that diminished its impact for me.

        2. 8

          I don’t think it’s as clear as it could be, but I read the article as starting from the assumption that Graham’s recent political and social writing is poor, and then asking whether the earlier more technical writing is similarly flawed.

          If the argument went the way you said, it would be pretty bad. This is why I think talking about logical fallacies is less valuable than many people think. It’s usually pretty easy to tell if a precisely stated argument is fallacious. What’s harder is reconstructing arguments in the wild and making them precise.

          1. 13

            Yeah, if you want PG criticism, just go straight for Dabblers and Blowhards. It’s funny and honest about what it’s doing.


            This article spends a lot of words saying something that could be said a lot more directly. I’m not really a fan of the faux somber/thoughtful tones.

            (FWIW I think PG’s latest articles have huge holes, with an effect that’s possibly indistinguishable of that of willfully creating confusion. But it’s also good to apply the principle of charity, and avoid personal attacks.)

        3. 5

          You’ve removed an implication that libraries matter as much as the base language, some negative remarks on Paul Graham’s work as a language designer, and some positive remarks on Paul Graham’s overall effectiveness as a developer, technical writer, and marketer.

          But yes, the article seems fairly well summarized by its “This is all to say that Paul Graham is an effective marketer and practitioner, but a profoundly unserious public intellectual (…)”.

      3. 12

        I’m not removing this because it’s mostly programming.

        The programming that is mentioned is there to make a case against a person and extend it to a broader point about people. I would’ve made the call the other way.

        1. 17

          There’s a lot of interesting insight here into how to do language design (and how not to do it). I’m glad it stayed up.

      4. 8

        This is is a tricky one, yeah. It feels like there’s really three things going on in this article:

        • The writer is bashing Paul Graham
        • The writer is making it about Paul Graham’s political/social writings
        • The writer is supporting those by talking about Paul Graham’s history in the technology field

        When looked at that way, I’d lean slightly towards it being offtopic. If one wanted to write something about the design of Arc and the history and origin of design mistakes and the personality of the person that resulted in those mistakes, one could re-use the same arguments in this article and do so. I think one would come up with a very different article if so. So it’s not about the tech or the intersection of humanity and their artifacts, it’s about Paul Graham and their opinions.

      5. 6

        I’m glad this article about PG made it to lobsters, otherwise I wouldn’t have seen it. I’ve had a similar journey with PG’s writings as the author, going so far as to purchase Hackers and Painters when I was younger and thought programming made me special. I enjoyed learning a bit more about arc than I would have had this article been moderated off the site.

      6. 5

        Thanks for your hard work @pushcx! Moderation of topics is what makes lobsters great!

      7. 4

        My impression on this meta-topic of to what extent should have posts that touch to some extent on non-technical questions: We’ve arrived at a point where there’s a group of readers who will indiscriminately flag anything off-topic that falls into this category, and another group of readers who will indiscriminately upvote anything of this category that makes it through.

        I’d suggest that it might be better for the health of the community to be a bit more permissive in terms of what political/social/cultural tech-adjacent stories are allowed, and to rather aim to let those that don’t want to see those posts here filter them using the tagging system. (But I’m sure that’s been suggested before.)

    4. 2

      That website is horrid on firefox for android. Scrolling is rage inducing.

      1. 3

        as a fellow firefox on android user, firefox on android is oftentimes rage inducing

      2. 1

        Everything is horrid on this cursed browser!! I definitely don’t use it because of convenience, performance, or stability. I use it because it lets me block ads.

      3. 1

        heh, looks like it starts the page of with the menu fully expanded which you have to pass before getting to some content :s

    5. 2

      io_uring supports linking operations, but there is no way to generically pass the result of one system call to the next. With a simple bpf program, the application can tell the kernel how the result of open is to be passed to read — including the error handling, which then allocates its own buffers and keeps reading until the entire file is consumed and finally closed: we can checksum, compress, or search an entire file with a single system call.




    6. 4

      I don’t understand this at all. Admittedly I haven’t worked with commercial AI implementations but this whole “differentiable programming” thing seem like a bizarre misplacement of responsibility. Computing a differential is hardly ever a problem, especially not one that requires new syntax and buzzwords.

      Am I mistaken? Do people who implement AI algorithms really benefit from this addition? How?

      1. 3

        Don’t you worry, I am on the same page. I fail to understand Software 2.0 and how would it apply outside of machine learning. I also do not understand the hype that is surrounding machine learning (or we should call it San Francisco flavoured statistics). The example they gave in the article absolutely lacks any details that would make it understandable for people outside of the ML bubble what is going on.

        1. 3

          I’m actually on a slightly different page. I don’t see how this helps people inside machine learning. I’m fairly confident it won’t help researchers much, but it might help people who implement things. I just wonder how.

      2. 1

        a bizarre misplacement of responsibility

        It’s nice when responsibility is with “algorithms” rather than engineering teams, especially when things go south.

    7. 2

      This is roughly how my analysis prof explained the birth of topology: removing the properties of space, layer by layer, until you’re left with only the bare necessities required to do analysis (i.e. define limits)– the concept of ‘open neighborhood’ essentially. But I don’t know if that’s actually accurate historically

      1. 2

        Insisting on a historical development cripples education, destroys history, or both: It prevents a more logical development of the topic from being used, and it does great violence to history by paring it down into something a course specialized on some other topic can digest without serious diversions.

        1. 1

          Well I agree, but I don’t really see how that’s relevant to what I said. This was just something that my prof. mentioned. I’d single out the course itself as probably the most sensibly constructed one I’ve ever attended, and in line with the idea that you should present the logic of the thing the best you can and not focus on the history much.

    8. 51

      To whomever downvoted this as off-topic:

      • It’s about cryptography, security, and privacy
      • The source code examples are written in JavaScript

      …so which topic is it off-?

      1. 38

        It’s probably an expression of political distaste for overt references to furrydom rather than an authentic opinion that this article’s content is off-topic. I think this is absolutely topical content myself, but I’ve seen plenty of articles posted that I also thought were entirely topical (some of which I posted myself), that had off-topic or other flags because they were triggering to the political sensiblities of other users.

      2. 54

        Just posting in support of this.

        Folks, this is a nice high-effort post about implementing security, with code and references and the whole shebang. It isn’t shilling a service, it isn’t navel-gazing on politics, it isn’t even some borderline case of spamming a blog to get more views without care for the community.

        Anybody who flagged this as off-topic either didn’t read the article or is a tremendous asshole.

        Anyone who flagged this as spam either didn’t read the article or is a tremendous asshole.

        If the reference to furries in the title rustled your jimmies, despite the site policy here being to use the original title as close as possible, and you were unable to evaluate the quality of the article on its own merits, you’re a tremendous asshole.

      3. 27

        I get off topic downvotes for my posts with Mara too. Some of the graybeards here really dislike furries for some reason I can’t comprehend. I hope they can find something better to do that downvote furry adjacent content. Anyways, keep up the good work!

        1. 46

          I’m that kind of a person, though I don’t have a gray beard. To me it’s just cringe (for lack of a better word), just like an unironic “euphoric” atheist, a gun-obssessed anarcho capitalist, a “My Little Pony” Fanboy or a western-anime otaku. I honestly don’t see what the difference is.

          Any blog that tries to mix that kind of usually fringe subculture is fine by itself, people are strange, but I have my doubts how relevant it is to a general-public site like Lobsters.

          That being said, I didn’t flag it, I’ll just be hiding it.

          1. 16

            Setting aside how cringe or not it is, we should evaluate the article on its technical merits.

            1. 14

              In principle, yes, but we often have discissions on the form of sites (don’t post twitter threads, avoid medium, not loading without JS, too low contrast, automatically playing videos), and interspersing a page with furry imagary is just something that some people are used to (apparently this is an american thing), and others are not.

              1. 5

                It’s not an American thing.

                I don’t know why you think it is.

                Eurofurence, Nordic Fuzz Con, and FurDU are just a few of the international furry conventions that attract thousands of attendees every year (COVID notwithstanding).

                1. 16

                  Honestly that comes of as saying that McDonalds isn’t an american thing, because they have joints all over the world. Have you ever wondered why we are writing in English? I think everyone knows that american culture has a kind of dominance that no other culture has, because of hollywood, TV series and media in general. It’s always the de facto standard, and almost anything that is a thing in the US has following somewhere else. That has only intensified with the internet. But if anywhere in this thread, this is the point where we would be crossing over into off-topic territory, so I’d sugest we agree to disagree.

                  And regarding

                  I don’t know why you think it is.

                  First of all, Wikipedia says

                  The furry fandom has its roots in the underground comix movement of the 1970s, a genre of comic books that depicts explicit content.[5] In 1976, a pair of cartoonists created the amateur press association Vootie, which was dedicated to animal-focused art. Many of its featured works contained adult themes, such as “Omaha” the Cat Dancer, which contained explicit sex.[6] Vootie grew a small following over the next several years, and its contributors began meeting at science fiction and comics conventions.

                  So it literally comes from the US. But setting that aside, even if I didn’t know that, it’s something so inherintly american, that I would have been really suprised that something that at the same time desexualizes bestiality (by removing the inherent link) and sexualizes animals (by giving them human cues of attractivness and anatonomy) could come from anywhere else.

                  Edit: Also I was curious and looked it up, “Nordic Fuzz Con” has 1499 atendees in 2020, but considering how many contries these people came from, it’s approximatly 0.000008% of the population. It’s common that when people are too online, they overestimate how large their bubble really is. “Eurofurence” with almost twice as many atendees isn’t much better of.

                  1. 2

                    That’s super off topic for the discussion, but I’ve recently changed my mind about “american culture”. I now feel that a significant part of it is just universal, liberal culture, and not specifically American (hamburgers, pizzas and sushi being fun gastronomical examples). This post changed the way I think about this.

                2. 2

                  I don’t know why you think it is [an American thing].

                  Probably due to mako’s comment, which said they “always considered it an American subculture”. I hadn’t heard of it being American before… thanks to your comment I’ll unlearn that.

          2. 12

            Lobsters is general public? :-)

            I think you could tack on just about any group and the content would be pretty much the same. “…for punks,” “…for people with a pulse,” or whatever. I’ve no strong opinion on furries. As long as their hobbies are not hurting anybody, I’ll just file it in the “not my thing, but not hurting me” bucket and see if the rest of what they have to say is interesting or not.

          3. 11

            Technology doesn’t exist in a vacuum. Practitioners, users, researchers, and creators are people whose experiences of technology will be informed by their lifestyle preferences, race, gender, queerness (or not), positionality in society, past experiences, mental health, hobbies, friends and so on.

            It’s ridiculous and downright depressing to me that anyone would consider a blog off topic because the writer chose to make their technical narrative their own. It strikes me as the kind of narrow thinking that leads the tech industry to not be a very accessible or diverse place in general.

            Divorcing technology from the real world leads to isolation and atrophy (to borrow the words of Courant). It reduces diversity, leads to moral atrophy, and systems built without empathy for users.

            And it leads to gatekeeping. Don’t do that.

          4. 8

            The cringe is a reaction of your own, not the content itself. I would avoid downvoting a post just because of my relationship to it, so I’m glad you made the same call.

          5. 11

   caters to a very specific subculture that exists in the IT sector that is in itself part of a broader subculture of technology creators and maintainers. It’s just that you think your subculture is important enough to be let in and others are not.

            1. 11

              You’re right that “technology” is a subculture, but my claim is that we are perpendicular/stochastically independent to “furry culture”.

              It’s just that you think your subculture is important enough to be let in and others are not.

              I would very kindly ask you not not be this elitist about this, this is explicitly a techonology site, with no further designations. The community has it’s tendencies, this way or another, but that doesn’t change the fact that the average to something as obscure as a “furry” will be recieved with some hesitation. This isn’t anything personal, I can imagine that if I went to some “normal” site like Facebook and started talking about the need Free Software that most people would consider me crazy.

              1. 8

                It’s the exact opposite of being elitist, it’s about being inclusive. You call “technological community” a thing that is aligned to your culture and values and it’s just a very small fraction of the people that produce digital technology. You universalize it because you cannot conceive that there might be different ways than yours of producing technology together. You believe your way is THE way and you reject other ways.

        2. 11

          I don’t think it’s greybeards, rather non-Americans. I’m in the UK, London, and if there’s a furry subculture here it is so microscopic that I’m not aware of it. I’ve always considered it an American subculture, and possibly mostly silicon valley, but certainly for non-Americans I think it’s very obscure. I didn’t vote either way, and have no idea what the furry thing is about, just glimpse it once in a while.

          1. 11

            For what it’s worth, in America you don’t just see people walking around expressing as furries while they shop for groceries. Most of us have never run across the culture in person. I think it’s not that this is an American phenomenon but that online spaces are safer, so that’s where you (and we) see them.

          2. 3

            just how microscopic would it have to be for you to not be aware of it? do you keep tabs on all… culture… in London?

            1. 1

              It’s honestly not very hard.

        3. 10

          I really enjoy most of the aesthetic of your pages, and the technical content! I just don’t like the random stuff being jammed in between it. I don’t need a bunch of reading space occupied by a full color, artistic, glorified selfie 6 times. Or in the case of Mara’s first appearance, 16 times.

      4. 19

        I’m not going to flag it, but the „for furrys“ bit certainly is off topic

        1. 39

          Furry is my blog’s aesthetic and theme, and a significant chunk of the content, but the focus is 99% encryption. The parts that are furry-relevant are:

          1. A lot of tech workers are furries (or furry-adjacent).
          2. I’ve found that furries are generally more comfortable with the abstraction of “identity” from “self” than non-furries. I generally attribute this to the prevalence of roleplay in our culture. (I remarked on this detail in the post.)
          3. Implied but never stated in this particular article: Since roughly 80% of furries are LGBTQIA+, and queer folks are likely to be discriminated against in many locales, improving furry technology will likely have a net positive impact on queer privacy in oppressive societies.

          This page isn’t so much for furries than it is from a furry, published on a furry blog, and with a bad furry pun in the title.

          1. 27

            You don’t actually need to entertain anti-furry sentiment. And do not worry either, there’s also people who appreciate this. I’d rather see furries than most common traits of the modern web.

          2. 20

            A lot of tech workers are furries

            For certain values of “a lot”. I’d guess that this kind of stuff is more popular in the US than in India.

          3. 29

            The main problem with this kind of title phrasing is the forced communication of a political/sexual/whatever message, which is off-topic for the site, and most people don’t care, and don’t want to care for it.

            Anybody visiting the link would see that the page has a furry aesthetic. Then they would have the chance to read the article, or close the page. This way a message is promoted on the main page. I think identity politics are already too emphasized and destructive in discussions, and have a bad effect on communities and society. Consider seeing things like a Heterosexual christian father’s guide to unit testing on the front page. Without judging anybody’s identity, this is not the place and form for that topic and that kind of statements.

            1. 15

              I wonder why the simple reminder of a group’s existence bothers you so.

              1. 18

                For some reason you failed to understand my point, and are accusing me with something instead of arguing my points. Most likely this is because of my inability of phrasing my point efficiently.

                But in the same spirit: I wonder why do I even need to know anybody’s affiliation at all in context of a technical discussion?

                1. 11

                  One could make the same argument to flag “Beej’s Guide to Network Programming” or any post about how company X solves their problems.

                  1. 10

                    And usually they do so, considering it as spam, a form of advertisement… Only not of the political, but of the business kind.

                    1. 4

                      I don’t think you are familiar with at least the first example.

                      1. 7

                        But at least I can be familiar with the second example…

                        Your style is not that of a Friendly engineer.

                        1. 6

                          There was a time he went by a different name…:p (angrysock)

                2. 6

                  I wonder why do I even need to know anybody’s affiliation at all in context of a technical discussion?

                  Because the author decided, that their “affiliation” is relevant to their content, that’s it. You don’t need to follow that thinking, you can opt-out of reading their article, even hide it on sites like

                  Any articel tells you something about the authors identity and cultural affiliations. And most of us just fill the blanks with defaults, where details are missing. i.e. an authors gender on technical content is often assumed to be male, if not stated otherwise. Most of us who grew up in societies with Christian majorities just assume that most guides to unit testing are a variation of the “Heterosexual christian father’s guide to unit testing”. That’s bad because it taints our perspective, even on the already factual diversity of tech and the net. So IMHO it’s a good thing, if more of us keep their affiliations explicit and maybe even reflect on how those influence their perspectives.

                3. 3

                  Your points aren’t worth arguing. You assert several things (“most people don’t care,” “have a bad effect on communities”) without any supporting evidence. To the first about whether people care and “don’t want to care” – I don’t find that persuasive even if you can provide evidence that a majority of people don’t want to be confronted with the identities of people who’re considered outside the mainstream. But I also suspect you’re making an assertion you want to be right but have no evidence to back up.

                  Likewise, what even is a “bad effect on communities and society”?

                  You also express an opinion (“I think identity politics are already too emphasized”) which I heartily disagree with, but that’s your opinion and I don’t see any point arguing about that. OK, you think that. I think too many craft beers are over-hopped IPAs and not enough are Hefeweizens. The market seems to disagree with me, but you’re not going to convince me otherwise. :-)

                  1. 7

                    Your points aren’t worth arguing.

                    Start with a thought-terminating cliché. Then you start arguing my points. :) No problem.

                    To the first about whether people care and “don’t want to care” – I don’t find that persuasive even if you can provide evidence that a majority of people don’t want to be confronted with the identities of people who’re considered outside the mainstream.

                    I understand your points, but you didn’t really grasp what I wanted to phrase. IMHO “mainstream” and other identities should not confront each other here unless being technically relevant ones, about which technical discussion can be carried on. There are other mediums for those kind of discussions.

                    Lucky someone has managed to phrase my ideas better than I could above:


              2. 14

                As I understand @kodfodrasz, they were bothered not inherently by the reminder of the group’s existence, but by the broadcasting of that reminder to the Lobsters front page. When an article title on the front page asserts the author’s voluntary membership of a group, that is not only a reminder that the group exists—it’s also implicitly an advocation that the group is a valid, normal, defensible group to join. One can agree with the content of such advocacy while also disliking the side effects of such advocacy.

                What side effects would those be? @kodfodrasz said that “identity politics are already too emphasized and destructive in discussions, and have a bad effect on communities and society”. I think they are referring to way advocacy for an identity can encourage an “us vs. them” mindset. Personally, I see the spread of that mindset as a legitimate downside which, when deciding whether to post such advocacy, must be balanced against the legitimate upside that advocacy for a good cause can have.

                1. 9

                  ^ this

                  My assertion is that currently I see a trend where legitimate topics are not discussed because some participants in the discussion have specific opinions on other topics than the one discussed. Dismissing some on-topic opinions for off-topic opinions is an everyday trend, and if bringing our off-topic identities to the site would gradually become more accepted, then that trend would also creep in from other parts of the society, where it has had done its harm already.

                  I hold this opinion as a guide for every off-topic identity. I think of it with regards to this forum a bit similarly to the separation of church and state has happened in most of the western world.

                2. 6

                  by the broadcasting of that reminder to the Lobsters front page

                  The submitter (author in this case) has one “vote” in promoting their content on this site. Usually one net upvote keeps stuff in /new and outside the front page. What’s promoted this content to the front page is the site’s users, who have upvoted it enough to appear on it.

                  At time of my writing this comment, the current standing is

                  50, -7 off-topic, -4 spam

                  Also note that comments themselves contribute to visibility, so everyone commenting complaining about this being off-topic and “in your face” aren’t helping their cause…

                3. 5

                  When an article title on the front page asserts the author’s voluntary membership of a group, that is not only a reminder that the group exists—it’s also implicitly an advocation that the group is a valid, normal, defensible group to join.

                  Are you (or @kodfodrasz) implying that identifying as a furry is in some way so dangerous as to be suppressed by society at large?

                  1. 2

                    One can agree with the content of such advocacy while also disliking the side effects of such advocacy.

              3. 4

                Would you be fine with a BDSM-themed blog post on a tech topic?

                1. 10

                  It depends how the theme is explored.

                  If it uses BDSM culture to explore the nuances of consent in order to explain a complicated technical point, I’m all for it.

                  1. 3

                    What if it’s just interlaced with drawings of BSDM activities, like that old GIMP splash screen? I wouldn’t be caught dead scrolling that (nor opening GIMP) at work.

                    1. 8

                      If you work at a place that cares more about some bullshit policing of imagery than technical merit, that’s a yikes from me.

                    2. 5

                      There’s an inherent sexual quality to BDSM that isn’t inherent to furry culture.

                      You do realize that, correct?

                      1. 6

                        Strictly speaking that isn’t necessarily true about BDSM.

                        1. 3

                          Oh? This is news to me.

                          1. 16

                            Yep. There are people, for example, for whom submission is not a sexual thing but instead about being safe and there are people for whom having a little (in the subcategory of dd/lg) is about having somebody to support and take care of and encourage in self-improvement.

                            That’s not everyone, the same way that there are in fact furries who are all about getting knotted.

                            My point is just that if you want to go Not All Furries, you should be similarly rigorous about other subcultures.

                          2. 6

                            o/ I’m asexual but still very into BDSM (and also a furry!). I know what something being sexualised feels like — took a while to get here — and while a lot of people do link the two intimately (as many do for furry things), they aren’t dependently linked.

                2. 7

                  Actually, I know a real example. There is a Python-related French blog named Sam et Max. The technical articles are generally considered high-quality by the French-speaking Python programmers. But there are also BDSM- and sex-related articles alongside the Python articles. Even within a Python-related article, the author sometimes makes some references about his own fantasies or real past experience.

                3. 4

                  As long as there’s no overt pornography, sure. I’d read a good article on crypto that had “by someone currently tied up” on it. What’s the point of writing if you get shamed for putting your personality in it.

                4. 3

                  Already mentioned elsewhere but it’s my understanding that being a furry isn’t inherently sexual / about sex, though there can be that aspect. I certainly wouldn’t mind a post that was something like “a lesbian’s guide to…” or “a gay person’s guide to..” because those identities encompass more than sexual practices. (Someone elsewhere says that BDSM isn’t strictly speaking sexual, which … is news to me, but I admit my ignorance here. If there’s a non-sexual aspect to BDSM identity then sure, I’m OK with a BDSM-themed post on tech.)

            2. 5

              Consider seeing things like a Heterosexual christian father’s guide to unit testing on the front page.

              That goes without saying, because that’s the default viewpoint.

              The way the author clarifies and establishes their viewpoint does not make their technical content anymore off topic than someone submitting something titled “A Hacker’s Guide to MFA” or “A SRE’s Guide to Notifications”. The lens that they are using to evaluate a technical topic is an important piece of information that we often-times forget in tech with disastrous outcomes.

              1. 14

                No, it is not necessarily the default. But even if it would be, articulating that off-topic identity on the front-page would be unnecessarily divisive, and I’m pretty convinced, that people of other identities would flock the comment section claiming that the post is racist (sic!), and is not inclusive, hurts their feeling, and I think they’d be right (on this site).

                Hacker or SRE are on-topic tech identities themselves, while sexuality, political stand, religion are not really.

                1. 5

                  Hacker is a political identity. For instance, it’s one that I find really degrading when associated to the whole profession. The nerd identity or the general infatilizing of programmers is degrading as well. These are tolerated because they are the majority’s identity in this specific niche and presented as “neutral” even though they are not.

                  1. 4

                    Well I see some positive vibe about the hacker word in the IT sector, if you remember there was some hacker glider logo thingie around the millennia. I’m not one of them, and agree with you, I also find hacker somewhat negative, and not because of the “evil hacker”, but of the unprofessional meanings of the phrase (eg. quick hack). Still lots of fellow professionals don’t agree on this one with us.

                    Regarding Nerd: I also find the phrase degrading, and I don’t understand those who refer to themselves as nerds in a positive context.

                    1. 7

                      I don’t understand those who refer to themselves as nerds in a positive context.

                      The best way of removing the degrading conotation of a word is to rewrite its meaning. The best way to do that is to unironically use it in a neutral-to-positive context.

                      1. 1

                        yeah but the problem is what you want to appropriate. The word “slut” has been reappropriated to defend the right for men and women to have sex freely without judgement. The word “nigger” has been reappropriated because black people are proud of being black. But the word “nerd”? “nerd” means being obsessed with stuff and have very poor social skill and connections. Reappropriating the word flirts very closely with glorifying social disfunctions, exclusion and individualism.

                        1. 4

                          Reappropriating is done because there are negative connotations that we want to take out of focus; that’s the whole point.

                          1. 1

                            but Nerd is imho all negative. The positive connotations, like being dedicated and consistent on a practice is not exclusive to being a nerd. Being nerd is not even stigmatized anymore: now it’s cool to be nerd and still it’s degrading, like being a circus freak. You reappropriate a word to remove a stigma towards a category, but the stigma is already gone and what is left is a very distorted portrayal of knowledge workers.

                            1. 4

                              That the stigma is gone is precisely because people took the term and ran with it.

                              Besides, I have no problem with assholes (whose opinion of me is no concern of mine) considering me a circus freak: it makes them keep themselves at a distance which means less work for me to get the same desirable result.

                              (Also: I disagree with the term “nerd” glorifying “social dysfunction” - normalizing, maybe, but that’s a very inclusive stance, especially when these “dysfunctions” are called by their proper name: neurodiversity. And what precisely is the problem with individualism again? And another tangent: knowledge workers aren’t necessarily nerds and nerds aren’t necessarily knowledge workers)

                              1. 1

                                I agree with all your values but it doesn’t seem like this is what’s happening in the real world. Inclusion of neurodiversity is happening only in small bubble in USA/NE: if anything, neurodiverse people are just more aware of being different. Good for coping, not that good for social inclusion. Really neurodiverse people are still rejected by the society at large and at best they get tokenized and made into heroes but not really included. Also this appropriation of the word detached the concept of nerd from neurodiversity that if it was ever a thing, it’s not a thing now. Today being nerd is wearing glasses and a checkered shirt. Then if you flirt flawlessly with girls, entertain complex social networks and work as a hair dresser, it’s enough to say your hobby is building radios and boom, you’re a nerd. I don’t see how this process would help neurodiverse people and I don’t see how it is good to have to live up to this stereotype to be included in the IT industry (because in most places, if you are not some flavor of nerd/geek, you’re looked at with suspicion)

          4. 16

            A lot of tech workers are furries (or furry-adjacent).

            I don’t doubt that a lot of furries (or furry-adjacent) might be tech workers, but I’m not sure your statement is accurate, given just how many tech workers there are.

          5. 7

            For most people, “Furries” is “that weird sex thing”. I can see a lot of people wanting to make it clear that sexual references are out of place in order to make tech a more comfortable and welcoming place for everyone. I suspect that famous Rails ‘pr0n star’ talk has (rightly) made people feel uncomfortable with sexual imagery in tech.

            I’ve upvoted because the content is good, but I’m also not really one for keeping things milquetoast. I’d like to see more content like this. The technical parts are worth reading, even though I have no interest whatsoever in furries, and mildly dislike the aesthetic.

            And yes – I’ve discovered today via google that it’s only a sex thing for 30% to 50% of the people in the subculture, but as an outsider, the sexual aspect is the only aspect I had ever heard people mention.

            Going forward, I’d just suggest ignoring the downvotes and moving on – they’ll always be there on anything that’s not boring corporate talk, and the threads like these just suck the air out of interesting conversation.

          6. 3

            [edit: content moved to different post, this was accidentally off-by-one click]

        2. 12

          Yiff it bothers you, why not just read it without the images? Firefox reader view works great fur me.

        3. 9

          It doesn’t claim to be for furries, it claims to be by one.

        4. 5

          Is it, though? If it was written as “a teacher’s guide to end-to-end encryption” would anybody be flagging it or carping about the title just because the intended / primary audience was teachers but the content could be abstracted to anybody who cared about end-to-end encryption?

          1. 11

            That’s a good type of question to ask, but your example title “A Teacher’s Guide …” is not equivalent. The author being a teacher could be highly relevant to the content of the article; for example, the article might especially focus on the easy-to-teach parts of encryption. The author being a furry, however, is likely to affect only the theme.

            Analogous titles would change “furry” to another subculture that is not innately connected to tech and that people choose rather than being born with. Two examples:

            • “Hide my Waifu: An Otaku’s Guide to End-to-End Encryption”
            • “Communication is Key: A Polyamorous Person’s Guide to End-to-End Encryption”

            Would people complain about those titles? I predict that yes, some people would, though fewer than those who are complaining about the furry-related title.

      5. 5

        Belatedly, but I’m following up on these flags. I missed this story and am reading through it now.

      6. 5

        Obviously it’s great that someone wants to give us this information. In return we should give them respect and thanks.

        Showcasing their identity not only gives personal color to the post, it also donates some of the credit to the community they identify with, rather than to some default security engineer type we might imagine.

        Thanks to this personal touch, some readers can no longer say furries are unintelligent, or never did anything for them.

    9. 2

      Hm very interesting… I would summarize this as:

      Turing incompleteness doesn’t have useful engineering properties

      (or at least it’s yet to be shown that it does)

      I “complained” about that here with respect to Dhall:

      This is similar to my claim that context-free grammars don’t have useful engineering properties. LALR(1) grammars do, and you lose a few things for those properties, which you would expect.

      (And this is in response to people hanging on to the word “context-free”, sort of as a shibboleth like Turing incompleteness).

      Likewise, regular languages do have useful engineering properties (“free lookahead”, soundness and completeness, linear time, constant space). Perl-style “regexes” less so.

      edit: Although I should be careful to say that this is about code and computation. If you have data like HTML, then I very much believe in the principle of least power:

      1. 1

        Can you elaborate on the Perl bit? I have never used it

        1. 1

          Sure, the short answer is that regexes and regular languages are different things, but most people don’t think of them as different. And it matters when writing code.

          Scroll down to the table here.

          I need to put this on the blog… been meaning to do that for a couple years :-/

          1. 1

            Oh I was more asking about why you prefixed it with Perl, I thought maybe Perl added certain modifications? Or did it actually popularize the notion of using regexes in current technical context in the first place?

            1. 1

              Yes, Perl is responsible for the enhancements which I would call “regex”.

              Historically, libc, awk, and grep/egrep used “regular languages”. Perl added constructs which makes them “regexes”. They look similar in terms of syntax, but are executed with an exponential backtracking algorithm rather than automata.

              This is bad property for engineering. Elaborated on in my blog post and comments.

              Perl-style regexes made their way into Python, Java, and many other languages, including by way of the PCRE engine, etc.

              I would say Unix popularized “regular languages” with ed/sed/grep/awk, and Perl popularized the “regex” variant.

              Most people are confused by this difference, but that’s why I use 2 different names for them. See the table for more ways to think about the difference.

    10. 1

      As someone said I’m also glad for innovation happening in the desktop space, just on comment on the website, you should consider presenting a couple of screenshots as the first thing maybe

    11. 4

      Rust sits in an interesting spot between being “fancier C” and “dumber Haskell”. Depending who you ask, it either has “enums with data” or “algebraic data types”.

      Some people who work on Rust are experts in programming language theory. The upside is that they help Rust avoid pitfalls and unsoundness holes in the design, but on the other hand some PLT jargon sips through.

      1. 6

        Maybe some of that “PLT jargon” deserves to be more widely used? (Certainly not all of it, of course.) I mean it doesn’t seem to be a major problem in the Rust community (to my inexperienced eyes) and knowing what concepts like algebraic data types are is sort of useful: “enums with data” doesn’t really point you to a wider compositional framework for thinking about types and data structures.

        1. 2

          I’m confused at what’s being discussed here. Jargon is part of this text, especially introduction of jargon.

          The point of simple English is not avoiding jargon, it’s using a very limited set of words for explanations and avoiding fancy constructions and idioms that put additional load on the reader.

          1. 1

            I guess the problem with simple English is that you reduce the bandwidth the text has. Perhaps the problem isn’t jargon, but rather the assumptions that the readers will know the same jargon you do. Thus, when explaining things, you should put things into their frame of reference. I have little CS grounding, but that doesn’t mean I lack common context…

            1. 3

              I don’t see the problem you describe. The text is very outspoken (in the first few sentences) on who the target audience are: particularly people that struggle with fancy English text, e.g. 2nd or 3rd language speakers. The whole point is reducing bandwidth problems resulting from additional cognitive load. Jargon is not mentioned as a goal.

              You may just not be in the audience.

      2. 1

        Interesting, I haven’t heard anyone describe it as “dumber Haskell.” I feel like the language purposefully chose different trade-offs from Haskell, specifically that mutability is not inherently bad (Haskell) but that shared mutability is bad (Rust).

        The only area I’ve heard hardcore PLT people complain about is the lack of GATs, but that is being worked on and is more just a temporary thing.

        1. 1

          That “dumber Haskell” is in jest of course. Rust isn’t going to get HKT or currying, but there’s enough of a type system there to attract attention of some Haskellers.

          1. 1

            Oh certainly in jest, but every joke has a hint of truth! I’ve just found that Haskellers and other hardcore PLT folk tend to appreciate Rust and Rust’s type system.

            Of course hardcore Haskellers are on a different level, so I could see that.

    12. 29

      This is a very long winded article and yet in a way it stopped too short. The thesis is that software didn’t go wrong but that software exists in an environment motivated by capital. The intuition that the problem isn’t software but the context that software lives in is a good one. But the author shouldn’t have stopped at Capital. The problem is that Capital exists in a context as well. At it’s crux the issue is human nature. Human nature has a number of failure modes. Those failure modes manifest in the use and accumulation of Capital as well in the development of code and in fact in any alternative attempt to replace Capital as a motivation.

      Solving the failure modes of software requires solving the failure modes of human beings.

      1. 36

        There is a reflex in anglophone online discussion to jump straight to attributing the state of capitalism in the US to fundamental forces of the universe, as if the sad state of healthcare provision, public transport, employment law, infrastructure etc etc are just inevitable because Human Nature. And also it has to be this way because the alternative is communism.

        It seems to wilfully ignore most of the rest of the developed world. You can make useful inroads into this problem with boring, un-pontificatey, un-weary-old-sage stuff like policy and government and compromise and all the other things that are deeply unfashionable to the point of being broken at the moment. It does work if you let it. The state of the examples I gave above are the result of active choices made by Americans, knowingly or otherwise. I am not saying for a second e.g. north west Europe is perfect, that is impossible because it is impossible to solve the failure modes of human beings. They have merely made a different choice to Americans about how they want their society to be (e.g. the things I mentioned above are a higher priority).

        At the present time, the USA is one of the easiest places in the world to become a billionaire, unhindered (relatively) by constraints societal, regulatory and moral that exist in other places (the recent tax cuts, the wealth gospel, marking up insulin 1000% would all be seen as Martian to a Dane, for example). Americans voted for this. The only other similarly fertile time for rapidly-accumulated billions in recent history was the oligarch class that formed in the vacuum of the collapsed USSR. Though in that case the absence of effective government and regulation wasn’t as a result of an active choice by the citizens.

        Choosing to remove many of the constraints against rapid capital accumulation is now really starting to eat into the things that gave america its strengths in the first place, such as good research and the ability to spin that research into productive industries. R&D labs are expensive and don’t survive CFO-orchestrated mergers. You can’t innovate in your Valley garage anymore because you can’t afford to buy the house with the garage from the Instagram employee who is selling it. I shouldn’t even use the valley in my example as a shorthand for an innovative place. It used to be an engine of technological innovation, now it only is if you squint really hard to try and see selling adverts as a branch of computer science. Instagram replaced Intel. Good on the VCs for taking the valley and shaping it in the way that maximises the rate at which they accumulate capital, they are winning the game whose rules were written by the American electorate.

        The sentiment ‘We won’t get anywhere until we solve human nature’ is a false dichotomy [the choice being between the status quo or some singular revolution in human behaviour] and quite seductive to people like us who like grand, clever, sexy [a troublesome used deliberately here] new advances to cleanly solve existing problems. (c.f. the grim and now-parodied heydays of TED where people queued up to pronounce things like ‘Technology Will Fix Education’).

        Your messiah won’t come and fix it. You, I, we all need to take the basics seriously and make careful choices in our everyday lives. It’s much less convenient for me at the moment to buy an oven glove online from a local kitchenware place than from amazon, but I do because it’s important. I spent $30 instead of $5 to get my hobby PCBs made in this country rather than in China because it’s important. I walked in the cold rain when I was tempted to stay inside to canvas for a local political cause because it’s important. None of these are big revolutionary things, they’re just trying to be a better cog in the machinery of my society (and all of us exist within and shape our societies, even if we don’t want to) because that’s important. The basics are important. Regulators musn’t turn a blind eye to the accumulating shortcuts of their industries. The law must apply to everyone. Lobbying is bribery by any other name but is much more tightly regulated in other countries. The money in politics must be transparent.

        All of these basics are difficult and boring and tiresome and essential and effective.

        1. 5

          I think it’s very helpful to view capitalism as an inevitable force of nature. Just like many other forces of nature, we want to mitigate, redirect and transform some of its effects. Wind is fine, storms and hurricanes require defensive action. Rivers are useful and even nice, but we need to guard against flooding and sometimes want/need to canalize a part.

          Capitalism may be human nature, but that implies nothing about the acceptable/desirable consequences. If someone thinks otherwise, they are simply committing the naturalistic fallacy.

          1. 2

            This is an important point that too often gets left behind. Capitalism isn’t some option off a menu you choose when setting up your government. It exists now, it will exist in the future, it will always exist. The study of economics isn’t something we do because we control it, it’s something that already happens that we seek to more fully understand.v You can take the most oppressive regime in history, perhaps with every bit of money controlled by the state, and there was still capitalism. The “capital” just switched over to political influence, reputation, and so forth. The same principles apply.

            History show us that the only thing you can really control about capitalism is how much of it you want to be overt versus covert.

            These discussion are really sad to read. We start off with everything being about money: who has money, who doesn’t have money, who has too little, who has too much, and so forth. Then we venture on this long and winding journey around whatever problem we’re trying to analyze only to end back up where we started. Turns out? The problem was all about money! That’s the problem!

            If I can take your premise and know how your analysis is going to conclude, you’re not doing much in the way of analysis. At best you’re simply regurgitating ideas you’ve consumed elsewhere and mangling them together. That might make for well-written and great prose, by the way. It could easily make for a piece of text worth reading and sharing with others. It’s just not going anywhere that we haven’t already gone a thousand times before.

            1. 2

              It exists now, it will exist in the future, it will always exist.

              Capitalism is an economic system that was created by people, and put into effect by force. There is nothing inevitable about it and it’s heavily reliant on the societal ideals and values, and seeks to manipulate them through media, and the very language that we use to talk about things, to ensure that it continues.

              The idea that we cannot build a different economic system, that might or might not involve money, ignores the fact that the dynamics of capitalism are fundamentally just societal agreements and social normals. And that societies have had, and current have, very different variations along that concept. It buys in to the idea that capitalism was a natural development, when it is anything but.

              In addition, your analysis that the person you are responding to is regurgitating ideas is entirely ignorant of the fact that that is all you are doing. You’re not stating anything new, you’re not even stating factual or historically correct information. You’re regurgitating half-thought ideas that have been passed along to you by your culture that you and others haven’t properly analysed, nor have you clearly read any analyses or critiques of those ideas. The fact that you’re using this to shame someone else is amazing, quite frankly.

              Please go and read The Origins of Capitalism by Meiksins-Wood. It’s an academic work but it’s very, very good. I’d also recommend Anthony Kenny’s History of Philosophy, purely because you don’t seem to believe that culture as a whole, and the zeitgeist specifically has changed massively over time, and not just through scientific evidence. For example, before JS Mills, morality was thought to be based on an inherent good or bad quality of the act. It was an impossible and clearly wrong idea that it could depend on the context in which an act takes place to determine whether it is a good act or a bad act. If morality itself depends on your societal context, just think about how deeply complex systems depend on specific circumstances and beliefs, and how much they could differ if those beliefs and circumstnaces were changed.

              1. 1

                I will consider this. Thank you.

                I am afraid, however, that I already know where this is going before it even begins. This is going to be about the classic definition of capitalism while I was talking more about something that academically might be called “free trade”

                I tried to make that clear by my examples. Apologies if I failed. I felt it was important to bring the conversation down to the vernacular and not get too far into semantics, history, and economic theory. But your point is a good one. I’m just not sure it’s relevant given the examples I provided.

        2. 3

          This should be posted somewhere on a website of writing to be better preserved than a comment on a story posted Lobsters (not that there’s anything wrong with Lobsters comments …).

          What you write sinks to the core of my being and the life I’ve carved out for myself in the United States. My friends think I’m crazy for moving to a small town and making due with the (largely) older population that still resides here. Where’s the nightlife? Where’s the easy entertainment?

          We buy less. We consume less. We build more. My kids are being raised knowing that when you hatch chicks, that one with a deformed leg will die, and it wont be anyone’s fault. But they see the miracle of two dozen other chicks grow into livestock that provides us with eggs. We then turn around and sell the eggs to make a small profit compared to the input of grain. In this way we participate in our own version of capitalism, but we’re not trying to convert two dozen eggs a day into 10,000. I don’t need cancerous growth to show my kids how to live a high quality life.

          Choosing the slow growth is hard. Choosing to go without is hard. But the choices are there. Everyday we’re making choices that inform the world we live in.

          Thank you for giving me a train of thought to meditate on.

        3. 2

          I 100% agree, The key here is to recognize that people make particular choices and those choices have consequences and if you don’t address our tendency to make bad choices when misinformed or tempted in certain ways then no system you create to address the bad effects of those choices will succeed. Capitalism done wrong will have certain effects. Communism done wrong will have certain effects. Socialism done wrong will have certain effects.

          The defenders of those systems will all say “Well, that’s because they didn’t do it right.” To which I respond yes, and until you fix their tendency to do them wrong they will continue to do them wrong.

      2. 9

        That’s a great point. At the moment, capital is our primary representative of desire/human nature. And of course, this is the great bait-and-switch of capital, which convinces us that it is the real thing we desire; before capital, this “stand-in for desire” was earth itself, and then the body of the despot.

        It felt more productive to discuss software-under-capitalism than software-under-human-nature, not least because the article is long-winded and heady enough as it is. It’s also easier to take action against something more concrete, even if that concreteness is a trick. Just because things are human constructions or illusions doesn’t make their consequences any less real!

      3. 20

        Human beings existed in non-capitalist forms for the vast majority of the time we’ve been on this planet. Non-capitalist cultures are rare and dying these days. But this is due to forms of globalization, notably the history of colonization. It’s not human nature but domination, often violent, that has produced the current state of affairs where capitalism as a cultural form is seen as somehow being due to “human nature”, as if it weren’t in fact a historical production.

        1. 9

          What do you mean by non-capitalist, in this context? I suppose one of the features of modern capitalism – the idea that the pie can grow – is a relatively new one, as is the idea that competition is good for consumers. But usually, people who reject capitalism don’t seem to reject those parts.

          However, exchange on a relatively free market, which is the most important part of capitalism, has existed for probably the bulk of human history, and in the cases where it was disallowed, it still stuck around in the form of a black market.

          1. 12

            Various forms of exchange have existed for a really long time, but the best way to delineate ‘capitalism’ and ‘not-capitalism’ is to look at the general mode of production prevalent in society. In 900 AD, most people worked under personal obligations, i.e. their labour was not sold on the free market, and the point of producing goods wasn’t to satisfy a profit motive, rather to satisfy need and a mesh of social obligations. Only in capitalism is most work organized and most goods produced under this generalized framework of selling them, only there is labour treated as a commodity.

            This is a simple, factual difference in how the economy works. You need a name for it, and ‘capitalism’ has always been that name. You can say that ‘capitalism’ actually means ‘exchange, in whatever form, is present’, but most people don’t mean that when they think of capitalism.

            1. 3

              I’ve seen different people use capitalism very differently, which is why I asked. I find that it’s usually worth stripping the -isms before starting a discussion. It both clarifies the terms, and reduces the emotional attachment to them.

              As far as human nature goes – I don’t buy that free trade is human nature, but I do think that wanting to move past a subsistence mode of living is. Then, once there’s largely enough stuff to survive, people start wanting to have different stuff from other people, which caters to their different tastes, and markets are an effective way to achieve that.

          2. 3

            there are arguments that the root of capitalism is in the neolithic revolution, but again, most of the time humans existed out of this structures and some still do. There are concepts like gift economy, collective property and so on that escape what you’re describing. It’s true that in some contexts people reverted to black markets, but as a reaction to existing economic structures that made it valuable. This is not a universal truth but specific to a (indeed quite broad) subset of economic systems.

        2. 2

          This is true but doesn’t invalidate the point. Those cultures also had failure modes some of them the same as the current failure modes.

      4. 1

        Those failure modes manifest in the use and accumulation of Capita

        Considering among capital are medicine and other things meant to improve our lives, I have a hard time seeing this as a failure. Rather it turns out most people don’t want to excersize their minds, and would rather spend their days watching cat videos. So that’s what we got.

        The failure of humanity seems to be the desire for idleness.

        1. 17

          Considering among capital are medicine and other things meant to improve our lives, I have a hard time seeing this as a failure.

          How, exactly, is medicine about capital? If you remove a capitalist system we don’t suddenly lose the ability to treat people, or develop new medicines. In fact, the current ways of doing both of those things are grossly inefficient, where people who cannot afford to get treatment run the risk of debilitating illness or death, and where research companies do not publish data simply because they invested capital in developing a drug that is, at best, no better than placebo.

          Rather it turns out most people don’t want to excersize their minds, and would rather spend their days watching cat videos. So that’s what we got.

          That’s not really the case though. The capitalist system itself causes stress on people, especially low-income people (which make up the majority). Not only could most of the work at the moment be done by less people (See: In Praise of Idleness by Bertrand Russell, and Bullshit Jobs by David Graeber), but removing stress from people’s lives allows them the opportunity to grow and focus. The idea that people who aren’t working are inherently a) of less value to society, and b) utterly unproductive, is a fallacy and a product of Religious Dogma (“Idle hands are the Devil’s workshop”). Stress kills creativity, if people didn’t have to struggle to survive (See: literally any UBI study), they not only tend to be more productive, or take valued roles in society that are scarce because they don’t have to work for the means to survive, but also they tend to be more creative. In fact, Eric S. Raymond (For however many his flaws are, and the fact that he is on the opposing side of my argument because of decades of cultural McCarthyism), in one of the essays in The Cathedral and the Bazaar, himself goes over the fact that, once the basic means are sorted, higher wages are not correlated with productivity, the basic measure that the capitalist system has for an individual’s productivity is inherently broken.

          Capitalism was a system created and enforced on people by force (As Meiksins-Wood shows in The Origins of Capitalism), it is not a natural system, and has nothing to do with human nature. In fact, it hampers it. Things that people used to do, like giving gifts, being productive, collaboration, etc. are suddenly viewed only through the lens of capitalist exchange, which twists those actions to be solely about capital. Even idleness itself is under the force of capital, people who are throwing up because they are stressed, have even more stress because they feel they are failing themselves for not being able to work! The very act of idleness is now about exchanging economic activity, and about driving the economy. If you look at say, leasure activities in the early 20th century compared to the late 20th century, it goes from “Going to the local club for a round of badminton” to something much, much more focused on consumption, you can see this shift happening in around the 1960s to the 1980s.

          Capitalism made it so that, suddenly, the only worth of a human being is for them to produce capital, almost always for other people. Human beings don’t just suddenly stop functioning and become mindless machines because they are outside of capitalism, that in itself is propaganda that has been shown to be false.

          We are worth more, we can do more.

          1. 4

            Things that people used to do, like giving gifts, being productive, collaboration, etc. are suddenly viewed only through the lens of capitalist exchange, which twists those actions to be solely about capital.

            They used to do other things before the invention of Capital too, like subjugating others, taking from others by force, killing others. The point I was trying to make is that Capital in and of itself doesn’t cause those failure modes anymore than anything else. It’s just part of who we are. We have failures modes like any other system and attempting to solve problems by blaming them on a tool is failing to recognize the root cause: Human Nature.

            1. 4

              I mean, that doesn’t really track with the facts. There have been people who were good leaders that led people to believe things that caused them to murder, and kill, and subjugate, but those aren’t necessarily inherent to human nature. Most of those things are believed to be an necessity by the people involved (Zionism, for example was seen as colonialism by the people who created it, but it was justified as an existential necessity, and they wrote entire books outlining their reasons. The cold war was seen as an existential destruction on both sides. Naziism was seen and justified as making the world a better place, free of ‘lesser’ people – My Nan grew up under Nazi Germany, in a reasonably middle class family, he was seen in a positive light because he got rid of unemployment. He also lowered education standards to an abominable level for the women, the amount of things my nan was just completely uneducated on at 87 years of age was astonishing, she didn’t even understand “what held up the planets”), or just fact of the world (look at slavery, justified as being inherently and genetically lesser, and as soon as white folks came across science we invested a lot of money and time into backing that up ideologically).

              While there are a handful of killers that kill without motive, most mass killers kill because they believe it will make the world a better place, because of their worldview. The fact that people create intricate justifications for the things that they do – which is well proven through the records we can find going back literally thousands of years, show very clearly, humans aren’t inherently hostile, except when they believe they’re in no other position, or a leader becomes greedy and convinces people that there is no other choice (Or when they don’t have to be convinced, when they’re in a societal position that ensures they will follow the commands).

              On the large, modern studies show that humans are naturally cooperative, and not inherently selfish, and there’s around several centuries of anarchist literature where people give more evidence towards that fact, and everything else I’ve outlined above.

              1. 5

                Zionism, for example was seen as colonialism by the people who created it, but it was justified as an existential necessity, and they wrote entire books outlining their reasons.

                It makes me incredibly uncomfortable to see this crop up in an argument about oppressive economic systems. Zionism is a deeply complicated topic that seems to so often collapse into “Jews bad”.

                1. 3

                  I can understand why you feel it’s uncomfortable, I feel the same. However, my point was correct, while Zionism is a complex topic, the founders of the movement explicitly called it colonialism multiple times, see this twitter thread with excerpts from their writing (Which you can stick into Google to pull sources for them, if you don’t believe them):

                  Jabotinsky, Herzl, Nordau, Ussishkin, and other founders of Zionism clearly stating it’s colonialism

                  You are right we must not mistake and conflate critique of Zionism, which is a specific political ideology, with hate towards Jewish people, who follow a religious belief and have massively different political tendencies within that belief system, and you are right that there is a lot of overlap between people who critique Zionism, and people who have hatred for Jewish people, which is wildly unfortunate, as they stand in the way of actual critiques of Zionism.

                  1. 16

                    the founders of the movement explicitly called it colonialism multiple times, see this twitter thread with excerpts from their writing (Which you can stick into Google to pull sources for them, if you don’t believe them):

                    First, I looked up the source of your linked “quote”. The only places it appears is on antisemitic and anti-Zionist websites. More digging eventually got me to the essay they claim to quote, The Iron Wall, which doesn’t have the quote. Everybody said “it’s in the source!” but nobody actually read the source.

                    (It does have deeply troubling anti-Arab statements, which I don’t deny, but the gulf between what it’s saying and what people are saying it’s saying is vast.)

                    Second, that’s a bait and switch. You’re conflating colonization as we understand it as an oppressive system with how they used “colonization”, which is literally just “moving to a new land.” You can’t call them the modern interpretation of colonialism because it appears in a text, translated from Russian, from a hundred years ago.

                    Third, Zionism isn’t a specific political ideology. It’s a set of similar concepts that form a mishmash of different political ideologies, just like “leftism” doesn’t mean “Leninist.”

                    Fourth, there is a lot of conflation between anti-Zionism and antisemitism by intention of anti-Zionists. Look up the history of “Zionology” and the Soviet effort to get Zionism declared a form of racism.

                    I’m pretty mad about this because I’ve been challenged on this everybody in “progressive circles”. People have asked me at conferences “what do you think about the Israel-Palestine conflict?” I’ve had to otherwise totally progressive people that no, Israel is not an “apartheid state”, yes, Arabs are allowed to vote, no, Israel didn’t start the Six-Day War. Antisemitism is socially acceptable in leftist circles and saying “I understand why you feel uncomfortable” doesn’t absolve anyone of anything.

                    1. 3

                      How can I upvote this 1000 times.

                    2. 2

                      Did you actually do the research? You’re right that the quotes appear on anti-Semitic websites, but this includes the ones where the quotes come from primary sources (Such as diaries written by the quoted leaders, or books written by them), so that doesn’t mean anything whatsoever.

                      I referred to the full thread, so let’s go through them and dig up the citations in sequence, as you will see, many of them come from the horses’ mouth:

                      1) The second numbered tweet (but the first one with an image and citation) comes from page 7 of “The Case for Palestine: An International Law Perspective”, this in turn, cites the following works for the text highlighted in the twitter post:

                      “38. Abdallah Schleifer, The Fall of Jerusalem”, p 23

                      Which is a book written by Abdallah Schleifer, born to a secular Jewish family, a “prominent Middle East expert”, and a former member of the US foreign policy research institute.

                      “39. Raphael Patai (ed.) The Complete Diaries of Theodor Herzl (1960). p 1194”

                      Which is a collection of Theodor Herzl’s diary written by Patai, a Jewish-Hungarian Ethnographer.

                      Are you trying to tell me that Patai and Schleifer are Anti-semitic? If that’s the fact, then state it, make your case.

                      2) You’re right the second tweet (the one I linked to) comes from The Iron Wall by Jabotinsky. A seemingly trustworthy source I can find here is from, and it says:

                      There can be no voluntary agreement between ourselves and the Palestine Arabs. Not now, nor in the prospective future. I say this with such conviction, not because I want to hurt the moderate Zionists. I do not believe that they will be hurt. Except for those who were born blind, they realised long ago that it is utterly impossible to obtain the voluntary consent of the Palestine Arabs for converting “Palestine” from an Arab country into a country with a Jewish majority.

                      My readers have a general idea of the history of colonisation in other countries. I suggest that they consider all the precedents with which they are acquainted, and see whether there is one solitary instance of any colonisation being carried on with the consent of the native population. There is no such precedent. The native populations, civilised or uncivilised, have always stubbornly resisted the colonists, irrespective of whether they were civilised or savage. And it made no difference whatever whether the colonists behaved decently or not. The companions of Cortez and Pizzaro or (as some people will remind us) our own ancestors under Joshua Ben Nun, behaved like brigands; but the Pilgrim Fathers, the first real pioneers of North America, were people of the highest morality, who did not want to do harm to anyone, least of all to the Red Indians, and they honestly believed that there was room enough in the prairies both for the Paleface and the Redskin. Yet the native population fought with the same ferocity against the good colonists as against the bad. Every native population, civilised or not, regards its lands as its national home, of which it is the sole master, and it wants to retain that mastery always; it will refuse to admit not only new masters but, even new partners or collaborators.

                      He very clearly likens it to colonialism, through a direct analogy, and from then on I think the variance is one caused by the translation chosen. Whether this one is more true or less true to the words he wrote is something a native reader will have to determine.

                      3) The next citation (the 4th twitter post) can be traced to “Zionism and Anti-Semitism”, a book that was written by Nordau and Gottheil, it is a primary source.

                      4) The 5th twitter post was by Ussishkin. Ussishkin’s writings are, according to the Jewish Virtual Library recorded in two volumes, neither of which I can find online (I have found previous works via libgen, for example). They are presumably in hebrew, so I wouldn’t be able to read it anyway unfortunately.

                      This citation comes from “Expulsion Of The Palestinians” by Masalha, who is a (Palestinian (? Is that the right way to phrase that?)) academic. The book lists in the Bibliography (Sorry if I mistype anything, because I can’t copy and paste this): “See the minutes of his meeting on 24 September 1941. CAB 65/23. His pro-Zionist Secretary for India, Leopold Amery, endorsed the idea; see his letter to Churchill dated 4 October 1941, cited in Nathaniel Katzburg, Mendinlyut Bemavoch: Mendinlyut Britania Beeretz -Yisrael [The British Policy in the Land of Israel 1940-1945] (Jerusalem: 1977), p. 18.”. I will leave it to you to find those.

                      5) His sixth tweet makes reference to The Palestine Jewish Colonization Association (wiki), the Jewish Colonial Trust (jewish virtual library), and the Jewish Agency’s Colonization Department (American Jewish Archives).

                      Afterword: One must, indeed, wonder if Zionism isn’t Colonialism, why do multiple Zionist leaders proclaim it to be Colonialism, and why do the names of many pro-Zionist organizations explicit contain references to Colonialism?! I don’t see any other explanation other than the Zionists themselves, believed it to be Colonialism.

                      That’s a bait and switch. You’re conflating colonization as we understand it as an oppressive system with how they used “colonization”, which is literally just “moving to a new land.” You can’t call them the modern interpretation of colonialism because it appears in a text, translated from Russian, from a hundred years ago.

                      But doesn’t Jabotinsky, in the quote above, refer to fighting off existing people? What else is colonialism if not removing people who are already existing in a land, so you can settle there yourself? Also, I think I have a fair grasp of how people from the 1800s in Russia use the word colonialism, I’ve read Trotsky, Lenin, and Marx. All of whom make reference to those terms and use it in the same way we do today. The usage back then was not any different to the one we use now.

                      the Soviet effort to get Zionism declared a form of racism.

                      Both Lenin and Stalin were loudly outspoken against Anti-Semitism. The Bolsheviks and Mensheviks had a significant proportion of Jewish members, and the monarchy had treated Jewish people abominably. Shorly before the Russian Revolution, fascists (for want of a better term) locked a village full of Jewish people in a church and set it alight, just one of the many horrific incidents to happen. Before the Russian Revolution Jewish people were – quite literally – under attack. One of the few remaining recordings of Lenin is one of him giving a speech against anti-Semitism. There’s a good quote on Wikipedia from Stalin in 1931. And during the war he relocated Jews in areas that were at risk of coming under Nazi control.

                      1. 0

                        Oh! Hey! What’s this? A Jewish anti-Zionist song??

                        And a pro-Soviet anti-Fascist Jewish folk song?

                        Maybe it turns out Jewish people are real people and have views all across the Political Spectrum? Hmmm 🤔🤔

                    3. 1

                      I’d like to point out that the Polish government believed Madagascar was a good option because 1) it removed a population from the countryside, and 2) it extended polish influence as Colonialism. So certain strains of Zionism were in fact colonialist in justification.

          2. 1

            …himself goes over the fact that, once the basic means are sorted, higher wages are not correlated with productivity, the basic measure that the capitalist system has for an individual’s productivity is inherently broken.

            I’d like to read what economists think about this but this sentence is subtly wrong in my opinion.

            I think we should start to say that for a lot of positions, an individual’s productivity is awfully hard to measure, and in some cases it’s even hard to define (cf. all the art of counting lines of code). This is always true, for both Marxism, capitalism and whatsoever, right?

            Then, in a capitalist system, wages are a statement of the natural outcome of supply and demand, which means that they can vary a lot between companies, positions and locations. In my opinion this is - by design - not a reliable measure of productivity across positions and locations. And for the same position at the same location within the same company it doesn’t work at all if productivity is hard to measure for the position.

            In fact I see capitalism as a system where wages are naturally not correlated with productivity. I also think that money can’t really buy happiness so in overall, I don’t care a lot about it.

            1. 4

              Right - ‘Productivity’ is not an objective measure, because it’s easy to produce things nobody wants.

              Once upon a time, Capitalism solved that by moving decision-making power closer to the information - but wealth concentration has diluted that advantage to homeopathic levels.

            2. 3

              That’s a fair point! And I’m very likely wrong on that front, given more consideration! The rest of it still stands :)

            3. 1

              I don’t have any arguments against the rest of it, but:

              I also think that money can’t really buy happiness so in overall, I don’t care a lot about it.

              Fundamentally, for anything sub- 30-50k/mo, more money means significant quality of life improvements. Preliminary tests of UBI have shown massive health improvements in low wage populations. Money is the gatekeeper for medical care, for access to basic necessities, and recreational activity. It’s also the gatekeeper for changing jobs, changing your environment, and removing yourself from hostile and abusive scenarios that are damaging to your mental health.

              I think this idea of downplaying that “money can’t buy happiness” is foolish. Nobody has claimed that money is a direct line to happiness, however it’s the main, sometimes only, gatekeeper between us and the solutions to almost all of the material problems that plague pretty much everyone who isn’t earning around or above the aforementioned wage line.

              I know and have heard en-masse of people who have lost their entire lives to work, simply trying to get their children into a better financial situation, so they do not have to know that pain too. I know people in the south of the USA, describe how working constantly and not having time has become so ingrained into their culture that “not having time to see your kids” is an expression of love.

              I know people who have been forced to work for abusive managers, or been forced to live in abusive households, because the cost of moving themselves out of that scenario was ridiculously, ludicrously high, and because they are completely unable to obtain that money, because of their impacted mental health.

              I know people who have died from mental health and physical health problems because they were unable to afford treatment, or who end up living with lifelong injury because they do not have the time to see the doctor, or pay for better ones. And, just to contextualise that, I live in a country where healthcare is free – ideally there shouldn’t be a cost to that, but all of the best doctors

              I know extremely intelligent and smart people who can’t find the time to work on projects that would improve, in a small way, people’s lives, because they wouldn’t be able to make a living off it.

          3. 1

            Do you actually believe that stuff?

            1. 2

              I don’t need to believe it. Read the literature, it’s been very clearly shown.

              1. 0

                The question to be answered is: what is to be done with one’s labor. Capitalism answers that with “it’s to remain with the laborer.” There is no other answer that can be moral, not if one takes as True that people may possess.

                Quite clearly shown is clearly in the eye of the beholder.

                1. 6

                  Capitalism’s answer is that labor should typically be rented out to the employer under employment contracts enforced by the state. That’s not exactly the same as “remaining with the laborer.” David Ellerman makes this point quite forcefully.

                  1. 1

                    It remains with the laborer because they get to see the results of their labor in the form of a paycheck which can be redeemed for others’ labor. Unlike other systems where your needs are taken care of regardless of your value.

                    1. 3

                      It’s just that the employment contract specifies that everything produced and consumed by the work is the responsibility of the employer, not the employee—so as a coder, everything you make is appropriated by the company.

                      If you sold your whole future labor under such conditions it would rightly be considered a version of slavery. But in capitalism we rent labor, we don’t buy it.

                2. 5

                  The question to be answered is: what is to be done with one’s labor. Capitalism answers that with “it’s to remain with the laborer.”

                  and the laborer has no other choice than giving it away for the least amount of compensation the market allows? like a casino, the market always favours the capital. there may be some irregularity across the different occupations (tech jobs currently have it better than most), but as a whole, those who have the capital decide how much compensation you will get for your work force. and that will always (by definition of the market) the least amount possible to keep the system running.

                  1. 1

                    and the laborer has no other choice than giving it away for the least amount of compensation the market allows?

                    The option always exists to assert the market would pay more, in which case additional compensation is granted, or to work in a different field, or to not work at all, so long as you yourself didn’t steal others’ labor. The capitalist system creates value out of thin air, because one thing the Marxists get right is the value added by a person is far more than their compensation.

                    1. 3

                      The option always exists to assert the market would pay more, in which case additional compensation is granted

                      i think that in certain sectors the “prices” for labour are being fixed by the capital at the lowest point possible, most commonly in sectors which don’t require much education. unions are at a point where they are more or less corrupt and are being bought. capitalism is excellent in defending itself :)

                      or to work in a different field, or to not work at all, so long as you yourself didn’t steal others’ labor.

                      i don’t really know what to reply to this? work as something which requires a medium amount of education (x years). so i can choose between not being payed enough for my job or saying “fuck it” and have a severely reduced income in the next y years while being retrained? that’s not really an option, just like “don’t work at all”.

                      1. 1

                        They are always options, and depending on the individual’s circumstances, they may be the right or wrong options. That’s all.

                        1. 4

                          They are always options, and depending on the individual’s circumstances, they may be the right or wrong options. That’s all.

                          i don’t see much of an option in the sense of “things one can choose between”. shitty payment or unemployment is most of the time a straight route to poverty which in turn leads to social and health problems leading to making it difficult being employed again. that some people can pull themselves out of this by their bootstraps doesn’t validate the “you only have to try hard enough” meme.

                          what is lost by making sure people are paid well? bezos n-th billion? what is gained? the possibility of having a non-cutthroat society where it’s members can focus on being social (note the similarity of “social” and “society”) instead of thinking of the best way to get the most money.

                    2. 2

                      or to work in a different field, or to not work at all

                      That isn’t really the case. Many people on low-income jobs, many skilled people forced to work such jobs, are unable to do that.

        2. 4

          I wasn’t implying that using and accumulating capital were instrinsically failure modes. My point was that many of our failure modes manifest in the process of using and accumulating capital. Similarly to the way that they manifest when writing software.

        3. 1

          The failure of humanity seems to be the desire for idleness.

          If anything, I’d put it completely the other way. It is the impossibility of being content, of merely sitting in an empty room doing anything but being with our thoughts (going as far as giving ourselves electric shocks instead of being idle), that pushes ourselves to do anything (be it watching kitten videos, or accumulate useless capital) to push the burden of sentience away.

          1. 1

            the impossibility of being content

            This is how people grow though. We poke and prod and learn. Doing nothing doesn’t necessarily require being content, but it does require that your time be useless to yourself and others. Some people really want to do nothing.

      5. 1

        At it’s crux the issue is human nature. Human nature has a number of failure modes. Those failure modes manifest in the use and accumulation of Capital

        Accumulation of capital is not a failure mode. It is life serving its purpose, which is replication of genes. You are in a better position to do that the more stuff you have.

        If you have financial independence, many people are just going to play video games. They are not gonna become a pianist or a painter. Garbage in, garbage out, as they say. Softwares just empower people to do what they want to do better. And what they want is to be forever distracted.

        1. 4

          You’re going in a decent direction but miss the larger point: evolution optimizes for the population to survive, not individuals. That individuals get rich in this system is almost entirely due to how the economic, financial, and legal systems are constructed. The system also makes unhealthy, imprisons, and/or kills large numbers of people for both random and non-object reasons. That usually works against evolutionary goals.

          There’s other systems where the population as a whole has their needs met, are healthier, get good education, and sometime more time off work for leisurely activities. In well-run socialism, these benefits of their system mean that both the average individual and the population as a whole are more likely to survive and pass on their genes.

          Note: One might also look at the infant mortality rate of each country for this assessment. That’s a bit, too dark a subject for me this early in my morning. Probably others, too. I’ll pass on it for now.

          1. 2

            In well-run socialism,

            In a well-run utopia, everything is perfect.

            1. 3

              Now, you’re just trolling. A number of existing countries have the benefits I describe that increase evolutionary survivability. No need to theorize or bring in utopias.

              Even in theory, one should expect capitalism and free market might work against evolution because they work against individuals’ health. Companies and workers are always expected to do more for less overtime. That inevitably leads to more stress, less healthy ingredients in food, more toxins in environment, more dying from lack of healthcare, etc.

              It’s by design. Good news is you can let evolution do its thing and capitalism do its thing. You can be a fan of both. They are seperate for now unless you mean it protects the survival of rich kids’ genes. That might be true but with who knows what consequences.

            2. 3

              well, the usa took care that the non dictatorial socialist experiments would fail :)

          2. 2

            Well-run socialism is an oxymoron, did you maybe mean to say “social democracy” instead of “socialism”? The former is a way to organise society which has been adopted in some way by most western democracies, including the US - Medicare and Medicaid are examples of social programs which have been voted into being through a democratic process. Socialism is the precursor to communism and has never been shown to lead to anything but societal decline and poverty, often in combination with a stratified society where those who do not support the state in all it does - for better or for worse - are denied basic rights.

            Social democracy is not the same as socialism. The DDR and the Soviet Union were socialist states. The Netherlands, Denmark, Sweden, Norway and Finland (and many more) are social democracies.

            1. 1

              The Netherlands, Denmark, Sweden, Norway and Finland (and many more) are social democracies.

              Yeah, that’s what I’m talking about. Three of those were even examples I was ready to give. They just call those socialist where I’m from. The ones you call socialist they call communist. Although I have memory problems, I’d probably still not be sure what term to use given the varying usages of socialist, left, right, etc in my country and outside it.

              So, looking it up on Wikipedia, it starts with “Social democracy is a political, social and economic philosophy within socialism… “ The linked article on Socialism itself includes my usage of the term. Is Wikipedia inaccurate where the social democracies aren’t in socialism or socialism not having multiple forms which include above countries? If so, it might be worth editing those articles to include the source for that, too.

              1. 3

                Well, there is ‘wrong’ and ‘wrong’. Social democracy is an amalgamation of some of the tenets of socialism and those of a democratic society with a market economy. It is an end stage in and of itself - social democracies do not strive after abolishing the market economy - where socialism is a precursor to communism, the ‘dictatorship of the proletariat’ with a socialist party in control of the state. Venezuela is the most recent example of such a state that I know of.

                Marx and Engels thought the workers would eventually revolt to get a more fair share of the value created by their labour. This is not what happened though, working conditions and rewards were improved in such a way that workers did not rise up in revolt. They voted ‘their’ candidates into power, organised in labour unions and got some of their demands met in this way. Some revolutionary socialists - Lenin being the best-known example - thought this was not enough and, disappointed by the refusal of the workers to revolt stated that the proletariat needed to be guided into the classless communist society through the dictatorship of the proletariat, i.e. a leading class of revolutionary socialists would take power by non-democratic means. It is at this point where socialism and social democracy parted ways around 100 years ago.

    13. 3

      You should check out Go! :)

      1. 1

        why? :)

        1. 1

          no inheritance

          1. 4

            Ah right. :-) I’m using Clojure though. This post was prompted by finding that Turbolinks had been rewritten in heavily-OOP TypeScript and it was just impossible to find what I was looking for. On the contrary, in their old codebase, called now turbolinks-classic, I found that code in a few minutes.

            1. 1

              true, but at the same time…turbolinks works a lot more often (for me, anyway) these days than it used to.

          2. 3

            Not just “no inheritance”, “no” a lot of other things too.

            1. 3

              It does have objects but uses composition instead of inheritance for code reuse.

    14. 1 - guess what differentiates it is writing about my Idris game and philosophy

    15. 2

      I like the post, but it looks like examples 1 and 2 are both from Type Driven Development with Idris. Example 1 is from section 12.1.1, and example 2 is from section 14.2. You reference the book in your first post, but I really think you should explicitly say that you got the code from the book in this post, too.

      1. 2

        Hm I thought this was clear:

        Still though, those exercises really do form the basic building blocks that you need to understand before dealing with larger systems, so I’ll present two of them from the Idris book

        But I’ll edit the post to be even clearer then

        1. 1

          Oop, I missed seeing that!

    16. 4

      This is extremely irrelevant to any student of math or working mathematician. If you have interesting pop-math to write about, just write about it directly, without the ridiculous pretense.

      1. 18

        This just isn’t true. Within the next four weeks, there will be a million cases at this rate.

        The panic is entirely rational.

        The virus isn’t the problem. The problem is that our social structures are at risk of breaking down under the strain of trying to care for everyone.

        1. 19

          Again, you’re not understanding that the risk isn’t the virus. The risk is everything you take for granted breaks down.

          Grocery stores. Hospitals. Public transit.

          Let me ask you this. Who do you think is going to take care of a million patients globally? Are there even enough beds? And when there’s not, then what?

          And that doesn’t even get into the question of what we should do with people who have the virus. Put ‘em in isolation, okay. Then what? People in isolation need food. Who’s going to bring it to them? When are they safe to release? Are they ever safe to release? If not, what then?

          Work out the exponential growth.

          It’d be one thing if the virus was only targeting certain subsets of the population. But it’s targeting all of us. Anyone can be a carrier, even if they’re not at risk of dying.

          If you don’t believe how fast this thing spreads, look at this:

          Merely driving someone to the hospital was enough. Close proximity = infection.

          1. 10

            My wife said something along the lines of “I have a conference in the summer, I guess we have all had the virus by then and life can go on as usual”.

            I did a quick back-of-the-envelope calculation to show that this is probably not what we want. I saw recent estimates that during a pandemic (which would probably happen if no further measures are taken) an expected ~60% of the population would be infected. I think the current statistics state that ~20% of the ill need to be hospitalized. The Netherlands has ~17 million inhabitants, so roughly ~2 million people would need to be hospitalized. Even if the 20% somewhat overestimated (because cases where COVID-19 is like a mild cold are not reported), this is going to be absolutely brutal. For reference, NL had 37.753 hospital beds in 2017 [1]. Of course, most hospital rooms are not going to be prepared for this scenario (fitted with proper fans, etc.). Besides that, this would also result in ~200,000 deaths (at the 2% mortality rate).

            Everything possible should be done to slow down this corona virus. First to have headway to scale up capacity and to have time to study existing cases to see what therapies are effective and what not (a vaccine is probably still too far away to be helpful).

            At least the officials in our country have been honest honest on what to expect. They try to avoid panic, but they have also stated in very clear terms that they believe that scenarios where a significant chunk of the population will be infected are realistic.


            1. 1

              Besides that, this would also result in ~200,000 deaths (at the 2% mortality rate).

              Nah, way higher. It’s 2% when those who need emergency care do get hospitalized. When the amount of available beds is a rounding error of the amount of needed ones, you’re in deep trouble wrt mortality rate.

            2. 15

              Since the serious cases require respirators and oxygen, there’s a threshold where mortality will increase sharply: when there are no more respirators available doctors are going to have to start making hard decisions.

              If we manage to keep the rate of new cases low enough, this will be not much worse than a normal flu. If the rate is too high, things look bleak for those over 70 years old.

              But it’s not like it’s an airborne ebola with an R0 rate of 5. The current media frenzy (social and traditional media alike) is overblown, IMHO.

      2. 1

        The number of active cases is on a down trend or stable at ~40.000. Certainly no trend towards a million.

        1. 6

          That’s because the majority of cases so far have been in China, which appears to have gotten the disease under control through strict lockdown/quarantine policies. If you look at the charts for the rest of the world on the same page, they tell a very different story: lagging behind China in absolute number of cases but a clear exponential growth rate.

    17. 7

      I mean, you’ve already established in past threads that you place a high value on your travel-centric lifestyle.

      Wash your hands, comply with local public health officials, and tell the truth about where you’ve been during border screenings.

      1. 0

        Sitting in SEA for three months doesn’t feel particularly travel-centric. I’m not backpacking. I’m renting an apartment and living here for an entire quarter.

        Also, I’m not sure if the command at the end of your comment was directed specifically at me. If it was, then that’s a pretty weird thing to say to a stranger.

        1. 5

          Ah, I think the ending that said “that’s the best any frequent traveler can do” was eaten by a grue.

          1. 2

            Ah, sorry. Yes, I think you’re right.

            Sorry for being defensive.

    18. 1

      I wonder, do you still hold this opinion?

      1. 0

        Yes. I still hold this opinion.

        I am in Vietnam, where they have done a relatively good job of containing the virus. People here are not self-isolating, and there is absolutely no panic-buying. There’s a seemingly endless supply of toilet paper and hand sanitiser.

        People here are wearing face masks in public places like supermarkets, but not at cafés or the beach.

        People are still working. People are still going into offices every day. We are going into an office every day.

        The sensationalism prevalent in Western society — and apparently also among the members of this forum — is the reason why people are panic-buying and our grandparents are put in a compromised position where they may have to do without basic supplies. I still think many people on this forum are very stupid. I won’t point fingers, but I will say again that the implication that COVID-19 is a life-long affliction is one of the stupidest things I’ve read in this community. We’re all meant to do some kind of scientific work, aren’t we? Doesn’t that mean measuring and looking at real data? Don’t we already have a huge amount of data on the recovery rate? Even if you [not you specifically] do think the panic is rational, surely nobody’s case is helped by just making shit up?

        Naturally I expect to get downvoted into oblivion again, as people are awfully touchy here.

  1. 10

    C++, why? Because I’ll be able to run the project in 10 or 20 years from now.

    Also, if you haven’t tried programming in C++11 or newer, you might be pleasantly surprised by how much easier it now.

    1. 3

      if you use dependencies, you better vendor them though, because otherwise who knows if they’ll still compile in 20y?

    2. 1

      As opposed to if it was made in Rust?

      1. 13

        Yes, I am not confident a Rust program I write now will run in 20 years.

        1. 4

          It seems like a bizarre criteria to discount an amazing improvement in the space of lower-level languages. I’m a bit jaded atm because my university is forcing me to write C++ code so I can’t imagine why someone would voluntarily choose it over Rust for personal projects over that criteria. Personal preference and experience sure, but that alone…

          1. 2

            I had the opinion you do about C++ for a long time (especially since a lot of the people I admire on here and the orange site have very strong opinions about it), but I tried it again and it is satisfyingly high-level with recent revisions and tooling has improved drastically. Rust might be the language of the future, but the amount of change that has occurred in the ecosystem (as with any newer language) could reasonably dissuade someone from selecting it for a long-term project.

            These days, I’d argue you’re not at all crazy for choosing to write a personal project in C++, especially if you’re interested in keeping it running for as long as possible and you like the language. Rust is also a valid choice.

            1. 1

              C++ does have nice tooling and nice libraries, and the best C interop ever (duh), but every time I have to debug a weird runtime issue I wish everything was written in either Rust or something with GC. (Recent example from a project I contribute to: creating a dangling pointer by accessing a field >_<)

              Also header files are very frustrating and ugly. In a language with classes, I want to see a Java/C#/D style class definition, not one where function bodies are split into a different file.

          2. 1

            C++ has a really simple memory model. Custom types act like native types. Everything is uniform.

            And honestly, pointers are just really powerful and C++ has a generalization of pointers called iterators which are even more powerful!

            Also, modern C++ is actually really easy to use. The libraries are just really good.

        2. 3

          +1. I’m a huge Rust advocate but until there are more implementations following a spec (which still doesn’t exist), I’m really with you on this one.

          What C++11 material do you suggest to get a quick overview of common practices and idioms?

          1. 2

            A Tour of C++ is pretty much the definitive short overview of modern C++. It isn’t designed to teach you everything, but if you’ve already used C++ and are just looking for an overview of what’s changed since pre-C++11, it’s probably the book you’re looking for. The second edition covers C++17 and some features expected to land in C++20, as well as some good historical context and plenty of non-trivial examples.

            If you’re ever in the position of learning C++ or JavaScript today, it’s probably better to start with the recent standards because the way C++ is written since the 2011 standard and the way JS is written since ES5 or so is very different from the old-school style. Most other languages don’t have such a sharp divide between “new” and “old”.

            1. 1

              it’s probably better to start with the recent standards because the way C++ is written since the 2011 standard and the way JS is written since ES5 or so is very different from the old-school style.

              I’m well versed in this :) I’m a JS survivor and veteran now.

          2. 1

            The spec exists: it’s the source code of the Rust compiler. Alternatives just gotta be behaviorally equivalent. ;)

            1. 3

              Yeah I expected someone to say this. This issue with this statement is the huge, massive conversation you can have about it :) I won’t give my opinion, but you can already probably tell what I think about it.

  2. 7

    After digging through the Go source code, we learned that Go will force a garbage collection run every 2 minutes at minimum. In other words, if garbage collection has not run for 2 minutes, regardless of heap growth, go will still force a garbage collection. We figured we could tune the garbage collector to happen more often in order to prevent large spikes, so we implemented an endpoint on the service to change the garbage collector GC Percent on the fly. Unfortunately, no matter how we configured the GC percent nothing changed. How could that be? It turns out, it was because we were not allocating memory quickly enough for it to force garbage collection to happen more often.

    As someone that’s not very familiar with GC design, this seems like an absurd hack. That this 2-minute hardcoded limitation is not even configurable comes across as amateurish even. I have no experience with Go – do people simply live with this and not talk about it?

    1. 13

      As someone who used to work on the Go team (check my hats… on the Cloud SDK, not on language/compiler), I would say that:

      1. It is a mistake to believe that anything related to the garbage collector is a hack. The people I met who worked on it were far smarter than I and often had conversations that went so far over my head I may as well have walked out the room for all I could contribute. They have been working on it a very long time (see the improvements in speed version over version). If it works a particular way, it is by design, not by hack. If it didn’t meet the design needs of Discord’s use case, then maybe that is something that could be worked on (or maybe a later version of Go would have actually fixed it anyway).
      2. Not providing knobs for most things is a Go design decision, as mentioned by @sanxiyn. This is true for the whole language. I have generally found that Go’s design is akin to “here is a knife that’s just about sharp enough to cut your dinner, but you’ll find it fairly difficult to cut yourself”. When I worked with Java, fiddling with garbage collection was just as likely (if not more) to make things worse it than was to make it better. Additionally, the more knobs you provide across the language, the harder it is to make things better automagicaly. I often tell people to write simpler Go that’s a little slower than complex Go that’s a little faster algorithmically because the compiler can probably optimize your simpler code. I would guess this also pertains to GC, but I don’t know anything about the underpinnings.
    2. 7

      One of explicit design goals of Go’s GC is not to have configurable parameters. Their self-imposed limit is two. See

      Frankly I think it is a strange design goal, but it’s not amateurism. It’s a pretty good implementation if you assume the same design goals. It’s just that design goals are plain weird.

    3. 14

      I have no experience with Go – do people simply live with this and not talk about it?

      My general impression is that tonnes of stuff about Go is basically “things from the 70s that Rob Pike likes”. Couple that with a closed language design team…

    4. 2

      It is configurable, though. You can set an environment variable to disable GC and then run it manually or you can just compile your own go with a bigger minimum interval.

      Either would be a lot less work than rewriting a whole server in rust, but maybe a rewrite was a good idea anyway for other reasons.

      1. 3

        or you can just compile your own go with a bigger minimum interval.

        I’m not sure “rewrite code to change constants then recompile” counts as “configurable”, nowadays.

  3. 69

    So, I love Rust, and all of the nice things they say about Rust are true. Having said that, I’m now going to completely ignore the Rust angle and focus on something else that occurred to me.

    To summarize Discord’s problem - after extensively optimizing a Go service to produce minimal garbage, they found that the garbage collector was still triggering every two minutes (which appears to be a hard minimum frequency) regardless of the lack of garbage produced. Further, each GC sweep was expensive because it had to walk the entire heap full of live objects.

    The interesting point to me is that this use case (latency-sensitive service with extremely low rates of garbage production) was pathological for a tracing GC, and that optimizing it to produce less garbage made it even more so. Tracing collectors operate on every live object and ignore dead objects, so a heap full of live objects and very few dead ones is a bad fit for a tracing collector. They solved their problem by switching to a reference counting system (well, “reference counting” where everything has exactly one owner and so you don’t actually need to count). Reference counting ignores live objects and operates on dead ones, so of course it would be a better fit for this service. If Go had a collector based on reference counting they probably could have gotten much of the same benefit without rewriting.

    This reminded me of “A Unified Theory of Garbage Collection” by Bacon et. al, but it hadn’t occurred to me before how optimizing the app to produce less garbage could make the GC’s job harder in some ways. It’s still better to reduce garbage production than to not do so, but it may not give as much benefit as one might expect because of this.

    1. 3

      They solved their problem by switching to a reference counting system (well, “reference counting” where everything has exactly one owner and so you don’t actually need to count). Reference counting ignores live objects and operates on dead ones, so of course it would be a better fit for this service.

      Aside from your wider point, it’s a little more subtle than that, because of abstractions like Rc which give a counted reference to a value, meaning multiple references. There’s also Arc which is an atomic reference counter for use in multiple threads. The first simple Rust program I wrote, I was guided to using Rc, so it’s not even uncommon. Without seeing their code, I’m willing to bet there are plenty of such cases in their code.

      1. 6

        The first simple Rust program I wrote, I was guided to using Rc, so it’s not even uncommon.

        Do you mind sharing what you were trying to do? I’ve been writing Rust for a long time now, and I can count on one hand the number of times I’ve needed Rc. I’ve used Arc a fair number of times though. Still, I’d probably call both pretty uncommon. But there are certainly types of programs where they may be more common.

        1. 4

          I’m currently making a game engine in Rust (rewriting my old Idris stuff) and I use it all the time, from day one. Some of it may be due to the problem at hand necessitating it, but some of it is surely my lack of experience in Rust. I think some of the problems might be solved with a more refined use of lifetimes… but I’ve been burned by structs+lifetimes before so I’d rather opt for something I have a better grasp of even if it’s more inelegant a solution.

          For example, my game has a Timeline object, which is basically the central source of truth about important game data (stuff that has to be saved). But it’s not a regular field, it’s an Rc, because I need to share it with Scene objects (which actually run the game logic). I could make a complex messaging system to telegraph the state changes between Server and multiple Scenes but again… I don’t really wanna.

          1. 2

            Yeah I’ve never made a game engine, so it’s hard for me to know whether Rc is truly beneficial there. In any case, I’m mostly just trying to push back against the notion that reference counting is common in Rust code. (And specifically, Rc.) I was just very curious about the “first simple Rust program” that someone wrote where they were guided towards using Rc.

            This is important because if reference counting were very common, then that would diminish the usefulness of the borrow checker. e.g., “What good is the borrow checker if you wind up needing to use reference counting so much?” Well, you don’t wind up needing to use reference counting a lot. There are of course many cases where reference counting is very useful, but that doesn’t mean it’s common among the entire body of Rust code.

        2. 1

          Just as an off-hand example from my experience: you basically can’t get anything done with GTK and Rust without Rc. Cf.

          I wrote boxcar-willie with assistance from the gtk-rs people.

          Some common web-app stuff will force you into that too.

          There are other situations and libraries that force it but these are the ones that come to mind from my own background. GUI apps and web apps already touches >80% of programmers.

          1. 2

            What part of web apps use Rc in Rust? There is more nuance to this. A better metric might be “of all the types you define in your project, what proportion of them use reference counting?” If you have to have one reference counted type among dozens of other non-reference counting types, then I’d say it’s pretty uncommon. For example, if most web apps have a database handle and then database handle uses an Arc to be efficiently shared between multiple threads simultaneously, and since database handles are pretty common in web apps, would you then conclude that “reference counting is common” in Rust? I don’t think I would. Because it’s doesn’t pervade and infect everything else in your code. There’s still going to be a lot of other stuff that doesn’t use reference counting at all.

            The GTK case is indeed known, and was on my mind when writing the above comments. But it’s not clear to me that this is a GTK problem or whether it generalizes to “GUI apps.”

            1. 1

              Well usually it’d be an Arc, particularly in cases where the framework doesn’t provide a way to share data between request handlers.

              I was just proffering where I’d run into it. I’m not trying to make some kind of polemical point. I rather like using Rust.

              then database handle uses an Arc to be efficiently shared between multiple threads simultaneously, and since database handles are pretty common in web apps, would you then conclude that “reference counting is common” in Rust?

              I’m speaking to peoples’ subjective experience of it and how they’re going to react to your characterization of it being rare. We’re not taking a pointer head-count here. You get someone comfortable with but new to Rust and have them spin up a few typical projects they’re going to say, “but I kept running into situations where I needed ${X}” and it doesn’t feel rare because it occurred at least a couple times per project. I’m personally very comfortable and happy with the performance implications of a handful of reference-counted pointers and everything else being automatically allocated/de-allocated on the stack or heap. That being said, if you use the wording like you used above, you’re going to continue to elicit this reaction if you don’t qualify the statement.

              Edited follow-up thought: I think part of what’s needed here perhaps is an education push about Rc/Arc, their frequency in Rust programs, when and why it’s okay, and how it isn’t going to ruin the performance of your program if a few are floating around.

              1. 2

                My initial reaction was to the use of Rc. If they had said Arc, I probably would not have responded at all.

                1. 1

                  I apologize for communicating and interpreting imprecisely. I mentally glob them together.

                  I think GTK is in fact the only time I’ve really used Rc. Everything else has been Arc I’m pretty sure!

    2. 1

      The interesting point to me is that this use case (latency-sensitive service with extremely low rates of garbage production) was pathological for a tracing GC, and that optimizing it to produce less garbage made it even more so. Tracing collectors operate on every live object and ignore dead objects, so a heap full of live objects and very few dead ones is a bad fit for a tracing collector.

      I wouldn’t draw a general conclusion from the behavior of the Go garbage collector.

      Optimizing a system to produce less garbage is a standard optimization technique for the JVM and .NET.
      It is effective on these platforms because they both use generational garbage collectors.
      Long-lived or large objects are traced rarely or not at all.
      The LMAX Disruptor, for example, allocates all memory at startup.

      This technique isn’t effective for Go because the Go garbage collector forces a collection every 2 minutes.

      Go uses a conservative non-generational GC.
      Here are some of the tradeoffs of this design:

      • Conservative - objects are never moved in memory and the heap is not compacted.
        Interoperability with C is easier but heap fragmentation is a potential risk.
        Memory usage is lower than with a generational GC.
      • Non-generational - Generational garbage collectors can scan only recently allocated objects while ignoring old large objects. Most objects die young so this is often beneficial.
      • Pause times may be lower than a generational GC.
      • Lower implementation complexity.

      Neither design is right or wrong but I would be leery of using Go for a high performance system.