1. 31

  2. 7

    Circle must have some of the most interesting infrastructure choices out there… Om on the frontend (typed JS), type checked clojure on the backend… and then Mongo (no types on anything, JSON documents) for a datastore.

    1. 10

      Very interesting. I also backed the typed clojure project back in the day. We made a similar judgment call a couple of years ago when figuring out where to go from Clojure, which was giving us a bunch of headaches, despite being a very fun language to program in. We were already successfully using Schema at the time, and core.typed didn’t feel sufficient for our needs. A year and a half later we’re all pretty happy with our decision to fully transition to the Haskell master race.

      1. 23

        Yo, the use of “master race” here is extremely offensive. Please consider your words more carefully.

        1. 7

          Using “master race” like this is deliberately tongue-in-cheek. It may have started with the PC master race.

          1. 9

            Yes, that’s the problem. It is not okay to use a term meant to justify mass murder in a way that makes it seem trivial and unimportant.

            1. 6

              Interesting to see some history on Wikipedia. I’d only heard it on Reddit, which hosts a big white supremacy community, so I didn’t realize it was supposed to be tongue-in-cheek. I guess that’s the problem with “ironic racism”: if the listener doesn’t already expect otherwise from you, you just look racist.

              1. 6

                a big white supremacy community,

                For more context on this, https://www.splcenter.org/hatewatch/2015/03/11/most-violently-racist-internet-content-isnt-stormfront-or-vnn-anymore

                Reddit has since banned some of these subreddits, but the users still stick around, and regularly ‘market’ themselves on the defaults, coordinated over IRC.

            2. [Comment removed by author]

              1. 16

                Just because it’s a meme doesn’t mean it’s not terrible.

              2. 1

                When you say ‘here’ are you meaning where you are, or on this particular website?

                I have checked with a few people nearby at my University’s CS deptartment (who know about the “PC Master Race” thing - that I had never heard of), they do not see it as anything warranting offense because it is clear it has nothing to really do with white supremacy.

                1. 2

                  I read it as “here in your post”.

                  Also, this thread is where I learned anyone thinks “PC Master Race” iss not a racist thing. Given where it was popularized and the fact that, uh, I don’t know how better to say it, that it’s a callback to awful super-racist evil shit, it’s not at all clear to me that it has nothing to do with white supremacy. Seriously. It’s just fucked up.

                  1. 1

                    I don’t like the phrase, and find it pretty weird, but I hadn’t considered its main use overtly racist. Closer to a tone-deaf quasi-political reference, playing on the perception that PC gamers believe their platform to be “superior”, with an absurd political analogy. Maybe along the lines of the Stalin scheme compiler (tagline: “Stalin brutally optimizes”), which I don’t think was written by an actual Stalinist.

                    1. 1

                      I agree that it can easily “callback to awful super-racist evil shit”, but isn’t that like saying that all uses of the the swastika do the same? I realize the comparison is not perfect, the swastika has had a long history of use and continued use - despite its very evil use in “the Western world”, while the ‘master race’ thing has always been racist - just not always genocidal.

                      I personally don’t find it offensive, but I also wouldn’t use it either.

                      1. 2

                        I happened to notice this Reddit thread from last year get recirculated recently. The author, a highschool student, talks about suddenly being disabused of the notion that everyone interprets this phrase as innocent.

                        In general, when someone doesn’t see why particular language is offensive, that is a pretty clear indication they aren’t in the group it affects.

                        1. 1

                          That is a very interesting thread and I can appreciate what it says.

                        2. 1

                          The scenario you reference is of a symbol of good luck and auspicious things that’s been tainted by evil abuse. I don’t think that’s the history of the term “master race” at all, no.

                          1. 2

                            I was going to write more, but at this point I think I have not only killed the horse, but shot it a few more times and am obligated to apologise to the horse.

                            I appreciate the civil discussion here, and further apologise for dragging this discussion further than was really warranted.

                2. 4

                  This, to me, illustrates the problem with dynamic typing. There legitimately are things that you can’t easily do in statically typed languages, such as arbitrary function composition with variarity or nil punning, or that require intermediate+ level type class hackery (like the “get-in” function). These are seductive but dangerous and, once you have more than one programmer in the code (or just one mediocre-or-worse programmer) things go to hell. That which you “can’t do” (or, more accurately, is prohibitively difficult to do) in a statically typed world is usually a bad idea to begin with.

                  Dynamic typing test drives extremely well, and its cause is helped by the awful static typing of C++ and Java, which are much more familiar to most programmers than Haskell. Unfortunately, to me, dynamic typing usually says, “Don’t slow me down by forcing me to write programs that a computer can reason about.” However, if a computer can’t reason about the code, what are the odds that a person can? For a small amount of code (< 50 lines) it’s possible that human can figure it out (and go back and add types and tests). At scale, and with typical corporate entropy and multiple programmers, it’s hopeless.

                  1. 1

                    What is “nil punning”?