1. 9

    Woo! Congrats, @sjamaan! I know how long this has been in the making. Great to see CHICKEN staying at the top of the game.

    1. 8

      Thanks @zdsmith! This is an important release for us, yet in some sense only the beginning. People have been holding back several cool patches in the interest of getting this release out, so 5.1.0 is probably going to rock just as hard as this release.

      1. 1

        What kinds of things are likely to land in the point release?

        1. 2

          Well, we have a milestone for it in Trac so that should give a good idea of all the stuff we would like to tackle. I’m not 100% sure all these tickets will stay on 5.1, but we certainly are going to aim at fixing as many of these as possible. Besides that, people have been thinking about improving our thread scheduler (which is a right mess), the scrutinizer is going to get some attention and there’s even been talk about a native code backend (but that’s more likely to be part of 6.0, so don’t get your hopes up).

          There’s also an interesting patch pending that enables conditional library loading, so when you do (if blabla (import foo)), the import will only happen when blabla is true. This is a continuation (haha) of the work we did to make import expressions lexically scoped (which is in 5.0 already), so that in (let () (import foo) ...) the identifiers which foo exports do not leak outside the let. In CHICKEN 4, these kinds of imports were (sort of) raised to the toplevel.

          Performance is also a focus, as 5.0 is slightly slower than 4.x and in benchmarks we’re somewhat middle of the road, so I really want to see if that can be improved.

    1. 4

      A Turin turambar turún’ ambartanen. Another shell that isn’t shell, shells that aren’t shells aren’t worth using because shell’s value is it’s ubiquity. Still, interesting ideas.

      This brought to you with no small apology to Tolkien.

      1. 13

        I’ve used the Fish shell daily for 3-4 years and find it very much worth using, even though it isn’t POSIX compatible. I think there’s great value in alternative shells, even if you’re limited in copy/pasting shell snippets.

        1. 12

          So it really depends on the nature of your work. If you’re an individual contributor, NEVER have to do devops type work or actually operate a production service, you can absolutely roll this way and enjoy your highly customized awesomely powerful alternative shell experience.

          However, if you’re like me, and work in environments where being able to execute standardized runbooks is absolutely critical to getting the job done, running anything but bash is buying yourself a fairly steady diet of thankless, grinding, and ultimately pointless pain.

          I’ve thought about running an alternative shell at home on my systems that are totally unconnected with work, but the cognitive dissonance of using anything other than bash keeps me from going that way even though I’d love to be using Xonsh by the amazing Anthony Scopatz :)

          1. 5

            I’d definitely say so – I’d probably use something else if I were an IC – and ICs should! ICs should be in the habit of trying lots of things, even stuff they don’t necessarily like.

            I’m a big proponent of Design for Manufacturing, an idea I borrow from the widgety world of making actual things. The idea, as defined by an MFE I know, is that one should build things such that: “The design lends itself to being easily reproduced identically in a reliable, cost-effective manner.”

            For a delivery-ops guy like me, working in a tightly regulated, safety-critical world of Healthcare, having reproducible, reliable architecture, that’s cheap to replace and repair is critical. Adding a new shell doesn’t move in that needle towards reproducibility, so it’s value has to come from reliability or cheapness, and once you add the fact that most architectures are not totally homogeneous, the cost goes up even more.

            That’s the hill new shells have to climb, they have to get over ‘sh is just easier to use, it’s already there.’ That’s a very big hill.

            1. 2

              “The design lends itself to being easily reproduced identically in a reliable, cost-effective manner.” “That’s the hill new shells have to climb,”

              Or, like with the similar problem posed by C compilers, they just provide a method to extract to whatever the legacy shell is for widespread, standard usage.

              EDIT: Just read comment by @ac which suggested same thing. He beat me to it. :)

              1. 2

                I’ve pondered about transpilers a bit before, for me personally, I’ve learned enough shell that it doesn’t really provide much benefit, but I like that idea a lot more then a distinct, non-compatible shell.

                I very much prefer a two-way transpiler. Let me make my old code into new code, so I can run the new code everywhere and convert my existing stuff to the new thing, and let me go back to old code for the machines where I can’t afford to figure out how to get new thing working. That’s a really big ask though.

                The way we solve this at $work is basically by writing lots of very small amounts of shell, orchestrated by another tool (ansible and Ansible Tower, in our case). This covers about 90% of the infrastructure, with the remaining bits being so old and crufty (and so resource-poor from an organization perspective) that bugs are often tolerated rather than fixed.

            2. 4

              The counter to alternative shells sounds more like a reason to develop and use alternative shells that coexist with a standard shell. Maybe even with some state synchronized so your playbooks don’t cause effects the preferred shell can’t see and vice versa. I think a shell like newlisp supporting a powerful language with metaprogramming sounds way better than bash. Likewise, one that supports automated checking that it’s working correctly in isolation and/or how it uses the environment. Also maybe something on isolation for security, high availability, or extraction to C for optimization.

              There’s lots of possibilities. Needing to use stuff in a standard shell shouldn’t stop them. So, they should replace the standard shell somehow in a way that still lets it be used. I’m a GUI guy whose been away from shell scripting for a long time. So, I can’t say if people can do this easily, already are, or whatever. I’m sure experts here can weigh in on that.

            3. 7

              I work primarily in devops/application architecture – having alternative shells is just a big ol’ no – tbh I’m trying to ween myself off bash 4 and onto pure sh because I have to deal with some pretty old machines for some of our legacy products. Alternative shells are cool, but don’t scale well. They also present increased attack surface for potential hackers to privesc through.

              I’m also an odd case, I think shell is a pretty okay language, wart-y, sure, but not as bad as people make it out to be. It’s nice having a tool that I can rely on being everywhere.

              1. 13

                I work primarily in devops/application architecture

                Alternative shells are cool, but don’t scale well.

                Non-ubiquitous shells are a little harder to scale, but the cost should be controllable. It depends on what kind of devops you are doing:

                • If you are dealing with a limited number of machines (machines that you probably pick names yourself), you can simply install Elvish on each of those machines. The website offers static binaries ready to download, and Elvish is packaged in a lot of Linux distributions. It is going to be a very small part of the process of provisioning a new machine.

                • If you are managing some kind of cluster, then you should already be doing most devops work via some kind of cluster management system (e.g. Kubernetes), instead of ssh’ing directly into the cluster nodes. Most of your job involves calling into some API of the cluster manager, from your local workstation. In this case, the number of Elvish instances you need to install is one: that on your workstation.

                • If you are running some script in a cluster, then again, your cluster management system should already have a way of pulling in external dependencies - for instance, a Python installation to run Python apps. Elvish has static binaries, which is the easiest kind of external dependency to deal with.

                Of course, these are ideal scenarios - maybe you are managing a cluster but it is painful to teach whatever cluster management system to pull in just a single static binary, or you are managing some old machines with an obscure CPU architecture that Elvish doesn’t even cross-compile to. However, those difficulties are by no means absolute, and when the benefit of using Elvish (or any other alternative shell) far outweighs the overheads, large-scale adoption is possible.

                Remember that bash – or every shell other than the original bourne shell - also started out as an “alternative shell” and it still hasn’t reached 100% adoption, but that doesn’t prevent people from using it on their workstation, servers, or whatever computer they work with.

                1. 4

                  All good points. I operate on a couple different architectures at various scales (all relatively small, Xe3 or so). Most of the shell I write is traditional, POSIX-only bourne shell, and that’s simply because it’s everywhere without any issue. I could certainly install fish or whatever, or even standardized version of bash, but it’s an added dependency that only provides moderate convenience at the cost of another ansible script to maintain, and increased attack surface.

                  The other issue is that ~1000 servers or so have very little in common with each other, about 300 of them support one application, that’s the biggest chunk, 4 environments of ~75 machines each, all more or less identical.

                  The other 700 are a mish mash of versions of different distros, different OSes, different everything, that’s where /bin/sh comes in handy. These are all legacy applications, none of them get any money for new work, they’re all total maintenance mode, any time I spend on them is basically time lost from the business perspective. I definitely don’t want to knock alternative shells as a tool for an individual contributor, but it’s ultimately a much simpler problem for me to say, “I’m just going to write sh” then “I’m going to install elvish across a gagillion arches and hope I don’t break anything”

                  We drive most cross-cutting work with ansible (that Xe3 is all vms, basically – not quite all, but like 98%), bash really comes in as a tool for debugging more than managing/maintaining. If there is an issue across the infra – say like meltdown/spectre, and I want to see what hosts are vulnerable, it’s really fast for me (and I have to emphasize – for me – I’ve been writing shell for a lot of years, so that tweaks things a lot) to whip up a shell script that’ll send a ping to Prometheus with a 1 or 0 as to whether it’s vulnerable, deploy that across the infra with ansible and set a cronjob to run it. If I wanted to do that with elvish or w/e, I’d need to get that installed on that heterogenous architecture, most of which my boss looks at as ‘why isn’t Joe working on something that makes us money.’

                  I definitely wouldn’t mind a better sh becoming the norm, and I don’t want to knock elvish, but from my perspective, that ship has sailed till it ports, sh is ubiquitous, bash is functionally ubiquitous, trying to get other stuff working is just a time sink. In 10 years, if elvish or fish or whatever is the most common thing, I’ll probably use that.

                  1. 1

                    The other 700 are a mish mash of versions of different distros, different OSes, different everything, that’s where /bin/sh comes in handy.

                    So, essentially, whatever alternative is built needs to use cross-platform design or techniques to run on about anything. Maybe using cross-platform libraries that facilitate that. That or extraction in my other comment should address this problem, eh?

                    Far as debugging, alternative shells would bring both a cost and potential benefits. The cost is unfamiliarity might make you less productive since it doesn’t leverage your long experience with existing shell. The potential benefits are features that make debugging a lot easier. They could even outweigh cost depending on how much time they save you. Learning cost might also be minimized if the new shell is based on a language you already know. Maybe actually uses it or a subset of it that’s still better than bash.

                2. 6

                  My only real beef with bash is its array syntax. Other than that, it’s pretty amazing actually, especially as compared with pre bash Bourne Shells.

                  1. 4

                    Would you use a better language that compiles to sh?

                    1. 1

                      Eh, maybe? Depends on your definition of ‘better.’ I don’t think bash or pure sh are all that bad, but I’ve also been using them for a very long time as a daily driver (I write more shell scripts then virtually anything else, ansible is maybe a close second); so I’m definitely not the target audience.

                      I could see if I wanted to do a bunch of math, I might need use something else, but if I’m going to use something else, I’m probably jumping to a whole other language. Shell is in a weird place, if the complexity is high enough to need a transpiler, it’s probably high enough to warrant writing something and installing dependencies.

                      I could see a transpiler being interesting for raising that ceiling, but I don’t know how much value it’d bring.

                3. 10

                  Could not disagree more. POSIX shell is unpleasant to work with and crufty; my shell scripting went through the roof when I realized that: nearly every script I write is designed to be launched by myself; shebangs are a thing; therefore, the specific language that an executable file is written in is very, very often immaterial. I write all my shell scripts in es and I use them everywhere. Almost nothing in my system cares because they’re executable files with the path to their interpreter baked in.

                  I am really pleased to see alternative non-POSIX shells popping up. In my experience and I suspect the experience of many, the bulk of the sort of scripting that can make someone’s everyday usage smoother need not look anything like bash.

                  1. 5

                    Truth; limiting yourself to POSIX sh is a sure way to write terribly verbose and slow scripts. I’d rather put everything into a “POSIX awk” that generates shell code for eval when necessary than ever be forced to write semi-complex pure sh scripts.

                    bash is a godsend for so many reasons, one of the biggest being process substitution feature.

                    1. 1

                      For my part, I agree – I try to generally write “Mostly sh compatible bash” – defaulting to sh-compatible stuff until performance or maintainability warrant using the other thing. Most of the time this works.

                      The other mitigation is that I write lots of very small scripts and really push the worse-is-better / lots of small tools approach. Lots of the scripting pain can be mitigated by progressively combining small scripts that abstract over all the details and just do a simple, logical thing.

                      One of the other things we do to mitigate the slowness problem is to design for asynchrony – almost all of the scripts I write are not time-sensitive and run as crons or ats or whatever. We kick ‘em out to the servers and wait the X hours/days/whatever for them to all phone home w/ data about what they did, work on other stuff in the meantime. It really makes it more comfortable to be sh compatible if you can just build things in a way such that you don’t care if it takes a long time.

                      All that said, most of my job has been “How do we get rid of the pile of ancient servers over there and get our assess to a disposable infrastructure?” Where I can just expect bash 4+ to be available and not have to worry about sh compatibility.

                    2. 1

                      A fair cop, I work on a pretty heterogenous group of machines, /bin/sh works consistently on all of them, AIX, IRIX, BSD, Linux, all basically the same.

                      Despite our (perfectly reasonable) disagreement, I am also generally happy to see new shells pop up. I think they have a nearly impossible task of ousting sh and bash, but it’s still nice to see people playing in my backyard.

                    3. 6

                      I don’t think you can disqualify a shell just because it’s not POSIX (or “the same”, or whatever your definition of “shell” is). The shell is a tool, and like all tools, its value depends on the nature of your work and how you decide to use it.

                      I’ve been using Elvish for more than a year now. I don’t directly manage large numbers of systems by logging into them, but I do interact quite a bit with services through their APIs. Elvish’s native support for complex data structures, and the built-in ability to convert to/from JSON, makes it extremely easy to interact with them, and has allowed me to build very powerful toolkits for doing my work. Having a proper programming language in the shell is very handy for me.

                      Also, Elvish’s interactive experience is very customizable and friendly. Not much that you cannot do with bash or zsh, but much cleaner/easier to set up.

                      1. 4

                        I’ve replied a bunch elsewhere, I don’t mean to necessarily disqualify the work – it definitely looks interesting, and for an individual contributor somewhere who doesn’t have to manage tools at scale, or interact with tools that don’t speak the JSON-y api it offers, etc – that’s where it starts to get tricky.

                        I said elsewhere in thread, “That’s [the ubiquity of sh-alikes] the hill new shells have to climb, they have to get over ‘sh is just easier to use, it’s already there.’ That’s a very big hill.”

                        I’d be much more interested if elvish was a superset of sh or bash. I think that part of the reason bash managed to work was that sh was embedded underneath, it was a drop-in replacement. If you’re a guy who, like me, uses a lot of shell to interact with systems, adding new features to that set is valuable, removing old ones is devastating. I’m really disqualifying (as much as I am) on that ground, not just that it’s not POSIX, but that it is less-than-POSIX with the same functionality. That keeps it out of my realm.

                        Now this may be biased, but I think I’m the target audience in terms of adoption – you convince a guy like me that your shell is worth it, and I’m going to go drop it on my big pile of servers where-ever I’m working. Convincing ICs who deal with their one machine gets you enough adoption to be a curiousity, convince a DevOps/Delivery guy and you get shoved out to every new machine I make and suddenly you’ve got a lot of footprint that someone is going to have to deal with long after I’m gone and onto Johhny Appleshelling the thing at whatever poor schmuck hires me next.

                        Here’s what I’d really like to see, a shell that offers some of these JSON features as an alternative pipe (maybe ||| is the operator, IDK), adds some better numbercrunching support, and maybe some OO features. All while remaining a superset of POSIX. That’d make the cost of using it very low, which would make it easy to justify adding to my VM building scripts. It’d make the value very high (not having to dip out to another tool to do some basic math would be fucking sweet,), having OO features so I could operate on real ‘shell objects’ and JSON to do easier IO would be really nice as well. Ultimately though you’re fighting uphill against a lot of adoption and a lot of known solutions to these problems (there are patterns for writing shell to be OOish, there’s awk for output processing, these are things which are unpleasant to learn, but once you do, the problem JSON solves drops to a pretty low priority).

                        I’m really not trying to dismiss the work. Fixing POSIX shell is good work, it’s just not likely to be successful by replacing. Improving (like bash did) is a much better route, IMO.

                      2. 2

                        I’d say you’re half right. You’ll always need to use sh, or maybe bash, they’re unlikely to disappear anytime soon. However, why limit yourself to just sh when you’re working on your local machine? You could even take it a step further and ask why are you using curl locally when you could use something like HTTPie instead? Or any of the other “alternative tools” that make things easier, but are hard to justify installing everywhere. Just because a tool is ubiquitous does not mean it’s actually good, it just means that it’s good enough.

                        I personally enjoy using Elvish on my local machines, it makes me faster and more efficient to get things done. When I have to log into a remote system though I’m forced to use Bash, it’s fine and totally functional, but there’s a lot of stupid things that I hate. For the most ridiculous and trivial example, bash doesn’t actually save it’s history until the user logs out, unlike Elvish (or even IPython) which saves it after each input. While it’s a really minor thing, it’s really, really, really useful when you’re testing low level hardware things that might force an unexpected reboot or power cycle on a server.

                        I can’t fault you if you want to stay POSIX, that’s a personal choice, but I don’t think it’s fair to write off something new just because there’s something old that works. With that mindset we’d still be smashing two rocks together and painting on cave walls.

                      1. 2

                        Stopped reading at the casual hatred of capitalism. Can we get a philosophy article without throwing out the dog-whistle of capitalism being bad?

                        1. 8

                          I’ve covered the special relationship between capitalism & software extensively elsewhere. I didn’t elaborate in this article because I didn’t expect it to become popular outside my regular readership (who will already be familiar with those arguments).

                          In addition to the stuff covered above, there’s the obvious precedent of cybersyn. Of course, eliminating capitalism doesn’t require eliminating markets (as cybersyn does), & despite the various problems with markets, it’s unclear whether or not doing so would even be desirable in capitalism’s absence. After all, markets can be pretty good for solving certain kinds of information problems so long as the prerequisites for market efficiency are fulfilled. On the other hand, almost all economic activity on earth occurs within corporations or families (both of which are siloed planned economies) & attempts to bring markets into corporate silos have largely been disastrous, so it’s worth considering cybersyn’s progeny seriously.

                          1. 2

                            Next time just link the phrase to your previous article that explains it best, so that it doesn’t appear to be a random comment.

                            1. 3

                              I’ve got an awful lot of other writing related to every subject I cover here. You’ll have to excuse me if I don’t link every word to a different article when tossing off a low-effort rant I expected to get at most ten readers. Criticism of capitalism is among the least controversial subjects I cover in this.

                          2. 9

                            What is it about the author’s dislike of capitalism that invalidates their opinions about UX design?

                            1. 10

                              The casual injection into a post that I was reading to find out about his opinions on UX design.

                              1. 6

                                it’s their article, not yours. If they think it’s important, they can write whatever they want :)

                                1. 1

                                  It may be their article but we are allowed to critique it. Nobody’s imprisoning the author for the way he writes, but by the same token, no one is obligated to read what he wrote if the style drives them away.

                                  1. 3

                                    Then why not just hide and ignore? How do the OP reply’s not equate to tantamount compaining and not serious discussion? what do you intend to accomplish with this reply?

                                    EDIT: also, it’s funny I got downvoted as “incorrect” at the same time as your reply…

                                  2. -6

                                    It might have made some sense with context. Now it did not.

                                    A big part of capitalism is providing the supply for a demand. If something won, there’s a market demand for it, right?

                                    It might be suboptimal, and change can be hard to enact, but would it be better if every computer was an autistic LISP machine, utterly unapproachable for a layman?

                                    1. 4

                                      Can you seriously not use “autistic” as an insult?

                                      1. 3

                                        ….what?

                                        1. 2

                                          This post includes, in five sentences, a severe misunderstanding of markets under conditions of near monopoly, some pretty extreme ableism, and the straw man fallacy.

                                          Please, reconsider.

                                      2. 3

                                        I’m with zdsmith and the others here. It’s OK to have this as a pet peeve, but really, just put that aside and evaluate the ideas being presented for what they are. That’s my suggestion.

                                    2. 14

                                      It sounds to me like the OP is responding to an insufficiently-filled market need to shit on capitalism, and I commend them for responding so quickly to the invisible hand.

                                      1. 5

                                        Also, I don’t think you’re using the phrase “dog-whistling” correctly.

                                        1. 2

                                          No. Calls for the death of capitalism and the adoption of fully automated luxury space communism are all the rage these days.

                                          And while I started writing this as snark, the truth is it’s a reality, especially in certain quarters like Mastodon where thousands of kids who’ve likely not experienced actual hardship ever seem to predominate.

                                          1. 7

                                            And while I started writing this as snark, the truth is it’s a reality, especially in certain quarters like Mastodon where thousands of kids who’ve likely not experienced actual hardship ever seem to predominate.

                                            Except that the ‘kids’ you talk of have actually experienced far more hardship than any previous generation that still lives. Growing up in a massive recession, living in a world where they have no privacy and many have no expectation of privacy, where they’re allowed to own mobile phones as children despite it being objectively proven that this is incredibly harmful to their psychological development, living in a world where all collectivism in society has been snuffed out by the unstoppable march of neoliberalism.

                                            If you can, imagine having your once almost guaranteed job replaced by outsourcing to Asia so the very rich who were already far too rich can make even more money. Imagine having your previously completely free tertiary education replaced with unbelievably expensive tertiary education but of far worse quality with universities filled with foreign students that waste tutor and lecturer time by being virtually unable to communicate in English. Imagine having your Government’s public works department privatised and its job of building sufficient housing to keep house prices at a reasonable level completely abandoned, leading to some of the most expensive housing in the world in a low population density first world country with more than enough land.

                                            If you were in those shoes I imagine you’d consider yourself to be subject to some level of bloody hardship thank you very much.

                                            1. 3

                                              Except that the ‘kids’ you talk of have actually experienced far more hardship than any previous generation that still lives.

                                              Do you realise that there are still survivors of the Second World War alive? Survivors of the Holocaust? Survivors of the Cultural Revolution?

                                              No, millennials haven’t ‘experienced far more hardship than any previous generation that still lives,’ not even close. Not even a little bit.

                                              1. 6

                                                Um… Can we please not have sweeping generalizations about the life experiences of entire generations here? Or pissing contests about hardship? The hyperbole to which you are responding is severely oversaturated, but the basic point is sound. Genuine hardships exist at every level in the mythical Maslow hierarchy. Studies have shown that grad students suffer the same stress levels (measured by both Likert scale and cortisol levels) as combat soldiers. People who live through major natural disasters and other forms of severe crisis generally report feelings of peace and social communion. People adapt, it’s how our nervous systems work. Exercise some compassion!

                                                1. 3

                                                  I guess you’ve never met any from other parts of the world who isn’t from the United States, or other other affluent and unravaged countries.

                                                  1. 1

                                                    Did you mean to reply to milesrout? Every one of my examples of people who’ve experience far more hardship than millennials have was from outside of the United States.

                                                    Or do you mean that ‘millennials’ is a term usefully applied to non-Western cohorts? I think that would be a rare usage. Still, while there’s some pretty horrific stuff going on the world today, I don’t think it compares to the Cultural Revolution or the Holocaust.

                                                    1. 1

                                                      I was replying to you; you brought up non-Western comparisons, and I’m pointing out that your attempt to minimize current ills is unsound.

                                                      It’s undeniable that Millennials, and all other post-Boomer cohorts in the United States, have had declining opportunities and quality of life, due to structural issues related to unregulated and sociopathic economic policy and behavior (see https://www.scientificamerican.com/article/the-american-economy-is-rigged/). So what’s your deal? Why are you trying to gaslight us?

                                                      1. 1

                                                        It’s undeniable that Millennials, and all other post-Boomer cohorts in the United States, have had declining opportunities and quality of life

                                                        I’m not arguing against that statement: I’m arguing against the statement ‘the ‘kids’ you talk of have actually experienced far more hardship than any previous generation that still lives.’ That statement is false, because there are generations still living which have experienced far worse hardship than the Millennials. Whatever hardship they face pales in comparison to mass slaughter, mass murder, mass starvation, mass conscription &c. &c. &c.

                                                        That’s not gaslighting: it’s a simple fact.

                                                        1. 0

                                                          I believe it is incorrect to exclude the rest of the world in the Millennial cohort; the problems they face are global. Especially since you keep bringing up non-Western-world examples like the Cultural Revolution. And Millennials and younger are now facing down the barrels of a bunch of giant ecological cannons, and the world is turning into an authoritarian hellscape, so again, your insistence on minimizing how rightfully pissed they should be is literally incredible.

                                              2. 3

                                                And this is bad because?

                                                1. 4

                                                  It’s absolutely not “bad” - did I say that?

                                                  No, what I said is that I see a lot of people yearning for a particular bit of societal change, and sometimes I question whether or not they appreciate the fullness of what they’re asking for.

                                                  1. 3

                                                    In particular, I am selfishly worried that given that kind of massive, wholesale seismic shift in the way we structure our lives that basic infrastructure would fall away for a time.

                                                    I’m dependent on a couple of key medications that aren’t all that common to continue existing on the prime material plane, so despite the fact that I LOVE the idea, I’m a bit cautious around what it would ACTUALLY mean to march into our glorious future with my comrades, possibly dying of dehydration along the way. (The drug I need is vasopressin replacement. Without it I dehydrate and die. Full stop.)

                                                    1. 3

                                                      Countries with socialised medicine do far better at providing people with medicine than those without. I struggle to see why it’d be reasonable to expect socialism to do poorly at providing medicine.

                                                      1. 3

                                                        Countries that have socialized medicine where a person with disorder like GP has survives are capitalist.

                                                        1. 2

                                                          What does that have to do with what I said?

                                                          1. 1

                                                            This whole branch discusses the “calls for death of capitalism”, and you mention socialized medicine as a counter argument. Now, why do you make me explain your post to yourself?

                                                          2. 1

                                                            Countries that have socialized medicine where a person with disorder like GP has survives are capitalist.

                                                            I can’t even parse this. What are you saying? Socialized medicine is socialism. Western countries are a mix of socialized services (education, roads, trains, military) and private, market-based systems. The mix has historically shifted back and forth, and right now, we’re at an extremely capitalistic phase, and it’s too much.

                                                            Capital is useful, like fire. Demanding that we worship it and asserting that capitalism is the Only Way is like demanding that firefighting be outlawed, because fire is good.

                                                            1. 1

                                                              Socialized medicine in socialist countries is atrociously bad. The GP would not have survived there with the kind of disorder they have. I am saying that because I lived in a poster boy socialist country with such healthcare system.

                                                              All Western countries are decidedly capitalist, their economies are based on proceeds from capitalist mode of production. Back in my history class in USSR we had that political map of the world, they were marked there as such.

                                                              I hope you aren’t suggesting that the USA is the only capitalist Western country, since all others have socialized healthcare of some sort.

                                                              1. 1

                                                                Really, you’re saying the medicine in the Netherlands, and Australia, and Canada, and Sweden, etc. is atrociously bad? Because I know for a fact that the systems there are better than in the United States.

                                                                Again, socialized medicine, like socialized military or education, is socialism. All the Western democracies are a mix of socialism and capitalism.

                                                                The United States is more capitalistic than the other ones; I am saying it needs to be less capitalistic than it currently is.

                                                                1. 0

                                                                  Really, you’re saying the medicine in the Netherlands, and Australia, and Canada, and Sweden, etc. is atrociously bad?

                                                                  I am saying that medicine in Marxist societies was (and is) bad. There is a world of difference between socialized aspects of Sweden and Soviet socialism. They have nothing in common, nada, nilch. If you think USSR was like Sweden but just poorer and with more socialized services, no, it was nothing like it at all. In fact from that perspective Sweden is undistinguishable from the USA. I know because I’m familiar with both, and a former Prime Minister of Sweden agrees.

                                                                  1. 1

                                                                    No one was talking about Soviet-style Marxist Communism, which we all agree was a nightmare. The argument was, “Too much has been subject to capitalism,” (which originally sprang from the OP’s note that we still have capitalism, meaning, there is still scarcity and inequality), or, “There should be more socialism,” which has nothing to do with the dysfunction in the USSR.

                                                                    1. 1

                                                                      Fair enough. I was going off “calls for the death of capitalism” upthread, have nothing against socialized healthcare per se.

                                                                      1. 1

                                                                        But why does a call for moving beyond capitalism automatically invoke, “I guess you want to try something terrible, like a USSR or DPRK style nightmare?”

                                                                        Capitalism, like controlled fire, is a human tool meant to bring about humane ends. When fire rages out of control and people get hurt, we put it out. When capital rages out of control and people get hurt, for some reason a lot of people get mad when you say, “Maybe common and critical needs shouldn’t be subject to market dynamics,” and I just don’t understand that reaction.

                                                                        1. 1

                                                                          Because you hardly hear that call from anyone else than communists, and USSR/DPRK was the outcome of people giving their best to build communism.

                                                                          1. 1

                                                                            Fully Automated Luxury Gay Space Anarcho-Communist Syndicalism does not suffer from the flaws of the attempts from 100 years ago; we will have automated labor this time ;)

                                                                            Also, if you have an ounce of awareness and you live in the San Francisco area, it’s impossible to not be confronted with catastrophic failure of capitalism as a total system (meaning, attempts to provide all needs via markets).

                                                                            1. 1

                                                                              All kinds of societies can thrive once you remove human factor!

                                                          3. 1

                                                            Did you read what I read in full?

                                                            In particular, I am selfishly worried that given that kind of massive, wholesale seismic shift in the way we structure our lives that basic infrastructure would fall away for a time.

                                                            Of course once a fully marxist / communist society was attained medicine would be a non problem for most people, my issue is the transition. Do you actually think we could just pivot from full on rape and pillage capitalism to such a society without massive upheaval, bloodshed, and interruption of all but the simplest infrastructure services (like the manufacture and delivery of specialized medication for instance.)

                                                            1. 1

                                                              Of course once a fully marxist / communist society was attained medicine would be a non problem for most people

                                                              Don’t count on it. We had root canals treated without anaesthetics in 1980s USSR.

                                                              1. 3

                                                                This is exactly the point I was trying to make. I’m seeing a LOT of people extolling the virtues of Marxist / communist societies without thinking through how hard they are to actually implement in ways that benefit the common citizen.

                                                                For a really great trove of data on how this can go totally awry, read the book Red Plenty.

                                                                Many then cite successful implementations of universal healthcare in socialist countries, failing to acknowledge the fact that many (all?) of these are fueled by thriving capitalist economies.

                                                                I acknowledge that I am a cis white male working in technology and currently enjoying a lifestyle practically dripping with privilege, but this has not always been so, and I also feel that just because I have never known hardship (especially not the kind of hardship experienced by millennials, apparently) but that doesn’t mean I can’t talk about the flaws in people’s thinking.

                                                      2. 3

                                                        If you’re going to go that far you should go all the way: fully automated luxury gay space communism.

                                                        1. 4

                                                          Sure why not? With flying cars, even! :)

                                                          (In all seriousness, Ian Banks Culture novels represent pretty much the ONLY far future society I’d actually WANT to be a citizen of :)

                                                    1. 8

                                                      https://imgur.com/a/Cv5KXOE

                                                      Two virtual desktops.

                                                      Despite my perennial curiosity about acme, I think the only thing I’m really into is its color scheme. There’s two kakoune windows with acme colors, and an es session with a little CLI weather app I wrote for myself. The terminal emulator is kitty.

                                                      The second desktop is a couple vimb windows, where I do as much browsing as I can.

                                                      The WM is spectrwm, which has a couple annoying bugs, but thus far the best tiling behavior I’ve found.

                                                      1. 3

                                                        I used to use spectrwm!

                                                        1. 2

                                                          Rock on, dude! It seems pretty unsupported which is a bummer. It makes me think maybe I should go back to i3. Except I don’t remember why I switched from i3 to spectrwm in the first place so I don’t know what I can check on.

                                                        2. 1

                                                          I moved from spectrwm to awesome partly as I was using at work, and partly as it works well on OpenBSD.

                                                        1. 2

                                                          I don’t have anything to intelligently contribute except that I’m super excited to see this. J for years has been top of my ‘fuck it, I’m just gonna move to the Andes and learn a bunch of programming languages’ list. I’ve never really internalized its control flows and idioms. And I’ve never really made the conceptual leap from how I would use it to do statisticy stuff to how I would use it to build, like, business logic and servers and stuff. But even if mastery meant it became a really powerful desk calculator I still want to conquer it.

                                                          Also, love the pun.

                                                          1. 2

                                                            I’m a few chapters in and it’s fantastic. The eight character rule and the f~g construct alone would be worth paying money for!

                                                            1. 3

                                                              What is the eight character rule?

                                                              1. 1

                                                                I was curious too. I’m guessing he’s referring to the preamble?

                                                                As a broad rule, once ‘pure’ lines exceed around seven or eight characters, it is usually better to consider defining a new named verb or adverb, if necessary building up a chain of mixed new names and J primitives to achieve a final overall objective.

                                                                1. 2

                                                                  Yup, that’s the one. I’m not sure whether I should be thinking of it as raw characters or primitives, but either way it’s a useful heuristic.

                                                          1. 15

                                                            Hot take: I love this.

                                                            While it’s clear that DRH is a devout Christian (or an expert satirist), he also takes pains to mention several times that he is not putting this out in order to try to enforce Christian beliefs—or even values—in his community. He also adds, which is quite canny and also unusual, that his expectation is not that failure to comply 100% with the CoC should result in expulsion or blacklisting.

                                                            But he is actually acknowledging: people have adopted Codes of Conduct for the purpose of regulating behavior within contained communities of practice for thousands of years in nearly every culture, at least any culture with any kind of monastic tradition. If we feel the sting of an unregulated community, where toxicity damages the spirits of the people we would like to contribute, why not start there?

                                                            I’m afraid it will fall on deaf ears because many people—on both sides of the CoC debate—have an immediate allergy to any mention of religious practice. I hope they’re given some time to see this code put into practice.

                                                            1. 10

                                                              A large part of this is because organised religion in general, has a pretty fucking horrific history of treating certain groups of people terribly.

                                                              In western society/culture/countries, (some parts of) Christianity has not just a history, but a current-day penchant for treating some of those same groups of people, as shitty as the law will allow them, and trying their damndest to reverse whatever protection laws do provide.

                                                              I’m a straight while male, but I can see plenty of reasons why almost any demographic other than my own would take issue with using Christianity as the basis of a “treat people right” guide.

                                                              Edit to clarify: it’s not just christianity that has treated groups of people like shit, but this CoC is linked heavily to Christianity and Christians do currently treat some of those same groups of people like shit.

                                                              1. 3

                                                                Say the same thing about muslims and you’d be shouted out of the server by hordes of “good” people.

                                                                Christianity is an enormous box containing all from the Swedish (formerly state) church which professes a form of liberation theology where god is gender-neutral and no longer a “lord” as that does not sound inclusive enough to fundamentalist sects who stand next to the road with signs professing all from the end of the earth to “whatever bad happened is your own fault because you allow gay people to be gay people”. The Benedictines have been around for a while, they tend not to do the latter and are far from the former and their Rule is, if clearly religiously tainted, a usable abstraction of the monastic ideal. Software developers as a rule are not medieval monks living in poverty with a vow of obedience which makes parts of the Rule inapplicable but compared to the intersectionalist religious pamphlets which are being used by other projects this one is no worse and in many ways a lot easier on the mind because its religious intentions are so clearly stated (and as such easily ignored by those who prefer to stay away from organised religions). The whole of the thing could be compressed into “do not do unto others what you would not have done upon yourself” which gives room for future abbreviation.

                                                                1. 1

                                                                  As I said elsewhere here and on HN, I don’t see why this CoC or any such agreement needs to be more complex than “respect people”.

                                                                  If someone needs it spelt out more clearly than that, do so, when the need arises.

                                                                  Defining such a specific list of rules (either in this or in other verbose CoC’s), is micromanaging to the ridiculous extreme. If we file a feature request, we don’t preface it with a “how to type” or “basics of $X language” handbook, because we trust that people understand those concepts on their own.

                                                                  1. 6

                                                                    The reason is moderation, the vast majority of the rule of law in any country could be boiled down into “don’t do bad stuff,” but then when it comes to judgement who defines “bad”?

                                                                    Without a CoC or Terms and Conditions by another name; moderation of large communities becomes messy, easily corrupt and non-transparent with different moderators treating people differently based upon personal preference.

                                                                    With a CoC/T&C the moderation team have a set of guidelines that they must follow in their moderation duty, this gives a line in the sand that the community know they should not cross and the moderators know they should apply.

                                                                    For the majority of people that line is pretty obvious without needing to read the CoC, for a select few however, they need “respect people” spelling out.

                                                                2. 4

                                                                  Christianity in particularly

                                                                  Christianity has far from a monopoly on human suffering and shitty behavior. Pretty much any organized system of beliefs or tribe of sufficient population will end up with a history of treating some subset of people terribly.

                                                                  Please don’t be inaccurate.

                                                                  1. 4

                                                                    You’re right. I’ll amend.

                                                                    1. 3

                                                                      Agree. Looking at the people acting offended, it feels that they are largely angry that SQLite didn’t pick their (corporate) religion.

                                                                    2. 1

                                                                      In western society/culture/countries, (some parts of) Christianity has not just a history, but a current-day penchant for treating some of those same groups of people, as shitty as the law will allow them, and trying their damndest to reverse whatever protection laws do provide.

                                                                      But that has nothing to do with Christianity. If those people happened to have a different religion they wouldn’t be different people, they’d just do nasty things for other reasons.

                                                                      Countries where other religions have historically dominated are no different in terms of whether they have abusive practices or whether they have bigotry. And it’s pretty obvious from the wide variety of different types of Christianity practiced in different places, from Sweden to Subsaharan Africa, that the culture and socioeconomic status of people is what determines their behaviour, and religion is just an excuse to be nice or an excuse to be nasty, not the cause of nicety or nastyness.

                                                                      1. -1

                                                                        Edit to clarify: it’s not just christianity that has treated groups of people like shit, but this CoC is linked heavily to Christianity and Christians do currently treat some of those same groups of people like shit.

                                                                        Yes, and so do the intersectional feminists who push for entirely-serious codes of conduct. Publishing this explicitly-Christian CoC, even if the author was sincere about valuing the rules of the Benedictines as a way of ordering human communities, has the satirical effect of making the feminist codes of conduct seem not all that different from the codes of conduct of a competing religious tradition.

                                                                        1. [Comment removed by moderator pushcx: I appreciate that you didn't personally insult someone this time, but flaming is also pretty awful.]

                                                                          1. 1

                                                                            A little less ad-hominem would go a long way here. I don’t see anything worth being ashamed of in that comment, nor do I sense the presence of horse shit and believe me, I know horse shit given that there’s a herd of the creatures roaming our farm. Intersectionality and third-wave feminism are doctrines which do have a lot in common with organised religions even though they (mostly) lack transcendental elements.

                                                                            1. 2

                                                                              As I said privately to a mod, the comment I replied to is using “intersectional feminism” as an ad hominem slur, which is garbage.

                                                                              1. 1

                                                                                Woah, let me be clear. I’m not using “intersectional feminism” as a slur. I’m using it in eactly the same sense as the parent post used “Christianity” - namely, as the name of an ideology with political implications, with which I disagree. I think CoCs in software projects were originally a specifically intersectional feminist political project (until people with other political ideologies started creating their own compering CoCs, as the SQLite people are here), and I entirely reject your claim that my naming of “intersectional feminism” as the motivating ideology of CoC-proponents constitutes a slur.

                                                                                1. 3

                                                                                  Then I retract my statement, partially. Your equivalence between the power and influence of social progressives vs. organized religion, particularly modern Western Christianity (which is fairly far away from the theology of Benedict), is still grossly incorrect.

                                                                                  1. 2

                                                                                    “Intersectional feminism” is no more an ideology than “Proust scholarship” is an ideology. If you relax the definition of ideology to the point that it admits those cases, it ceases to be a useful word. Consequently, this post principally serves to demonstrate your downward-punching biases; not a good look.

                                                                                    1. 1

                                                                                      Also, you don’t make a great case for yourself when you say, “I’m just equating it to something commonly regarded in this context as shitty and saying I don’t like it, I’m not using it as a slur.”

                                                                                      1. 1

                                                                                        ““I’m just equating it to something commonly regarded in this context as shitty and saying I don’t like it”

                                                                                        Yes. This is exactly what I am doing. I am deliberately comparing intersectional feminism to Christianity, precisely because Christianity is “commonly regarded in this context as shitty”. No one claimed that the grandparent post’s comments about Christianity or criticizing the satirical SQLite CoC for being explicitly Christian constituted a slur. I don’t think they constitute a slur either. I claim that my comments about intersectional feminism and intersectional feminist-based CoCs are of exactly the same character as the grandparents’ are about Christianity, and are not slurs either.

                                                                                        1. 3

                                                                                          I charitably submit that you’re intentionally obtuse about what “slur” means.

                                                                          2. 8

                                                                            I agree. I think the Rule of St Benedict is interesting, but this is real magic:

                                                                            However, those who wish to participate in the SQLite community, either by commenting on the public mailing lists or by contributing patches or suggestions or in any other way, are expected to conduct themselves in a manner that honors the overarching spirit of the rule, even if they disagree with specific details. Polite and professional discussion is always welcomed, from anyone.

                                                                          1. 2

                                                                            Super excited. All of my free cycles these days have been going to formal methods - reading the Way of Z, working on my own ‘formal methods lite’ system. TLA+ has been on my list for a long time and I ran through the first chapters of Lamport’s tutorial but it never stuck. Pumped to pick up a resource that first and foremost tries to make things practical and adoptable.

                                                                            1. 2

                                                                              Oh yeah, that reminds me: would it be alright if I messaged you some questions about Pantagruel? Thanks!

                                                                              1. 2

                                                                                Dude, it would be fucking awesome.

                                                                            1. 3

                                                                              Very recently another Lobster mentioned on IRC, in a manner suggesting he didn’t see anything controversial about the statement, how anybody who didn’t support the idea of a ‘meritocracy’ in tech was immediately on his political blacklist. I think this article is a fine illustration of the realities of many organizations that tout themselves as meritocracies.

                                                                              1. 7

                                                                                There’s absolutely nothing wrong with the concept of a meritocracy in principle.

                                                                                In reality, of course, people often claim that something is a meritocracy when it is not, and use meritocratic claims as a way of dismissing any concerns of prejudice.

                                                                                (It’s important to note that this may in fact be completely honest on the claimant’s part. They may truly believe that their organization is a true meritocracy and that they themselves are not sexist. That may all very well be true, but often it is not, because we are very often blind to our own faults. It’s human nature.)

                                                                                (And of course there are people who are really are prejudiced but hide behind such claims of meritocracy.)

                                                                                1. 5

                                                                                  This, I think, depends on how one defines “merit”, and what one’s goal is.

                                                                                  An oft-used definition of “merit” is something like “the quality and quantity of work produced”. A “meritocracy” formed with this definition will reinforce existing structures of power, as those who have more power have more access to education and thus will tend to do higher quality work, and have more time not consumed by dealing with the consequences of oppression or unfortunate circumstances (working menial jobs, medical operations, etc.) and thus can do more work.

                                                                                  In addition, there is a great deal of research that shows that intersectionally oppressed people - black women as a prototype, but including developmentally disabled people of color, LGBTQ+ women, et cetera - suffer from far more serious mental health problems than do people oppressed on a single axis, or only mildly oppressed by society. I would imagine this makes it harder for those people to produce code or other work than their white, straight, male colleagues.

                                                                                  This is where the second clause comes in. If the goal really is to produce the highest-quality work as fast as possible, the argument could be made that excluding people who are structurally disadvantaged is a good idea - but only if one accepts the idea that diversity of viewpoints does not improve the quality of work.

                                                                                  This is an incomplete argument, but I hope I’ve at least demonstrated that a “meritocracy” is not automatically or immediately a good idea, even if implemented perfectly.

                                                                                  1. 1

                                                                                    shows that intersectionally oppressed people - black women as a prototype, but including developmentally disabled people of color, LGBTQ+ women, et cetera - suffer from far more serious mental health problems than do people oppressed on a single axis, or only mildly oppressed by society. I would imagine this makes it harder for those people to produce code or other work than their white, straight, male colleagues.

                                                                                    You literally just described many of my white, male colleagues and I at my current company in your first sentence given environment we operate in and hours we work. Lots of others I know, too, in other companies. Then, due to ideology, you excluded us from having that experience in your next sentence. That division will create opportunities for companies to discriminate against us and/or ignore our troubles in favor of minority candidates who might be anything from worse off to better off. That kind of draw the line with race and sex rather than specific circumstances… a faith-based rather than evidence-based approach… is one reason I oppose such politics.

                                                                                    Instead, we can say people, regardless of race or gender, that have struggles individually or structurally due to some context (opposite majority and/or bad culture in OP article) might get behind on attributes like performance. Maybe they need a boost or evaluation system needs modification to address this. That version includes white males in bad situations which is really common in rural America. Then, policies that follow from it will help everyone instead of one ideology’s favorite, political groups to help at their expense of their least-favorite groups.

                                                                                    1. 2

                                                                                      You’re right, I didn’t include a sufficiently diverse set of examples. Class is certainly a major axis of oppression and definitely had a huge impact on these kind of metrics. I don’t disagree with you on that.

                                                                                      In fact, I wonder if there is some non obvious meaning here that I’m missing. You seem unhappy with my comment, and yet I think we mostly agree.

                                                                                      1. 1

                                                                                        One group of people on this site in the political debates generally assume structural oppression or disadvantage only happens to non-whites and non-males. They typically say things that fit a pattern of “minority example with bad result followed by white/male lacks bad result.” Your example was like that. I assumed you had similar views based on some comments like that. If you don’t, then I apologize for the bad assumption.

                                                                                        If disadvantaged whites and males are included, then I’m fine with the comment. I even upvoted it since you had a good point in there.

                                                                                        1. 2

                                                                                          If disadvantaged whites and males are included, then I’m fine with the comment. I even upvoted it since you had a good point in there.

                                                                                          When one talks about oppression, structurally disadvantaged people should be included regardless of what axis that structural disadvantage lies upon. There is a lack of discussion of class in general, but in my experience that is primarily because most people expect others to recognize implicitly that class is a major factor in most oppression.

                                                                                          Perhaps the belief is wrong; I would certainly be open to the idea that discussing class as its own axis of oppression is something we don’t do enough. I do think, though, that you could stand to be a bit more open to the idea that other axes are just as important. For instance, even very wealthy, famous, and otherwise minimally oppressed black men are harassed by police far more often that similarly advantaged white men, based on racial stereotypes.

                                                                                          1. 2

                                                                                            Perhaps the belief is wrong; I would certainly be open to the idea that discussing class as its own axis of oppression is something we don’t do enough.

                                                                                            It probably should be discussed more. I’m not sure if class covers it since it happens regardless of income level. What I was alluding to were people who were minority members or had less power in their situation. It could be anything from lower-class whites to whites who were minority in a group even with others’ cultural norms determining what’s rewarded or not rewarded. Latter has happened to me plenty in black areas. Maybe the definition of class you’re going with covers that, though.

                                                                                            “I do think, though, that you could stand to be a bit more open to the idea that other axes are just as important. “

                                                                                            I’m a civil, rights activist and union member that boosts minorities out of bad jobs towards better ones or better positions all the time. Career/resume/people advice. Referrals. Resources on specific jobs. Tons of free entertainment I improve on the spot to combat stresses. I’m more than open to minority issues: I’m actively benefiting some of them that deserve it.

                                                                                            I just counter patterns that seem like misinformation to me. This one automatically went with minorities are victims and whites less so. I countered it to include white, male victims of same stuff to make bigger picture more accurate. When talking to the local rednecks, I’d be bringing up stuff like you’re saying worded more like they’d understand even if they didn’t want to hear it.

                                                                                            This forum has more activity promoting one set of views than another. Their voters tend to be more active even though there’s a lot of dissent from a few metas. I think other side doesn’t participate as much on that for apathy or fear. So, you’ll see me counterpointing those types of misinformation more than other things here. Somewhere else, I might be linking to studies showing people with a black name got interview calls way less than a white one and that I want it replicated by a diverse group to clear possibility of fraud or just bias. Another I shared was Navy reform that focused only on performance where more women got promotions. You’re likely seeing an environmentally-driven bias in my comments here if it looks like I don’t care about minority issues. :)

                                                                                            I’ll save that link to read later when I get sleep.

                                                                              1. 1

                                                                                This looks like something I’m going to have to experiment with. Thanks for sharing!

                                                                                1. 1

                                                                                  hillel, as our resident formal methods wonk, i’m very interested to hear if you think this idea has legs! when it occurred to me it seemed like something that would be obviously useful to have, which is not an impression i’ve managed to convey to anybody else. so i’d be very interested to hear if it resonates at all.

                                                                                1. 4

                                                                                  The majority of this article doesn’t address the thesis. The author makes a perfectly reasonable if somewhat uninspiring argument to arithmetic to back up the title, but then the majority of the piece is about how (to paraphrase) terseness is not a great virtue in programming.

                                                                                  In this I think he fails to convince. He presents two code samples, one quite short and one extremely long and arguably quite unpleasant to try to wade through. And his argument is that the second is to be preferred because, semantically, it’s better. Well, no duh! I don’t think it’s very convincing to compare bad code to better code and then argue that because this particular implementation in this particular language is longer, then it’s not reasonable to prefer short code to long code. At the risk of stating the obvious, the rule of thumb is that one should prefer short code to long code all other things being equal.

                                                                                  In this case the author undercuts himself because he mentions offhand that he’d prefer to do this in a language where you could accomplish something with the same semantics much more tersely. Which would seem to be exactly the sentiment he was trying to contort himself out of saying.

                                                                                  Nobody would argue that terseness is a virtue because (or simply because; I hate to type) you get to type less. Being able to communicate The Right Thing in the simplest terms, with the least structure, with the least vocabulary, makes your work easier to read, less likely to contain errors, and in a well-designed system, more combosable.

                                                                                  1. 15

                                                                                    The answer is: the author’s idiosyncratic skillset and language familiarity, the state of the web application programming language ecosystem 9 years ago, and a series of extremely unconventional architectural decisions; all of which are nearly guaranteed not to apply to the reader.

                                                                                    1. 1

                                                                                      Great summary. Also, given they were a 3 person startup I think they should have immediately reduced the candidate languages to the ones the author was already quite familiar with: Python and Common Lisp. Then out of those you think about how hard it would be to hire another engineer and get them up to speed without losing too much of your own velocity. Then you choose Python.

                                                                                      (And hopefully step back from disliking the GIL and realise it very rarely stopped anyone from running a website in the real world).

                                                                                      1. 1

                                                                                        “I think they should have immediately reduced the candidate languages to the ones the author was already quite familiar with: Python and Common Lisp”

                                                                                        That’s exactly what the startup factories tell the founders to do, too. Makes sense given they need to be developing as fast as they can rather than learning a language/toolset and minimizing risks to their iterations.

                                                                                    1. 5

                                                                                      Apologies for commenting on the form rather than content here, but is wikia.com really the place this community decided to organize around? Seeing TV shows and cosmetic products for teenagers advertised next to an article on formal methods is… a strange experience.

                                                                                      1. 3

                                                                                        That’s strange but submission has many links. Mostly a positive. The only negative I had, which is dependent on my goal of industrial adoption, is that Z notation proved too hard to understand in a lot of projects for a lot of programmers. Alternatives, many coming later, also had a better story in automatic verification of code against the specs, generation of code from specs, prover integration, and so on. It’s still interesting for people studying various kinds of logic or historical use of formal methods. I keep Z papers in my collection just in case their work ever has ideas for solving a new problem.

                                                                                        1. 4

                                                                                          I wasn’t exactly sure of the best link to post here. There’s a whole book that’s available online, but I thought a portal-type link might be a better entry point.

                                                                                          The Way of Z: https://staff.washington.edu/jon/z-book/

                                                                                          1. 1

                                                                                            @nickpsecurity, what of Z’s successors would you say did a better job with being understandable to humans?

                                                                                            1. 3

                                                                                              The main one these days is Alloy. Jackson designed it specifically to address two problems he had with Z, which were that it was too intimidating to beginners and that a lot of valid Z specs couldn’t be model-checked.

                                                                                              1. 2

                                                                                                Survey is here.

                                                                                                1. 2

                                                                                                  It largely failed due to its learning curve. B method did, too. Both did improve software quality, though. I had a resource diving into the various methods in a detailed comparison whose criteria I want everyone doing model-checking or formal verification to consider and weight in on. Turns out I didn’t submit it even though I thought I did. Oops…

                                                                                                  I’ve been referencing the results in comments here: Abstract, State Machines and TLA+/PlusCal came out easiest to use with high cost-benefit analysis. ASM’s and PlusCal can look pretty similar to each other and FSM’s. TLA+ even has similar foundations of Z minus the complexity. If you like Z, you might also like the concept of TLZ where Lamport combined Z with temporal logic. That link has him saying the Z and CSP community ignoring his TLZ work twice. So, he ditched Z and created something better: TLA+. It’s going mainstream with non-mathematicians picking it up thanks to the work by folks like hwayne.

                                                                                                  Since I didn’t submit that survey and it’s late, I’ll submit it in the morning around 10-11am as usual. That way people can check it out at lunch time. Stay tuned. :)

                                                                                            1. 1

                                                                                              This book is enticing but I’m not sure the appeal is clear to me. The first section seems to provide a quite detailed notation for describing the expected behavior for programs, which would seem to provide a useful lingua franca for precisely discussing specs before writing. But I’ve just read the first section where the author actually puts it all together and it seems as though he expects you to actually write a program in it, and then translate as literally as possible into a programming language in order to ensure correctness. Which seems nutty to me. Heck, in the first and most trivial example it already results in a GOTO, which can’t be a good sign. And I can’t help but imagine that it would be disastrous to take these semantics and then write them in, say, Erlang, thus forgoing all pattern matching—to give one example. I’ll keep reading. I’m interested in other people’s thoughts.

                                                                                              1. 1

                                                                                                what is this site?

                                                                                                1. 4

                                                                                                  This is E2! Back in the day, years and years ago, it was a sort of cross between a wiki and a message board—this was before wikipedia was so popular. It was inspired by the hitchhiker’s guide to the galaxy ( much like www.h2g2.com )—a site that would contain everything. In practice some people treated it like an encyclopedia, some people submitted creative writing and poetry, and some people used it like livejournal. It also had a very active offline component; lots of people meeting up, living together, sometimes getting married and having babies.

                                                                                                  If you want to know what I was like when I was 15, here’s my profile: https://everything2.com/user/Crux

                                                                                                1. 3

                                                                                                  I don’t really understand this—I bailed out pretty quickly—but i want to offer major kudos for the quality and discoverablility of the site. It’s rare to see a language that obviously comes out of academia and explores advanced PLT concepts have such a friendly and well-implemented website.

                                                                                                  1. 27

                                                                                                    I’m glad to see this trend of standing up against poltiical exclusion in Open Source. I assume that the Code of Conduct for llvm was written in good faith, but the continued demonization of political groups (and to some extent, white men) is troubling. Remember when no one on the internet cared what you looked like, believed, or who you loved? I want to go back to that :/

                                                                                                    1. 43

                                                                                                      Who is being excluded? How is Outreachy preventing someone from contributing to llvm?

                                                                                                      I remember those days too. “No one” cared because “everyone” assumed you were white, male, and college educated. “There are no women on the Internet” dates back, at least, to the early ’90s.

                                                                                                      As a black male dropout, that was fine for me— I could get involved. No one questioned my capabilities. And as long as I kept up a good impression of being fluent in upper-middle to upper-class white culture, I could build my skills and social capital.

                                                                                                      I also got beat up on the street in front of my grandmother for “showing off” how I could “talk white” at school.

                                                                                                      I also remember, when Pentiums were out, using a pawn shop purchased Apple IIc with a gifted modem. I also remember hacking into dial-up pools to get telnet— haha, as if my machine could talk SLIP or PPP. I remember begging friends from MOOs and IRC for a shell account. I remember having no concept of the disparity between myself and the people with whom I played games, chatted, wrote code, and made friends. They simply had things, and I didn’t.

                                                                                                      I don’t see a problem with choosing to give their time and their money to mentor people who otherwise might not be able to participate. There certainly hasn’t been a problem with people choosing to give their time and their money to people who look like them, sound like them, grew up with them, attend the same church as them, went to the same school as them, are friends with them, enjoy the same movies as them, play the same sports as them, and just happen to be a well-off straight white male. Just. Like. Them.

                                                                                                      1. 5

                                                                                                        I also remember hacking into dial-up pools to get telnet

                                                                                                        Holy crap, you and I are kindred spirits. The terminal-concentrator at the local university dropped you into a command line…you were supposed to then immediately telnet to the VAX on campus, but they didn’t enforce that. I was 13 years old and certainly not a student at said university but boy did I get around using that little trick.

                                                                                                        (This would’ve been like 1993. I’m old.)

                                                                                                        1. 4

                                                                                                          🙏🏾 s/the local university/Sprint/ and that was me too!

                                                                                                          1. 4

                                                                                                            It was an eight year old Amiga 1000 that my dad got at an estate sale for like $20 because it would only boot up about half the time and shut down and random intervals, hooked up to a black and white TV, with an old external 1200 baud modem and a terminal program I got off a disk on the cover of a magazine. I felt like the lord of all creation.

                                                                                                            Man I’m nostalgic now.

                                                                                                            1. 4

                                                                                                              Who ever thought we’d make it this far?

                                                                                                        2. 3

                                                                                                          I remember when internet arrived at my hometown. It was 1996. I am not sure such delay was related to skin color.

                                                                                                        3. 46

                                                                                                          There is no whitemend.

                                                                                                          Outreachy isn’t out to make a monster out of you. It’s trying to correct for GSoC. You don’t like Outreachy’s policies, a much smaller, less well-funded org than Google, then go through GSoC and Google. You have lots of other options other than Outreachy.

                                                                                                          The code of conduct doesn’t say anything about how white men are bad. Reading the CoC, if you object that strongly to it that you must leave, then please do! That’s the CoC working as intended. You are deciding to exclude yourself by deciding that what the CoC forbids (i.e. being an asshole) is something that you must be and defend.

                                                                                                          Also, one more thing.

                                                                                                          I wish I could explain to people who are privileged one way or another, that it doesn’t mean your entire life is handed to you in a silver platter. Being a white male doesn’t mean you can’t be poor or can’t be gay (thus discriminated) or that you can’t have a slew of other problems.

                                                                                                          It just means you don’t have those problems in addition to also being discriminated for being a woman, for being black, for being anything else.

                                                                                                          1. 5

                                                                                                            Reading the CoC, if you object that strongly to it that you must leave, then please do! That’s the CoC working as intended. You are deciding to exclude yourself by deciding that what the CoC forbids (i.e. being an asshole) is something that you must be and defend.

                                                                                                            I would disagree with that notion. I think it’s certainly possible to disagree with the CoC or parts of it without being an “asshole as the CoC forbids”. Personally and for example, I would say the “Be welcoming” clause is too exhaustive and could be shortened to “Be welcoming to everyone regardless of who they are and choose to be” which would IMO cover the same topics as it does now. The fifth clause is also way too broad and vague. A simple note that discussion not furthering the the project or it’s software, being NSFW or otherwise non-productive would have achieved the same goal and would give moderators more leeway to deal with troublemakers.

                                                                                                            I specifically wonder why number 6 was necessary. It’s a community of coders, if they can’t understand disagreement I seriously question what is going on behind the scenes that warrants such a rule. Does discussion derail so often into low level sand-flinging?

                                                                                                            Not too long ago I was member of a forum focused around LEGO robots. There were no rules of any kind but plenty of electricians and programmers around, men, women, kids and teens, etc. Everyone was happy to participate and be happy to exchange ideas and code. When there was drama the moderators enacted unspoken rules of the clearly obvious kind. If you insulted someone for no reason you got banned. Same for insulting someone based on their gender. We didn’t need rules for that. It was obvious as day that such behaviour was not something you’d do to have a productive conversation with someone about the intricacies of rubber bands vs gearing.

                                                                                                            1. 8

                                                                                                              I specifically wonder why number 6 was necessary. It’s a community of coders, if they can’t understand disagreement I seriously question what is going on behind the scenes that warrants such a rule. Does discussion derail so often into low level sand-flinging?

                                                                                                              Speaking as someone who has over the course of many years, moderated things on the internet. Things like this exist because otherwise someone will come along and say “but you didn’t say”. It’s an unwinabble battle, there will always be a “but you didn’t say” response to something. You try to cover the big things in a broad way so that people have a general idea.

                                                                                                              I’ve answered many emails as a member of the Pony core team where well meaning people write in to ask “if I do X, would that be against the CoC”. I can’t say that is how every CoC operates, but its how I like them to operate:

                                                                                                              Here are some ground rules. If you aren’t sure if what you are going to do violates those ground rules, maybe don’t it or ask whoever enforces the CoC.

                                                                                                              CoC’s are far from perfect. A large amount of that lack of perfection is that they are administered by people. Establishing some ground rules for a community is better than having none. Most communities have a CoC whether they call it that and whether its explicit. Take HackerNews, its called “Guidelines” there. It’s still a statement of some behavior that isn’t acceptable.

                                                                                                              1. 2

                                                                                                                I think if someone goes down the route of “but you didn’t say” that would be grounds for getting a mute from the poor moderator they annoyed. At least back in the forum that was how it was handled. Nitpickers aren’t people who tend to keep around once the people in charge hammer them on the fingers.

                                                                                                                I don’t think Hackernews’ Guidelines are comparable to a Code of Conduct. HN’s book of laws is much more vague and subjective, the word “guideline” already implies a certain amount of softness. Moderators won’t stick to that word-by-word and rather apply common sense on top of the rules. A “Code of X” for me implies a certain rigidness and thoroughness that isn’t present in most of them.

                                                                                                            2. 14

                                                                                                              The code of conduct doesn’t say anything about how white men are bad.

                                                                                                              And yet that is how it has been applied. The organisation is funding a scholarship which is very explicitly open to people of some race/gender combinations and not others. I don’t think finding that unconscionable makes someone an “asshole”; quite the opposite.

                                                                                                              I wish I could explain to people who are privileged one way or another, that it doesn’t mean your entire life is handed to you in a silver platter. Being a white male doesn’t mean you can’t be poor or can’t be gay (thus discriminated) or that you can’t have a slew of other problems.

                                                                                                              It just means you don’t have those problems in addition to also being discriminated for being a woman, for being black, for being anything else.

                                                                                                              Put it this way: I would lay money that, in practice, the average Outreachy scholarship ends up going to someone who has had an easier life than the average open-application scholarship (GSoC or similar). The rhetoric of inclusion is all about underprivileged groups, but somehow the beneficiaries always end up being middle-class college-educated liberals.

                                                                                                              1. 15

                                                                                                                The organisation is funding a scholarship which is very explicitly open to people of some race/gender combinations and not others. I don’t think finding that unconscionable makes someone an “asshole”; quite the opposite.

                                                                                                                Races and genders which are significantly unrepresented in the field they are trying to get them into.

                                                                                                                There are campaigns and organisations here to try and get more male primary school teachers, because males are significantly unrepresented in primary education. Are the people running those organisations and campaigns “assholes” for discriminating against women, who represent over 84% of primary school teachers?

                                                                                                                1. 4

                                                                                                                  He said although he made hiring decisions based on who was the best teacher, irrespective of gender, it would be great to see more men giving teaching a go.

                                                                                                                  That’s what the non-asshole version of this kind of thing looks like. Marketing the career to a particular demographic is fine. Giving that demographic an unfair advantage is not fine.

                                                                                                                  1. 2

                                                                                                                    It’s an unfair advantage that’s not even managing to negate the pre-existing unfair disadvantages that certain groups face.

                                                                                                                    1. 4

                                                                                                                      It’s Simpson’s paradox in reverse: picking an advantaged member of a disadvantage group over a disadvantaged member of an advantaged group is a negative step for equality that sounds like a pro-equality move.

                                                                                                                2. 6

                                                                                                                  The outreachies I’ve seen have gone to Indian and Eastern bloc girls. You don’t see a lot of those in GSoC.

                                                                                                                  1. 4

                                                                                                                    Sure. That doesn’t contradict what I said: that the beneficiaries of these efforts end up being disproportionately people from the international college-educated liberal middle class (a group that’s far more homogenous in the ways that matter than most races or genders, though that’s a separate discussion), people who have had an easier life with fewer problems than the people they are displacing, even when those people are white and male.

                                                                                                                    1. 4

                                                                                                                      Let’s assume you’re right.

                                                                                                                      How does Outreachy working with international college-educated liberal middle class Indian and Eastern bloc girls displace anyone?

                                                                                                                      1. 2

                                                                                                                        If LLVM is choosing to fund a scholarship with Outreachy in place of funding one with GSoC, the recipient of that scholarship is displacing the person who would’ve received the GSoC one.

                                                                                                                        1. 9

                                                                                                                          Please correct me if I’m wrong, but as I understand it:

                                                                                                                          • LLVM participates in both Outreachy and GSoC.
                                                                                                                          • LLVM doesn’t fund either programme.
                                                                                                                            • Outreachy and GSoC both provide funds for their own programmes.

                                                                                                                          So, neither LLVM nor Outreachy are “displacing” anyone from GSoC.

                                                                                                                          Moreover, no one even signed up for LLVM’s Outreachy! So this is hypothetical “displacement.”

                                                                                                                          1. 1

                                                                                                                            Outreachy doesn’t fund internships, you need to bring your own funding to them. I’m not sure how LLVM is funding their outreachy internships.

                                                                                                                            1. 8

                                                                                                                              [citation needed]

                                                                                                                              Because, from their front page:

                                                                                                                              Outreachy provides three-month internships for people from groups traditionally underrepresented in tech. Interns are paid a stipend of $5,500 and have a $500 travel stipend available to them.

                                                                                                                              And their sponsor page:

                                                                                                                              Outreachy internship stipends, travel fund, and program costs are supported by our generous donors.

                                                                                                                              Same page, “Commonly Asked Questions”:

                                                                                                                              Q: Who pays the interns? A: The Outreachy parent organization, the Software Freedom Conservancy, handles payments to interns.

                                                                                                                              Not to make too fine a point:

                                                                                                                              Q: We have a company internship program. How does that work with Outreachy internships? A: Outreachy internships are completely separate from any other internship program. Outreachy organizers find FOSS communities that are willing to provide mentorship and use corporate sponsorship to fund the internships.

                                                                                                                              1. 1

                                                                                                                                I guess I don’t see how you’re disagreeing with what I wrote. You need to have funding arranged before you can set up an outreachy internship.

                                                                                                                                1. 4

                                                                                                                                  FOSS community provides mentorship. Corporate sponsor provides funding. Internship = mentorship + funding. Outreachy provides internships.

                                                                                                                                  The money from corporate sponsors goes into a pool that is used for all internships. Outreachy is a funds aggregator.

                                                                                                                                  When you say “you need to bring your own funding to them,” who is the “you?” It’s not the FOSS community. It’s not the internship applicant. Who is it?

                                                                                                                                  1. 1

                                                                                                                                    Perhaps the policy changed. When I looked this up in November it was the responsibility of whoever wanted to start an outreachy program for a project to identify a source of funding.

                                                                                                                                    1. 2

                                                                                                                                      According to the Internet Archive, in September of 2017, their policy was exactly the same. It’s the same at least back through the last GNOME Outreachy, over a year ago.

                                                                                                                                      Update: I deleted my follow-on questions. This is the kind of back and forth @pushcx warned about.

                                                                                                                                      1. 2

                                                                                                                                        Did you see my other comment? Each org needs to find a coordinator who needs to find funding for their org (see under coordinator, here: https://www.outreachy.org/mentor/). That might be in terms of corporate sponsorhip, but outreachy won’t do that for you.

                                                                                                                                        1. 2

                                                                                                                                          No I didn’t, I missed your self-reply. Sorry about that!

                                                                                                                                          And, yeah:

                                                                                                                                          Coordinator Duties Before Application Period Opens

                                                                                                                                          • Finding funding for at least 1 intern ($6,500)

                                                                                                                                          That’s clear and conflicts with their other pages. “Perhaps the policy changed” indeed. I put more weight on that page, though, than their more advertise-y ones.

                                                                                                                                          mea culpa!

                                                                                                                            2. 1

                                                                                                                              I understood LLVM was funding the scholarship but could easily have misunderstood. In any case it’s beside the point: my point goes through exactly the same if we’re talking about the person a hypothetical open-application scholarship would have selected or a person who was displaced as such.

                                                                                                                              Moreover, no one even signed up for LLVM’s Outreachy! So this is hypothetical “displacement.”

                                                                                                                              Isn’t it just the opposite? If choosing to offer an Outreachy scholarship rather than some other scholarship meant that instead of getting a likely-less-privileged individual they got, not a more-privileged individual but no-one, that’s an even bigger loss.

                                                                                                                              1. 1

                                                                                                                                If choosing to offer an Outreachy scholarship rather than some other scholarship […]

                                                                                                                                They also offer a GSoC scholarship, and there’s nothing to imply Outreachy replaced an alternative rather than being an addition.

                                                                                                                                1. 0

                                                                                                                                  Scholarships don’t grow on trees; surely the fairest comparison to make is offering a scholarship versus offering a slightly different scholarship. (Would you apply the same reasoning if someone wanted to offer a scholarship that was only for white people, say?)

                                                                                                                                  1. 3

                                                                                                                                    I can play this game too, where “displaced” is entirely hypothetical:

                                                                                                                                    • LLVM has displaced compiler developers from gcc!
                                                                                                                                    • My drinking tea tonight displaced a purchase of beer from the bar down the road!
                                                                                                                                    • My mother and father each displaced every other person on the planet born before 1980!

                                                                                                                                    THE INJUSTICE

                                                                                                                                    1. 1

                                                                                                                                      Um, yes, it’s 100% fair to compare gcc to llvm, tea to beer, or your mother and father to other people?

                                                                                                                  2. 8

                                                                                                                    It just means you don’t have those problems in addition to also being discriminated for being a woman, for being black, for being anything else.

                                                                                                                    That’s incorrect in any environment where whites or men are the minority. Human nature dictates that all groups favor those like them and penalize those unlike them. Examining the politics of non-white nations in World History or current affairs confirm those groups are just as racist in the social systems they create. Examining the actions of black administrators or elected officials show they mostly bring in people like them regardless of what the mix is in their area. The kind of political beliefs behind these Codes of Conduct and privilege assume this doesn’t happen on a large scale by non-whites to whites. The wealth of evidence disagrees with that so strongly that believing in it anyway and suppressing alternative views is comparable to a religious faith. One that damages specific groups while propping up others.

                                                                                                                    Another point folks in favor of those beliefs and CoC’s never bring up is how many minority members disagree with them. The surveys they usually take are almost never worded to assess how many people believe it’s something all groups do to each other. That’s because they’re biased enough to try to just reinforce their own beliefs. In my surveys, I always present both sides asking which they think it is. I rarely meet black or Latino people, majority of minority members in my area, that think structural oppression is only a white thing. It’s so rare out here. Most think all groups do it but that whites are doing it the most. That’s reasonable. Yet, under CoC’s and associated beliefs, their views would be censored as well since they’d be construed as racist (in their definition) or contributing to reinforcement of it. Likewise, any “language” or “terms” that are racist, sexist… scratch that, which their political beliefs without supporting evidence label as inherently racist, sexist, etc. That too.

                                                                                                                    So, I object to these CoC’s that act like a good chunk of minority members’ opinions don’t matter, that ignore the fact that minorities do structural racism/sexism all the time (by default like people in general?), ignore the fact that whites/men they’re addressing might have been the oppressed minority in previous environment (or current), and then build social structures and enforcement mechanisms on top of those damaging, faith-based beliefs. I also say this as a white guy who spent years in black-run schools living a long time in many areas of black-run city working in black-run departments and companies. If I write about my experiences or tell it like a 3rd party, the black people always think the person in the story is black saying the feelings and obstacles are what they endure. When I say they’re white, then type of people I’m countering say, poof!, none of it counts as evidence of racism. That shows it’s politically-motivated maneuvering, not consistent logic.

                                                                                                                    These should be fought in favor of CoC’s that don’t require everyone in America or the World to believe and speak as if one, smaller, vocal group is unconditionally right in all political claims about these matters.

                                                                                                                    1. 14

                                                                                                                      That’s incorrect in any environment where whites or men are the minority. Human nature dictates that all groups favor those like them and penalize those unlike them. Examining the politics of non-white nations in World History or current affairs confirm those groups are just as racist in the social systems they create.

                                                                                                                      I’m sorry, what are you talking about? I’m from Peru where ‘whites’ are a minority. They are most certainly not discriminated against, quite the contrary. Whiteness is equated to privilege to the extent we have a saying here: ‘El dinero blanquea’, which roughly translates to ‘Money bleaches’.

                                                                                                                      The discrimination comes from factual power, not a head count. Power which was built upon centuries of enslavement and exploitation. Exploitation most members of the white elite minimize and/or are oblivious to.

                                                                                                                      It is the same in other places of South America. Certainly in Brazil, where the author is from.

                                                                                                                      1. 6

                                                                                                                        I’m from Peru where ‘whites’ are a minority. They are most certainly not discriminated against, quite the contrary. Whiteness is equated to privilege to the extent we have a saying here: ‘El dinero blanquea’, which roughly translates to ‘Money bleaches’.

                                                                                                                        I appreciate you sharing your example where one of the minorities has power. That supports my view that it’s highly conditional. Power is one thing that ties into discrimination. Group identity is another. You don’t need centuries of enslavement or exploitation to get one group working for themselves more or against another. It can be a factor, though. Often is. I also noticed you’re mentioning countries where white armies invaded them and their upper classes, not whites in general, did coercive negotiations for trade that benefits them. In this case, it’s real but tied to who did what. You can bet a group invaded by non-whites will also develop some reaction to that group.

                                                                                                                        Whereas around Memphis TN, being white in specific areas won’t get them respect or power due to the slavery that happened in the South. They’ll just get a warning to leave, beat down, robbed, and/or killed. No power. Like with those that invaded Latin America, the power was with a subset of them in high places or any that could get them to act on their behalf. As a civil rights proponent in America, I assure those powerful, white people would try to squash or minimize white people like me when our interests conflict. They hate outsiders even more but I would be treated more like them than your scenario would lead you to expect. I’m still in the outgroup. Just not as far out as Latin America. Same with local blacks or latinos that control specific areas, organizations, businesses, and so on. Being white conveys me large benefits in some contexts, about none in others, kind of negative in others, and violence/death in others.

                                                                                                                        It varies by context is my overall point. It’s not “If white, always this. If non-white, always that.” It’s really complicated. I’m sure I have plenty more to learn about the dynamics of the many groups. Thing is, countering it my way is much simpler than trying to trace it all: being civil, going out of your way to bring in others, accepting each other despite differences, and randomizing/blinding where possible selections/promotions. Increased fairness without further discrimination or hate. It’s simple, but not easy.

                                                                                                                        Edit to all: Other replies will be delayed since I have to work a late shift tonight. Heading out now. Hope yall have a good day and appreciate all the civil replies so far. :)

                                                                                                                        1. 4

                                                                                                                          Thank you for the thoughtful response. I get a better sense of what you were getting at. I don’t think I’m qualified to say much more on the matter, I don’t think I have a proper grasp of the dynamics of structural exploitation. But I’d like to add a couple of not fully developed ideas.

                                                                                                                          – Whiteness is sometimes used as a proxy for privilege.

                                                                                                                          – Whiteness is context dependent. My cousin from the US grew up on Pensilvania. Here he is a ‘gringo’, where he grew up he was considered far from white, being called racial slurs when growing up.

                                                                                                                          – It may be a better idea to talk more in other terms w/o proxies. Class politics are more relevant today than race IMHO.

                                                                                                                          – Even in Perú there are some contexts where you can be subject to specific instances of discrimination, but they pale in comparison to the structural discrimination that happens in the day to day basis. Which is why (in the context of Latin America at least) I view focusing on ‘reverse racism’ as a mechanism to distract from the larger and more important problem of structural discrimination.

                                                                                                                          also noticed you’re mentioning countries where white armies invaded them and their upper classes, not whites in general, did coercive negotiations for trade that benefits them.

                                                                                                                          I understand and empathize and partially agree with what you are getting at. Certainly you can’t be held personally accountable for everything action your government does. But at the same time they have to some extent the support of the general public. At best, you are turning a blind eye to the pain and suffering that supports your economy. But then again, it is our (Latin American) governments which are complicit and also responsible for said exploitation.

                                                                                                                          I’m the words of a mining worker, when talking to a college student:

                                                                                                                          – You speak of the gringos you’ve seen in Morococha and Cerro (Mines in Perú). But they are millions. Don’t generalize…

                                                                                                                          – So why do they send those how look down on us, cholos, not like people but like dogs.

                                                                                                                          Another thing, the exploitation of Latin America is not limited to ‘economic deals’ and is not something of the past (But there is more than a fair share to blame on our obsequent governments). In the 90’s US Companies hired henchmen to kill union leaders. The US Goverment (through US-‘AID’) provided logistic support for the mass forced sterilization of millions of women in Perú. Or even this decade, the US government, through the DEA, determines the policy and funds the forceful eradication of coca leaves further contributing to the impoverishment of Peruvian farmers. The Coca plant is legal here and is consumed by many in their day to day.

                                                                                                                          1. 1

                                                                                                                            I thank you for your detailed response. That was a mix of interesting and pretty sad. I’m going to back up a bit first on one issue since I was using a simplification that you and @stephenr are showing I probably shouldn’t use maybe here or in general. I’ll have to think on it. The actual belief I have about the ingroup vs outgroup dynamic is that they’re just treated differently in a way where it’s often positive to first and negative to second. It doesn’t have to be. I was just going with common pattern since it fits both my experiences and minorities in the U.S. which is mostly the topic around this thread. You’ve both given examples where a white outgroup can be benefit from their status in other countries. Likewise, there’s examples where the ingroup is a rough position with expectations for man or women coming to my mind easiest. One of the worst examples I’ve seen is the tribe that covers people in bullet ants to prove they’re men. I’d rather be the outgroup they look down on forever. ;)

                                                                                                                            On to your comments on exploitation. Far as unions, sterilization, and so on, that’s a side effect of the elites controlling America. They use the media to keep folks under control fighting enemies that aren’t the main enemy. You won’t see the stuff you described on American media much. Instead, it’s stuff that shocks or lets people point fingers temporarily for quick reactions. Next wave of shock happens making them forget what came before that. Americans can’t keep track of history. They can only focus collectively a moment at a time with what’s carefully put in front of them. The parts of the government doing things like you describe are mostly autonomous working for rich and powerful. Those that get voted in do a mix of things they said they’d do and things that appear to benefit their voters with lots of publicity for both. The choices are few with the non-participation and apathy so high that government doesn’t worry about rebellion. It’s kind of a constant rehash of the same games and corruption with businesses getting laws passed benefiting them more and more every year mostly under Americans’ noses since media barely reports on it.

                                                                                                                            So, that’s how that works if you were wondering. When I was young, I never thought handfuls of companies and some government organizations could really control most of several hundred million people with the presence of the Internet, activists getting word out, and so on. Yet, they actually can. They’re also intelligent, focused, well-staffed, and relentless in their pursuits vs masses that are hit and miss on these things with more scattered beliefs, goals, and participation. Just like in this, those fighting over the CoC’s and such aren’t investing effort in joining together against the elites like folks did in MLK days which truly scared them enough to plot murders. If they beat the corruption, they could work law by law, reg by reg, case by case to get a lot done starting with something as simple as due process for workers (I’m union). It takes unity and focus on where the foundational problems are, though, to achieve something like that. Not to knock efforts to improve things elsewhere but we really should be almost all in on dealing with people paying bribes for damaging laws to be passed that give corrupt jurisdictions and companies impunity in their evils. It seems like so much starts right there.

                                                                                                                            Anyway, there’s a lot of people pulling for the folks you describe. They just feel powerless to do anything about it. Also, those that care are so few that giving up products that come from there will change nothing. So, everyone from the consumers to the traders ignore their fleeting thoughts since they need some cheap copper.

                                                                                                                      2. 13

                                                                                                                        I’m not sure how anything you’ve written is relevant to LLVM’s code of conduct. It says; be welcoming of everyone, be considerate, be respectful, don’t make violent threats. All very basic, common sense stuff that the vast majority of people don’t need to a checklist to accomplish. I’m not sure how you went from what is actually written there, to this:

                                                                                                                        The kind of political beliefs behind these Codes of Conduct and privilege assume this doesn’t happen on a large scale by non-whites to whites.

                                                                                                                        Which part of LLVM’s CoC do you think is saying this? Do you think the part about being welcoming of everyone regardless of race is non-white people discriminating against white people?

                                                                                                                        1. 8

                                                                                                                          “Violent threats or language directed against another person. Discriminatory jokes and language. especially those using racist or sexist terms Advocating for, or encouraging, any of the above behavior.” (my emphasis added)

                                                                                                                          It’s those words that are used to block people based on political beliefs. The kinds of people that push CoC’s often have specific views about what is considered racist, sexist, etc that there’s not a wide consensus on. Any words or behavior will be interpreted in the light of their views. This is double true when they get into the moderation positions, which they often aim for. I don’t have to speculate as I’ve been banned from forums for quoting under my own name minority member’s opinions on minority issues. They were racist, sexist, etc. by their definitions. These policies interpreted however they want are the leverage they use to reinforce their own groups or eject other groups. Advocating for is the last term where anyone even debating whether something was racist or sexist might be construed as supporting the racist or sexist person. That’s happened plenty, too.

                                                                                                                          So, it’s the intent behind the terms along with whose enforcing them, what their beliefs are, and if they’re willing to exclude people with different beliefs on contentious topics. They usually are. So, I oppose those in favor of CoC’s without enforcement of political ideology that focus on people just staying civil, friendly, etc. Those parts of the CoC’s I have no problem with.

                                                                                                                          EDIT to add what I’m fine with since I’d rather not be overly critical of something that’s mostly good:

                                                                                                                          “be friendly and patient, be welcoming, be considerate, be respectful, be careful in the words that you choose and be kind to others, and when we disagree, try to understand why.”

                                                                                                                          Most of the weaseling is built into that “be careful in the words you chose” part. Minus the weaseling, even quite a few points in that section are good. Also note that we don’t have to speculate given Lobsters already has enforcement that’s similar to what I’m advocating for. Our moderators may agree or disagree with people’s political views but haven’t ejected anyone for stating their views with data in a civil way. Our community is still a thriving, functioning community despite any political scuffles.

                                                                                                                        2. 11

                                                                                                                          That’s incorrect in any environment where whites or men are the minority.

                                                                                                                          I guess you’ve never been to Thailand. Whites are a ridiculous minority, but they’re held in such high regard by a large percentage of the population.

                                                                                                                          Edit: and to clarify, this isn’t the same situation as @PuercoPop’s:

                                                                                                                          Thailand was never colonised, has never been under ‘white’ or ‘western’ rule and was not a ‘source’ for slavery by whites, Heck, whites (without getting Thai citizenship, which, holy shit is that a long process) can’t own land, can’t own more than 49% of a company, etc.

                                                                                                                          Try to find some Thai soap operas on YouTube - notice how all the actors are very pale skinned: they’re all half-Thai, half-white. If they want to show a ‘poor brown girl’ (believe me, their stereotype, not mine) they literally take a Thai/White actress, and use makeup/body paint/whatever to show their version of what anyone else would think of as a ‘natural’ brown skin.

                                                                                                                          I’ve been stopped at police licence checkpoints, and the cop has been so excited just to say hello to a white guy he doesn’t even care if I have a licence.

                                                                                                                          1. 4

                                                                                                                            Of course structural oppression isn’t a white only thing. Anyone can discriminate against anyone. And sure, in localized areas some groups can oppress others in different ways than the average. That doesn’t mean CoCs shouldn’t try to prevent racist / sexist conduct.

                                                                                                                            What things do you see in CoCs that minority members disagree with, that unfairly construes their beliefs as racist? Or disregards their opinions? Or ignores that whites/men may have been the oppressed minority in their environment?

                                                                                                                            1. 4

                                                                                                                              That doesn’t mean CoCs shouldn’t try to prevent racist / sexist conduct.

                                                                                                                              I didn’t say that. I said it’s usually interpreted in a way where racist and sexist conduct has definitions that usually mean whites/males can’t experience the negatives, are often responsible for them (supported point in general case), and inherently have the positives. Evidence strongly counters two of those showing it has to be judged case by case, place by place, etc. For instance, the forums dominated by the types of people with that ideology make them the majority with the structural power to include, exclude, oppress, and so on. By their own definitions this is true. Yet, any person in a different group dissenting in such a place will be told they’re the “majority” with “privilege” who wouldn’t understand the… blah blah blah. Actually, at least in that context, they’re a minority getting treated worse than its majority at risk of damaging affects of discriminatory treatment. This plays out in other contexts like school, work, etc. where non-whites or non-males in the majority positions reinforce themselves at others expense. A general pattern.

                                                                                                                              Far as minority members disagree with, who are the minority members? That’s exactly what I mean. It depends on who you’re talking about in what context. Someone who is a minority member in one environment might be part of the privileged majority in another. The very definitions of who constitutes a minority (absolute vs conditional), what defines racism, who has privilege… these are in dispute across the nation. Many non-white and non-males dispute some of same points, too. So, starting from a specific set of views on it being true with enforcement working from there is already discriminating against all who disagree. They’ve not proven these views with evidence either.

                                                                                                                              Note: You can try to cheat with legal terms that one side or a group of them got in but treating the law as truth or moral is dangerous. Slavery and women not having rights were legal. So, my definitions are about reasonable categories people are in with their numbers or influence compared to groups of other categories.

                                                                                                                              The evidence collected on a global scale indicates that all groups in power reward their own and oppress others. So, if by evidence, this stuff will be conditional with every group monitoring themselves for bias boosting their outgroups when they don’t get a fair shake: not just whites or males being monitored with everyone boosting non-whites or non-males in all scenarios. In this country or in tech scene, the results would mostly be boosting non-whites or non-males to correct existing imbalances just on the numbers alone. No argument there. Yet, other things wouldn’t be taboo or inconsistent with the rules: a mostly black or women organization in mixed area with people in other categories having skills would be said to give more privilege to blacks/women, possibly structurally racist/sexist in hiring if ratios of workers vs supply were really skewed, encouraged to diversify, and activist action taken if they didn’t. Just like such people would do with white or male majority structurally reinforcing their own groups.

                                                                                                                              We don’t see this. Most of the types that push and want to enforce CoC’s frame it as one thing by definition with whites or males on high-privileged/victim-creating side in all situations. That’s dishonest. I’ll take “this happens more often than that” but not “this never happens or we should act like it doesn’t exist.” With that, they can’t eject people for disagreeing with them on what counts as discriminatory language or behavior if it’s something there’s no consensus on by people who otherwise are against a lot of clearly-discriminating behavior. Further, they might be more likely to go with diverse inclusion plus blind evaluation/selection to correct imbalances instead of ignore whites/males much as possible to only focus on everyone else. One is inherently more fair achieving a similar goal.

                                                                                                                              1. 2

                                                                                                                                But don’t you think that being the privileged majority in the society you live in will have more to do with shaping your experience and fortune in the world than being the privileged majority in an online message board or OSS project?

                                                                                                                                1. 3

                                                                                                                                  In the spaces I live with, my lack of privilege as a white minority in many contexts has cost me likely mental health, plenty humiliation, confusion, physical beatings, missed dates, missed jobs, missed promotions, and so on. Coworkers locally were just telling me recently about black-run classes singling them out for opposing beliefs. Things they say get an entire room screaming at them to intimidate them into silence on top of whatever penalties teacher might give. More extreme versions of this ideology are going campus to campus all over the place taking on life of their own where students are doing things like holding up signs protesting inferred problems in words or ideas of instructors that are there to help them during class.

                                                                                                                                  Again, I”m white male who doesn’t or can’t have such problems in a structural way according to specific groups in the United States despite the evidence of such things happening with non-white or non-male majorities. The forum example was just easier for people to see where you can tell the white male is not in control, is subject to the whims of others, and can be damaged for that. People causing outgroups problems is totally predictable in my model. That’s not the interesting thing. The interesting thing about the forum example is that the people in control who are the majority continue to describe their limited, powerless target in the same terms like powerful and majority. It doesn’t usually change as the circumstances change. It’s usually politics or religion when people’s beliefs or dictated rules don’t change when data flips by 100%.

                                                                                                                                  So, it’s not what they say it is or consistent. That’s enough reason to resist it. That following it would damage more innocent whites or males making them suffer as so many of us did is even more reason. You could say what motivates me to write these posts isn’t much different as what motivates those on the other side with personal experiences in racism or sexism to write their posts. It’s not “reverse (ism)” so much as all the same evil to me. Once we see and experience the evils, we have to stop them from continuing in any form they’ll take. Another thing I noticed is we seem to do it for others’ sake more than ourselves as we can’t undo what we experienced. We’ll always be a bit fucked up by it. We can maybe stop someone else from having to experience that, though. I want someone else to be everyone instead of “everyone but whites and males.”

                                                                                                                                  As usual, that’s on top of all the non-whites and non-males I care about and try to help. They just get a lot more attention and support than this other cause. Hence it being a focus area you’ll see me on. Plus, having been affected so strongly, that’s a motivational bias of mine on top of it.

                                                                                                                                  1. 4

                                                                                                                                    @nickpsecurity, that sucks. You’ve been a victim of structural discrimination. Worse, because it’s not a politically sexy or easily visible form, people continually reject your experience. That. Sucks.

                                                                                                                                    In the past, if I’d heard your narrative, I’d have dismissed you by thinking something like “this white dude forgets he always has the option to leave, unlike …” But that’s unfair.

                                                                                                                                    You’ve been a member of these communities, for years. You’ve been a decent person. You have family, friends, colleagues, social capital, and memories in these communities. To tell you “get up, leave, move on” is to ignore the simple reality that we’re social animals and structural discrimination harms everyone.

                                                                                                                                    Thank you for your repeated posts on this point. At the very least, you got through my thick head. Hopefully, in the future, I can be a better person for it.

                                                                                                                                    1. 2

                                                                                                                                      Damn. That means a lot to me you saying that. I sent a private message not long ago about your comments being interesting as usual on these discussions. More than usual with one comment about you getting beat up for talking white to presumably get ahead whereas I was learning early to talk or act black to attempt inclusion in my environment. It’s because some of what you wrote seems like you might have started in similar circumstances as me going in an opposite direction to find yourself with opposite views. Maybe a stretch to say two sides of same coin but that metaphor popped into my head at least. Then, we end up here in this moment on this forum. A trip, eh?

                                                                                                                                      It’s why I fight for flexibility on these topics in these discussions in wherever places I can. It’s painful and costly but the moments I learn from or reach people are worth it to me. I think those moments are critical. Probably gotta get to sleep now as I intended to. I just had to respond to that comment. :)

                                                                                                                                      Edit: Oh yeah, sleepy enough I forgot to say Good Night.

                                                                                                                        3. 16

                                                                                                                          demonization of political groups (and to some extent, white men)

                                                                                                                          I’m a white man in tech and I can count the number of times I’ve been demonized on zero fingers.

                                                                                                                          demonization of political groups

                                                                                                                          The dominant political party in this country has in black and white in its party platform a desire to make same-sex marriage illegal (while simultaneously claiming “government overreach” is a bad thing). If hearing that we shouldn’t punish gay people just for being gay makes you uncomfortable, well…it’s supposed to.

                                                                                                                          (That same party has in its platform a denial of anthropogenic climate change, an existential threat to our civilization; the denial of which has zero scientific backing….but no, we can’t tell them that they’re wrong.)

                                                                                                                          More importantly, the stuff I’m talking about above is also banned. You can’t go to a conference and talk about how “Republicans are stupid”. You’d be asked to leave or at least tone it down.

                                                                                                                          The problem is that a lot of people hear “don’t be an asshole” and they think “man when I tell transgender folks they’re stupid and make jokes about gay people I get called an asshole (totally unjustifiably!) and I might get in trouble. Ugh, SJW’s!”

                                                                                                                          Remember when no one on the internet cared what you looked like, believed, or who you loved? I want to go back to that :/

                                                                                                                          I’ve been on the Internet since around 1992. That’s only three years after the very first consumer ISP served its first customer.

                                                                                                                          Was there a large contingent of people who really did believe that? Absolutely, I mean, I was one of them. Were there plenty of racists, sexists, homophobes, and bigots of all stripes? Absolutely. Go look at old Usenet archives from the 80’s and 90’s. Racism, sexism, homophobia abound. There was a long diatribe against same-sex marriage on a Perl newsgroup for some damn reason around 1996; there were plenty of people who chimed in and agreed. Various big names in the early hacker community were famously bigoted (often hiding behind “libertarianism” while simultaneously claiming women and black folks are just inherently inferior and it’s “just science”).

                                                                                                                          The “good old days” are very often viewed through rose-colored glasses. People were people back then too, for all the good and the bad.

                                                                                                                          1. 16

                                                                                                                            Remember when no one on the internet cared what you looked like, believed, or who you loved? I want to go back to that :/

                                                                                                                            This was never true. People on the internet have always cared about who you are in ways that factor these things in. The fact that the (largely white) nerd culture contingent who had a lot of influence on the early internet has decided to tell this utopian story does not make it any more true than stories your grandpa tells about respectful children and walking both ways uphill in the snow.

                                                                                                                            1. 23

                                                                                                                              It’s less that “No one cared what you looked like” and more “Everyone assumed you were a white dude with roughly conformal beliefs, behaviors, and similar.”

                                                                                                                              1. 3

                                                                                                                                There’s no contradiction. Both those things were true.

                                                                                                                            2. 12

                                                                                                                              Remember when no one on the internet cared what you looked like, believed, or who you loved?

                                                                                                                              And look where it got us. Toxic subcultures, huge gender inequality in the workplace, software products that simply don’t work for many groups people… The field was biased towards white male hackers from the very beginning, and “not caring” only increased this bias. No, I don’t want to go back to that, I want to fix it.

                                                                                                                              Updated:

                                                                                                                              Also, “no one one the Internet cared what you looked like” simply because they technically couldn’t: nicknames and plain text don’t divulge much. As soon as we got real names and YouTube it became obvious that the majority of people care very much about how you look like. So a young girl making a guitar cover or an Ubuntu installation walk-through mostly gets “you’re hot” and “nice boobs” comments.

                                                                                                                              1. 16

                                                                                                                                People with privilege have been getting more and more outraged that the world is discriminating against them. They see it as unfair. Yes, it’s discrimination and that sucks. But it’s infuriating when they paint it as unfair, because that implies they’re somehow being disproportionately discriminated against, that the discrimination is unfairly balanced against them. And of course that’s nonsense. These privileged people, intentionally or not, feel they’re entitled to live free from any and all discrimination at the expense of those less privileged.

                                                                                                                                Remove yourself from the politics and think about a simple model instead of race, sex, gender, or orientation. Just group A and group B.

                                                                                                                                • members of group A receive 120 points a day
                                                                                                                                • members of group B receive 80 points a day

                                                                                                                                Members of group A develop a belief system that they are entitled to their 120 points. When some members of group B try to increase their points to 85, and that lowers the group A points to 119, the members of group A become angry. They say the members of group B are being unfair.

                                                                                                                                Group A believes that group B should not take any action that decreases their daily points. Group A compares their loss of 1 point to group B’s initial 40 point deficit, drawing a false equivalency. Some subset of A, group A’ deliberately take points from group B members around them to restore their original 120 points. Group A’ claims this is fair.

                                                                                                                                Group A’ bands together to institutionalize the 40 point difference. Some extreme members of group A’ even try to widen the 40 point difference. Group A’ comes to believe at an institutional level that the 40 point deficit either doesn’t exist, or is somehow natural and fair. Group A’ believes they hold the moral superiority by defending their 120 points.

                                                                                                                                Members of group B continue to try to elevate themselves, but A’ demands that all work done by group B must benefit group A’ equally. A’ considers this fair. Groups A and B focus on elevating group B rather than bickering with group A’ about whether 1 equals 40. Some members of both groups A and B institutionalize polite exclusion of group A’ just to simplify the whole thing, because they’re tired of bickering.

                                                                                                                                A vocal minority demonizes group A’ for their actions. Some members of group A find this demonization troubling. A larger and less vocal group of A and B think group A’ is a bunch of fucking douchebags, and start to actively exclude A’ rather than deal with their asinine bullshit. A surprising amount of group A wonders if this exclusion is fair or reasonable. Group B, and an increasing amount of group A, respond “are you fucking joking my ass what the actual fuck?”


                                                                                                                                If you’re a member of group A, please try to empathize with group B. Next time you feel discriminated against for your group A membership, take a step back and reflect on how you’re feeling in that moment. Try to imagine what it’s like to feel that way every single day of your life, at work, on the street, or in your own home through the media.

                                                                                                                                1. 2

                                                                                                                                  But it’s infuriating when they paint it as unfair, because that implies they’re somehow being disproportionately discriminated against

                                                                                                                                  I think there is more to this implication than you’re letting on, because it makes assumptions about what “fairness” actually means from the person wielding the term. You’ve assumed one definition, but perhaps someone else has another in mind. As a nominal example, consider this implication in different ethical frameworks (say deontological or Kantian ethics versus utilitarian). Is it true in all of them? Alternatively, do you dismiss ethical frameworks in which it isn’t true as nonsense or intractable? Either way, those are important assumptions to state, because your entire comment appears to rest on them.

                                                                                                                                  (I do wholeheartedly agree with your final paragraph, but try my best to perhaps apply it as much as possible, with a healthy dose of perspective taking on all sides. I don’t always succeed!)

                                                                                                                                2. 4

                                                                                                                                  I’m glad to see this trend of standing up against poltiical [sic] exclusion in Open Source.

                                                                                                                                  Me too, I just wish more people would up and leave, instead of stick around and yell about “reverse discrimination” and such. I’m definitely coming at it from a selfish angle (and concern for my friends,) I’m just really tired of people who “disagree” with us existing, at best, and actively harass us at worst. The only way I can participate in open source is anonymously, which means it’s mostly uncredited work. It’s just not worth the toll it takes on my mental health. Of course, whenever possible, I contribute to projects/communities who show that they are aware of these issues, and are actively doing something about it.

                                                                                                                                  Looking forward to the Incorrect, Off-topic, and Troll downvotes.

                                                                                                                                  1. 4

                                                                                                                                    I think it’s a loss when someone who can write code leaves a OSS project. I also think that discrimination, which you refer to as “reverse discrimination” in certain contexts, is bad, end of story. I don’t want anyone to be discriminated against. “Contribute good code” is all I ask off people looking to work with me. Politics are boringly unproductive towards that goal.

                                                                                                                                    1. 4

                                                                                                                                      I think it’s a loss when someone who can write code leaves a OSS project.

                                                                                                                                      I don’t, if they keep other people away who can also write code. I honestly can’t understand what’s wrong with participating in this, unless you believe (actual) discrimination isn’t real.

                                                                                                                                      1. 2

                                                                                                                                        I do believe actual discrimination is real but I think discriminatory internships aren’t the solution as they only lead to problems down the road. It’s great that outreachy is doing it and I believe they honestly think it’s the correct solution but I simply can’t agree on that.

                                                                                                                                1. 16

                                                                                                                                  Unless I am misunderstanding “Brutalism”, shouldn’t a “brutalist web site” be something like a no- or minimal-css web page? The examples the article gives, while pretty in their own right, don’t appear (to me) to go counter to much of everyday web-design one tends to see.

                                                                                                                                  1. 12

                                                                                                                                    That’s my understanding, too. My touchstones for web Brutalism are this motherfucking website and this other motherfucker.

                                                                                                                                    1. 6

                                                                                                                                      There’s another school that considers the Instragram iOS app as an example of brutalism. Other examples:

                                                                                                                                      Brutalist websites
                                                                                                                                      Brutalism in UX

                                                                                                                                      I consider the two sites that you linked to more an example of design minimalism (only using as much as you need), as opposed to the minimalism of information that seems to typify “modern” design today.

                                                                                                                                      I’d also be curious if y’all would consider something like my wiki as an example of brutalism

                                                                                                                                      1. 3

                                                                                                                                        I’d say it’s pretty brutalist. It probably wasn’t designed or implemented with accessibility in mind. :)

                                                                                                                                      2. 2

                                                                                                                                        Those are just trivial documents. It would be like calling a lost pet poster an example of brutalist graphic design!

                                                                                                                                      3. 9

                                                                                                                                        I would imagine that to draw a useful analog to architecture, we have to imagine what it is we’re saving or optimizing for under a digital brutalism (in the same way that architectural brutalism is cheaper, easier, faster, less specialized, in addition to its aesthetic impact). As a programmer, I would imagine therefore that digital brutalism would have to at least partially be motivated by a desire for simplicity in construction: avoiding a reliance external resources that might not be available, avoiding a reliance on technologies or techniques that require specialization, avoiding techniques that require complexity in order to be correct (in favor of technologies that, while maybe less rich, can be correct more simply), and optimizing resource usage for browser speed and compatibility.

                                                                                                                                        I think it’s perfectly fair to associate the above motivations with a particular aesthetic if they happen to be accompanied by one (after all, when I think about architectural brutalism I don’t think about the equipment, specialized or un-, that was used to construct it). But to say anything useful or interesting with term, it can’t just be the way they look.

                                                                                                                                        1. 4

                                                                                                                                          But to say anything useful or interesting with term, it can’t just be the way they look.

                                                                                                                                          Isn’t look (legibility) in print/web design fundamental? If we’re talking about a brutalist web design, it’s certainly not brutalist because the author used tables for layout, though that might contribute to a look that has hard edges (defining sections/compartments, etc)–an element often associated with brutalism.

                                                                                                                                          1. 1

                                                                                                                                            Legibility and aesthetic are not the same, though. As I said above, it’s not that aesthetics are irrelevant; but using modern whizbang web design and tech, and just replacing your full-screen white-people-typing-together background video with graphics and video of a different aesthetic, is just another flavor of the status quo.

                                                                                                                                            1. 2

                                                                                                                                              Legibility and aesthetic are not the same, though.

                                                                                                                                              I agree with this.

                                                                                                                                              and just replacing your full-screen white-people-typing-together background video with graphics and video of a different aesthetic

                                                                                                                                              What I think you’re saying is that Brutalism is a philosophy that can’t simply be replicated by copying an aesthetic. Is that right?

                                                                                                                                              1. 1

                                                                                                                                                Sure, that’s fair.

                                                                                                                                        2. 8

                                                                                                                                          Wikipedia has a nice passage which I think can be applied in spirit to websites:

                                                                                                                                          Brutalist buildings are usually formed with repeated modular elements forming masses representing specific functional zones, distinctly articulated and grouped together into a unified whole. Concrete is used for its raw and unpretentious honesty, contrasting dramatically with the highly refined and ornamented buildings constructed in the elite Beaux-Arts style. Surfaces of cast concrete are made to reveal the basic nature of its construction, revealing the texture of the wooden planks used for the in-situ casting forms. Brutalist building materials also include brick, glass, steel, rough-hewn stone, and gabions. Conversely, not all buildings exhibiting an exposed concrete exterior can be considered Brutalist, and may belong to one of a range of architectural styles including Constructivism, International Style, Expressionism, Postmodernism, and Deconstructivism.

                                                                                                                                          Another common theme in Brutalist designs is the exposure of the building’s functions—ranging from their structure and services to their human use—in the exterior of the building.

                                                                                                                                          So don’t do elaborate styling, expose how the site was built, and organize the site into functional zones in ways visible to the user. A thoughtful version of non-CSS, non-Javascript, image-light design might be the best Web “version” of Brutalism, with visual grouping being the only organization. Getting people to give up CSS and Javascript might be a bit much, but in terms of basic construction, HTML is the equivalent of concrete (the “raw structural members” of the Web site) and Brutalism is very much about not hiding or ornamenting that.

                                                                                                                                          1. 3

                                                                                                                                            Getting people to give up CSS and Javascript might be a bit much, but in terms of basic construction, HTML is the equivalent of concrete (the “raw structural members” of the Web site) and Brutalism is very much about not hiding or ornamenting that.

                                                                                                                                            I have no trouble giving up JavaScript. I’d prefer to use mostly semantic HTML5, with just enough CSS to make the text more readable (because browser defaults are trash).

                                                                                                                                            1. 2

                                                                                                                                              Great excerpt and follow up. I think you can keep CSS so long as what it’s doing is (a) visible in source behind the scenes, maybe even removable and (b) keeps the fundamental structure of the site or page. It might even give it the structure.

                                                                                                                                            2. 4

                                                                                                                                              Maybe GeoCities was brutalist? http://oneterabyteofkilobyteage.tumblr.com/

                                                                                                                                              1. 9

                                                                                                                                                The Classic Geocities, with all of its animated GIFs and background images and using images as dividers, is too ornamented to be Brutalist. It’s best described as Vernacular, which Wikipedia describes as:

                                                                                                                                                Vernacular architecture is an architectural style that is designed based on local needs, availability of construction materials and reflecting local traditions. At least originally, vernacular architecture did not use formally-schooled architects, but relied on the design skills and tradition of local builders. However, since the late 19th century many professional architects have worked in this style.

                                                                                                                                                The Geocities Vernacular was definitely the “architecture from people who weren’t architects” Vernacular.

                                                                                                                                                In fact, the Terabyte Of The Kilobyte Age describes Geocities as Vernacular:

                                                                                                                                                http://blog.geocities.institute/archives/5983

                                                                                                                                                More to the point, Vernacular design is bottom-up unplanned design, with no large-scale goals in mind, whereas Brutalism is top-down planned design, and capable of designing in the large.

                                                                                                                                                1. 1

                                                                                                                                                  I always thought of it as rococo (in the sense that it’s maximalist in the distribution of small decorative features), but I don’t really have a strong background in the history of architecture.

                                                                                                                                              2. 1

                                                                                                                                                That would be in line with architectural brutalism, but the term came out of critiques of architectural brutalism (which basically came down to “it’s ugly because it breaks convention in non-decorative ways”). “Web brut” has been used as an insult for longer than its current (3-4 year) rehabilitation.

                                                                                                                                                I think both senses are useful for different reasons. Web brutalism in the sense of avoiding bloated web standards that necessitate bloated browsers is important for usability and for minimizing waste, while web brutalism in the sense of rejecting faux-minimalist aesthetics in favor of direct & straightforward mapping of form to function is important as a UX concern. (I’ve argued for the latter in https://lobste.rs/s/cyopoi/against_ui_standardization and the former in https://hackernoon.com/on-the-web-size-matters-e52ac0f5fdbe and https://hackernoon.com/an-alternate-web-design-style-guide-1aae8d0b5df5)

                                                                                                                                                1. 1

                                                                                                                                                  Regarding your hackernoon article where you say

                                                                                                                                                  Use only the following tags: a, b, body, br, center, h1, head, i, li, ol, p, table, th, title, td, tr, ul. All other tags are unnecessary distractions. If, for some reason, you must include images, the img and align tags are also suitable.

                                                                                                                                                  what would your thoughts be on directly hostilng markdown, probably without literal html, instead of the “more powerful” full-html standards and deviations? Maybe protocols like Gopher could serve as a base for this?

                                                                                                                                                  1. 1

                                                                                                                                                    I consider hosting markdown marginally more reasonable than hosting html, but to be honest I don’t think we, as writers, should be controlling how the text is formatted except in the rare cases when the formatting is truly necessary and part of the point (like, if we’re writing concrete poetry or something).

                                                                                                                                                    In other words, something like gophermaps-as-document-format seems ideal: we get jump links, but literally nothing else.

                                                                                                                                                    The alternate web design style guide, despite apparently looking pretty radical to a lot of web devs, was very much a compromise – in the vein of “oh, if we MUST have web standards at all, at least ditch everything other than HTML 1.0!”

                                                                                                                                              1. 3

                                                                                                                                                Perhaps beside the point, but: the gendered language was a bit distracting. By this point in history, when I read a blog post like this that exclusively uses “he” and “his” for unspecified genders, it feels like the author is making a political point of it (as I say, feels like: I have no insight into this author or his political position), and ends up niggling a little while reading.

                                                                                                                                                1. 1

                                                                                                                                                  Yes, same here.

                                                                                                                                                  1. 1

                                                                                                                                                    While I agree with you, on further reflection, this does seem like derailing.

                                                                                                                                                    1. 0

                                                                                                                                                      when I read a blog post like this that exclusively uses “he” and “his” for unspecified genders, it feels like the author is making a political point of it

                                                                                                                                                      I’m the opposite: when I read a post which uses incorrect English, it feels like the author is making a political point of it. In English, the feminine is only used when referring to a specific female; for all other purposes the masculine (or, if you prefer, the ‘general’) is used.

                                                                                                                                                      1. 2

                                                                                                                                                        In English, the feminine is only used when referring to a specific female; for all other purposes the masculine (or, if you prefer, the ‘general’) is used.

                                                                                                                                                        According to whom? I’m asking this because the singular they goes at least as far back as 1848, where it appeared in William Makepeace Thackeray’s novel Vanity Fair.

                                                                                                                                                        1. 1

                                                                                                                                                          It actually goes back further than that — and in fact Shakespeare used it, IIRC! Still, it’s an ugly construction.

                                                                                                                                                          1. 2

                                                                                                                                                            It actually goes back further than that — and in fact Shakespeare used it, IIRC! Still, it’s an ugly construction.

                                                                                                                                                            Ugly? Again you beg the question: according to whom? For example, the Associated Press has a style guide article which offers the following recommendation:

                                                                                                                                                            “They, them, their — In most cases, a plural pronoun should agree in number with the antecedent: The children love the books their uncle gave them.They/them/their is acceptable in limited cases as a singular and-or gender-neutral pronoun, when alternative wording is overly awkward or clumsy. However, rewording usually is possible and always is preferable. Clarity is a top priority; gender-neutral use of a singular they is unfamiliar to many readers. We do not use other gender-neutral pronouns such as xe or ze…”

                                                                                                                                                            “Arguments for using they/them as a singular sometimes arise with an indefinite pronoun(anyone, everyone, someone) or unspecified/unknown gender(a person, the victim, the winner)…”

                                                                                                                                                            “In stories about people who identify as neither male nor female or ask not to be referred to as he/she/him/her: Use the person’s name in place of a pronoun, or otherwise reword the sentence, whenever possible. If they/them/their use is essential, explain in the text that the person prefers a gender-neutral pronoun. Be sure that the phrasing does not imply more than one person… “

                                                                                                                                                            I’ll admit it can be awkward if you’re not used to it, but I don’t buy the premise that singular they is ugly or wrong.

                                                                                                                                                    1. 13

                                                                                                                                                      This one feels like he forgot to keep going. The explanation of hooks and forks is fairly lucid and useful, but he forgets to justify or even mention the apparent thesis: how the qualities that lead to J being extremely difficult to read actually lead (allegedly) to some other level upon which it’s easier to understand than otherwise.

                                                                                                                                                      1. 6

                                                                                                                                                        Author of OP here. Did you continue reading past the newsletter signup block? I should probably make that less conspicuous. If you read to the bottom and still feel like I left you hanging, I apologize for not being clear. My goal was to explain that verbs and hooks can be read linearly as sentences, rather than having to consciously consider argument routing through each of the hook/verb’s verbs.

                                                                                                                                                        1. 3

                                                                                                                                                          I read until the paragraph after tacit, and I agree with /u/zdsmith here. If your goal was to explore hooks and forks, perhaps it would have been better to title the article something different.

                                                                                                                                                          1. 1

                                                                                                                                                            Wow, yeah. I didn’t know there was more article. My eye immediately stops when it hits that kind of thing. My apologies for jumping the gun, though yes, as you say, it may also be a lesson in growth hacking :)

                                                                                                                                                        1. 14

                                                                                                                                                          This is often undervalued, but shouldn’t be! Moore’s Law doesn’t apply to humans, and you can’t effectively or cost efficiently scale up by throwing more bodies at a project. Python is one of the best languages (and ecosystems!) that make the development experience fun, high quality, and very efficient.

                                                                                                                                                          As a Python programmer, this is a perspective that has never entirely made sense to me. Well, I should say hasn’t made sense to me for the last few years, at least. I feel like many people have this held-over dichotomy in their heads where Python is expressive and enjoyable, and thus one can write production code quickly, whereas other languages are not expressive and not enjoyable and thus code takes a long time to write. But while this might have been true in the past—while your performant options in the past might have all been some variation on fighting with the compiler, diagnosing obscure compilation errors, waiting for interminable builds—none of those are actually hallmarks of development in a typed, performant language anymore (except for C++). But modern compilers are fast, languages like Nim and D and Haskell are expressive and have powerful type inference. And generally speaking we are now in an era where a type system is not just a necessary evil for a compiler that’s too stupid to know how to interpret any variable without being explicitly told; they are universally recognized to be programmer aids, helping in writing correct code as well as performance. Without wading into the types vs tests debate, at the very least there is one—at the very least there’s a recognition that type systems, too, are for making the devlopment experience high quality and very efficient.

                                                                                                                                                          If I were being cynical I would say that sometimes arguments like this feel like it’s really mostly about the “fun” part. That “programmer happiness” part, which is often conflated with programmer efficiency and expressiveness, but isn’t actually the same. It can almost feel like a hostage job—“I better enjoy the language I’m writing in, otherwise I couldn’t possibly be productive in it!”

                                                                                                                                                          1. 8

                                                                                                                                                            I find typed/compiled languages more fun actually, even C++. Because it drives me absolutely fucking bonkers to run a program and get a really stupid type error, fix, re-run, and get another type error. The compiler just tells you all the type/syntax problems up front and you can fix all of them with minimal rage.

                                                                                                                                                            1. 6

                                                                                                                                                              yeah, mypy and typescript have been a boon to productivity. Especially strict null checks.

                                                                                                                                                              The advantages of the weaker languages is not having to play the “I have to make containers for all my thingy” games. Sometimes just a tuple is nice.

                                                                                                                                                              Some of the existing typed languages don’t always follow the “if it’s conceptually simple, or if it’s easy for a computer to do, it should be simple in practice” rule. Especially when you’re crossing library boundaries and now spending a bunch of time marshalling/unmarshalling (sometimes necessary of course!) functionally equivalent stuff.

                                                                                                                                                              Devil in the details of course

                                                                                                                                                            2. 6

                                                                                                                                                              I think your confidence in compilers is perhaps misplaced. It’s not just a matter of speed–other factors, like memory usage and even ability to compile period are relevant.

                                                                                                                                                              none of those are actually hallmarks of development in a typed, performant language anymore (except for C++).

                                                                                                                                                              I’d argue that the only widely-used performant typed language is C++, possibly Fortran (thought rust is getting close).

                                                                                                                                                              The reason for this is that the farther you get into the problem domain (and the more comfortable it is for you), the farther you move away from actual silicon running instructions. It’s not a false dichotomy.

                                                                                                                                                              The best-performing code will be written in assembly, but it’ll be terrible to deal with as a human (because we aren’t computers). The most comfortable code will be written in a high-level language (ultimately taken to extreme of “hey, grad student, write me a program to do X”), which is exactly not what runs on silicon.

                                                                                                                                                              1. 4

                                                                                                                                                                I think your confidence in compilers is perhaps misplaced.

                                                                                                                                                                Now include python on the same plot, and the axes will stretch so far that GHC will look indistinguishable from GCC.

                                                                                                                                                                the farther you get into the problem domain (and the more comfortable it is for you), the farther you move away from actual silicon running instructions. It’s not a false dichotomy.

                                                                                                                                                                It’s only a true dichotomy if the human is better at telling the silicon how to implement the problem than the compiler is, which gets less true every day. It’s already the case that GCC will often beat hand-coded assembly when trying to solve the same problem. And my experience is that on real business-sized problems with ordinary levels of programmer skill and limited time available to produce an optimised solution, Haskell will often comfortably outperform C++.

                                                                                                                                                                The best-performing code will be written in assembly, but it’ll be terrible to deal with as a human (because we aren’t computers).

                                                                                                                                                                These days assembly is a long way away from reflecting what the actual silicon does. To first order the only thing that matters for performance these days is how well you’re using the cache hierarchy, and that’s not visible in assembly code; minor tweaks to your assembly can lead to radically different performance characteristics.