1. 12

    Kind of interesting that his name does seem to show up in the linux man git repo at all. That is, http://git.savannah.gnu.org/cgit/man-db.git/log/?qt=author&q=esr (and every other permutation I have tried) return no commits. Also, reading the followups, it seems clear that esr lacks the ability to engage with reality - eg, as a typical example, when bugs in his suggested tool chain are mentioned here: https://lists.gnu.org/archive/html/groff/2014-02/msg00109.html his reply is basically ‘you are lying, these are not bugs, and also there are no bugs, and bugs are impossible because I would know if there were bugs’.

    Also, as seen here https://lists.gnu.org/archive/html/groff/2014-02/msg00106.html when someone directly refutes his core claims (that this code of his is in Linux and all *BSDs) he simply does not respond.

    1. 1

      Bleh, the first sentence should have been ⌜Kind of interesting that his name does not seem to show up in the linux man git repo at all.⌝. Posting while tired etc.

    1. 1

      I don’t understand the opposition to this idea. Having command line documentation that opens up a HTML page in a browser is reasonably common. For instance, this is exactly what rustup docs does, which I use all the time. I agree that there’s something to be said for having documentation that is completely console-friendly and has no connection to a graphical screen, but it’s also the case that the entire linux command line ecosystem is old and adheres to a lot of conventions that made sense on machines of ~30-40 years ago (in some cases emulating even older terminals). I think it’s a good thing to consider ways to make the command line experience better by taking advantage of the graphical facilities that even the cheapest general-purpose computers have had for decades now.

      1. 5

        Almost all of my servers are headless, and a bunch of them are in DMZs where they cannot access the internet, and yet I still find myself needing access to the documentation that corresponds exactly to what is installed when I am doing sysadmin stuff fairly frequently. I don’t want to have to install X, a desktop environment, a graphical browser, and open the server up to the internet; to make esr’s suggestion work as he has claimed it is implemented requires all of those things. Also the suggested toolchain seems to be problematically buggy, according to the mailing list replies.

        1. 1

          What is a server? Is that something that runs my “serverless functions” and my containers?

          1. 2

            no, those run in the cloud

          2. 1

            I don’t want to have to install X, a desktop environment, a graphical browser, and open the server up to the internet

            to be replaced by HTML browsed from within Emacs

            I suppose you do get that anyway…

          3. 1

            the problem is deciding on a standard. this proposal is particularly bad because it invites documentation writers to assume their users will have the latest firefox/chrome/ie/safari installed, which kills compatibility with older, lower power computers that still function perfectly fine but for their interaction with the modern web. that is an immediate practical concern, then there is the general principle of code simplicity, which esr seems to be flaunting his defiance of.

          1. 4

            plt feels pretty obscure as an abbreviation. I don’t have a convincing longer suggestion, but maybe langtheory or languagetheory?

            1. 4

              ‘plt’ pretty much is the standard abbreviation though. In the ‘submit’ and ‘filter’ sections and in tag tooltips we can have it spelled out that this is for ‘programming language theory’.

            1. 23

              compsci would be appropriate. If there’s a significant number of people reading about compsci who don’t want to read about plt or vice-versa, speak now or forever hold your whitepapers.

              1. 3

                I’d like to see compsci used for something that is theoretically focused but used in conjunction with a “modifier”, like ai, or networking, or plt, or algorithms. But maybe I just think of tags differently than others…

                1. 3

                  I, too, would love me a plt tag. It would nicely complement formalmethods.

                  1. 3

                    What this tells me is I need to find and post more compsci articles that aren’t also about plt.

                    1. 3

                      Yes please.

                      (I’m a computer scientist by day)

                      1. 2

                        I’d love a specific PLT tag.

                        1. 1

                          For clarity, do you mean reply to this post to say ‘yes please’ (in which case: ‘yes please’), or do you mean reply and/or upvote the OP?

                          1. 1

                            Anything, really.

                          2. 1

                            There have been a couple people people asking for this - if you see this, could you expand on why you want a tag that’s specifically separate from compsci?

                            1. 7

                              Here are some highly-rated Lobsters posts about compsci but not plt:

                              Here are some highly rated posts where plt may be a good fit:

                              The way I see it, practices, programming, and compsci are very broad catch-alls for cases where we don’t have enough density to make a dedicated subtopic. python, networking, and ai are all subtopics of programming. compilers and formalmethods are subtopics of compsci. I think there’s probably more people interested in PLT than Formal Methods here, so plt would be a useful subtopic.

                              1. 3

                                I’ve added a plt tag with the description “Programming language theory, types, design”.

                          1. 3

                            The title is weirdly misleading. Like, this post simply states that developers spend more than 20% of their work week doing production debugging (what?), says that this is all wasted time, and lists out five steps of production debugging as the ‘five ways’. Then it advertises an ‘automated bug fixer’ product.

                            1. 3

                              I think the implication is that their tool will make developers so much more productive at bughunting that debugging will be reduced to 5% of their time, but the article doesn’t explicitly connect the two figures.

                              I have already messaged @talisoroker to recommend the rule of thumb that half of one’s submissions be of other people’s work, and tried to Tom Sawyer @talklittle into writing some monitoring for this rule of thumb.

                            1. 11

                              I thought it is pretty obvious that we’re trying to suppress wages. However, that’s where my agreement ends. What we need is dramatically higher taxes for income and inheritance above a certain threshold. I’m thinking like 90% tax (progressive) on individual income exceeding 100x 2000x minimum wage per hour (a nice $3M at $15 an hour) and twice that for inheritance (also progressive). We will need broad agreement to make sure no one has “attractive” tax regime. We then fund basic income with this money and do something which we’ve needed to do for a long time: cut costs.

                              We need to cut costs in education. We need to cut costs in healthcare. We need to cut costs in real estate. Cutting costs is very important for this plan to succeed. No more nimbyism. We make sure nobody starves or dies from simple diseases but no more tax credits or deductions for anything. There well be some pain but it will be worth it.

                              1. 1

                                Well, I agree with increasing efficiency.

                                1. -5

                                  Wow.. I know I shouldn’t bother but you’re just too much..

                                  You’re basically suggesting that governments everywhere rob “overly wealthy” people super fucking hard, and prevent them from being able to escape that robbery anywhere, and.. somehow you expect them to keep working hard so that the ass-raping can continue indefinitely so that you can sit at home and.. pursue your lifelong dream of finger-painting abstract art, for the betterment of mankind?

                                  Look at your country’s budget numbers and do some basic math on what it would cost to give everyone “free money forever”.

                                  Then think about things from a productive person’s perspective. If 100% of the fruits of your labour are forcefully taken away, you’re an outright fucking slave. If 50% are taken away, you’re like a 50% slave.

                                  You are not the arbiter of how much money is “enough” for anyone else. You can decide how much money is enough for you, personally, but other people are their own, separate, living, breathing individuals.

                                  Wake the fuck up from your socialist stupor.

                                  1. 9

                                    Could we please not use terms like “ass-raping” so lightly? This is a forum for adults and professionals, and at the very least I’d hope we can all be respectful to each other.

                                    1. -5

                                      Oh gosh golly gee, someone has a potty mouth!

                                    2. 5

                                      Then think about things from a productive person’s perspective. If 100% of the fruits of your labour are forcefully taken away, you’re an outright fucking slave. If 50% are taken away, you’re like a 50% slave.

                                      You probably need to define what you mean by a productive person. And it’s not “forcefully taken away”, “robbery”, “ass-raping”. You declare your taxes and pay them. Most levels of remuneration rise/fall based on effective tax rates. The rules are well understood. Don’t want to pay so much, tough luck.

                                      You are not the arbiter of how much money is “enough” for anyone else. You can decide how much money is enough for you, personally, but other people are their own, separate, living, breathing individuals.

                                      What about consensus and rules that are aimed at leveling the playing field in terms of opportunity? If you went out for pizza with 3 friends and 1 of them took 9 slices because he decided that was enough for him, would the rest of you be cool with that?

                                      1. -3

                                        And it’s not “forcefully taken away”, “robbery”, “ass-raping”.

                                        Sure it is.

                                        You declare your taxes and pay them.

                                        You seem to be overlooking the “.. or else!” part, which is what makes it robbery, and to be more precise: extortion.

                                      2. 5

                                        The super wealthy aren’t generally that way because they ‘work hard’ or ‘are productive’, they are generally that way because of theft* or inherited wealth. So yes, we should tax their income, their wealth itself, inheritances, and so forth, and make sure that there is nowhere they can escape it. Also, taxation isn’t even vaguely similar to slavery.

                                        *: Theft here meaning everything from colonial plunder to corrupt self dealing to rentiership to exploiting workers, and so forth.

                                        1. 1

                                          what you mean by ‘super wealthy’ or ‘generally’? You should be more specific with some references.

                                          The only millionaire I know personally, worked hard, but also efficiently, and was very intelligent in the way he did business. He doesn’t work 1000 times harder than others, but he never exploited anyone or stole anything to my knowledge. More importantly, there was nothing stopping another person from doing what he was doing.

                                          1. 2

                                            I think 100x minimum wage is generous enough. I’m sorry but I didn’t mean it to sound like taxation as a punishment. I apologize for my poor choice of words. Yes, taxes are involuntary for the individual but it isn’t about taking from Peter to give to Paul.

                                            I oppose the current plan for “free college” in New York. I think no government program should have a ceiling for income.

                                            I think we need better propaganda around taxation. We should try to make people feel proud for paying taxes. This is why I want to reduce government spending (the administrative overhead). I don’t think it will be easy or straightforward but I believe it is possible.

                                            1. -2

                                              For your sake, I hope you’re trolling.

                                        2. 4

                                          The business takes a percent of my surplus labor that is likely much higher than 50% because they have money, higher taxes would help remedy that. You’ve focused on the government taking your money and have blindly ignored the individual taking your money.

                                          1. 4

                                            somehow you expect them to keep working hard so that the ass-raping can continue indefinitely so that you can sit at home and.

                                            Many poor people are working very hard as well. Working 3 or 4 jobs and not making it out of poverty. The idea that people are rich because of hard work doesn’t seem to have much evidence behind it and there is some evidence that many rich people are there because of luck. That isn’t to say they don’t work hard but rather that taxing them doesn’t mean their hard work is being taxed but rather their luck.

                                            1. -1

                                              People don’t seem to realize that tax is letting someone else spend your money in terribly inefficient ways, or they will lock you up. Also, the threshold for ‘wealthy’ is always higher than the person suggesting it earns.

                                          1. 3

                                            I am working on a language design project which I have been working on sporadically for a number of years now. Super yak shavey - I’m currently working on an assembler for a bytecode format for an eventual bytecode vm which I eventually want to write a compiler for itself in, and once I have done that write the actual language I want to write in it…

                                            The interesting part of the vm is that I am trying to design the bytecode to be easy to write a compiler in. So polymorphic row types and quantifiers are the basic primitives.

                                            We will see how well this idea works when there is enough of it to actually run a trivial program…

                                            1. 1

                                              I think @rain1 was thinking that sounds like it’s right up the area of bootstrapping research. Might even be useful for others. I hope to see it published in case you come up with some neat ideas. For now, here’s the site @rain1 and I have been uploading a lot of interesting projects like that in case you find anything useful for your project:

                                              https://bootstrapping.miraheze.org/wiki/Main_Page

                                              1. 2

                                                It is for use bootstrapping some other stuff I actually want to write. Basically wanting to write ‘a piece of firm ground’ that I can then build other stuff on. I have been burned far too many times by things changing out from under me.

                                                The organisation that I am doing most of this stuff under is here: https://github.com/kropaya Not much to show for the VM idea yet though.

                                                1. 2

                                                  I hear you. One old one was P-code which got ported to around 70 architectures w/ support of using Pascal. The Bootstrapping link has others for you to consider. I think the next one I’ll do will try to approximate C-like languages while keeping close to the imperative languages people write verified compilers for. Then, I can use those if I choose. They usually have expressions, control reduced to While, maybe stack operations, maybe heap operations, and maybe a way to call foreign code. Optionally a concurrency model like Eiffel’s SCOOP or Rust’s. That against a lightweight, cross-platform runtime done in itself should be quite futureproof w/ ecosystem benefits.

                                                  Just an idea for now as I don’t have time for a custom, bootstrapping design. Good luck on yours, though. It does look quite ambitious for full language.

                                                2. 2

                                                  This collection of links is fantastic, thank you!

                                              1. 12

                                                The spirit of free software is what, exactly? Developers have to produce whatever users want?

                                                Perhaps we need a new spirit: if you get something for free and you don’t like it, stop using it.

                                                1. 4

                                                  The ‘spirit of free software’ here is more like ‘don’t hijack an existing project in order to trade on its good name, by inserting nefarious code’. A basic social obligation that makes things like package managers work - it means that I don’t have to vet every update of every package I use, because we have social norms. I know that (though there are caveats) eg if something has made it into ‘Main’ or ‘Universe’ on Ubuntu and then this happens, everyone involved will be permabanned. If it is in a PPA and this happens, whoever maintains the PPA will take a massive reputational hit, and depending on how they handle it they may be ostracised.

                                                  1. 3

                                                    One might rephrase that as “don’t be a dick” and I think it applies just as much to decent proprietary software. Open source is a development model, not a mystic cult, and we should remember that.

                                                    I actually think there’s a lesson here about blind trust and the million eyeballs. Don’t assume that you are eyeball number 1000001.

                                                    And an apparent failure of package management in atom. As you say, with PPA somebody should vet changes. Who vetted this update for atom?

                                                    1. 2

                                                      ‘The person with the PPA’ is in this analogy the maintainer of the package; what I am saying is that Kite in general and @abe33 (Cédric Néhémie) in particular should be considered bad actors; permabanned and ostracised from the entire open source community - any packages they take over should be forked, any pull requests they make should be rejected. I for one know that if I ever find out they touched something it is going to go on my ‘untrusted’ list, and if they are part of any projects I am part of I will use whatever influence I have to remove them, and I would hope that everyone else follows suit.

                                                      “Don’t be a dick” isn’t a useful rephrase at all. The point is that there are (admittedly fuzzy at times) social contracts that allow open source to work as such at all; one of the really base level ones is to not insert underhanded stuff in ‘known good’ packages. If minimap had been openly adware from day one, it would not have been a violation of this rule. The point of the rule being that you shouldn’t have to maintain constant vigilance over every package you use - you should be able to validate it essentially once based off of a combination of what it is marketed as plus its reputation plus things like whether it is in any of the core package repositories of major distributions, and if its maintainers abuse this then they should suffer (at least) permanent reputational damage.

                                                      Proprietary software is several different kettles of fish - but none of them are reputation economies in the same way as open source is, and with most of them the concept of a user who curates their own distribution is gibberish. Scale, bundling, and volition mostly work quite differently between open source and proprietary as well. So, it is not really helpful to say that this point applies to proprietary software.

                                                      1. 1

                                                        I really don’t see how this is any different than something like sublimetext auto updating and doing something unsavory.

                                                        1. 1

                                                          It is different because proprietary software (and the related ecosystem) is a different thing to open source software (and the related ecosystem).

                                                          A few of the relevant differences:

                                                          • If a piece of proprietary software did that, the remedy is usually that they get sued, or there is a settlement. For open source software the remedy is usually community censure and forking.
                                                          • Auditing proprietary software is largely not a thing, with some very minor exceptions. Auditing open source software is the reverse.
                                                          • Proprietary software is all about having somewhere between no agency and very minor agency - in enterprise systems, and in practice for a lot of home users you don’t really have a choice about most of the software you have installed; the most agency you get is a choice whether you install or not, and even then you often have to take the choice monolithically. With open source software, you should typically have a lot more agency.

                                                          These kinds of differences are why talking about the social contract that allows open source to work (as such) makes sense, and why that social contract is quite different from the one that allows proprietary software to work (as such).

                                                  2. 1

                                                    if you get something for free and you don’t like it, stop using it.

                                                    or better yet, branch it and fix it. I’d be stunned if this hadn’t happened within hours of the first adverts appearing. if the branch falls behind on features, then users get to choose their poison. this is the spirit of open source, at least.

                                                    1. 1

                                                      The spirit of free software is what, exactly? Developers have to produce whatever users want?

                                                      The spirit of free software is that it respects the users. Free software means users can edit and redistribute code. They contribute back to free software projects as a way to pay back what they have received. If you take over a free software project and make changes in order to promote your own company, that is against the spirit of the venture. You aren’t adding a feature that helps other people, you aren’t fixing a bug, you aren’t adding value to something that other people put time and effort into, and giving out the same quality and respect that you gained from the other developer’s time and efforts. You are just basically spamming people who had the decency to not do that to you.

                                                      It’s not technically against the license to do that, but it’s disrespectful to all the people who have contributed and disrespectful to the users of the software. Just imagine if everyone who contributed to FOSS started adding in links back to their companies.

                                                    1. 6

                                                      I’m pretty sure that was a joke, in protest to other things being relicensed without permission.

                                                      IANAL, but you have to be the copyright holder in order to relicense something–this is why copyright assignment is often important for shared codebases.

                                                      1. 4

                                                        Important to note there are two kinds of relicensing - due to being the copyright holder, and due to being permitted by the existing license. So, for example, the MIT or most versions of the BSD license can be replaced with the Apache or GPL, as long as the copyright notices are retained. But GPL cannot be relicensed this way to Apache; you would have to be the copyright holder in order to do this.

                                                      1. 92

                                                        Forcing JS everywhere is arrogance. Accept that native platforms offer a superior UX to web UIs at a fraction of the resource cost. Understand that forcing a document viewing platform to be an app runtime suffers from impedance mismatches that users pick up on. (Shipping a V8 runtime is still hacky).

                                                        For all that tech claims to care about execution and UX, they’re awfully wedded to second-best tooling. And for all the talk of “constant learning,” nobody seems to want to move on, instead cramming square pegs further into round holes, wasting engineering effort, and then writing self-congratulatory Medium posts on how they hit 60fps on an i7.

                                                        This is not engineering. It is fashion.

                                                        1. 44

                                                          it’s not arrogance, it’s a sad but pragmatic concession to the fact that there is no good, productive way to write a cross-platform desktop app with easy packaging and shipping for at least linux, mac and windows. people can simply develop and maintain code a lot more easily in electron than they can in C++/Qt, .NET still has issues on linux, gtk is a pain to package and ship, and somehow java never took off (from personal experience, I gave up on it because swing was painful, but I hear there are better options now).

                                                          i have personally settled on ocaml + gtk, which i found nicely productive under linux, but it took me days to get things compiling under windows, mostly because i had to set up a cygwin environment and fight incompatibilities between things compiled against gtk 2.24.30 and things compiled against gtk 2.24.31.

                                                          (incidentally, racket is a very productive language for writing desktop apps in; it just needs a lot of work put into optimising the gui platform. i’m keeping a hopeful eye on it.)

                                                          1. 10

                                                            This is a good point. There are two issues here:

                                                            1. A language that has equal footing on both macOS and Windows. There are a few that fit the bill here, but it certainly limits your options out of the gate.

                                                            2. A cross-platform UI framework that isn’t terrible. I think they all are, including Qt. (Qt just gets a pass these days because it is less bad than everything else.) Also, chosen language needs decent bindings to the UI framework.

                                                            Ideal: common library shared by native apps, but nobody does this.

                                                            1. 6

                                                              good, productive way to write a cross-platform desktop app with easy packaging and shipping

                                                              It’s going to be controversial but: Java 8 is one, actually. And JavaFX isn’t really bad. And you can package the jre so the user does not have to ship it.

                                                              And you can use Kotlin or Ceylon or even Scala if you really don’t like .java.

                                                              1. 5

                                                                Can you hot reload UI code without blowing up application state in Java/JavaFX the same way you can with the web? How about inspect and manipulate UI elements in a running program?

                                                                Iterative UI development on the web, if you’re careful to disentangle state and operations on that state (React makes this easy!), is very nice.

                                                                1. 4

                                                                  as an active java developer between 1997 and 2013 I would have said “no, not really”, but since getting into Android development, I have changed my tune completely. well designed code can immediately reload any and all state from storage and a good development environment can ‘hot’ deploy. I’ve extended the notion to some of my Java desktop and server apps and it works just as well. the key is in app design; if your code can tolerate being killed without notice, hot reloads are essentially a freebie!

                                                                  1. 2

                                                                    clojure absolutely lets you do this, though clojure can be very sluggish for its own reasons.

                                                                  2. 3

                                                                    or clojure :) i started writing a desktop app in clojure several years ago, and only gave it up because swing was too painful, but clojure itself was pretty pleasant to develop gui apps in.

                                                                    1. 3

                                                                      I built an IDE for games with Clojure and JavaFX. The combination worked really well.

                                                                2. 24

                                                                  “Yeah, yeah, but your scientists were so preoccupied with whether or not they could that they didn’t stop to think if they should.” - Dr. Ian Malcom, Jurassic Park (1993)

                                                                  1. 5

                                                                    Shipping a V8 runtime is still hacky

                                                                    Is shipping a lua runtime similarly hacky? edit: add a y to hack

                                                                    1. 9

                                                                      I don’t know, but at least Lua is made to be embeddable, whereas JS is embedded because they want to write the app in that.

                                                                      1. 5

                                                                        whereas JS is embedded because they want to write the app in that.

                                                                        What is V8, if not an embeddable scripting language for Chrome’s version of WebKit?

                                                                        Say what you will about JS (I hate it) but it’s almost undeniable that we’d be talking about Electron enough to have any debate about it at all if it used something other than JS.

                                                                        1. 2

                                                                          Is it really embeddable? Wasn’t one of the issues of Node that V8 changes API so quick, it is difficult to keep track of it so unless you have a lot of resources, you’re going to get stuck on an old version because API compatibility is not a priority for V8?

                                                                          1. 2

                                                                            Define “embeddable”?

                                                                            It might not be their goal to provide V8 as an embeddable implementation of JavaScript for other projects, but it’s certainly embedded in Chrome/Chromium, right?

                                                                            Wasn’t one of the issues of Node that V8 changes API so quick

                                                                            I have no idea, as I don’t follow this. But, this sounds like a tradeoff that Node has to make if they want to continue using V8, so long as V8 has no interest in providing this sort of compatibility.

                                                                            1. 5

                                                                              Sure enough, only 4 hours later a discussion on trouble with keeping up with V8 happens on the Node project.

                                                                              1. 2

                                                                                That’s fairly horrifying. :(

                                                                              2. 1

                                                                                Lots of things are stuck inside another thing - Lua is seen as being a particularly embeddable language and runtime because a bunch of choices were made in their design to facilitate embedding them in things. V8 is essentially the opposite. Hence, while it clearly is embedded in various things, it isn’t really a language and runtime combination which is good for that case; so, ‘not really embeddable’.

                                                                          2. 1

                                                                            With @Leonidas comment, I think I (may?) now understand your intention in saying “Shipping a V8 runtime is still hacky.”

                                                                            Did you mean to imply that because V8 has to be yanked out of Chrome, and the API isn’t stable that it’s hacky?

                                                                            1. 4

                                                                              I’d call it that. Lua, like most embeddable stuff, is designed to easily include in whatever app you want with its existinh interfaces. This will be easy. V8 is embedded in Chrome but maybe not “embeddable” in other stuff easily. Didn’t seem a high priority in its design.

                                                                              1. 2

                                                                                Yup! I was trying to understand if @mattgreenrocks thought shipping any embedded language was hacky, or just V8 / node in particular. But even still, I don’t see how that’s avoidable in Electron’s case, given their goals.

                                                                                I wouldn’t consider Lua hacky to ship, generally, but there are certainly situations in which shipping a Lua VM would be hacky. It all depends on what the intentions and goals are.

                                                                                1. 1

                                                                                  It was targeted more at V8, yeah.

                                                                                  You can usually find ways to package a VM in with an app and remove hassles around needing the VM on the system or certain versions. Desktop apps have big issues around making it easy to package and run everywhere, still.

                                                                                  1. 5

                                                                                    I may be way off here (I’ve never done an Electron app), but I’m surprised that this thread seems to be going on the assumption (on all sides?) that embedding V8 is really the objectionable part of Electron. I had always assumed it was the embedded web browser (Chromium) that was the culprit in making these apps large, memory-hungry, and “webbish” in their UI conventions, not the embedded JS runtime. I mean, Node CLI apps aren’t necessarily my favorite way to write a CLI app, but they’re not sluggish the way the Slack desktop app is sluggish.

                                                                                    1. 3

                                                                                      It is, but I think @apg was poking at what part of my “embedding V8 is still hacky” part, not, “what part of Electron is objectionable?”

                                                                                      Re-using the entire browser layout engine is ridiculous, yes.

                                                                                      1. 1

                                                                                        I had always assumed it was the embedded web browser (Chromium)

                                                                                        I mentally filter most things that look like another JS framework or whatever. Especially if comments start about how resource-hungry it is. This is first one on Electron I actually read where I found out it embeds a whole, web browser. Wow, yeah, easily the most objectionable thing. This tangent covered another important property of how embeddable its main components were in the first place. As in, should they be used at all vs individual libraries? Where that went shows it’s even worse of an idea.

                                                                            2. 10

                                                                              Eh… I don’t think so:

                                                                              $ cd /tmp/v8; sloccount .
                                                                              Totals grouped by language (dominant language first):
                                                                              cpp:        1305265 (97.78%)
                                                                              python:       27869 (2.09%)
                                                                              sh:            1147 (0.09%)
                                                                              ansic:          357 (0.03%)
                                                                              lisp:           222 (0.02%)
                                                                              
                                                                              $ cd /tmp/lua; sloccount .
                                                                              Totals grouped by language (dominant language first):
                                                                              ansic:        16595 (100.00%)
                                                                              

                                                                              Lua’s source is a little over 1% of v8’s.

                                                                              Even LuaJIT which is faster than v8 in many cases is smaller:

                                                                              $ cd /tmp/luajit; sloccount .
                                                                              Totals grouped by language (dominant language first):
                                                                              ansic:        59836 (100.00%)
                                                                              

                                                                              Lua is the only language I’ve seen that really meets the requirements for being an embedded interpreter (apart from some tiny lisp implementations). Granted, node runs on a lot of IoT devices but I’m pretty sure it’s using more than 256k of flash and more than 64k of ram (unlike elua).

                                                                              1. 3

                                                                                requirements for being an embedded interpreter

                                                                                What are the official requirements for this?

                                                                                I don’t think a lot of people care about slocount if it meets their requirements.

                                                                                1. 2

                                                                                  There is also an “original” embedded interpreter - Tcl.

                                                                              2. 4

                                                                                Who is forcing anything anywhere? People use the tools they want to use to build their apps. Make the native tools attractive to developers and they’ll build using those tools.

                                                                                Telling developers who know Javascript and all of a sudden can create desktop apps that they’re being arrogant is in itself arrogant.

                                                                              1. 4

                                                                                So, for all I hate Flash, it did bring about an upsurge in small game production, media production, and random web app production, and a whole bunch of people became programmers, artists, animators, designers, and so forth who otherwise probably would not have. Electron offering a similar gateway effect seems unlikely, but the comparison is interesting.

                                                                                1. 1

                                                                                  Exactly. It moved the platform forward. We can hate on it all we want, but it enabled certain kinds of applications to exist that really wanted to be written.

                                                                                1. 53

                                                                                  Ha ha, it’s funny because a white supremacist hid a Nazi joke in a pop culture reference.

                                                                                  1. 10

                                                                                    I didn’t see that, was it in the article?

                                                                                    1. 89

                                                                                      Early in the article:

                                                                                      What is an app, anyway? It’s shared computing. Everyone’s data is one data structure, in one program, on one server, owned by one corporation.

                                                                                      This is a callout to the Nazi slogan Ein Volk, ein Reich, ein Führer.

                                                                                      And then the only other time “shared computing” appears in the document:

                                                                                      To paraphrase Walter Sobchak: say what you want about the tenets of shared computing, but at least it’s an ethos.

                                                                                      In the movie The Big Lebowski, the protagonists are harassed by by nihilists that the sort-of militantly Jewish Walter initially assumes are Nazis. When it finally gets through to him, he says, stunned, “Say what you want about the tenets of National Socialism, at least it’s an ethos.”

                                                                                      Yarvin is a deliberate, meticulous writer who prides himself on his references. This is not a coincidence, this is a white supremacist laughing at programmers not recognizing that he’s calling competing software Nazis. Well, I happen to be reading up on Yavin’s buddies and I understood that reference.

                                                                                      He’s laughing at programmers because he knows the technical and political are inseparable, and the longer programmers think so the longer he gets to use them to gain power.

                                                                                      1. 13

                                                                                        Fantastic explanation, thank you. I totally understand that the technical and political are inseparable. But one thing still doesn’t make sense to me: Urbit is designed to be “eventually-distributed”, meaning there is no central company (like Facebook or Google) that can control it (ofc Yarvin’s company, Tlon, owns a large part of the Urbit network, but for the sake of argument let’s give the benefit of the doubt and assume Tlon won’t be evil). As such, Yarvin believes he is fighting against technical fascism. And yet he is (or we believe him to be) a white supremacist; white supremacy as an ideology includes the idea of one race “ruling over” or being superior to another race – which is also a form of fascism. So even though Yarvin is building a product to subvert fascism, he also believes in fascist ideals? How do these two things make sense? I figure either

                                                                                        1. he’s lying about the “eventually-distributed” goal of Urbit, and actually he intends to use Tlon to enact some kind of elitism in the Urbit network. I’m thinking analogously to institutionalized racism, where gerrymandering and obscure laws can be (and have been) enacted to suppress votes from certain demographics.
                                                                                        2. his ideology is more nuanced than we give him credit for - perhaps what we read as “white supremacy” is something closer to “population genetics”.
                                                                                        3. he has compartmentalized his white supremacy so as to focus on the less controversial part of his ideology: fighting technical fascism.

                                                                                        That’s all I can think of. Not sure how much time I want to spend analyzing this stuff. Urbit is technically interesting, but politically confusing, so is it worth investigating? ¯\_(ツ)_/¯

                                                                                        1. 63

                                                                                          He’s not subverting fascism, he’s enacting a fuedalist fascism. The Nazism references are a winking joke.

                                                                                          Look back at early docs before he’d invented all the jargon obscuring it. He’s not building a flat, distributed system, he’s building a hierarchy where he and his handpicked buddies literally own the world. Everything else (like the crowdsale) is just a noisy distraction.

                                                                                          Yarvin believes that some humans exist to be ruled and that historical racial oppressions should be regarded as the normal, desirable expressions of this state of affairs. He also knows that a lot of this is outside the Overton window, so he dances around how he expresses things, burying it under tens of thousands of words of historical references and smirking “but of course I never actually said that” when someone summarizes it or he accidentally says something a little too on the nose.

                                                                                          Urbit’s fundamental technical structure is an expression of Yarvin’s political philosophy. Urbit exists to create a new serfdom.

                                                                                          1. 12

                                                                                            That’s a pretty solidly damning link to that design doc, and it makes the rest of your argument seem a lot sounder to me.

                                                                                            1. 5

                                                                                              And yet, from the same doc he goes on to talk about how to avoid monopoly ownership.

                                                                                              Therefore, the solution to decentralization is to distribute rootkeys as broadly as possible, in such a way that it is as unlikely as possible that they will coalesce.

                                                                                              1. 3

                                                                                                I wouldn’t be so quick to condemn a metaphor. Feudalism isn’t necessarily fascist, although certain feudal lords could certainly employ fascist devices like taking people’s wages or limiting speech. The question should be: is specifically Urbit fascist? I’m not convinced either way (yet).

                                                                                                1. 21

                                                                                                  I wouldn’t be so quick to condemn a metaphor.

                                                                                                  Programming is metaphor reified.

                                                                                                  1. -5

                                                                                                    As long as we are condemning metaphors, why are so many OSS projects named after women? Cassandra, MariaDB, Apache Jena. I always thought it was creepy the way we name databases especially - you know that place we inject our data into - after women. Freud would have a heyday with the OSS community.

                                                                                                  2. 4

                                                                                                    He’s not building a flat, distributed system, he’s building a hierarchy where he and his handpicked buddies literally own the world. Everything else (like the crowdsale) is just a noisy distraction.

                                                                                                    That’s the bit I agree with–I’m not fascism is the correct term either. But the feudal aspect is pretty undeniable.

                                                                                                    Yarvin justifies it as:

                                                                                                    My answer is simple. The dukes are the developers of Urbit. They created it - they get to own it. This is standard Lockean libertarian homesteading theory. Lend a hand - earn a slice. Thus Urbit, unlike most open-source projects, offers a rational motivation for contribution. For starters, everyone invited to the urbit-dukes mailing list is, if he accepts, a duke. One may decline this honor, of course.

                                                                                                    1. 38

                                                                                                      Yarvin on feudalism:

                                                                                                      Someday I will read all of Froude’s twelve-volume history of England from Henry VIII through Elizabeth I, but I have only read a bit of the first volume. That bit was so impressive and stunning that I thought I might want to wait a year or two before taking in any more.

                                                                                                      Froude describes a Tudor society which is completely ordered - which consists, from top to bottom, king to knave, of these relationships of mutual obligation. They are relationships of family, of feudalism, of guild traditions such as apprenticeship, of the Church, of political patronage, of commercial patronage and monopoly, and of course of law and government. It was impossible to live a normal human life outside this tapestry, and nor is it at all clear why anyone would have wanted to.

                                                                                                      This dazzling idea has been seen recently and is why I also use the term “fascist”. To quote from “They Thought They Were Free”, a 1955 book on the lives of the unexceptional civilians who enabled Nazi Germany:

                                                                                                      Herr Kessler went on after a pause, “it was not just a matter of how it would look for the Party. There was something else. You ask why the hospitals would call the Party office when a soldier died who had left the Church. It was because people called the Party in all difficulties arising from the reconstruction of the country, and the Party always helped. This pattern was established from the first, long before the war. It was what made the Party so strong–it would always help. In religious matters, in domestic problems, in everything. It really watched over the lives of the people, not spying on them, but caring about them.

                                                                                                      “You know, Herr Professor, we are told that not a sparrow falls without God’s care; I am not being light when I say this– thhat not a person ‘fell,’ fell ill or in need, lost his job or his house, without the Party’s caring. No organization had ever done this before in Germany, maybe nowhere else. Believe me, such an organiztion is irresistible to men. No one in Germany was alone in his troubles–”

                                                                                                      Yarvin says “feudal” because he expects a multipolar world, but the system he describes is a fascist one. A place for everyone, and everyone in their place. Not a “place”, really, but the lowest-order bits of a variable-length bitfield encoded as syllables to form the address of a node in an internet-overlaying virtual network running code distributed hierarchically and written in a mostly-punctuation programming language compiled down through an intermediate language to an abstract lambda-calculus-like core language with every single thing given a new name and defined only with reference to their own lower-level terminology until you’re so overwhelmed you can’t see the shape of the whole thing is that he gets to be king and you get to be a serf.

                                                                                                      And then when it’s boiled down, Yarvin smirks “but I never said that” and anyone who skimmed one technical document goes, “well, let’s not be hasty here”.

                                                                                                      I challenge anyone who thinks I’m mischaracterizing the system to find Yarvin describing what it means for the namespace to be “hierarchical” in standard technical language. What specific power does a “duke” (I think this is “galaxy” in the current branding) have over their vassals? I don’t think you can find such a document. That’s the con. Everything else exists to distract you from the power he wants to wield over you.

                                                                                                      1. 13

                                                                                                        Someday I will read all of Froude’s twelve-volume history of England from Henry VIII through Elizabeth I, but I have only read a bit of the first volume.

                                                                                                        snip

                                                                                                        It was impossible to live a normal human life outside this tapestry, and nor is it at all clear why anyone would have wanted to.

                                                                                                        Lord. “I read an overview of the organizational structure of feudal England, skipped all the messy parts where it was an increasingly intolerable mess, and so I have trouble understanding the impulse to reform it”.

                                                                                                        1. 7

                                                                                                          What specific power does a “duke” (I think this is “galaxy” in the current branding) have over their vassals?

                                                                                                          It’s an address-space.. The owner of an address-space can grant a piece of it to you, and take it away again. This has been an explicit & core idea of Urbit since the first incomprehensible blog posts.

                                                                                                          1. 24

                                                                                                            Revocation is not actually listed in this article. I have no charity left for this project or author, so I don’t believe this is the only omission.

                                                                                                            1. 6

                                                                                                              I oversimplified the rules, but they’re spelled out in detail in the whitepaper that page links to - the deed to a moon belongs to its parent, but planets, stars & galaxies are self-owned and can change parents.

                                                                                                              “I haven’t read the documentation but this is definitely a sinister Trojan horse in some way that I can’t specify” is not much of an argument.

                                                                                                              1. 18

                                                                                                                My actual argument is “I have read way too much of his smirking bullshit and believe the author when he says he wants to recreate feudalism.”

                                                                                                                1. 4

                                                                                                                  I agree! But I also think that Urbit is interesting, and “it’s dangerous, don’t look at it!” is a unsatisfying & ineffective response to it.

                                                                                                                  1. 11

                                                                                                                    Then you should keep an eye out for people who have made that claim.

                                                                                                        2. 0

                                                                                                          Well, what is so bad about feudalism? From a historical perspective, feudalism was great at distributing a region’s economic/agricultural risk across smaller fiefdoms. With nation-states and globalism, all the risk is centralized, so one error between e.g. Russia and the US could lead to disastrous consequences for the rest of the world. In feudalism, two fiefs warring will not affect the entire world or even country. (This argument has been made by many historians, I recently found it in DeLanda’s 1000 Years of Nonlinear History, which I highly recommend, it’s an exciting read.)

                                                                                                          As for the second block quote, this sounds much like what we have now. For the most part, the people controlling the development of Linux are Linus and his lieutenants, the people that own most of the IPs are some governments and companies that got in when the internet was just starting. Of course new ones come along but they don’t have as large of a slice. But Urbit isn’t competing with Linux, it’s competing with Facebook and Google, which is about as centralized and dictatorial as you get. Feudalism could be an improvement over a Facebook dictatorship.

                                                                                                          1. 23

                                                                                                            Well, what is so bad about feudalism?

                                                                                                            Well, from a historical perspective, it was an absolute dogshit deal for the 99.99999% of humanity who wasn’t king or at best lord. Zero freedom of movement, no possessions, no say in governance, your station in life determined entirely by the accident of your birth, wild inequality in legal treatment, zero freedom of religious belief, etc, etc. It’s rather well documented in all those things societies wrote while they were in the midst of overthrowing these systems. Those French peasants were certainly rather powerfully mad about something.

                                                                                                            The “region’s” (aka, the one guy who owns everything) risk is well distributed? Hard to care about that.

                                                                                                            In feudalism, two fiefs warring will not affect the entire world or even country.

                                                                                                            Because they were fighting with pointy pieces of metal and not nuclear warheads. Feudalism had nothing to do with the limited scope of the conflict. If Russia and the US wanted to go to war with broadswords it would be a lot less dangerous, too.

                                                                                                            1. 1

                                                                                                              Yes but you’re comparing it with the improvements that came after. Was feudalism not an improvement on what came before it? Anyway, the French peasants revolted against monarchy, not feudalism.

                                                                                                              Perhaps it’d be best to avoid the medieval baggage by simple arguing in favor of federalism, something that’s easier to agree with.

                                                                                                              1. 17

                                                                                                                Yes but you’re comparing it with the improvements that came after. Was feudalism not an improvement on what came before it?

                                                                                                                Sure, just like amputating a limb because of a broken bone was better than dying of sepsis. There’s still rather a lot bad about needlessly cutting off limbs, though.

                                                                                                                And since we’re discussing Yarvin’s political theories for the modern world it’s also a wee bit important to consider how much worse it is than the current state of affairs.

                                                                                                                Anyway, the French peasants revolted against monarchy, not feudalism.

                                                                                                                Both, actually. They coexisted in various forms until 1789 when the revolutionary National Assembly passed a set of Manorial reforms that put a final end to vassalage (theoretically the peasants were supposed to pay out the seigneuriage, but they refused, so that theory didn’t last long and by 1800 it was well and truly dead)

                                                                                                                1. 5

                                                                                                                  And since we’re discussing Yarvin’s political theories for the modern world it’s also a wee bit important to consider how much worse it is than the current state of affairs.

                                                                                                                  The current state of affairs is Google and Facebook own most of the trust w.r.t. user identities and data, thus they own most of the users' computing abilities. This makes a Muslim registry very easy to create, for example. It’s not as easy to do under Urbit’s identity model because its decentralized.

                                                                                                                  1. 3

                                                                                                                    Thanks for the history lesson!

                                                                                                                    Anyway, I was just rereading the Urbit page on address space, and all the references are to republicanism, not feudalism.

                                                                                                                    In either case, the emphasis is on decentralized federation.

                                                                                                      2. 6

                                                                                                        You wanna get even more freaked out? They have custom phonetic representations for all the punctuation (runes) their language uses. This includes ‘~’, pronounced ‘sig’. So what is their logo? A sig rune…!

                                                                                                        (Personally I don’t give a shit about the politics and find these stupid edgy jokes almost hilarious. I wouldn’t take it too seriously, given that this stuff is probably less likely to help and more likely to harm their prospects in the long run…)

                                                                                                        1. 22

                                                                                                          Personally I don’t give a shit about the politics and find these stupid edgy jokes almost hilarious.

                                                                                                          I don’t know you from Adam, but maybe give some thought to the idea that it’s possible to be a little too uncaring about politics when you’ve reached the point where “we need to overthrow democracy and return to the good ol' days of feudalist monarchy” merits just another “yeah whatever politics is politics” shrug.

                                                                                                          Some things are legitimately crazy enough that they should cause almost anyone to raise an eyebrow.

                                                                                                          1. 6

                                                                                                            You’re right, I shouldn’t be so flippant.

                                                                                                            I’ve actually thought about Urbit quite a bit. I believe the federated system could potentially offer a lot more freedom than the current web.

                                                                                                            A lot of my feminist friends are incensed by the idea that Facebook bans female nipples - they believe they have the right to freedom of expression, but on Facebook, there’s nowhere else to go. We’re all serfs to Facebook.

                                                                                                            If these people had, say, planets on a star which started revoking the right to post nipples, everybody would have the freedom to up sticks and move to a star more amenable to freedom of expression.

                                                                                                            At least, that’s how it should work in theory. I like to believe that despite Yarvin’s political leanings, one can put together a libertarian, or even a progressivist argument for Urbit’s architecture - we all want roughly the same thing, freedom. And this is why I am willing to overlook his politics.

                                                                                                            1. 3

                                                                                                              If these people had, say, planets on a star which started revoking the right to post nipples, everybody would have the freedom to up sticks and move to a star more amenable to freedom of expression.

                                                                                                              Isn’t that like up and leaving Facebook for a social network you control or have influence over - or at least one that’s friendlier to the content you want to express? I’m sure there are examples of websites where the users can post with more autonomy than Facebook without having to invent a new paradigm for computing.

                                                                                                              1. 2

                                                                                                                You really don’t remember what the web used to be do you? It used to be decentralized. Our ISP uses to be run by some guy down the street with a closet full of computers. Our email was run by that guy or our university, or ourselves. Social networks were links across websites and web rings. It became decentralized when all the corporations decided they wanted to own the internet and the web. The future isn’t decentralized, the past was. We forget what we lost.

                                                                                                              2. 3

                                                                                                                Eh, they’re just words. Words will never, ever, get more than a shrug from me, no matter what they are (c.f. “sticks and stones…”). I’m willing to at least half entertain almost any notion, and bounce it around in my head for a bit, even if I disagree.

                                                                                                                I’ll believe Moldbug wants to “overthrow democracy” when I see him leading a crowd of people with guns.

                                                                                                                1. 12

                                                                                                                  I’ll believe Moldbug wants to overthrow the government when I see him leading a crowd of people with guns.

                                                                                                                  Do you also turn up your nose at preventative healthcare? Is there no benefit in nipping fascism in the bud, or do people have to die before we take action?

                                                                                                            2. 2

                                                                                                              He’s not subverting fascism, he’s enacting a feudalist fascism.

                                                                                                              I’m not sure whether you can have feudalism (lords controlling independent fiefs) and fascism (authoritarian nationalism) at the same time, since feudalism is federated and fascism is centralized.

                                                                                                              I do think you’re on to something with the feudalism label… but that could actually be an improvement for the internet, though it would be a regression in real life.

                                                                                                              The internet is currently a wild-west that relies on trust. We’re bumping up against the limits of that now. Spam, sibyl attacks, centralized DNS (which can and does have outages)… Urbit provides a more robust, federated structure.

                                                                                                              1. 6

                                                                                                                I’m not sure whether you can have feudalism (lords controlling independent fiefs) and fascism (authoritarian nationalism) at the same time, since feudalism is federated and fascism is centralized.

                                                                                                                Feudalism was historically widespread because it enabled taxation and control in ways that were otherwise uneconomical. It was created and promulgated to support centralization, and began to fall away once centralization could exist without it.

                                                                                                                1. 3

                                                                                                                  What’s a more decentralized alternative to federation? Other than complete non-communication.

                                                                                                                  1. 3

                                                                                                                    Fully automated luxury space communism

                                                                                                                    1. 1

                                                                                                                      I wonder what that would look like manifested as internet architecture :) resource-sharing of some kind?

                                                                                                                    2. 2

                                                                                                                      polycentric law

                                                                                                                  2. 4

                                                                                                                    Urbit provides a more robust, federated structure.

                                                                                                                    In what meaningful sense of the word “robust” is a niche project dealing with less than one one-millionth (one-billionth, even) of the traffic, issues, or attacks the DNS system currently withstands “more robust”?

                                                                                                                    1. 9

                                                                                                                      Architecturally and conceptually robust. Admittedly their system is not under heavy load so I have no idea how much traffic they can actually handle, but that’s not what I was driving at.

                                                                                                                      Let’s face it, the architecture of the internet is broken. There are so many systems which rely on trust to operate.

                                                                                                                      • BGP requires a router to trust its neighbors, and is easily spoofed. Accidental spoofing can cause massive outages.
                                                                                                                      • DNS relies on you to trust your provider, and is trivially middle-manned by any network operator. Public wifi does this all the time in order to force you to accept a EULA. There is a whole host of issues listed on Wikipedia. DnsSec is a band-aid.
                                                                                                                      • TLS helps solve the problem of cryptographically asserting a website’s identity, but relies on centralized certificate authorities who (until the advent of LetsEncrypt) charged thousands of dollars per year for a certificate. Certificate authorities are open to government subversion.
                                                                                                                      • TCP’s complete lack of cryptography allows injection/spoofing attacks, replay attacks, SYN flooding, etc.
                                                                                                                      • Rogue DHCP servers are able to perform man-in-the-middle attacks on the network they are plugged into.

                                                                                                                      There’s almost no end to the ways in which the current internet is totally busted. We keep trying to paper over the flaws, but the system simply was not designed for security from the beginning.

                                                                                                                      In contrast, Urbit:

                                                                                                                      • Uses a functional and minimal base language Nock, which is useful for doing proofs.
                                                                                                                      • Cryptographic identity means you know you’re communicating with the intended target.
                                                                                                                      • Scarce identity (32-bit “planets”) helps to prevent sibyl attacks, and reputation helps to prevent spam.
                                                                                                                      • The address space is an interesting middle-ground between raw IP addresses, which are hard to memorize, and DNS names, which are human readable but require lookup.
                                                                                                                      1. 1

                                                                                                                        The Internet is not broken. It worked the day it was turned on an has never been turned off. What’s broken is our governments, economies, and laws.

                                                                                                                  3. 1

                                                                                                                    Thank you, great detective work. So many things pissed me off about Unit’s network model. I learned more and decided it was created by fascists. This is the final nail and damning proof for me.

                                                                                                                2. 8

                                                                                                                  great analysis… ugh. deep crap there. Did you see Politico mention that Bannon and Yarvin chat: http://www.politico.com/magazine/story/2017/02/steve-bannon-books-reading-list-214745 followed by this denial: http://www.vox.com/policy-and-politics/2017/2/7/14533876/mencius-moldbug-steve-bannon-neoreactionary-curtis-yarvin I was more afraid that urbit.gov was in the works.

                                                                                                                  That said technically it’s interesting… kind of like the V2 I suppose.

                                                                                                                  Not even sure how we got to this point of Godwin’s Law becoming Godwin’s Presidency. The ‘ethos’ of National Socialism was so half baked (and then fully baked in firebombing hue hue hue) that I don’t really understand how people could dig it up when there’s so much new and classical thinking that supports fair and just treatment of all humans. These blips of self imagined superiority always get stomped by unified diversity, yet here we are watching one pop up like a case of idea acne here in 21st century.

                                                                                                                  1. 4

                                                                                                                    When I heard about Urbit and learned the network structure, I was like “what is this neo fudalist bullshit. I thought this was p2p”. Then read Yarvins work and was like “oh, how cute, a fascist. That makes sense”. Nope, won’t touch with a ten foot pole.

                                                                                                                    1. [Comment removed by author]

                                                                                                                      1. 42

                                                                                                                        You have accurately identified the point of his rhetorical style: unambiguous to supporters but subtle enough to deny publicly. Maybe when he starts talking about 14-word network packets or 88-bit computing.

                                                                                                                        1. 10

                                                                                                                          Hah!

                                                                                                                          To be fair, I generally disagree with dogwhistling as a concept (because it’s waaaay too convenient as an argument for arbitrarily unpersoning somebody or creating an outgroup), but given the other evidence you’ve linked as well as reading more of his stuff myself I’m inclined to agree with your assessment.

                                                                                                                          Edit: Why was this downvoted “troll”? I agreed with @pushcx, and did so politely.

                                                                                                                      2. 2

                                                                                                                        He’s not wrong, though, is he? Some companies are better about exporting data, but everyone’s Facebook emails and messages are in one data structure, shuffled by proprietary source code, in one company’s control, and restricted from access via anything but the interfaces they create & permit. Last I checked, Facebook isn’t run by a democratically elected leader, either…

                                                                                                                        1. -1

                                                                                                                          He’s clearly describing the “one"s of apps as undesirable qualities.

                                                                                                                          That bit from The Big Lebowski is a pretty standard joke.

                                                                                                                          There’s plenty to object to in his writings, you don’t need to stretch like this.

                                                                                                                      3. 9

                                                                                                                        I think this is the first time we’ve had a slayed dragon (see “2017-02-09 19:44:02” entry). Kudos to @pushcx, @angersock, @bsima, @matt, @bsima, @ChadSki and others for pulling it back from the brink :)

                                                                                                                        1. 3

                                                                                                                          I have no idea what’s that supposed to mean.

                                                                                                                          1. 4

                                                                                                                            Contentious threads are flagged as “dragons”. This one was briefly a dragon before being unflagged (see the moderation log).

                                                                                                                        2. [Comment removed by author]

                                                                                                                          1. [Comment removed by author]

                                                                                                                            1. 5

                                                                                                                              Curtis Yarvin (whose alter ego is Mencius Moldbug) has been discussed a fair amount here before - just search for his name to get a taste.

                                                                                                                          2. 1

                                                                                                                            Attack the work, not the man. Cmon dude.

                                                                                                                            1. 41

                                                                                                                              It’s totally reasonable to reject someone’s work if they’re using it to propel an agenda of dividing the community. The idea that we should blindly accept contributions independent of social consequences is a bit half baked. It’s one thing if someone is just a dick, it’s another entirely if they are actively trying to divide the community arbitrarily for the sake of personal gain. This is after all what ________ supremacists do, and to overlook it is genuinely harmful to the progress of open source. In short, if someone isn’t willing to listen or respect others, they don’t get to demand respect.

                                                                                                                              1. 8

                                                                                                                                If we’re willing to abandon tools and techniques because the people who came up with them don’t agree with our ideology, we’re doing ourselves a disservice and we will be surpassed by people who do not use such a subjective metric.

                                                                                                                                To bring out some old examples…should we have ignored rocketry because von Braun was an actual Nazi (a Major in the SS)? Should we have given up synthetic fertilizers because Haber basically invented chemical warfare?

                                                                                                                                Or on the other side, should Turing’s work been disowned because he was a homosexual and his existence divided the (nominally God-fearing, straight) English community? Should English and German banks have avoided the practice of interest-bearing loans pioneered by the Jews that they viewed as an other (which is actually a fascinating bit of history into itself)?

                                                                                                                                Only somebody who lives with either extreme luxury or extreme fundamentalism that can afford the position you’re advocating.

                                                                                                                                1. 5

                                                                                                                                  It depends how much of the repellent ideology is encoded into the tools, and how much ‘not giving it up’ helps the repellent causes.

                                                                                                                                  Also, your counterfactual is kind of weird, as through various points in history English and German financial instruments did (and many Islamic financial instruments still do) avoid interest as a mechanism for deriving profit, and Turing’s work was stopped (through the mechanism of Turing dying) due to the state disliking his sexuality, and I would argue that operation paperclip (and other similar efforts) were disastrous for the world - we should have executed all the Nazis, and just potentially taken longer to build rockets.

                                                                                                                                  So, this is more akin to rejecting (say) credit default obligations - an invention that encoded the repellent idea of the traders call and byzantification, while claiming to produce miraculous wealth decoupled from the underlying economy.

                                                                                                                                  1. 8

                                                                                                                                    This is a ridiculous mischaracterization. Try to engage in good faith here.

                                                                                                                                    should we have ignored rocketry because von Braun was an actual Nazi

                                                                                                                                    He didn’t have a monopoly on the idea of rocketry. We could have courtmartialed him for war crimes instead of celebrating him.

                                                                                                                                    Should we have given up synthetic fertilizers because Haber basically invented chemical warfare?

                                                                                                                                    Haber didn’t have a monopoly on fertilizer ideas. We should give up chemical warfare, and refuse to support Haber personally for his crimes.

                                                                                                                                    Urbit is owned by moldbug and his mates. Contributing to it is contributing to his prosperity.

                                                                                                                                    1. 4

                                                                                                                                      We could have courtmartialed him for war crimes […]

                                                                                                                                      I don’t these some of those words mean what you think they mean.

                                                                                                                                      We should give up chemical warfare, and refuse to support Haber personally for his crimes.

                                                                                                                                      If you’re replying to @angersock, I think you need to engage in good faith. We aren’t going to give up chemical warfare because other groups who want power aren’t going to give it up.

                                                                                                                                      And your revisionist history isn’t helpful. Other people were working on rockets, chemical warfare, nukes, cryptography, modern financial instruments, and hell probably agriculture; but, when the race is on for power, societies back winning teams. Operation Paperclip wasn’t a one-time thing, it’s happened numerous times throughout history.

                                                                                                                                      “Bad” people have, time and time again, made “bad” things for “good” people.

                                                                                                                                      (I note that you didn’t even touch @angersocks' “on the other side” examples. Goddamn, have I been trolled?)

                                                                                                                                      1. 1

                                                                                                                                        I don’t these some of those words mean what you think they mean.

                                                                                                                                        Good spot - tried would be more appropriate (and very kind of you to soften the blow by reordering your words)

                                                                                                                                        We aren’t going to give up chemical warfare because other groups who want power aren’t going to give it up.

                                                                                                                                        Most major powers have agreed to give up the proliferation of weapons that cause excessive collateral damage.

                                                                                                                                        “Bad” people have, time and time again, made “bad” things for “good” people.

                                                                                                                                        Yep - and I don’t have a problem with using the things - but I do have a problem with supporting their creators.

                                                                                                                                        (I note that you didn’t even touch @angersocks' “on the other side” examples. Goddamn, have I been trolled?)

                                                                                                                                        My time isn’t unlimited; the principles in my response extend just fine to the rest of his examples.

                                                                                                                                        If you have a moral problem with homosexuality it’s follows naturally that you would not want to support Turing.

                                                                                                                                      2. 4

                                                                                                                                        Haber didn’t have a monopoly on fertilizer ideas.

                                                                                                                                        Yeah he actually kinda did. There’s a reason it’s referred to as the Haber Process. It was fucking huge.

                                                                                                                                        We could have courtmartialed him for war crimes instead of celebrating him.

                                                                                                                                        And then the Apollo program never would’ve happened, because he and the rest of the Operation Paperclip scientists were instrumental in the United States being able to catch up with the Soviets who had both the German rockets and tooling and the engineering talent to reverse and improve them.

                                                                                                                                        You know, this in turn resulting in the free world losing to a USSR with functional theater and ballistic missles.

                                                                                                                                        Urbit is owned by moldbug and his mates. Contributing to it is contributing to his prosperity.

                                                                                                                                        But the architecture and source is open-source, and so anybody is free to improve on it and use it for their own gain. Yarvin himself even says as much.

                                                                                                                                        ~

                                                                                                                                        To quote a certain movie:

                                                                                                                                        Forget it, Donny, you’re out of your element!

                                                                                                                                        1. 2

                                                                                                                                          Haber didn’t have a monopoly on fertilizer ideas.

                                                                                                                                          Yeah he actually kinda did. There’s a reason it’s referred to as the Haber Process.

                                                                                                                                          That is just one of many processes. In fact, it’s predated by the Ostwald Process. The Haber Process was a great idea, but it wasn’t the only idea.

                                                                                                                                          1. 4

                                                                                                                                            You’ve mixed up the two processes as interchangable–they’re not.

                                                                                                                                            The Ostwald produces nitric acid from ammonia–the ammonia is made by the Haber process.

                                                                                                                                            From your link:

                                                                                                                                            Frank-Caro process and Ostwald process dominated the industrial fixation of nitrogen until the discovery of the Haber process in 1909.

                                                                                                                                            The Haber process was markedly more efficient than the Frank-Caro process.You probably mean to compare it with the Frank-Caro or similar cyanamide methods for producing ammonia. All those methods are not similar at all in yield to the Haber process, and require a lot more energy and, I believe, material.

                                                                                                                                          2. 1

                                                                                                                                            Yes, some free world we seem to have here. I bet we can do better

                                                                                                                                            1. 1

                                                                                                                                              Yeah he actually kinda did. There’s a reason it’s referred to as the Haber Process. It was fucking huge.

                                                                                                                                              He also invented it before doing any work at all on chemical weapons.

                                                                                                                                              And then the Apollo program never would’ve happened, because he and the rest of the Operation Paperclip scientists were instrumental in the United States being able to catch up with the Soviets who had both the German rockets and tooling and the engineering talent to reverse and improve them.

                                                                                                                                              Just so I’m clear here: is your argument that the US should pardon anyone who is likely to prove useful to national security, regardless of their crimes? (I don’t think they should, but that’s at least a coherent, self-consistent argument).

                                                                                                                                              But the architecture and source is open-source, and so anybody is free to improve on it and use it for their own gain. Yarvin himself even says as much.

                                                                                                                                              I have no problem with a forked universe. I’m calling on you not to support Yarvin.

                                                                                                                                              To quote a certain movie:

                                                                                                                                              I am indeed - ad hominem attacks have never been my strong suit.

                                                                                                                                          3. 2

                                                                                                                                            That’s not what I said, but cool argument against whatever ghost it is you’re fighting.

                                                                                                                                          4. 3

                                                                                                                                            I am unable to find any indication anywhere that Urbit is being used to propel an agenda of dividing the community. There are indeed things he says that I find disagreeable but Urbit has nothing nothing to do with any of them.

                                                                                                                                          5. 21

                                                                                                                                            Clever Nazi references are now part of the work.

                                                                                                                                            1. [Comment removed by author]

                                                                                                                                              1. 19

                                                                                                                                                Yep: https://lobste.rs/s/z5j1hq/urbit_2017/comments/n4bfai#c_n4bfai

                                                                                                                                                I should’ve done it in the original comment, I’m sorry. I wasn’t trying to be exclusive. It reached out and poked me in the eye. It honestly didn’t occur to me that someone else would miss it.

                                                                                                                                                1. [Comment removed by author]

                                                                                                                                                  1. 1

                                                                                                                                                    And to read tealeaves and viscera!

                                                                                                                                        1. 25

                                                                                                                                          So, this discussion has been ongoing elsewhere as well; a realy good point was made here: https://news.ycombinator.com/item?id=13128366 that what is and is not ‘explicitly political’ is itself a political question, and that a lot of the attempts to remove politics from technology discussions are actually bad faith attempts to push a particular (neoliberal) politics, for example by deliberate conflation of ‘personality politics’/‘party politics’ as being the same thing as any discussion of the consequences of or biases built into a particular technological thing.

                                                                                                                                          1. 12

                                                                                                                                            Couldn’t agree more. I personally think that any politics-related topic that intersects with technology should be accepted.

                                                                                                                                            1. 2

                                                                                                                                              I personally think that any politics-related topic that intersects with technology should be accepted.

                                                                                                                                              This is such a colossally bad idea I have difficulty politely engaging with it.

                                                                                                                                              That opens the floodgates to all kinds of current-events and navel-gazing bullshit and low-quality submissions that I can’t believe you’d in good faith suggest it. Let’s apply that logic for a bit:

                                                                                                                                              • Computers can be used to handle medical records, so we should submit more stories about doctors complaining about EMRs?
                                                                                                                                              • IBM helped make the census machines used to round up minorities in Germany, and so we should expect to see thinkpieces here on the Holocaust?
                                                                                                                                              • Automated newsfeed ranking tends to favor linkbait, so we we should post articles talking about the “alt-right and fake news”?
                                                                                                                                              • New advances in nanotechnology allow for more efficient filters, so we should post articles talking about water politics in Palestine and Africa?
                                                                                                                                              • Apple and Foxconn build our phones, so we should see stories here about factory workers killing themselves?

                                                                                                                                              There is nothing actionable about the above stories, they are memetic bait that are guaranteed sympathetic upvotes, they all will have pages and pages of people “discussing” (read: ranting) at each other, and they all will take up space and bandwidth better used on the actual practice of technology.

                                                                                                                                              I get that you tend to favor more political articles–you probably don’t think it is a problem seeing more of that sort of stuff here. Then again, it’s my experience that folks in a more activist mindset tend not to care that they are sacrificing the space of others in order to make their point and that is exactly what your suggested policy will start bringing out here.

                                                                                                                                              1. 4

                                                                                                                                                Would your concerns be addressed by a policy that narrowed it to only articles that have actionable advice relevant to the present day?

                                                                                                                                                To reiterate what I usually say: Any change like that wouldn’t be driven by me.

                                                                                                                                                1. 7

                                                                                                                                                  That’s an interesting proposal. Those do at least get shit done or result in more useful discussions. Quick example might be the 10-20 posts on election security, tampering, etc I’ve seen between Hacker News and Schneier’s blog. Under that rule, that stuff gets filtered in favor of stuff like paper on specific risks in election systems, secure schemes for them, proposals on alternative implementations for existing ones with a shot of working, and so on.

                                                                                                                                                  It would’ve had a good effect in that use case. Im not going to push it in general, though, until Ive thought of the potential consequences. Includes objective data with actionable recommendations sounds nice, though.

                                                                                                                                                  1. 3

                                                                                                                                                    That’s completely fair.

                                                                                                                                                    I thought of it because I’ve been drowning in political material that I want to read, this past month, and picking the actionable stuff first has been essential triage for me.

                                                                                                                                                  2. 5

                                                                                                                                                    (tl,dr; that might help, but there are still subtleties. Text dump ahead.)

                                                                                                                                                    So, the first thing to note is that if we don’t blacklist political articles entirely we will have to wade through a lot of “weeeellll maybe this one is okay” articles and their accompanying discussion, probably a great deal more than we already have to. That’s a price we are going to want to pay in order to keep from flooded; failure to pay that price will be very bad for the site.

                                                                                                                                                    Second thing to note is that political articles “relevant to the present day” start to look suspiciously like news and current events. My stance on news as the mind-killer is well documented, but I’ll point something else out: that metric would’ve, for example, been completely cheerful in allowing “Vote for Clinton/Trump/Johnson/Stein” spam here the day before the election. Additionally, those articles tend to bring out theorycrafting and argument by people giving slightly different advice…and unlike our holy wars about text editors and init systems, none of those articles or bits of advice are going to help us practice our craft.

                                                                                                                                                    Third thing to note is that a lot of the “actionable” part is going to be basically “go vote or fundraise”. I don’t come to Lobsters to see ten articles every month reminding me to fund the FSF, EFF, Planned Parenthood, ACLU, Greenpeace, or any of a dozen other groups the patronage of which would be good and sound actionable advice for me.

                                                                                                                                                    ~~~

                                                                                                                                                    (here down is stuff not in direct answer to your question, but probably worth mentioning as we discuss this)

                                                                                                                                                    The big problem with this line of reasoning is that it leads to, on average, really really trite and dumb articles. Whenever I think of folks talking about the “consequences” of technology, I’m put in mind of lazy tryhard intellectuals writing hack articles to the effect of:

                                                                                                                                                    • “Maaaan, what if voting machines could be hacked? What about the consequences, man? What about our democracy maaaaan?”
                                                                                                                                                    • “What if, like, what if people didn’t have to pay for music or software? How weird would that be?”
                                                                                                                                                    • “There’s this, like, rich person, doing things with other rich people in some far-away place. We should, like, protest.”
                                                                                                                                                    • “People are killing themselves and stuff over how hard work is, maaan. How bad is that?”
                                                                                                                                                    • “What are we going to do with robot cars? That’d be pretty far out…what are we going to do when car drive you, tovarisch?”
                                                                                                                                                    • “The Third World”
                                                                                                                                                    • “Maaaaaaan, the poor. what a concept.”

                                                                                                                                                    And yes, those are completely unfair characterizations of these articles–but only just.

                                                                                                                                                    If the articles were showing all of the numbers and stepping through an analysis on the jobs lost, maybe it’d be useful because then we learn how to perform that kind of analysis. If the articles talked about the business practices for handling an employee’s suicide, that could help somebody out if they ever (God forbid) ended up in that situation. If the article traced the flow of money from content creator to distributor to consumer and showed an alternative model with spreadsheets and graphs, sure.

                                                                                                                                                    But that’s not what happens. What happens is a bunch of shitty blog posts where people don’t show their work and they pretend to be thoughtleaders and then people who are too lazy to do their own analysis and too scared to flag bad submissions and still want to feel like they’re part of something give upvotes out of sympathy. It’s the entire armchair intelligentsia approach that sustains business models like TED, the Rolling Stone, and so forth.

                                                                                                                                                    And I cannot support the notion of any sort of political here that will end up there.

                                                                                                                                                    ~

                                                                                                                                                    The main justification I’ve seen repeated here and elsewhere for non-tech articles lately is that “bringing up the consequences and impacts of technology is important for us as developers”.

                                                                                                                                                    Let me dispense my other main critique of such things, nihilistic though it may be:

                                                                                                                                                    Technology marches on, regardless of how we feel about it. I’m pretty sure that no significant change happened at Amazon because somebody killed themselves. I’m equally sure that nobody here who has an opinion on either Trump, Palantir, Thiel, or anything related has any reasonable influence in those circles.

                                                                                                                                                    I’m quite fucking sure that for 95% of everybody bemoaning the privacy and the surveillance and the automation and the whole rotten rest of the clearly and directly evil things we as programmers (not even the tech sector folks, us) have done none have put in their resignation or run Tor nodes or put their principles ahead of their livelihood.

                                                                                                                                                    How many of you (yes, you, fellow crustacean) have used Facebook to provide pictorial surveillance of your family and friends? How many of you have allowed your friends' and coworkers' emails to be hoovered up by Gmail? How many of you have retweeted inaccurate restatements of other people’s positions, because gosh darnit they were wrong/toxic/racist/misogynist/mean?

                                                                                                                                                    We’re almost all hypocrites of the highest caliber, and yet still we are going to bray like so many asses that we should make space on this site for articles which we won’t read, which if we do read we won’t critique, and which if we do critique we still won’t do a damned thing about?

                                                                                                                                                    There are better places for the self-flagellation and pearl-clutching and hand-wringing that always accompany these “tech and politics” articles, so let’s leave them out.

                                                                                                                                                    ~

                                                                                                                                                    The final word (of too many from me, to be sure) I’ll give on this subject matter is this:

                                                                                                                                                    • Technology marches forward, with or with us.
                                                                                                                                                    • All technology boils down to increasing efficiency.
                                                                                                                                                    • Most people survive perpetuating inefficiencies.
                                                                                                                                                    • One day we will have removed all inefficiencies that people live off of.
                                                                                                                                                    • The moral and practical questions of what to do with redundant human beings will be handled by statesmen and businessmen, not by hackers.

                                                                                                                                                    There is no interesting discussion to be had here on that topic that is both actionable and effective, so let’s not bother. We can suggest the actionable step of stopping our individual work, which is not effective. We can speculate the effective step of all the world governments uniting to create a post-scarcity paradise, which is not actionable.

                                                                                                                                                    Or, we can ignore the articles entirely, and go back to what we’re good at: talking about math, code, computers, and problem-solving in areas that directly impact our livelihoods.

                                                                                                                                                    1. 5

                                                                                                                                                      First off, I think you’re conflating your personal opinions on many of these subjects with an objective analysis of some sort, and unfairly generalizing on an entire class of discussion. Attempting to hang a lampshade on it by saying:

                                                                                                                                                      And yes, those are completely unfair characterizations of these articles–but only just.

                                                                                                                                                      Doesn’t excuse it.

                                                                                                                                                      Most of your criticisms of stories on the intersection of technology and social & political issues equally apply to stories on technical issues.

                                                                                                                                                      You seem to make the assertion that many of the stories related to political/social technology consequences aren’t backed up with hard data, and that makes them useless, but how many technical articles do we share here each day that aren’t filled with graphs and spreadsheets and charts? There have been plenty of good anecdotal stories about someone’s personal experience with a technology or tool-set discussing how it improved some desired technical outcome for them, or held them back. Many of these have prompted me to try something new in my own development processes. Why are those anecdotal stories valuable when they have technical or economic consequences, but not social consequences?

                                                                                                                                                      We’re almost all hypocrites of the highest caliber, and yet still we are going to bray like so many asses that we should make space on this site for articles which we won’t read, which if we do read we won’t critique, and which if we do critique we still won’t do a damned thing about?

                                                                                                                                                      There are a ton of stories posted on the site already that I don’t read because I’m not interested. There are lots of interesting articles I don’t critique, because I don’t feel informed enough to do so, despite being interested in the topic, or because I think the story stand on it’s own. There are plenty of great stories on Lobste.rs on things I can’t do a damn thing about, like addressing the P = NP problem, or making purely functional programming languages more efficient, because I don’t work in those fields, and likely never will at this point in my career. That doesn’t mean we those articles don’t belong here, or don’t add value for me.

                                                                                                                                                      There are better places for the self-flagellation and pearl-clutching and hand-wringing that always accompany these “tech and politics” articles, so let’s leave them out.

                                                                                                                                                      I disagree with the assertion that that’s all that comes out of articles about the human consequences of technical designs. I for one, am quite interested in the difficult problem of designing social technical spaces in a way that limits their utility for abusive behavior. It seems to be a very difficult problem both in the technical/UX design space, as well as in organizational design - building a team that is aware and recognizes the potential for abuse in systems before they ship. I suspect based on your comments that you’d be opposed to articles in that space.

                                                                                                                                                      Technology marches forward, with or with us.

                                                                                                                                                      I don’t think this idea the technology marches on a pre-destined path that we are powerless to influence holds water. If it did, why would we discuss the merits and trade-offs of different languages or data-stores? Why would we be interested in novel designs for solving new problems?

                                                                                                                                                      All technology boils down to increasing efficiency.

                                                                                                                                                      Choosing what to make efficient and what the costs and trade-offs there are is a fundamental part of engineering. We always build systems with a set of end goals in mind. Occasionally (possibly, frequently) we’re bitten by the unintended consequences of our efficiency increases. Sometimes those consequences are technical (Shit, my writes are super fast, but sometimes they’re not consistent). Sometimes they’re social (Damn, people are using the software I built to very efficiently abuse individuals they disagree with).

                                                                                                                                                      The moral and practical questions of what to do with redundant human beings will be handled by statesmen and businessmen, not by hackers.

                                                                                                                                                      I see no reason to assume that these sets of people are non-intersecting.

                                                                                                                                                      1. 2

                                                                                                                                                        I see no reason to assume that these sets of people are non-intersecting.

                                                                                                                                                        Here, perhaps go with the composition of the 111th US Congress, which included a whopping six engineers in over 500 voting members and fewer still non-medical scientists. Or the number of MBAs as opposed to engineers represented in publicly-held company senior management.

                                                                                                                                                        Choosing what to make efficient and what the costs and trade-offs there are is a fundamental part of engineering.

                                                                                                                                                        Sure, but technology as a whole is decidedly about increasing efficiency–and that’s before we even get into the flamebait of “Is software development engineering?”. Your point is orthogonal to what I was observing.

                                                                                                                                                        I don’t think this idea the technology marches on a pre-destined path that we are powerless to influence holds water.

                                                                                                                                                        Another orthogonal observation, and one that misstates my idea. We can talk all we want about which particular vector in the forward direction technology marches, but the fact remains forward is the only direction over time.

                                                                                                                                                        I disagree with the assertion that that’s all that comes out of articles about the human consequences of technical designs.

                                                                                                                                                        I didn’t claim that was all that came of those articles–I claimed specifically that the unhelpful stuff that always accompanies those articles was sufficiently undesirable that we shouldn’t have them.

                                                                                                                                                        There are a ton of stories posted on the site already that I don’t read because I’m not interested.

                                                                                                                                                        You miss the point (perhaps written poorly by me) by a country mile. First, there’s a huge difference between “this article is a technical thing that is not immediately useful, but one day may be” and “this article is talking about issues I have no control over or never will or which I will go along with because I’ve bought into the system”. Most of the political stuff becomes either news, matters of opinion which are untestable by any of us, or happen at a level none of us are involved in.

                                                                                                                                                        Most of your criticisms of stories on the intersection of technology and social & political issues equally apply to stories on technical issues.

                                                                                                                                                        You’ll have to elaborate more here, as it is you’ve just got a blanket assertion–if you mean that we get bad tech articles too, that’s certainly something that happens and gets flagged appropriately.

                                                                                                                                                        1. 3

                                                                                                                                                          You’ll have to elaborate more here, as it is you’ve just got a blanket assertion

                                                                                                                                                          I thought that I had, but in an effort to clarify I’ll give it one more shot. The TL;DR is that the majority of us build software to achieve some outcome for other people. The decisions we make about how to build that software have both intended and unintended results. Sometimes those are technical in nature (Writes are slow. The system doesn’t scale.), and sometimes they are human (The development team is miserable. Users are engaging in abusive behavior). For me, and I think for many other developers, both of those sets of outcomes are important. Certainly they are if you’re trying to get as many people as possible to use what you’ve built.

                                                                                                                                                          You miss the point (perhaps written poorly by me) by a country mile.

                                                                                                                                                          I think I understood your point, but I disagree with many of your fundamental assumptions.

                                                                                                                                                          First, there’s a huge difference between “this article is a technical thing that is not immediately useful, but one day may be” and “this article is talking about issues I have no control over or never will or which I will go along with because I’ve bought into the system”.

                                                                                                                                                          What specifically is that huge difference? I don’t see how discussing software design decisions that lead to a faster Rust compiler is any different than discussing designs that lead to less abusive behavior from users. An anecdote about how a particular vim plugin allowed someone to develop a website more quickly is not vastly different than an article about how changing hiring practices allowed someone to build a more effective team with a wider range of backgrounds.

                                                                                                                                                          I don’t think your assertion that none of us has control over these things holds water, either. I’ve interviewed and hired quite a few people in my career. I’ve built and designed software used by people to interact with each other, and I’ve generally had a voice in that design process. Knowing more about unintentional human outcomes would help me make better decisions in that space.

                                                                                                                                                          Most of the political stuff becomes either news, matters of opinion which are untestable by any of us, or happen at a level none of us are involved in.

                                                                                                                                                          I think you’re conflating big-government nation-level politics (which admittedly few of us have influence in) with the actual topic under discussion in this thread, which is the human outcomes that result from the software that we build. I suspect there are many of us here that work on products where those topics apply.

                                                                                                                                                          Choosing what to make efficient and what the costs and trade-offs there are is a fundamental part of engineering.

                                                                                                                                                          Sure, but technology as a whole is decidedly about increasing efficiency … Your point is orthogonal to what I was observing.

                                                                                                                                                          What I’m getting at here is that the engineering trade-offs we regularly discuss here, some of which are fundamental to computation and cannot be avoided also exist in the space of human consequences of our designs (how unavoidable the social trade-offs are is still up for debate). Maximizing the efficiency of certain types of communication may also maximize the efficiency of abusive and harassing behavior. That’s a trade-off that I think many of us care about, and it applies to our work.

                                                                                                                                                          I don’t think this idea the technology marches on a pre-destined path that we are powerless to influence holds water.

                                                                                                                                                          Another orthogonal observation, and one that misstates my idea. We can talk all we want about which particular vector in the forward direction technology marches, but the fact remains forward is the only direction over time.

                                                                                                                                                          I don’t see how you can claim this is orthogonal. What is the discussion of the human/social consequences of the software we build if not a discussion of the direction we push technical progress in?

                                                                                                                                                          As an aside, this idea of technology marching forward in general is a poor rhetorical concept. It’s vague enough to justify or dismiss anything, and subject to nitpicking about what “progress” is, what “forward” or even “direction” actually means in this space.

                                                                                                                                                          1. 2

                                                                                                                                                            I’d be happy to carry on this conversation on the #obsters channel or in PM, because I think that we’d get too far off into a subthread here fixing some definitions and assumptions I think we both have a mismatch on. I think we’re starting to talk past each other, and sorting that out would burn a lot more space here.

                                                                                                                                                      2. 1

                                                                                                                                                        news as the mind-killer

                                                                                                                                                        Fear is the mind-killer. Fear born out of unknown. Fear that makes you escape reality in some gee-whiz version of the tech world you read about as a fearful child. Fear of a world that you don’t understand and that you gave up understanding. Fear of becoming useless if you stop being productive or you miss some “actionable” piece of info that will allow you to carry on being busy.

                                                                                                                                                        You embraced this utilitarian fantasy out of fear and now you’re worried that the outside world is going to strip you of it with its confusing news and current events, but it’s not the world that needs to adjust to your needs. We’re not here to provide background entertainment for your assembly line.

                                                                                                                                                        1. 2

                                                                                                                                                          Or: we read complex political topics elsewhere and we prefer that we have a source of “just” tech news. Your assumption that this reveals “fear” and “fantasy” is silly.

                                                                                                                                                      3. 1

                                                                                                                                                        actionable advice

                                                                                                                                                        We’re not all robots looking for our next marching orders. Some of us like some food for thought, some perspective on an increasingly complex world. Some of us worry about the effects of all this “action” and “productivity”.

                                                                                                                                                        1. 9

                                                                                                                                                          One doesn’t need to be a robot to recognize that all of that both already exists elsewhere in great quantity and that including it here would dilute a rare source of quality technical content.

                                                                                                                                                          1. 2

                                                                                                                                                            re: dilution, lobsters' tagging system works very for filtering out discussion that you want no part in. While I’ve made my opinion clear elsewhere, I think regardless of what your opinion is, guarding any news-related story behind a tag (I’d hesitate to use news, since that motivates non-tech articles), is the obvious choice here. There are clearly many for it that care about that type of content, and clearly people against it that don’t want to engage with it here.

                                                                                                                                                            Maybe we should start bikeshedding about tag names ;)

                                                                                                                                                            1. 1

                                                                                                                                                              Hello angersock, I tend to agree with you that “news”, “press releases” etc especially if they are tangentially connected to technology are mind-killers and cause dilution of an otherwise great source of hacker freshness; these also have the potential of carrying political bias that can lead to wasted brain power in useless discussions. If I can put it oh so delicately, so are whole chapters and chatter in the comments section. I think there should be a penalty system on length for comments, a la twitter. Time is of the essence. Time is the essence. Please dont take this the wrong way, just sharing my perspective to make this a better place for all that are marching towards making this planet and this solar system a better place for human kind. :-)

                                                                                                                                                        2. 2

                                                                                                                                                          ‘Things at the intersection of technology and politics’ does not mean ‘things that are within seven degrees of connection to technology and politics’, in the same way that cheese does not mean grass.

                                                                                                                                                          To apply your standard, we should currently expect to see lobsters overrun with articles about surfing, because surfing happens at beaches, and beaches have sand, and sand has silicon, which is the basis for much of our technology, therefore submitters will not be able to distinguish between whether they should be submitting posts about new programming languages or the weather on beaches, because no one could possibly tell the difference between these things.

                                                                                                                                                          Yet people somehow can tell the difference between these things. I do not see why it should be any different if we say that the politics around, about and encoded in technology are also within the scope of this site.

                                                                                                                                                          Also, with respect to actionability - that is a terrible measure, for two reasons. Firstly, many of the articles we all enjoy here (eg about historical computing, say) are not actionable - I would need a time machine to be able to change how things happened. And secondly, much of the political discussion that you characterise as ‘not actionable’ or whatever is actually actionable - those ‘pages of people ranting’ do actually often have eg useful tactics or information.

                                                                                                                                                          Also, with respect to

                                                                                                                                                          That opens the floodgates to all kinds of current-events and navel-gazing bullshit and low-quality submissions that I can’t believe you’d in good faith suggest it.

                                                                                                                                                          You are the one who in bad faith is claiming that your opponent said proposed something completely different from what they proposed.

                                                                                                                                                      4. 11

                                                                                                                                                        Yes, this is an excellent observation. When a manager says, “There’s no politics in my organization”, you know that it’s an extremely political organization. He’s just blind to it because he’s always getting what he wants. In his world, “politics” is when he doesn’t get what he wants.

                                                                                                                                                        The term “political” is also misused. People use it as a euphemism for “corrupt”. When they say that someone’s promotion, demotion, or firing was “political”, they’re trying to call it out as corrupt but use a less confrontational synonym and have plausible deniability. By definition, those decisions are political, even when they’re done right. Likewise, when someone loses his license for driving 100 mph in a school zone, that’s politics working well. We don’t call it that, because it’s independent of left/right politics (we can all agree that reckless drivers should be taken off the roads), but it is politics: the people have decided that there should be certain penalties to those who abuse the roads in dangerous ways.

                                                                                                                                                        So, like you said, what is and is not called “political” is a political debate. Those who are in power will always argue that their positions and objectives are “not political”, and that’s because they’re mostly getting what they want. This is why I hate the self-serving term “meritocracy” as it is applied in the tech world. It’s the people on top saying, “We don’t see a problem, so quit whining.”

                                                                                                                                                        1. 2

                                                                                                                                                          I downvoted this comment because I don’t feel it has anything to do with the point of this post.

                                                                                                                                                          1. 6

                                                                                                                                                            I think it’s very relevant. As recently as yesterday, one user attacked a post on the grounds that it was “political.” This user has not been shy making such attacks nor about his intention–to shut down certain types of discussion. Against this background I think it’s entirely pertinent to point out that “political” is a contested category, not a value-free descriptor.

                                                                                                                                                            1. 5

                                                                                                                                                              I like @angersock and I think he has a valid point.

                                                                                                                                                              There are different flavors of political discussion and some are of higher quality than others. Discussion about politics ought to be fair game, because almost anything interesting can be called “political” by someone. The biased pushing of a specific viewpoint, company, or product is dangerous: it turns a forum into Hacker News, which these days is 75% shilling (“PedobEar (W ‘15) Is Changing The World!”) and 25% content.

                                                                                                                                                              1. 4

                                                                                                                                                                I think that aspect of the discussion is fine. I believe that @michaelochurch’s response is a continuation of his rants on office and the Valley, rather than promoting a discussion on what we should do here.

                                                                                                                                                                1. 6

                                                                                                                                                                  I believe that @michaelochurch’s response is a continuation of his rants on office and the Valley, rather than promoting a discussion on what we should do here.

                                                                                                                                                                  I’m more nuanced in my views than you might think. I’ve argued for both sides in this post. That’s uncommon these days, to argue a point from both sides, but it’s a worthwhile exercise that ought to be taught more in schools.

                                                                                                                                                                  The problem I face is that I tend to write long-form. It’s my mathematical training: something isn’t proven unless every corner case is handled and every detail is correct. Most people don’t want to read long-form essays, and I don’t blame them. They get 300 words in, realize that they’re less than halfway, skim the rest and conclude, “This guy is really angry.” Which I am, but that’s beside the point, and it’s not why I tend to write long-form (or, to use your word, “rants”). If anything, I write long-form so people can check my work. At any rate, my emotions neither validate nor refute my arguments, and given that emotions fluctuate and that reading emotional intent in anyone is a dodgy business, attempts to impute an emotional state (“he’s angry”, “she’s bitter”, “that writer is just jealous”, etc.) from content ought to just go away.

                                                                                                                                                                  Obviously, people have the right not to read what I have to say, or to decide after 300 words that I’m too long-winded and to move on to something else. That’s what they should do if they’re not interested in what I write: not read it. I have no right to their time. What I don’t tolerate is when people read a couple hundred words and them proclaim themselves to be experts on (a) my mental state, and (b) why I wrote what I did, when a more thorough reading would refute what they are saying about me… except when they accuse me of being long-winded and culturally elitist, because those charges are actually true.

                                                                                                                                                                2. 1

                                                                                                                                                                  As recently as yesterday, one user attacked a post on the grounds that it was “political.”

                                                                                                                                                                  That’s incorrect. I explained my reasoning pretty clearly.

                                                                                                                                                          1. 3

                                                                                                                                                            This has come up before. I think that we will probably get down votes back sometime soon (at the rate things are going, anyways) and that should solve that problem.

                                                                                                                                                            What do you mean by “hn dudebros”?

                                                                                                                                                            1. 5

                                                                                                                                                              For example: https://lobste.rs/s/ufczsd/facebook_lets_advertisers_exclude_users/comments/dm1tpn#c_dm1tpn

                                                                                                                                                              User cgag is a typical example. Blithely racist and happy to talk about it, and not even the usual veneer of being willing to change their mind if rebutted. I have also observed many more users who seem to require a new from-first-principles proof every time that eg racism or sexism or whatever are bad, or that they exist, or that we should do something to reduce them, in threads that touch on this stuff. Also a lot of ‘just keep politics out of it, man, this is about the technology’ derailing posts in reply to actual thoughtful posts about how the technology and politics are intimately intertwined.

                                                                                                                                                              1. 3

                                                                                                                                                                Hmm, must confess I haven’t noticed any “techbro” users commenting. Perhaps I’ve just been lucky… (although I do read almost all posts so would’ve thought I’d have noticed if there were any).

                                                                                                                                                              1. 42

                                                                                                                                                                but as others have pointed out, it was used to disagree with someone’s opinions rather than further discussion

                                                                                                                                                                The only one I see agreeing with the claim that it happens is the guy who is sad he was “jumped by a group of feminazis”.

                                                                                                                                                                I missed that downvote thread, but I think downvotes should be returned and “disagree” should be added to the dropdown without any of the clever proposed “no don’t do that” popup instructions. Some comments are wrong, not worth replying to, and bad to engage with.

                                                                                                                                                                I think downvotes are also valuable for penalizing off-the-cuff popular responses like humor, snarkiness, and “but what about” hot takes that land early in discussions. They give light readers that two-second “hey, hah, yeah, that’s right, you tell ‘em” feeling and get upvotes (a positive feedback cycle, given the ranking) when just a few more seconds of thought shows they’re stupid, repetitive, cruel, irrelevant, equivocating, or off-topic. Posting more comments in reply to those is almost always counter-productive, you can’t argue with a joke.

                                                                                                                                                                1. 23

                                                                                                                                                                  Oh man, bringing back downvotes and adding a category for hot takes sounds really nice to me. I started using this site because it was a place for thoughtful, high quality, and usually longer-form discussions. I like that people take some time to post here, and that the discussions tend away from brevity.

                                                                                                                                                                  1. 14

                                                                                                                                                                    Oh hell, I’ve been downvoted “troll” more than a few times when I wasn’t trolling (and to be fair, a couple of times when I was!)–it certainly happens. That said, it doesn’t happen often.

                                                                                                                                                                    I very much agree about upvotes encouraging off-the-cuff responses; light readers are too easy to game for anybody with even the tiniest bit of talent.

                                                                                                                                                                    Compare the large critique I wrote about a Graham essay getting 62 karma, and the throwaway snark that got 20. That second comment has a massive effort/reward ratio compared with the first comment.

                                                                                                                                                                    Now which of the two do we want to proliferate here? Which does the upvote-only system reward?

                                                                                                                                                                    1. 8

                                                                                                                                                                      I think snarky comments are going to proliferate with or without downvotes. A humorous 1-line reply hardly deserves a downvote.. maybe we should stop upvoting them instead. I can recall several times where a humorous joke from tedu (and the spiraling thread it generates) would cover insightful comments.

                                                                                                                                                                      1. 10

                                                                                                                                                                        Downvotes are meant to help correct for the fact that some people will upvote fluff. Telling people to just not upvote fluff does not work in larger communities, as it only takes a relatively small number of people doing it to drown out signal hugely. So if you remove downvotes (as has been done), we will need some other mechanism to get rid of fluff comments, like reporting or agressive mods or bans for fluff comments.

                                                                                                                                                                        Also, while humerous fluff comments might not deserve to get massively downvoted, they don’t deserve to get upvoted either - so being able to downvote them down to zero still seems good to me.

                                                                                                                                                                        1. 9

                                                                                                                                                                          A humorous 1-line reply hardly deserves a downvote

                                                                                                                                                                          No, it deserves many downvotes. Humorous 1-line replies kill good discussions.

                                                                                                                                                                          1. 6

                                                                                                                                                                            I seriously disagree. If there is good discussion to be had, it will happen regardless. Comment space is not finite, we have multiple comment threads for a reason - multiple trains of thought.

                                                                                                                                                                            I never felt like there was an issue with the comment quality here. Quite the opposite, I really enjoy this place because of how it is and because it isn’t sterile.

                                                                                                                                                                            I feel like some small group here is grumbling and shaking their fists in pursuit of an utterly mailing list style discussion on every post. That’s not what I want. We’re already worlds better than Reddit and HN.

                                                                                                                                                                            Simply put, I don’t see a problem.

                                                                                                                                                                            The few instances of spiralling troll threads can be taken care of by a mod.

                                                                                                                                                                            1. 5

                                                                                                                                                                              In my experience, humorous 1-line replies have created more discussions than killed. When I said “and the spiraling thread it generates” referring to tedu’s jokes, it wasn’t of other 1-line replies. Rather, people expanded on the joke and discussed on it (ie. Why is it funny? What issue does it make fun of? How could it be solved?).

                                                                                                                                                                              1. 2

                                                                                                                                                                                I’d downvote this

                                                                                                                                                                              2. 7

                                                                                                                                                                                I agree with this approach to lightweight jokes - just don’t upvote them to begin with.

                                                                                                                                                                                They’re funny, but they’re noise, not signal, and I really don’t ever want to get to a Reddit-like situation where users who have something important to say make sure to lead with a one-liner so it will actually be upvoted.

                                                                                                                                                                                1. 6

                                                                                                                                                                                  Ok, no more funnies.

                                                                                                                                                                                  1. 1

                                                                                                                                                                                    tedu pls

                                                                                                                                                                                2. 3

                                                                                                                                                                                  Vote counts can’t really be compared across different discussions. Your critique was on a submission that got 12 votes, and the snark was on a submission that got 78 votes. How much higher/longer was each submission on the front page (granted there’s a penalty given to meta submissions); did more users see it and vote on it? Does more votes on the submission mean more people read the comments and voted? Do people tend to vote more freely on meta discussions than technical ones? Etc. There’s too many different factors involved.

                                                                                                                                                                                  1. 2

                                                                                                                                                                                    Your critique was on a submission that got 12 votes

                                                                                                                                                                                    That isn’t a good metric for thread popularity in this case. That got 12 upvotes because most people who read the article disagreed with it or thought it was off-topic, not because nobody was reading the discussion. It was on the upper half of the front page for at least 12 hours.

                                                                                                                                                                                  2. 2

                                                                                                                                                                                    “Now which of the two do we want to proliferate here? Which does the upvote-only system reward?”

                                                                                                                                                                                    I thought that was a success story given what an indepth comment did vs the other one. You appealed on other one to the popular vote, intentionally or otherwise. Human nature dictated it would get upvotes. The other you earned with some combo of reason and intuition by the readers. Our discipline should just be to overlook that popular stuff will get upvotes by simply acknowledging it will happen and moving on. I mean, aren’t you assessing bias like that anyway to get more honest assessments of Internet comments?

                                                                                                                                                                                    This kind of reminds me of the Crash article about trusting automated systems too much. Some want a system that maximizes everything they like and some that minimizes everything they hate. Quite foolish in light of Internet experiences in general plus article’s point that automated systems miss corner cases. They’re incredibly important in our field or areas of discussion. Things that aren’t are the well-trodden or even boring stuff basically. So, we will have to rely on our own judgment to assess what we see regardless of the method. So, I had to decide what direction to shift things if we’re augmenting rather than replacing human review on a forum like this. I chose anti-censorship as primary goal given we’re good at filtering out crap and machines don’t spot golden connections as well as we do. We should do the part we’re good with machine assistance rather than thinking this site’s algorithms can protect us from “bad” things without hurting us by denying us good things.

                                                                                                                                                                                    1. 2

                                                                                                                                                                                      The thing that appealed to me about lobste.rs in the first place was that there were both. Neither would be as good alone.

                                                                                                                                                                                    2. 14

                                                                                                                                                                                      “Downvote for hot take/low effort/etc” is something that feels necessary sometimes.

                                                                                                                                                                                      One example of this recently that might serve as a good example: there was an article about how Facebook’s ad-targeting-by-race was illegal in certain cases (housing, jobs) that had federal regulations prohibiting this.

                                                                                                                                                                                      … but most of the comments seemed like they hadn’t even read the article. Discussion quickly drifted away from the actual topic (“digital ad targeting and its interaction with fair housing/labor laws”) to nebulous debates of the morality of racial targeting [in the general case, not in the specific case]. It was fairly clear none of the threads were going anywhere interesting at this point.

                                                                                                                                                                                      It feels like a common problem where initial hot takes on a topic drag people into tangential debates at the expense of interesting discussion. Though I’m not sure if there’s really any technical solution to this.

                                                                                                                                                                                      1. 7

                                                                                                                                                                                        I disagree. The tangents had useful information. Showed numerous biases worth keeping in mind. Productive tangents are a sign of a good forum. Many of my greatest lessons, learned or taught, started that way.

                                                                                                                                                                                        1. 5

                                                                                                                                                                                          My comment in that thread was one of those heavily downvoted. It was expressing disagreement with the assertion by another poster that racially-targeted advertising for housing is fine–a position contrary to the law in every developed country. Was it “low-effort?” Sure, because I was responding to an equally low-effort, and grossly offensive, comment, which did not deserve a more substantive response. That comment got 15 upvotes, I got numerous “incorrect” downvotes and several “trolling” downvotes (I wasn’t trolling. I posted because I think it is dangerous to allow racist comments to stand unchallenged, which the parent comment was at the time I posted.) The level of downvoting I received is really demoralizing. A community which rallies around open defenses of racial discrimination is not one to which I want to belong.

                                                                                                                                                                                          1. 4

                                                                                                                                                                                            Your comment was literally 2 words. “It’s not.”

                                                                                                                                                                                            It should have been down voted simply for being low effort. if you want to discuss something, put some thought into what you write so other people have a chance to consider a view different than their own.

                                                                                                                                                                                            I think the point of having a defined scope for mods is to help with issues like what you describe though. If you have some ideas for what tools could be added to the site to assistance with that, it would be great to discuss those.

                                                                                                                                                                                          2. 4

                                                                                                                                                                                            It was fairly clear none of the threads were going anywhere interesting at this point.

                                                                                                                                                                                            Clearly the people participating in the discussion disagreed. Did you just assume your opinion regarding a thread’s interest to you is somehow universal to everybody?

                                                                                                                                                                                            1. 1

                                                                                                                                                                                              The specifics in that thread were boring.

                                                                                                                                                                                            2. 8

                                                                                                                                                                                              How about adding “disagree” and “low effort” as reasons to downvote a comment?

                                                                                                                                                                                              1. 7

                                                                                                                                                                                                People should never downvote because they disagree–that public decision on HN by Graham basically destroyed the value of discussion there.

                                                                                                                                                                                                If downvotes don’t signal disagreement, then a low-rated comment is probably malicious or poor quality. If downvotes signal disagreement, then a low-rated comment could be malicious, poor quality, worded in a way that annoys some people, or just plain out of step with the hivemind. We cannot allow that dilution of signal.

                                                                                                                                                                                                An option for “low-effort', though, seems perfectly reasonble–it’s usually pretty easy to point out when a comment was just off-the-cuff.

                                                                                                                                                                                                1. 11

                                                                                                                                                                                                  People should

                                                                                                                                                                                                  But people will. On every single site that uses vote buttons, they do. That’s what the design of the system encourages. It’s easy to click the button, there are lots of opportunities to do so, it’s easiest to click when you’re reading a comment in a conversation you’re engrossed in, and it’s hard to step back and think objectively. So people are gonna click the button that matches the way they feel at that moment. It’s not an issue of rules, it’s just an issue of humans being humans.

                                                                                                                                                                                                  1. 4

                                                                                                                                                                                                    That’s what I liked about Schneier’s blog all these years. We didn’t have votes. We had people’s opinions and ability to report to the moderator. Brought in lots of interesting comments with occasional periods of stuff that makes one roll their eyes. Put buttons on there & suddenly people are just pressing instead of writing much of the time. If button wasn’t there, those who were writing would still be there. Worst case, I’d like a personal button for hiding stuff I didn’t care for.

                                                                                                                                                                                                  2. 6

                                                                                                                                                                                                    For me the loss of downvotes has destroyed the value of discussion here. I have stopped reading comment threads, and will probably stop coming here at all unless I hear they’ve been restored.

                                                                                                                                                                                                    1. 4

                                                                                                                                                                                                      I rarely see high quality comments on HN downvoted, so I disagree that HN downvoting has destroyed the value of discussion there.

                                                                                                                                                                                                      1. 3

                                                                                                                                                                                                        I agree - is it feasible to have “disagree” as a completely different field so that you can upvote or downvote based on quality and have another “disagreement” count below it. It seems that every site with upvotes and downvotes conflates quality and agreement and they suffer for it.

                                                                                                                                                                                                    2. 2

                                                                                                                                                                                                      Happened to me once or twice. It was dark and I didn’t see who did it though. Notably I then got upvoted a lot. A moderator told me that there were a lot of up and down votes for that particular post. And that post was a general observation on the absurdity of life, fairly apolitical.

                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                        “it was used to disagree with someone’s opinions rather than further discussion”

                                                                                                                                                                                                        I got that plenty on Hacker News from the beginning. I noticed anything disagreeing with a popular person, tech, etc immediately got hit with enough downvotes to grey out my comment. As I did on Schneier’s blog, which doesn’t have voting, I included references for about any claim I made. I watched votes go up, down, me and my opponent greying or whatever. Point being quite a few threads that were subject of significant disagreement by writers and readers nearly disappeared due to popular downvote with my evidence-based approach likely being only reason they kept surviving the process. I get it way, way less on Lobste.rs but it seems to happen occasionally for similar reasons.

                                                                                                                                                                                                        The real question to me, if we’re talking up and down votes, comes to which of two tradeoffs we want: (a) increased amount of crap near top due to unnecessary upvotes; (b) total censorship of ideas due to too many downvotes. I imagine a community like this are experts at mentally filtering out crap that might float to the top. I know for a fact they aren’t as good at finding rare nuggets of wisdom that get drowned out by the crowds. That’s simply a lot of work. And luck. So, I prefer whatever system is adopted chooses tradeoff of protecting dissent even if some unworthy posts benefit from that.

                                                                                                                                                                                                        Note: A similar concept underlies the First Amendment of the U.S. Constitution. Not that I’d push it on any international audience that rejects concept of no censorship unless provably harmful. Just saying there’s similar considerations between why U.S. went with that model and the “Vote Against Others' Freedom of Speech” debate here.

                                                                                                                                                                                                      1. 15

                                                                                                                                                                                                        I feel like I’m supposed to care but I don’t. Race seems like a pretty reasonable thing to target people by when it comes to advertising.

                                                                                                                                                                                                        1. 4

                                                                                                                                                                                                          In the US, there is a long history of racial discrimination hidden behind corporate motives. Selective advertising was and is literally a part of that. This kind of racism is still alive and well there. That is why it is legislated against.

                                                                                                                                                                                                          This also ties more directly into discrimination in sale and on price than print ads, as online ads can offer lower prices, and can link directly to the buying page, being essentially an extension of the storefront. So, using this technology plus standard web technology you can have a special store that only people of certain races can access, which offers better prices and exclusive goods.

                                                                                                                                                                                                          If you were talking about a different place that did not have that history, and did not have that current situation, then this might not be such a big deal, as people might just decide not to use the technology this way. But in the US, you can bet that many companies will use it this way, even if it means they earn less money - that is how powerful the ideology of white supremacy is in the US.

                                                                                                                                                                                                          The reason that US law and history are important here is that Facebook is largely an american company, inasmuch as any multinational can be tied to a single nation.

                                                                                                                                                                                                          1. 4

                                                                                                                                                                                                            I don’t see anything wrong with, say, marketing Indian products to Indian users…

                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                              You can already market based on interests, and this should actually get you better and more effective targetting in terms of sales than race based targetting. The only reason to target based on race is racism.

                                                                                                                                                                                                            2. -3

                                                                                                                                                                                                              It’s not.

                                                                                                                                                                                                              1. 9

                                                                                                                                                                                                                [citation needed]

                                                                                                                                                                                                                For the sake of everybody that is trying to actually advance civil rights and equality, we all have to put forth more articulate arguments about why a policy should be adopted. Otherwise, we get ignored out of hand because our claims lack substance and rationality.

                                                                                                                                                                                                                As a starting point, maybe argue about products that are bought equally across demographics without specific market targeting. Alternately, argue that the racial groupings for targeting are constructs of advertising companies designed to artificially segment the population and increase demand.

                                                                                                                                                                                                                But for God’s sake argue something, instead of just blandly asserting “no you’re wrong”.

                                                                                                                                                                                                            1. 31

                                                                                                                                                                                                              Pretty much matches my thoughts on why people should learn C, even if they don’t use it. And by learn, I mean complete at least one non trivial project, not just a few exercises.

                                                                                                                                                                                                              In many languages, a loop that concatenates (sums) a sequence of integers looks a lot like one that concatenates a sequence of strings. The run time performance is not similar. This is obvious in C.

                                                                                                                                                                                                              I have mixed thoughts on rust. As a practical systems language, sure, great. No cost abstraction, ok, sure, great. But for understanding how computers work? To compile by hand? Less sure about that.

                                                                                                                                                                                                              There’s a place for portable assembler that’s a step above worrying about whether the destination is the left or right operand and what goes in the delay slot and omg so many trees. And whether it’s arm or Intel or power, all computer architectures work in similar fashion, so it makes sense to abstract that. But we shouldn’t abstract away how they work into something different.

                                                                                                                                                                                                              1. 15

                                                                                                                                                                                                                I have mixed thoughts on rust. As a practical systems language, sure, great. No cost abstraction, ok, sure, great. But for understanding how computers work? To compile by hand? Less sure about that.

                                                                                                                                                                                                                Rust helped me understand how computers work much better than C (I’ve learned both C and C++ at Uni and had to implement some larger projects in it). It just adds a lot more explicit semantics to it which you need to know in C. It keeps strings as painful as they are :). The thing that’s really lacking - and I agree on that fully - is any kind of structured material covering all those details. If you really want to mess around with computer on a low level - and not write a tutorial on how to mess around with a computer on a low level with your chosen language - C is still the best choice and will remain so.

                                                                                                                                                                                                                Most arguments about C seem, though, at a closer look, end up as “it’s there, it’s everywhere”. The same argument can be made about Java or C#. A agree that some C doesn’t hurt, but I don’t see how it is as necessary as people make it to be.

                                                                                                                                                                                                                1. 10

                                                                                                                                                                                                                  I really agree with the idea that Rust makes explicit a long catalog of things that one can do in C, but should not*.

                                                                                                                                                                                                                  Most arguments about C seem, though, at a closer look, end up as “it’s there, it’s everywhere”. The same argument can be made about Java or C#.

                                                                                                                                                                                                                  The missed point here is that important parts of the Java or C# toolchains or runtimes are written in C or C++; the argument rests on C (for the time being still “the portable assembly language”) being foundational, not just ubiquitous. C is almost always present, right above the bottom of the (technological) stack.

                                                                                                                                                                                                                  *Unless interacting with hardware / doing things that are inherently unsafe.

                                                                                                                                                                                                                  1. 2

                                                                                                                                                                                                                    On further reflection, I think I missed @tedu’s point, which is something more like, “C is special because it’s pretty easy to mentally translate C into assembly or disassembly into C.”

                                                                                                                                                                                                                    1. 1

                                                                                                                                                                                                                      Which would probably be true in the absence of aggressive UB optimizations. But, if horses were courses…

                                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                                        “C is special because it’s pretty easy to mentally translate C into assembly or disassembly into C if we assume it was compiled with -O0

                                                                                                                                                                                                                  2. 5

                                                                                                                                                                                                                    Here’s an example of something I ran into the other day that’s easy to do in C but unnecessarily hard to do in Rust: adding parent pointers to a tree data structure. In C I’d just add a field and update it everywhere. In Rust I’d have to switch all my existing left/right pointers to add Rc<T>.

                                                                                                                                                                                                                    I’m willing to buy that a binary tree implementation in Rust encodes properties it would be desirable to encode in the C version as well. But once you start with a correct binary tree Rust doesn’t seem to prevent any errors I’d be likely to make when adding a parent pointer, for all the pain it puts me through. There’s a lot of value in borrow-checking, but I think you’re understating the cost, the level of extra bondage and discipline involved.

                                                                                                                                                                                                                    1. 3

                                                                                                                                                                                                                      Most arguments about C seem, though, at a closer look, end up as “it’s there, it’s everywhere”. The same argument can be made about Java or C#. A agree that some C doesn’t hurt, but I don’t see how it is as necessary as people make it to be.

                                                                                                                                                                                                                      It is everywhere though, what do most people think runs microcontrollers/avr/pic/etc… chips? Generally it is a bunch of bodged C and assembly.

                                                                                                                                                                                                                      The argument here is a bit different, you can avoid java (I have zero interaction with it), but you can’t realistically avoid dealing with C.

                                                                                                                                                                                                                      1. 3

                                                                                                                                                                                                                        The argument here is a bit different, you can avoid java (I have zero interaction with it), but you can’t realistically avoid dealing with C.

                                                                                                                                                                                                                        I can totally do that. Lots of new high-performance software (Kafka, Elasticsearch, Hadoop and similar) is written in Java, so if you are in that space, you can realistically avoid dealing with C. You will certainly avoid C if you do anything in the web space.

                                                                                                                                                                                                                        You will certainly run C software, but that doesn’t mean you need to know it.

                                                                                                                                                                                                                        1. 4

                                                                                                                                                                                                                          Ah I see the disconnect, you’re using avoid in reference to having to program in. I’m using it in reference to use. In which case we’re both correct but talking past each other in meaning.

                                                                                                                                                                                                                      2. 2

                                                                                                                                                                                                                        Rust is pretty great, no arguments there, but I think at least one of the author’s points is that C as a language has remained INCREDIBLY stable over decades.

                                                                                                                                                                                                                        Can you honestly say that immersing students in Rust will still have the same level of applicability 10 years from now?

                                                                                                                                                                                                                        1. 15

                                                                                                                                                                                                                          Strong disagreement to part of your point. C in the 90s was very different to C in the early 00’s which is very different to C now. The standards may not have changed that much (though eg C89, C99 etc were things, which did change things), but the way compilers work has massively changed, eg in aggressive UB handling, meaning that the effective meaning of C code has completely changed, and continues to be in wild flux. C as a language is amazingly unstable, in part due to the language specifications being amazingly underspecified, and in part due to so many common things being UB.

                                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                                            You’re quite right. I learned C back in the K&R days, and even the transition to ANSI was readily noticeable, if not earth moving.

                                                                                                                                                                                                                            My point is that even having learned K&R, the amount of time it takes for me to come up to speed is relatively trivial. I would argue that this is nothing compared to say even the rate of change in idiomatic usage of the Java language over time. I learned Java back before generics and autoboxing, to say nothing of more recent Java 8 enhancements, and the Java landscape is a VERY different place now than it was when I ‘lived’ there.

                                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                                              I would disagree that the time to come up to speed is trivial in comparison - you are comparing apples and oranges.

                                                                                                                                                                                                                              The time to superficially come up to speed is trivial in comparison, but the time to actually learn how to not write heisenbugs into your code that you did not used to have to worry about - well, unless you are extensively fuzzing and characterising your code, you don’t actually know that you even have come up to speed.

                                                                                                                                                                                                                            2. [Comment removed by author]

                                                                                                                                                                                                                              1. 1

                                                                                                                                                                                                                                They probably don’t work the same, unless you have extensively characterised and fuzzed them, or unless you have done binary diffs of the executables and they are identical - and the latter I would not believe, as there have been other differences in what output compilers produce over the years that should show up.

                                                                                                                                                                                                                                That is, my meaning is not that the changes will result in code that produced tetris now producing space invaders. They will result in code that produced tetris now producing tetris with additional weird heisenbugs that can be used for eg arbitrary code execution.

                                                                                                                                                                                                                                Edited to add: Also, the part about the C standard being underspecified is what means that C programs do not have an inherent meaning - their meaning differs massively depending on which compiler, which architecture etc. For example, how some cases of bit shifts are handled differs completely between x86 and ARM, and has historically differed between compilers on x86.

                                                                                                                                                                                                                              2. 1

                                                                                                                                                                                                                                Does GCC even fully implement C99 yet? Many people still compile their C with –std=c89…

                                                                                                                                                                                                                                1. 2

                                                                                                                                                                                                                                  Most people’s continuing use of c89 is either cargo culting or the need to support very old compilers. GCC and Clang have both had adequate support of c11 for years now. If you’re working with an old microcontroller you might be stuck having to use their patched gcc 3.x (a very bad time, speaking from experience) but aside from this sort of situation using c99 or c11 is perfectly reasonable.

                                                                                                                                                                                                                                  1. 1

                                                                                                                                                                                                                                    Most people are indeed in an environment where they can use either c99 or c11, but since c11 is not quite a superset of c99, c89 seems to have retained a certain role in C programmers' mental models as the core of C. The real working core today could in practice be a bit bigger, essentially c89 plus those features that were not in c89, but are in both of c99 and c11. But that starts getting more complex to think about! So if you want your stuff to compile on both c99 and c11 compilers, just sticking to c89 is one solution, and probably the simplest one if you already knew c89.

                                                                                                                                                                                                                                    I personally wrote mostly c99 in the early 2000s, but one of the specific features I used most, variable-length arrays [1], was taken back out of c11! (Well, demoted to an optional feature.)

                                                                                                                                                                                                                                    [1] Perhaps better called runtime-length arrays. They aren’t variable in the sense of resizable, just with size not specified at compile-time; usually it’s known instead at function-entry time.

                                                                                                                                                                                                                                  2. 1

                                                                                                                                                                                                                                    What does fully implement mean? c99 without appendices? yes, c99 with appendices? no.

                                                                                                                                                                                                                                    Regardless clang is your best bet for something beyond c89 that works.

                                                                                                                                                                                                                                2. 3

                                                                                                                                                                                                                                  That wasn’t my argument. I was opposing the argument that C is the only language usable for that.

                                                                                                                                                                                                                                  I’m quite aware that Rust is currently too young to teach it people as a usable skill on the job for the future.

                                                                                                                                                                                                                                  I agree with flaviusb though, idiomatic C has had incredible changes over the last few years.

                                                                                                                                                                                                                              3. 4

                                                                                                                                                                                                                                That’s kinda what I’ve been designing. At a high level but without the low-level chops (so far) to make it real. So since I can’t do, I teach :)

                                                                                                                                                                                                                                My Basic-like language Mu tries to follow DJB’s dictum to first make it safe before worrying about making it fast. Instead of pointer arithmetic I treat array and struct operations as distinct operations, which lets them be bounds-checked at source. Arrays always carry their lengths. Allocations always carry a refcount, so use-after-free is impossible. Reclaiming memory always clears it. You can’t ever convert a non-address to an address. All of these have overhead, particularly since everything’s interpreted so far.

                                                                                                                                                                                                                                While it’s safer than C it’s also less expressive. A function is a list of labels or statements. Each statement can have only one operation. You don’t have to worry about where the destination goes, though, because there’s an arrow:

                                                                                                                                                                                                                                x:num <- add y:num, z:num
                                                                                                                                                                                                                                

                                                                                                                                                                                                                                You don’t have to mess with push or pop. Functions can be called with the same syntax as primitive operations.

                                                                                                                                                                                                                                It also supports tagged unions or sum types, generics, function overloading, literate programming (labels make great places to insert code), delimited continuations (stack operations are a great fit for assembly-like syntax). All these high-level features turn out not to require infix syntax or recursive expressions.

                                                                                                                                                                                                                                I’m working slowly to make it real, but I have slightly different priorities, so if someone wants to focus on the programming language angle here these ideas are freely available to steal.

                                                                                                                                                                                                                                1. 1

                                                                                                                                                                                                                                  In many languages, a loop that concatenates (sums) a sequence of integers looks a lot like one that concatenates a sequence of strings. The run time performance is not similar. This is obvious in C.

                                                                                                                                                                                                                                  I’d expect ropes to be more popular in high-level languages, to be frank. Java’s StringBuilder is a painful reminder that some supposedly “high-level” language designers still think in C.

                                                                                                                                                                                                                                  1. 2

                                                                                                                                                                                                                                    As far as I know “str += postfix” in a loop is going to be O(n^2) in c#, ruby, Python, JavaScript, and lua. What languages are you thinking of?

                                                                                                                                                                                                                                    1. 5

                                                                                                                                                                                                                                      V8 uses ropes to represent javascript strings almost all the time (IIRC there are exceptions for e.g. very large strings).

                                                                                                                                                                                                                                      1. 2

                                                                                                                                                                                                                                        I’m not thinking of any specific language, I’m thinking of a specific data structure: https://en.wikipedia.org/wiki/Rope_(data_structure)

                                                                                                                                                                                                                                        1. 2

                                                                                                                                                                                                                                          Oh, you mean people should use ropes? In my experience, c# devs use StringBuilder and everyone else uses some spelling of Array.join(). I knew about, but still didn’t use, ropes when I wrote c++ code because what I really wanted was ostringstream.

                                                                                                                                                                                                                                          1. 2

                                                                                                                                                                                                                                            In C++, using std::ostringstream is understandable, but how come high-level language pretenders like C# and Java force you to use StringBuilders?

                                                                                                                                                                                                                                            1. 1

                                                                                                                                                                                                                                              Because for most development purposes the interface used when building up strings is more important than the performance. And StringBuilders are a common and well understood interface for building up strings incrementally.

                                                                                                                                                                                                                                              1. 2

                                                                                                                                                                                                                                                What I’m saying is that StringBuilder is too low-level an interface. I want to be able to concatenate lots of strings normally, and let the implementation take care of doing it efficiently.

                                                                                                                                                                                                                                                1. 2

                                                                                                                                                                                                                                                  In theory you’re right, because StringBuilder is less widely known, less intuitive, harder to use, more verbose, etc.

                                                                                                                                                                                                                                                  In practice, high level abstractions with “magic” optimizations can cause problems if you’re really depending on the optimizations to work. E.g. you switch implementations, or make an innocuous change that causes the optimizer to bail out. It turns out even some high level languages aren’t really committed to their ideology.

                                                                                                                                                                                                                                                  1. 1

                                                                                                                                                                                                                                                    I don’t want “magic optimizations” - far from it. I want a language where the cost of each operation is a part of the language specification, so that I don’t need to rely on implementation specifics to know that my programs are efficient. For instance, if the language specification says “string concatenation is O(log n)”, then naïve implementations of strings are automatically non-conforming, so I can assume it won’t happen.

                                                                                                                                                                                                                                      2. 1

                                                                                                                                                                                                                                        The problem is that most strings are small – in fact, most strings would fit in a char* – and not concatenated all that often. In the common case, ropes are an incredible amount of overhead for a very small, common data structure.

                                                                                                                                                                                                                                        1. 4

                                                                                                                                                                                                                                          Then you can use a hybrid implementation, where small enough strings are implemented as arrays of bytes storing the characters contiguously, and large strings are implemented as ropes. In most high-level languages, this doesn’t impose any extra overhead, since every object already has at least one word of metadata for storing dynamic type info and GC flags.

                                                                                                                                                                                                                                    1. 2

                                                                                                                                                                                                                                      An interesting point made in the article as to how people can both revere and want to help whistleblowers while mercilessly prosecuting them is that they do not believe that whistleblowers exist at all in the present day.

                                                                                                                                                                                                                                      Eg retroactively they might support Ellsberg decades later, but they would kill Ellsberg if they were able to back then.

                                                                                                                                                                                                                                      I am unsure what can be done to make people see that whistleblowers exist in the present if they require the full force of decades of public opinion to make them acknowledge someone as a whistleblower.

                                                                                                                                                                                                                                      1. 1

                                                                                                                                                                                                                                        As I said on twitter, my point of view is that ethical advertising looks like an oxymoron. For me advertising is deeply and fundamentally unethical.

                                                                                                                                                                                                                                        1. 1

                                                                                                                                                                                                                                          Advertising has a variety of serious problems, but I think that something somewhat like advertising could be ‘fine’ - eg marqee sponsorship, which seems to be the kind of thing that the article is really driving towards.

                                                                                                                                                                                                                                          (That is, not actually fine, but close enough to fine within the various real world constraints we live under)

                                                                                                                                                                                                                                        1. 10

                                                                                                                                                                                                                                          Misleading link title. Sony didn’t ‘abandon’ Linux on PS3, they proactively patched PS3’s to no longer work with Linux.