1. 29

    You’ve found a bug and reported it - there is no need to call them ‘incompetent’.

    1. 8

      As far as I can determine, that particular bug has existed since November 2017. I’m a bit surprised that no one working there (or for) has found it in a year and a half. It appears to be a pretty basic parsing bug.

      1. 1

        Whatever the bug is, if somebody put me on public display like that I would still block them wherever possible. I assume that’s what’s happening already.

      2. 7

        Following a URL is the primary purpose of a bot, yet that feature is completely broken in a way which would have been obvious had they tested the bot on any web site.

        Whether you want to call that incompetence or not is up to you, but, well, it’s not a good look.

        1. 6

          If you find a bug and want it to get fixed, do you think that insulting maintainers is going to be helpful? I don’t think so.

          feature is completely broken in a way which would have been obvious had they tested the bot on any web site.

          And how do you know that? Maybe there is something special with the site/content in question that exposes bug that is not affecting 99% of other websites? Instead of assuming worst possible interpretation it might be better to just report the issue without judging project maintainers :)

          1. 5

            It can be helpful in making sure that nobody uses it. Not everyone has a vested interest in getting every bug fixed. Sometimes the best solution is encouraging people to use other software and not something completely broken. The article was pretty clear about the bug in question, and it would affect really any page with comments or discussion.

          2. 3

            I’ve seen pretty obvious bugs in code written by very competent programmers. These things slip through. It’s a bit like shouting “YOU ARE SUCH A FUCKING IDIOT” at a friend because he calls a wrong number.

            I agree, these things don’t make you look particularly good, but they do happen to anyone, and calling someone incompetent over something like this is just being a dick. The bad thing is that it hits the insecure people disproportionally hard. If you get an aggressive reply, then maybe it’s time to act like a dick.

          3. 2

            Definitely. The wording in this blog post is really too pedantic.

          1. 4

            Apart from crypto parts fossil already handles distribution of all project related communications quite well.

            1. 6

              Racket’s is the nicest GUI library I’ve ever had the pleasure of using.

              1. 4

                I like how convenient it is but I’ve always found the object-based approach a bit awkward. An elm architecture-inspired interface would be interesting and more idiomatic, but I can’t find any library that implements it.

                Maybe it’s finally time to learn syntax-parse

                1. 2

                  That’s an interesting idea. racket/gui was inspired by Smalltalk’s OO approach to GUI: traditional message passing style, encouraging you to augment and override (or overment and augride) existing classes to specialise them for your use case. Still, I’d like to see more applications of the Elm-style declarative GUIs, myself.

                  Do you know of other languages/frameworks using it?

                  1. 2

                    Elm was the first GUI “framework” I learned so I guess it’s had a big impact on what I’ve come to expect from these things.

                    As for other implementations of TEA, the only major one I know if is Elmish for F#, which is used by Fable for browser GUIs and Fabulous for mobile.

                  2. 2

                    It’s dated and awkward, and the class system isn’t great. (Modern Racket tends to prefer the interface system instead of classes.) But it’s still dramatically better than any alternative for building conventional GUIs I’ve ever seen.

                  3. 2

                    Is it really? It looks to me that it has many shortcomings, like e.g. it lacks tree widget (available externally) or a way to customize model of list.

                    1. 1

                      You can do any customisation you want using the class system.

                      1. 2

                        I’m not sure how to do that – care to explain?

                        1. 1

                          Well, briefly, every send message you see in that list-box% manual page is override-able within a subclass, so you can just substitute a new class with whatever customisations you like (there are very few private or un-overridable behaviours). The class system is very flexible and you can do a lot with it that you can’t in many other languages.

                          I researched how it works after sending my response (of course) and it uses the platform widget toolkit, so there may be some platform-specific things you can’t directly change.

                          1. 1

                            Well, I know that I can derive and override how my class responds to messages. The question is which messages handling should I change to change how entries are stored (and which I can leave as-is). It’s not clear (at least to me) from the code nor from documentation. Furthermore by using subclassing and not agregation/delegation with separate model it makes it hard to reuse same model for different widgets, right?

                            So I’m not sure that your original claim “Racket’s is the nicest GUI library I’ve ever had the pleasure of using” is correct, if you used cocoa/uikit or qt.

                            1. 1

                              In that case it’s just a matter of using append, get-data, and set-data or just keeping an association of entries alongside - what use case do you have for changing exactly how entries are stored? (Why does this particular point bring into question the veracity of my opinion on the matter?)

                              It’s not forcing you to use inheritance; that was just an example. You can substitute any object for any other as long as it implements the right widget interfaces. Classes are first-class objects so you can pass them around between functions. It’s up to you to organise it nicely.

                    2. 1

                      agreed, it’s very well designed and a joy to use

                    1. 8

                      So, an interesting side effect of the GPL is you’re effectively banning your software from being run in large enterprise environments with legal departments that are concerned that having any GPL code will be infectious and that Stallman will come and steal all their monies :)

                      Our socialist free software utopia is ripe for exploitation by capitalists, and they’ll be rewarded for doing so. Capitalism is about enriching yourself - not enriching your users and certainly not enriching society.

                      IMO this boils down to whether or not you think capitalism is inherently exploitative at its base or whether it can also be a force for good.

                      I’m on the fence on this one. I would love to live in a post materialism utopia, and in that world, I would be utterly in favor of the GPL and the total freedoms it guarantees.

                      But in this world, the world where my choices are profit or die (quite literally in my case) , I’m less convinced that profiting from other people’s work when it’s a gift, ostensibly freely given, is inherently exploitative.

                      I give people free software because I want them to reciprocate with the same. That’s really all the GPL does.

                      This right here? This is the best articulation of all the hurt and anger I see around companies like the one I work for building commercial products based on OSS code bases. This actually makes sense to me, and is perfectly reasonable.

                      Permissive licenses were designed to allow for commercial use of the licensed work, so having expectations to the contrary seem like a recipe for disappointment to me. Rather than being outraged, software authors should choose licenses that will do what they want and mean, and save their energy for creating more awesome software :)

                      As others have said it’s a great article - super thoughtful and well written. Thanks for posting it!

                      1. 8

                        I’m on the fence on this one. I would love to live in a post materialism utopia, and in that world, I would be utterly in favor of the GPL and the total freedoms it guarantees.

                        There’s great irony here; as the article points out, in such a world the GPL wouldn’t exist, because it would be pointless.

                        1. 6

                          More correctly, it would be unnecessary. Like in the scientific environment, where people don’t feel the need for reciprocity and anti-troll clauses when publishing a paper.

                          1. 2

                            In the scientific environment, most of it gets put behind paywalls even though that isn’t strictly necessary. I think they also give them the copyrights, too, in many cases. There’s been more papers on the open sites recently. So, we might look at the scientific environment like software when it was mostly proprietary with a strong upswing of F/OSS.

                            1. 1

                              most of it gets put behind paywalls

                              Researchers are not being paid by that and that’s also besides the point. There are no restrictions on the concepts of the paper, e.g. a theorem. Readers can teach the theorem to other people or use it without some legal restriction (e.g. being required to provide citation or not to sue the author of the theorem)

                          2. 5

                            There’s great irony here; as the article points out, in such a world the GPL wouldn’t exist, because it would be pointless.

                            My understanding is that GPL is exactly that: a copyright way of fighting copyright. From what I remember Stallman basically created it to restore the world to the state it was before people started copyrighting software: hardware came with the full source code and you could modify whatever you wanted. Kinda like the freedom @SirCmpwn is describing in the article.

                            1. 1

                              You’re absolutely right. In a sense, the GPL exists to protect software author’s intent FROM capitalism and the legal mechanisms around it.

                                1. 1

                                  He’d know. Look forward to reading that interview when I have more time.

                            2. 9

                              you’re effectively banning your software from being run in large enterprise environments

                              This is generally false. Only some large companies are avoiding GPL. Only some versions of it (3). And only in some use-cases. Also, they can change their decision without asking you.

                              IMO this boils down to whether or not you think capitalism is inherently exploitative at its base or whether it can also be a force for good.

                              How can you leap to this conclusion from reading a license? Plenty of companies release software under conditions that are way more restrictive than GPL (closed source, partnership agreements, contribution agreements…).

                              1. 3

                                This is generally false. Only some large companies are avoiding GPL. Only some versions of it (3). And only in some use-cases. Also, they can change their decision without asking you.

                                I will absolutely cop to my statement being too general, but you’re going to far the other way. I can speak to at least several environments where this is in fact the case.

                                1. 3

                                  What, exactly, is the case? I’m aware of the internal policies of some FAANGS and other large companies.

                                  1. 8

                                    I can only speak for Google (having worked at the open source office), and our docs on GPL are here: https://opensource.google.com/docs/thirdparty/licenses/#restricted

                                    Google’s monorepo and strong launch tooling means that we have very high confidence that GPL code doesn’t sneak into code that it shouldn’t, and we take great pains to ensure that all OSS is separated into a separate directory tree to make sure that people don’t accidentally patch the library and trigger a reciprocal license. We can do this because we have the money to have an OSS office, because we have the money to build the tooling, and because we have the institutional support to be a good OSS neighbor.

                                    If I was CTO of a smaller company or one where all the code was federated into small repositories that I can’t track, I personally would ban GPL-style licenses. License forgiveness is certainly helpful, but once you’ve violated the license you are in a sticky situation where you have to either excise the library, or find employees who never looked at the code to clean-room implement it. Depending on how big that library is you might be very screwed. I would just see GPL as too dangerous.

                                    1. 6

                                      I would just see GPL as too dangerous.

                                      That’s basically the point. If you plan to restrict users, stay away from the code that was written to provide them with freedom :)

                                    2. 3

                                      The (small) company I work for (based in Sweden, sells software for telecoms) bans the use of GPL libraries.

                                      1. 5

                                        The company I work for (based in Finland, sells software for telecoms) also bans the use of GPL libraries. ;)

                                        1. 0

                                          There’s a pattern emerging. It’s… that we need to sell GPL license exemptions to telecoms. Oh yeah!

                                2. 3

                                  Except GPL would actually allow you to make money as a creator by selling a dual license. If you released it as MIT, then well, too bad.

                                  1. 0

                                    Care to explain this a bit? MIT is a permissive license, so you can sell your work, as can others. What’s “too bad” about this?

                                    1. 2

                                      Let’s say you have a library you wrote with MIT license that a company wants to use. You can’t sell them a license but you can sell them support. Most companies will simply not pay you.

                                      However, with GPL, companies are afraid to use your library for free because GPL would force them to open source. You can say “look, I can sell you a license and you won’t be forced to open source”. This is a dual license scheme where companies pay you for the right not to have to open their own code.

                                  2. 3

                                    you’re effectively banning your software from being run in large enterprise environments

                                    Are you ? AFAIK, you are not allowed to modify it privately or use it as an integral part of another solution. If you just use the tool as an end user on your own, I am 99% sure you can’t be approached by the layers. If I am wrong, I would also like to know :)

                                    1. 12

                                      The point is that these companies don’t actually care what the true legal implications are and just run away out of GPL phobia.

                                      The GPL is used commercially in many places, so if you think you can’t do business with the GPL you’re either mistaken or your business is shady.

                                      1. 2

                                        The point is that these companies don’t actually care what the true legal implications are and just run away out of GPL phobia.

                                        I see it more as paranoia, but in some cases, paranoia grounded in cold hard fact. When you are the biggest target, your legal department needs to figure out how to protect said target from attack. In order to do that, it MUST set incredibly paranoid boundaries to protect the company’s liability.

                                        1. 3

                                          Sort of. Apple forbids all GPLv3 but Google doesn’t. Both of these have comparable legal departments and are equally attractive targets and ship about as equally important software. They shouldn’t come to different conclusions on GPlv3.

                                        2. 1

                                          You and @feoh are talking about different thing which I don’t care for. I talk about legal stuff only, not about human psychology here. Please focus on topic.

                                          1. 3

                                            No, this is the topic. You’re “effectively banning” your software because those companies have internal rules to ban any GPL software. They don’t care what the actual rules are, because effectively they have decided to interpret them their own way.

                                            Legal stuff is human psychology anyway, you have to convince a judge and a jury, who are fallible, biased, manipulatable humans.

                                        3. 1

                                          You are. Speaking from my personal experience at one such large corporate enterprise, use of GPL licensed software is straight up banned.

                                          1. 6

                                            I don’t know where you work, so I can’t comment on specifics, but I have found at other places I worked many coworkers thought “using any GPL’d software was banned” but all ran Bash on their MacOS laptops… now maybe you’re all Windows all the time and really have a ban where you work, but in my experience such bans are not quite so total as is sometimes perceived.

                                            1. 3

                                              So you’re banning stupid people from using your software (stupid, because apparently they can’t read a license and estimate its effect). I’d call that a net win because it reduces customer support requests: stupid as they are, they’re probably of the “you must fix the issue I have, now, for free” kind, too.

                                              1. 2

                                                FSVO “stupid people” which includes “smart people who’ve chosen to work for people who make stupid decisions”, sure. But it’s not an invalid point.

                                                1. 4

                                                  Respectfully, you’re both being a bit elitist here. There are limits on what we can conceive of based around our previous personal experiences.

                                                  I have been thorugh the process of thinking something was stupid, only to learn that no really it’s NOT stupid and there were honest to god good reasons behind this or that restriction which I just wasn’t aware of at the time.

                                                  Are they decisions you’d make? Possibly not. Are they decisions I’d make under the circumstances? Maybe and maybe not. I know I don’t have all the answers, and I’m arguably in a better position to have a wider view than some.

                                              2. 2

                                                One person already pointed out FAANG are known to do this. What they do doesn’t generalize to most enterprises, though. Heck, their success has a lot to do with being opposite of most enterprises. You should probably just say the specific companies, esp if it’s SaaS like Amazon.

                                                1. 5

                                                  FAANG are known to do some of that.

                                                  I work at Google and editing GPL code (not just using, actually changing and distributing an external project, coreboot) is what they hired me for, so the GPL is certainly not “banned”. There are bans though and the list is public: https://opensource.google.com/docs/thirdparty/licenses/#banned

                                                  1. 0

                                                    No but as someone else explained in more detail, it’s walled off from the mono-repo to protect the main code base from the viral nature of the GPL.

                                                    Google has wisely chosen to put enough resources into play that it can safely play with fire safely.

                                            2. 3

                                              Rather than being outraged, software authors should choose licenses that will do what they want and mean, and save their energy for creating more awesome software :)

                                              You’re missing the important case where one’s ethics does not necessarily align with what one thinks should be enforced by law. For example, you might think that cheating on your SO is wrong, but it is generally not illegal to do.

                                              Just because I share similar goals as the FSF, does not mean I agree with their desired means to accomplish those goals.

                                              Effectively, you’re espousing a form of “the ends justify the means.”

                                              (You don’t need to ask me why I disagree with using copyleft as a means. Just go look up arguments against the use of intellectual property.)

                                              1. 2

                                                “Support Intellectual Prosperity, Not Property!”

                                                1. 1

                                                  You’re missing the important case where one’s ethics does not necessarily align with what one thinks should be enforced by law. For example, you might think that cheating on your SO is wrong, but it is generally not illegal to do.

                                                  So then get involved with activism efforts to change said law to more fully align with your desires?

                                                  My point is simple - we live in a society awash with outrage, and honestly I think it’s becoming a canned response to way too much, so I’m suggesting the channeling of that energy into something more useful. That’s all.

                                                  1. 2

                                                    All I’m saying is that your outlook on how to choose licenses is extremely short sighted. And you aren’t the only one falling into this trap. Lots of people, for example, think it’s entirely unreasonable to be upset with someone plagiarizing your work if you put it into the public domain. And you’re effectively making the same argument, and it’s ridiculous.

                                                    1. 1

                                                      I don’t agree. You’re making analogies that don’t work, at least in my world view. I’m sure you have information or background that I don’t, but can you please help me understand how writing some code and then putting it under a license which is explicitly designed to allow it to be copied, sold or otherwise used in a particular way is equivalent to plagiarizing someone’s written work which was explicitly designed NOT to be copied etc?

                                                      1. 3

                                                        Sorry, but I don’t see what you’re missing. My last comment had zero analogies. The first analogy in my initial comment (cheating on SO) was merely used to demonstrate that laws and ethics are not the same thing. That is, just because I don’t want to use the full weight of the law to force you to do something (e.g., the GPL) doesn’t mean I thinkI don’t agree with the motivation for the GPL in the first place (reduce the amount kf proprietary code).

                                                        In other words, saying you should choose a license based on its effect neglects the fact that one may disagree with the means by which the license achieves said effect.

                                                        For example, I might choose to publish my source code in the public domain. In the eyes of the law, it would be legal for anyone to do anything with that work without restriction, including plagiarizing it. If you argue that one should choose a license only by its effect, then you’d think this was completely reasonable since I chose to put it into the public domain and knew this could happen. But what I’m saying is that this is a fairly shallow way to interpret license usage, and that it would be completely reasonable for the publisher to be upset at someone plagiarizing their public domain work. Because laws and ethics are not equivalent.

                                                        1. 1

                                                          For example, I might choose to publish my source code in the public domain. In the eyes of the law, it would be legal for anyone to do anything with that work without restriction, including plagiarizing it. If you argue that one should choose a license only by its effect, then you’d think this was completely reasonable since I chose to put it into the public domain and knew this could happen. But what I’m saying is that this is a fairly shallow way to interpret license usage, and that it would be completely reasonable for the publisher to be upset at someone plagiarizing their public domain work. Because laws and ethics are not equivalent.

                                                          I see where you’re coming from now, and you’re right. I am a citizen of the US. In the US, putting something into the public domain says that you can do whatever the hell you want with that code. If you copy the code and claim it’s yours, then I would think that is morally bankrupt of you to do, but you wouldn’t be violating the law.

                                                          The law is what it is, and we have to live by it, or break it and face the consequences. When I have discussions with people, my assumption is that generally speaking “we will act within the boundaries of the law” goes without saying.

                                                          I guess if you think people’s outrage is just and warranted, then that’s fine. I don’t know that I agree with you, but I also suspect that we are coming at this from two very different perspectives and I’m unsure whether it makes sense to try to have a meeting of the minds in this forum.

                                                          1. 1

                                                            I’m not advocating breaking the law. I’m not sure how I could be clearer unfortunately, and I don’t know why you think I’ve abdicated the assumption that one should generally act within the law. This is about choosing licenses and the reasons for doing so. i.e., It can be about the means as well as the ends.

                                                2. 2

                                                  IMO this boils down to whether or not you think capitalism is inherently exploitative at its base or whether it can also be a force for good.

                                                  As you mention later a lot of us don’t have a choice whether or not to participate in capitalism, but it is inherently exploitative. For example, you wouldn’t be forced to choose between profit or die unless you were being exploited in the first place.

                                                  But you raise a really important point, which is that being able to avoid capitalism is a luxury and that’s something to keep in mind whenever we criticize people’s actions.

                                                  1. 2

                                                    As you mention later a lot of us don’t have a choice whether or not to participate in capitalism, but it is inherently exploitative. For example, you wouldn’t be forced to choose between profit or die unless you were being exploited in the first place.

                                                    False dichotomy, every developed country has some form of social welfare for its citizens to fall back on should they absolutely need it. Even in the wacky old free-market capitalist utopia United States.

                                                    1. 2

                                                      False dichotomy, every developed country has some form of social welfare for its citizens to fall back on should they absolutely need it. Even in the wacky old free-market capitalist utopia United States.

                                                      … Have you ever lived on welfare or other state supported benefit / plan? I have, albeit admittedly while I was still under my mother’s roof. I had MassHealth and she lived in survivor’s benefits and SSI to raise me.

                                                      We got by and I never starved but please don’t put living in such a state forward as a viable alternative.

                                                      For instance, with the expensive medical care I require, were I living on welfare or something like it, I might not die, but I’d likely wish for death given the hardship such a situation would impose.

                                                      It’s very easy to make arguments based on theory, but living the reality is something quite different.

                                                      1. 1

                                                        I was responding to the grandparent’s statement that I quoted and the fact that he/she painted a false dichotomy under capitalism of “profit or die” and used social welfare systems as a counterpoint. I didn’t say every country’s social welfare systems are perfect, just that by and large, they exist and they keep a lot of people from dying.

                                                      2. 0

                                                        I’m not sure what you’re getting at, social welfare is not a capitalist construct.

                                                        1. 1

                                                          But lack of social welfare is not a capitalist construct either.

                                                    2. 2

                                                      “ermissive licenses were designed to allow for commercial use of the licensed work, so having expectations to the contrary seem like a recipe for disappointment to me. Rather than being outraged, software authors should choose licenses that will do what they want and mean, and save their energy for creating more awesome software :)”

                                                      That’s what I keep saying.

                                                    1. 1

                                                      As most devs I have a diverse set of interests: functional programming, operating systems, type systems, distributed systems, and data science

                                                      I really hope that it was supposed to be ironic ;)

                                                      1. 1

                                                        TLDR: he went back to C++ because he was adding too many “unsafe” Rust blocks - that is, he didn’t grasp Rust core principles yet.

                                                        1. 10

                                                          Do you realize that your comment is very similar to some C and C++ experts saying that people have security vulnerabilities because they’re not experienced enough?

                                                          1. 10

                                                            No, it’s actually just hard to learn Rust due to how the borrow-checker forces you to change your design and coding habits. It’s a wall all the newcomers hit. In the article, the author even mentions this:

                                                            “ I know the friction is greater because I am still a Rust learner, not a veteran”

                                                            Author then says they’re trying to write the kinds of data structures that Rust team says are the hardest to borrow check. That’s a huge jump. The Rust team usually tells people to avoid stuff like that in favor of easier examples. People can gradually pick it up. There’s also resources out there like the linked lists article to help speed the process up. One other thing I hear developers mention is using a data-driven design rather than control-flow-oriented design helps, too. I’m still unclear on fully what that means but quite a few say it. Gotta be an article somewhere…

                                                            Long story short, he’s an amateur at Rust applying it to the hardest problems. He should probably stick to C, C++, or unsafe Rust for the hardest stuff. He can rewrite those components later in safer Rust if he figures out how. I tend to just Google stuff like this in case others ran into same problems. Found one BST article. Anyone that can read Rust tell me if that one borrow checks?

                                                            1. 4

                                                              When they say “data-driven” design, they’re pointing you towards a more ECS-like design. You can see an example of how this plays out on the GUI side in this talk: Data Oriented GUI in Rust by Raph Levien - Bay Area Rust Meetup

                                                              In short, rather than a tree of widgets, where each widget ends up with a reference to its children and its parent, you end up with an array of widgets, each of which is identified by its index in that array. Now when you want to refer to a widget you’re just indexing into an array rather than dereferencing a pointer. This plays well with the borrow checker.

                                                              1. 1

                                                                I’m wondering in which way this index-based approach is superior to unsafe code? I don’t really know Rust but to me it seems like sidestepping the problem since you can easily end up with indices that point to freed or invalid array elements.

                                                                In other words, many compile time guarantees are lost.

                                                                1. 3

                                                                  I believe it’s a kind of a compromise. In that you still may get logic errors, but at least consequences won’t be so dire and will be easier to track. With unsafe blocks, you’re getting back to Undefined Behavior-like territory, basically risking memory corruption and sabotaging of any typesystem guarantees.

                                                                  1. 1

                                                                    Fair enough. Having hunted my share of nasty buffer overflow bugs, I can definitely see the benefit here even though logic errors are not caught at compile time.

                                                                  2. 3

                                                                    I’ve seen some approaches that use “generational indices”, which is basically where you store a tuple of (generation, item) as elements in the array, and your “reference” to that item is (generation, index). If you update the item, you bump its generation. Then when you go to access the item you compare the generations. If they don’t match, that means your “reference” is stale, and you can handle that however you want.

                                                                    1. 3

                                                                      this is what jonathan blow pointed out, there was a ton of discussion around it:

                                                                      https://www.youtube.com/watch?v=4t1K66dMhWk (the jblow rant)

                                                                      https://www.reddit.com/r/rust/comments/9fqget/jonathan_blow_entity_systems_and_the_rust_borrow/

                                                                      I feel like it was discussed a lot on HN and maybe here too but I can’t find it.

                                                                    2. 1

                                                                      Thanks! I’ll check it out.

                                                                    3. 2

                                                                      No, it’s actually just hard to learn Rust due to how the borrow-checker forces you to change your design and coding habits. It’s a wall all the newcomers hit.

                                                                      Yes and it’s actually hard to learn safe C/C++. As @azdle pointed out below, my issue with the comment was the generic dismissal of real problems that people face with Rust, which robs us of an objective opinion of what to expect from migrating to it.

                                                                      Long story short, he’s an amateur at Rust applying it to the hardest problems. He should probably stick to C, C++, or unsafe Rust for the hardest stuff. He can rewrite those components later in safer Rust if he figures out how. I tend to just Google stuff like this in case others ran into same problems. Found one BST article. Anyone that can read Rust tell me if that one borrow checks?

                                                                      The point is, that those are hard problems in Rust, and not in other languages, and the author doesn’t wanna waste time doing it in Rust, when they can do it much faster in C++. What I understood was that the author just wants to work on Dust3D, and not on programming languages.

                                                                      1. 1

                                                                        my issue with the comment was the generic dismissal of real problems that people face with Rust

                                                                        I certainly wouldn’t want that. Another person was griping about the FFI. I expect most new languages to have a hard time integrating with C++ code. I expect indirections which might hurt performance too much. So. there’s another objection that was valid on top of learning borrow checker.

                                                                        “that those are hard problems in Rust, and not in other languages,”

                                                                        They are hard problems in other non-GC languages if your goal is temporal safety and race freedom. Even OpenBSD with its great coders kept having temporal errors. The races are often heisenbugs difficult to track down. Having the compiler guarantee these properties are preserved on all inputs is something C and C++ don’t have that I’m aware of.

                                                                        Now, let’s say you don’t need them. You might not need Rust given that’s one of main selling points. Let’s say you don’t always need them which is consistent with OP. As in, a few data structures were too hard to do. I’ll point out something folks rarely bring up in these discussions: Rust can do both unsafe and reference-counted pointers. As in, you can drop down to C or C++ style on any module it can’t handle wrapped in a type-safe interface optionally with input validation. Then go right back to safe-by-default code for majority of the app with lower defects and panics instead of code injections. That’s still better defect vs effort ratio than C or C++.

                                                                        At that point, the borrow checker is no longer a negative. The FFI situation could still mess the author up, though. Also, two languages with lots of typing that might not mix well. Might be too much pain to justify except for critical applications.

                                                                    4. 2

                                                                      You’re just asking for a “Do you realize that your comment is very similar to those people saying that if a programming language is difficult then it is not worth adopting?” reply.

                                                                      Rust was literally born as a reply to those experts you just named. And if a programming language doesn’t change the way you think, then it’s not worth wasting time on it.

                                                                      I wouldn’t have posted that comment if the author said “I’m not yet comfortable with officially releasing Rust code while I’m still learning”, or something like “I had to switch back because currently I find it easier to maintain C++ code”.

                                                                      No. His point was all about tricking the Rust compiler to get problems solved. Add an unsafe and the borrow checker stops complaining. Oh boy.

                                                                      1. 1

                                                                        Rust was literally born as a reply to those experts you just named.

                                                                        Which is why I find your comment ironic. It’s a bit hypocritical in my opinion when someone starts using the same methods they argue against.

                                                                        I wouldn’t have posted that comment if the author said “I’m not yet comfortable with officially releasing Rust code while I’m still learning”, or something like “I had to switch back because currently I find it easier to maintain C++ code”.

                                                                        No. His point was all about tricking the Rust compiler to get problems solved. Add an unsafe and the borrow checker stops complaining. Oh boy.

                                                                        I don’t think this is a fair understanding of the author’s intent. Let me quote them:

                                                                        Given so many advantages, why I am switching back to C++? The most beautiful thing about Rust is also a disadvantage. When you implement an algorithm using C++, you can write it down without one second of pause, but you can’t do that in Rust. As the compiler will stop you from borrow checking or something unsafe again and again, you are being distracted constantly by focusing on the language itself instead of the problem you are solving. I know the friction is greater because I am still a Rust learner, not a veteran, but I think this experience stops a lot of new comers, speaking as someone who already conquered the uncomfortable syntax of Rust, coming from a C/C++ background.

                                                                        I think this is a fair criticism. You and others are saying the author has to change the way they think and approach problems differently, mainly from rust’s point of view, the author on the other hand just wants to use an already existing algorithm verbatim, and doesn’t wanna look for different algorithms that would fit the rust model more. How is this about tricking the borrow checker?

                                                                        Also the author further goes on to say:

                                                                        Another reason is the Rust ecosystem is still immature. As an indie game developer I can see the situation is changing, there is a website Are we game yet? that lists many neat things in the Rust world, there is a data driven game engine written in Rust called Amethyst, all these things look really promising. But, there is no Qt, no CGAL etc, all these frameworks and libraries have been developed for so many years and maintained very high level of quality. I know there are some bindings, but it’s not mature and not enough.

                                                                        which to me is completely different to the TLDR you provided.

                                                                        1. 1

                                                                          When you implement an algorithm using C++, you can write it down without one second of pause, but you can’t do that in Rust.

                                                                          You can’t if you want it statically guaranteed to be safe. You can using other mechanisms if you don’t care about that. So, author is incorrect.

                                                                          Now, I can’t tell you if doing it another way will cause any conflicts when integrating into existing ecosystem of Rust crates. I don’t know if they expect code calling their functions to borrow check in a way that will cause a different, compiler warning. Worth some experiments. If not, then the primary gripe about Rust goes away whenever you want it to.

                                                                          “But, there is no Qt, no CGAL etc, all these frameworks and libraries have been developed for so many years and maintained very high level of quality.”

                                                                          One of the best reasons not to use Rust in that niche. Hard to say how difficult it would be to wrap or port any of that.

                                                                      2. 0

                                                                        no, no its not.

                                                                        in fact its the exact opposite of that - “unsafe” is not the default in Rust - OP would have to explicitly add the “unsafe” keyword to enable this behavior

                                                                        if he chooses to do that then the consequences are his fault - unlike in C++ when “unsafe” is essentially the default

                                                                        stop posting misinformation.

                                                                        1. 4

                                                                          I don’t know that you meant it this way, but your comment comes off as a rather rude out-or-hand dismissal, which is especially unfortunate because I think you misunderstood what nullp0tr meant.

                                                                          You’re correct about your description of how unsafe works, but the way I understood what they mean was more about generic shallow dismissals of problems that people new to the language (or just people from the fact of being human) have with a language.

                                                                          The “solution” to both problems here is “be more experienced” and “don’t do it wrong”, which really aren’t helpful.

                                                                          1. 2

                                                                            Exactly what I meant! thanks for being understanding:)

                                                                      3. 9

                                                                        he didn’t grasp Rust core principles yet

                                                                        Or, unsafe is still needed quite often when doing low level/performance sensitive work.

                                                                        1. 3

                                                                          “Quite often” is debatable. If you need many unsafe‘s then either you’re cutting too many corners or you’re not using appropriate type definitions. Or you think you can outsmart the LLVM optimizer every time you fancy to.

                                                                        2. 5

                                                                          It honestly took me about 2 years of bursty usage before I started feeling like I could really fly. Things are in a far, far, far better place now for newcomers, but that feeling of being unable to express yourself is going to exist until you have the time and resources to really understand borrowing.

                                                                          I really like this post that drills into it: Rust: A unique perspective. For me, it really started making sense when I started thinking of immutable references as being similar to a reader lock, and a mutable reference as being similar to a writer lock, since I had done a bit of concurrent programming before coming to Rust. But everyone has different metaphors that they will need to find. People come to Rust from a ton of different places, it’s not just another exodus-from-X but it pulls people in from front-end, back-end, embedded, databases, distributed systems, etc… But resources targeted at people with different backgrounds are starting to pop up more and more to make the process faster for them.

                                                                        1. 2

                                                                          I wish Swift would gain wider adoption for cross platform work. I like it quite a bit but find being constrained to XCode/OSX for many things quite frustrating.

                                                                          1. 2

                                                                            There seems to be some sort of support for Linux (well, Ubuntu at least).

                                                                            1. 1

                                                                              Seems like maybe it’s gotten better. There’s always been runtime support, but every time I ever looked at utilizing any kind of third party library, the assumption was always that you were building with XCode.

                                                                              1. 1

                                                                                Yes it got much better. Especially important is SwiftPM(Swift Package Manager) which handles cross-platform build as well as dependency.

                                                                                1. 1

                                                                                  That’s really fantastic to hear. When I last dipped a toe in - many months ago at this point, the docs basically said “You pretty much have to develop using XCode”.

                                                                                  This is kind of a deal breaker for me since I’m expunging all my Mac related infrastructure in favor of commodity hardware (mostly running Linux).

                                                                            1. 1

                                                                              The first graph renders correctly for me, but the example from stdin was crazy. Firefox on Android.

                                                                            1. 4

                                                                              In case of conflict, consider users over authors over implementors over specifiers over theoretical purity.

                                                                              – Priority of Constituencies, from HTML Design Principles

                                                                              I consider the current status of web to be “authors over users”. Authors should not be able to choose how their contents look, especially not in pixel perfect manner. That right belongs to users. This is the root of all complexity of CSS and interoperability problems.

                                                                              1. 1

                                                                                vote with your feet. Go for the browsers where you as a user feel considered more important than web authors or implementors.

                                                                                1. 1

                                                                                  And which one is that?

                                                                                  1. 2

                                                                                    Surely depends on each individual user and their priorities (capable apps, OS integration, battery efficiency, security, privacy), no?

                                                                                    I’m biased of course 😏

                                                                              1. 2

                                                                                Nice writeup! I’m currently considering getting a split KB and the Ergodox EZ is really tempting, but I’ve heard people complain that the Ergodox’s thumb clusters are too big to be comfortable unless you have pretty large hands (I’d say mine are about average for an adult male). Do you have any thoughts on that?

                                                                                1. 4

                                                                                  It’s true that it’s difficult to hit many of the keys in the thumb clusters, but I’ve found that you don’t really need them with proper layering; even only using the bottom row of the thumb clusters it’s such an improvement over having all that room wasted on an enormous space bar that I can’t find myself caring much that there are a few extra keys I’ll never use.

                                                                                  In fact, once I got comfortable on a thumb-powered fn layer I found many of the Ergodox’s keys aren’t needed; having the digits in a numpad arrangement with fn is way better than having them across the top, so the top row is unmapped on my current layout. The outer columns don’t get a lot of use either once I moved shift and enter to the thumbs and most of the punctuation to fn.

                                                                                  1. 3

                                                                                    Can you share your layout?

                                                                                    1. 1

                                                                                      I don’t have the full layout image any more but it is basically just the Atreus layout ported to the Ergodox and with the leftover keys unmapped because I never use them: https://atreus.technomancy.us/#layout

                                                                                  2. 2

                                                                                    I have average hands for a male and I have no trouble with the thumb cluster. It is a killer feature for me, on a regular keyboard I have to adjust for a while first otherwise I’m hitting the sidebar like a maniac.

                                                                                    I do have trouble with the lower outer keys (left and rightmost). I put escape there but my pinkies can’t hit it withouthassle so I rarely use those two keys.

                                                                                    The placing and the using of your thumbs can take a bit of getting used to, I think because normally we don’t use our thumbs in typing.

                                                                                    1. 2

                                                                                      I’ve been using erogdox ez for last 8 months or so and can confirm that for me most of the keys on thumb cluster are hard to reach.

                                                                                    1. 19

                                                                                      Urbit’s innovations have stood in the dark shadow of moldbug’s neofeudalist writings. Every time Urbit comes up in conversations among crypto people here in Berlin, someone in the group says “but have you looked at what Curtis wants the world to look like?” and then the subject changes.

                                                                                      I think it’s good for the project that people can say “yeah but he’s gone now, what do you think about the ___ mechanism?” since there are some interesting ideas to examine in there. They built everything from scratch. A VM, a language, a filesystem, etc etc etc…

                                                                                      But still, this is kind of like if Terry had stepped away from TempleOS.

                                                                                      1. 7

                                                                                        The whole concept as I understand it seems pretty interesting, but come on - the entire ecosystem of Urbit is still absurd. Hoon, the weird new pronunciation scheme you have to learn, the obtuse naming schemes…

                                                                                        1. 3

                                                                                          I found the weird names annoying as well, but Curtis does come up with a valid reason for this, in that everything gets rewritten and refactored multiple times, so “…it lets the hard problem of naming get solved later, and hence better.” As the system gets more mature, and actually usable, it would be nice if they came up with some meaningful names for the bigger components (e.g. rename Ford to Build System). He also admits his biggest mistake was assigning 1 to false and 0 to true. I’m sure this was a result of his habitual contrariness.

                                                                                          1. 4

                                                                                            I’m sure this was a result of his habitual contrariness.

                                                                                            Or perhaps cognitive contamination from /bin/sh.

                                                                                        2. 10

                                                                                          Every time Urbit comes up in conversations among crypto people here in Berlin, someone in the group says “but have you looked at what Curtis wants the world to look like?” and then the subject changes.

                                                                                          And I find this quite baffling. It’s deeply disappointing that people whom I respect default to this gossip-driven analysis instead, that a project as ambitious and worthy as Urbit gets buried in “foogate” style rumors.

                                                                                          Urbit is fascinating. It is the only project I know of designed to address distributed problems (viz. community moderation, censorship, identity, ownership) from an incentive-based approach instead of the typical GNU-style “sheer will and religion” approach.

                                                                                          1. 34

                                                                                            Since Curtis apparently wants the world to be in a certain manner and more or less spun up his own world in Urbit, maybe it’s prudent to consider what Curtis’ opinions on things are before adopting the project that likely embodies them?

                                                                                            I’m not sure myself, but in a project like this, it may be hard to meaningfully separate creator and creation - even after the creator left (as the fundamental architecture is still shaped in his image).

                                                                                            1. 5

                                                                                              I think the new primer https://urbit.org/primer/ makes a good case that there is nothing actually feudal about Urbit in practical terms. Once you own a planet, the personal level of Urbit entity, you are free to have its traffic routed by any star, the network routing level, that will accept you. This could be a problem it Facebook or some government buys up every star in the system, which is unlikely for the foreseeable future.

                                                                                              1. 6

                                                                                                Once you own a planet

                                                                                                Of which there will be - by design (“Any reputation system needs scarcity of identity.”) - fewer than there are people on this planet right now (4 billion in total). Given how these systems work, it will be interesting to reclaim “lost” ones, reducing supply even further over time.

                                                                                                Will everybody else be a sharecropper? Or will they have to spin up their own network?

                                                                                                Now these identities can be subpartitioned (“moons”, again 2^32, and they’re bound to their “planet”), but if global network size doesn’t matter, why setup such limits in the first place? This isn’t the 1970’s anymore (as they correctly state in their marketing material).

                                                                                                This could be a problem it Facebook or some government buys up every star in the system

                                                                                                They merely need to control the galaxies: “The galaxies form a senate which updates the logic of the Ethereum land registry by majority vote”. The platform doesn’t seem to design elections for this “senate” into the platform.

                                                                                                “Tlon remains the guardian of the urbit.org galaxies. We have always wanted the address space to be widely distributed.” - address space, yes. But Tlon owns the right to repartition the entire platform as they “bought back” galaxies. Even if you “own” a planet, that’s only one of Tlon’s decisions away from not being yours anymore.

                                                                                                Since control over your data is bound to a planet, which is contingent of (at some point) a galaxy “sponsoring” you, and they can make up all the rules, it looks like just the same kind of sharecropping to me as any of the big vendor-lock platforms that make up the modern internet. Just with more obscure ownership.

                                                                                                1. 5

                                                                                                  and they can make up all the rules

                                                                                                  This is just dishonest. The “rules” are voted on by a senate, the same way the rules of the internet are voted on by the IEEE currently.

                                                                                                  Tlon owns the right to repartition the entire platform as they “bought back” galaxies. Even if you “own” a planet, that’s only one of Tlon’s decisions away from not being yours anymore.

                                                                                                  False. Owning Urbit addresses is like owning a bitcoin wallet. Tlon can’t take it away from you any more than Satoshi can.

                                                                                                  (edit:)

                                                                                                  if global network size doesn’t matter, why setup such limits in the first place?

                                                                                                  Global network size does matter, as you quoted, “Any reputation system needs scarcity of identity.” It seems to me like you are giving Urbit a bad-faith reading. If you try a good-faith reading, try the “principle of charity”, you might find that you agree with Urbit more than you realize.

                                                                                                  1. 3

                                                                                                    The “rules” are voted on by a senate

                                                                                                    Who or what makes up the senate? I quoted the part of their marketing material already and to me it looks like absolute rule by whoever controls a majority of galaxy nodes, so 129 hosts. The rules they vote on make up the “land registry”, from which, apparently, everything else is derived.

                                                                                                    “Any reputation system needs scarcity of identity”

                                                                                                    Yes, I quoted that.

                                                                                                    But how is a reputation system relevant to what you can or cannot do to your append-only data log? I prefer scuttlebutts solution to approximately the same problem: you keep your log, I keep my log, and if I decide to trust you, I also look at your log (and parse the bits you decide to share with me by giving me the keys).

                                                                                                    No need for reputation except the reputation that already exists in the real world, that makes me decide whether to trust you.

                                                                                                    [edit to add: the Urbit folks claim elsewhere that galaxies and stars are entirely meaningless, but since they’ve been made part of the fabric that makes up the platform, by having them spawn each other and planets, they can’t be that meaningless. Otherwise, why add them in the first place?]

                                                                                                    1. 3

                                                                                                      Who or what makes up the senate?

                                                                                                      Galaxy owners. See the bottom of https://urbit.org/primer for the distribution. I don’t think anyone really knows exactly how this will work yet, the owners are pretty well distributed with nobody owning 51% of the address space.

                                                                                                      But how is a reputation system relevant to what you can or cannot do to your append-only data log?

                                                                                                      It’s not. A reputation system is relevant to how valuable my Urbit is. If I start spamming people with my planet, then the star that is my supervisor can stop sending me packets. I could move to another star, but if my reputation gets bad enough, nobody will want to send/receive my packets, and my Urbit will become worthless, I wouldn’t even be able to resell it. This is not the case with e.g. email addresses, which spammers can create ad infinitum. That is the only reason for the scarcity of addresses.

                                                                                                      Re: the append log, only I can write to that, no different than scuttlebutt.

                                                                                                      Also, nobody claimed galaxies and stars are meaningless; they are network infrastructure responsible for routing packets. They are arbitrary in that a planet doesn’t really care which star it’s getting packets from, just like you don’t care which AWS data center is serving you a website.

                                                                                            2. 18

                                                                                              Paraphrasing a comment I made about Jordan Peterson’s work - learning Urbit and the weird way it is structured is a significant time investment. A simple heuristic to determine whether something is worth your time is to check what the creator of this thing is like.

                                                                                              In the case of JP, my impression is unfortunately only 3rd hand.

                                                                                              In the case of Jarvin, or rather his alter ego Mencius Moldbug, I have read some primary material, such as the following blog post:

                                                                                              https://www.unqualified-reservations.org/2013/01/how-bitcoin-dies/

                                                                                              Imagine that the BTC/USD market is perfectly liquid with no exchange overhead. Imagine also that there are two types of BTC users: Jews, who speculate (holding BTC long-term with the expectation that it will appreciate against USD); and Aryans, who only trade (and sweep all BTC balances into USD at the end of every day). These are simplifications, of course—but edifying ones.

                                                                                              Jarvin was (in my imperfect recollection) criticized for the use of these terms, and (again, iirc) replied that he was only being “provocative”. Fair enough, I’m sure Jarvin (and people of his ilk) have plenty of experience in discussing whether what they’re writing is only provocative or if they’re genuinely anti-Semitic (Jarvin identifies as a Jew, I believe). It’s a depressingly common occurrence online.

                                                                                              But from a step outside, looking at something to invest time and effort in, and seeing that a project is closely identified with a person I would never want to be associated with, it’s quite easy to choose not to delve too much further.

                                                                                              I also happen to believe that he (along with many cryptocurrency enthusiasts) are fundamentally mistaken about how economics work, and I discount Urbit for that reason too.

                                                                                              1. 1

                                                                                                In the case of Peterson, his work is philosophical, so that heuristic makes a large amount of sense. Although when dealing with someone so, uh, misrepresented by various groups, I’d think it would be more sensible to actually look at the (readily, freely available) source material.

                                                                                                I agree that it is a significant time investment to fully understand, but I think you can get a good approximation of his basic mindset by watching one of his non-combative interviews, or one or two of his (non-biblical) lectures .

                                                                                                1. 1

                                                                                                  Thanks for the suggestions!

                                                                                                  I was a bit unclear when I wrote:

                                                                                                  In the case of JP, my impression is unfortunately only 3rd hand.

                                                                                                  I meant it in the narrow sense that I cannot offer any first-hand critique of his work. I’m really hesitant to parrot statements like “Person X holds Y views” unless I’ve verified this personally.

                                                                                                  (I’d love to post a link to my comment but it’s really hard to find on the site, I’ll try to update if I can find it)

                                                                                                  However, there’s a limit of how much time I’m prepared to spend just to be able to defend or criticize someone. In JP’s case, my desire to engage with his work is minimal since his most well-known public stance is vociferously anti-trans.

                                                                                                  1. 1

                                                                                                    In JP’s case, my desire to engage with his work is minimal since his most well-known public stance is vociferously anti-trans.

                                                                                                    This is a good example of why it is worth going to the source. Peterson is not anti-trans, which he has stated many times and demonstrated by having respectful, productive interviews with at least one trans person that I can think of (Theryn Meyer).

                                                                                                    The popular narrative conflates his objection to compelled speech in general with his objection to trans people (who were the subject of a particular piece of compelled speech legislation).

                                                                                                    1. 2

                                                                                                      I was prodded by your comment to read up a bit more about the entire Canadian controversy that I referred to.

                                                                                                      You’re correct, based on the reporting I’ve read JP can’t be denoted as anti-trans. Thanks for encouraging me to learn more about this issue.

                                                                                                      1. 2

                                                                                                        Thanks for being open to revisiting your views; that’s a remarkably rare virtue.

                                                                                                2. -1

                                                                                                  if they’re genuinely anti-Semitic (Jarvin identifies as a Jew, I believe) … are fundamentally mistaken about how economics work, and I discount Urbit for that reason too.

                                                                                                  What? You seem confused. Urbit is a technological structure, not a political one or economic one.

                                                                                                  1. 15

                                                                                                    Urbit is a technological structure, not a political one or economic one.

                                                                                                    The entire premise of Urbit is the ownership of “scarce resources” (analogous to physical land) where one can seek rent. That’s both economic and political.

                                                                                                    1. 4

                                                                                                      Ok, but that’s no different from DNS.

                                                                                                      Also:

                                                                                                      Urbit’s distribution and sponsorship hierarchy of galaxies, stars and planets is not designed as a political structure, or even a social structure. The actual social layer is in userspace – one layer up.

                                                                                                      Socially and politically, Urbit is a flat network of planets. Galaxies and stars are plumbing. No one cares which star is your sponsor, any more than your Facebook friends care who your ISP is, or you care what data center Facebook is in.

                                                                                                      1. 5

                                                                                                        Ok, but that’s no different from DNS.

                                                                                                        DNS is absolutely a politic, economic and technical structure.

                                                                                                        1. 3

                                                                                                          You’re misunderstanding structures and the downstream implications that these structures cause. DNS is a techincal structure that has implications which are technical, political, and economic.

                                                                                                          The US Congress is a political structure which has implications that are political and economic (and sometimes technical, in the case of, say, regulating Facebook data privacy or whatever).

                                                                                                          1. 6

                                                                                                            DNS isn’t just a technical structure. The distinction between structures and implications (which I don’t think is useful in this context anyway) does to economics, but DNS does make political/social choices - for example, the number of root servers, control being hierarchical rather than distributed, and so on. All of these are both technical and political choices that the project makes, and that’s after generously excluding the organisations, committees, and documents that make DNS work.

                                                                                                            Urbit’s choice to have “scarce resources” is an intentionally different political choice from the one DNS made, which never intended to hit the resource limits we currently have with IPv4 - which is why we now have IPv6, and an address space where addresses becoming scarce is almost entirely implausible for the foreseeable future. Urbit’s choice was made with full knowledge of how scarcity effects these systems, making it absolutely clear that the design decision is political, not technical.

                                                                                                    2. 7

                                                                                                      Is there an example of a technology that doesn’t have political or economic implications? Considering the potential scope and impact of Urbit beyond its technological contributions seems especially important since it seems to me that it’s trying to alter the current conventional paradigm for internet services.

                                                                                                      1. 3

                                                                                                        Is there an example of a technology that doesn’t have political or economic implications?

                                                                                                        No. And I didn’t say it doesn’t have political/economic implications, in fact it definitely does. But in my opinion, the Urbit political implications are better than what we currently have. Consider:

                                                                                                        Socially and politically, Urbit is a flat network of planets. Galaxies and stars are plumbing. No one cares which star is your sponsor, any more than your Facebook friends care who your ISP is, or you care what data center Facebook is in. … Because sponsorship has an escape mechanism, it is not a feudal bond (like your relationship to Facebook).

                                                                                                        Urbit is a decentralized network of social networks. No one can regulate it. Urbit is made to blossom into an endless garden of human cultures, each of which must regulate itself, none of which can bother the others. The soil in which these flowers grow must be level and neutral.

                                                                                                  2. 7

                                                                                                    I agree. It’s a kind of politics that makes people weak centered on our basic instincts of us vs them. The better route is to separate the two, ignore whatever bullshit he writes on his blog, focus on his technology, identify what good/bad can come out of it, and (if good) then either adopt or clone plus compete with it. The adopt or clone decision is where you consider the person. Even then, it’s not their political ramblings so much as what they do in a development and business context day to day. A person with strange beliefs who acts civil and hard working around others in a business is fine with me.

                                                                                                    Edit to add: Work in diverse company with piles of people each with different beliefs, some diametrically opposed. We somehow still function and mostly get along with each other. Different mindset with effort put in is all it takes. Makes job more interesting, too.

                                                                                                    1. 4

                                                                                                      Except Urbit is deeply rooted, in its design, by Jarvin’s beliefs about politics and economics. A technology can’t stand in isolation from its context when its a deeply social technology like Urbit.

                                                                                                      1. 5

                                                                                                        That’s a statement of faith, not proof. Assuming no patent risk, I can literally take his tech, distill out ideas useful to me, and use it for those things. I could’ve done that without ever knowing what his political beliefs are. I can do it while knowing what his political beliefs are. I can even do it to support things he opposes. Therefore, they provably don’t matter if I’m not partnering with him.

                                                                                                        They matter to you or others like you who feel a need to combine a person’s political beliefs or statements with everything they do. You’re limiting yourself voluntarily for ideological reasons. I intentionally avoided limiting myself that way since it reduces what I can get done with no value in return. My opponents who control the world in damaging ways also don’t limit themselves like you: they’ll work with or fund people whose beliefs or personalities they can’t stand if it achieves common goals. Got them where they are. Defeating them to stop real damage (vs crap people write on Internet) will take all kinds of people working together despite differing beliefs.

                                                                                                        1. 5

                                                                                                          Oh don’t get me wrong, I’m all for appropriate parts of technology for uses outside their design. My statement wasn’t about restricting yourself. What I mean is that (and this is especially true in software) the design of a technology is better understood when looking at the “whys” and not just the “hows”. For example, why does Urbit limit its address space? It’s not a technological limitation. In fact, there are lots of parts of the system built around the idea of artificial resource scarcity. Without understanding this system “top”, which covers many lines of code in various components, how are you going to properly take what you need if say, you don’t want that silly limitation?

                                                                                                          A person with strange beliefs who acts civil and hard working around others in a business is fine with me.

                                                                                                          I find that a person with “strange beliefs” (to put it nicely) is also a strange person to work with. Most work is communist in nature ( in the Graeber definition of “from each according to their ability, to each according to their need”). When you ask for a code review, your colleague typically doesn’t say “I will do it but what will you do for me?”. If you need a wrench, the guy next to you doesn’t go “Only if you give me $1”. If the friction is low enough, or need great enough, people will typically do it. Any strange beliefs that stray away from this kind of work ethic typically make all work far less efficient, and even unworkable.

                                                                                                          1. 2

                                                                                                            In fact, there are lots of parts of the system built around the idea of artificial resource scarcity.

                                                                                                            Ok, now I agree with you there. What you’re talking about, though, is design goals. I’m all for understanding them since I need to understand the rationale behind the decisions. I think I avoided Urbit when I saw cryptocurrencies or something mentioned. The rationales might have a political component. I can still ignore that if I choose. Sometimes, I learn from it like with privacy techs whose features might be inspired by sneaky behavior of companies or governments. One can still separate design requirements from political motivations in most cases just by filtering and/or generalizing.

                                                                                                            “is also a strange person to work with. “

                                                                                                            Now, now, that’s jumping to conclusions. A person should be judged on what they actually do rather than hypothesizing. I only read a little on this guy with some people saying he’s really nice at conferences with informative talks. Some people said there were problems but those posts weren’t as specific. If he’s actually disrupting people, then he’s not a good guy to have around. If he’s not and is helpful, then he is potentially a good guy to have around. That’s how I do it with coworkers. It works with some being weird on occasion but they usually just avoid uncomfortable subjects if they know it bothers someone. Unless they’re assholes which is a different thing entirely. ;)

                                                                                                            “When you ask for”

                                                                                                            Since I know little about him, I’d say whoever you’re describing is a person that demands something in return for his work. Presumably, the employees aren’t working for free. They’re doing that, too. I’m also aware of, experienced a lot of, people trying to be users getting others to do their work for them or get something from nothing. They’re not give and take people so much as take, take, take. One strategy for dealing with that is to be a no, extra, free work by default person who is selective about their generosity. I just read an awesome article about such a transition recently.

                                                                                                            Now, that said, a person that acts like that can also be a drain on a business or not right for its culture. Not even political culture so much as performance standards. If they’re paid to do an app, the best team will always be supporting each other to get it out the door in whatever state the business needs. I’d not hire such a person that made everything a trade if they were already getting paid for an outcome that required that minor thing to achieve. I’d rather them be helpful by default covering for each others’ weaknesses and helping them improve on them. I’m sure you’re of the same mind on that, too. :)

                                                                                                            1. 6

                                                                                                              “is also a strange person to work with. “

                                                                                                              Now, now, that’s jumping to conclusions.

                                                                                                              Re-reading what I wrote I was definitely a little obtuse. Let me elaborate, I find people with his kind of ideas usually hard to work with. But that’s just my experience. I didn’t mean strange ideas in general, but “strange ideas” as in, his ideas. Reading previous articles, it seems his co-workers basically seemed to have done what you would do, basically tiptoe around those issues to maintain a polite atmosphere. Which is fine and probably the most appropriate thing to do in that situation.

                                                                                                              However, I think we can agree that we should not entertain asinine ideas. If he was a flat earther and designed his software to have a 2D address space because the plane is the way to go, we would certainly find that a strange design choice that introduces complexity. But for some reason when someone thinks some races are a better fit for slavery and that democracy is bad and incorporates those ideas into his design by having an ownership model based on those ideas, we seem to say “I can work with that guy, he is fine, he likes cats as I do”. To me, that’s just a form of support and validation. Maybe you are able to compartmentalize these things, but what if the person can’t and finds your support validation of the other stuff. I’m going to call in Godwin’s Law here and say, yes, Hitler also loved his mother and painted some nice stuff, but would I work with him on chemistry projects?

                                                                                                              1. 2

                                                                                                                If he was a flat earther and designed his software to have a 2D address space because the plane is the way to go, we would certainly find that a strange design choice that introduces complexity.

                                                                                                                I don’t know about you, but I would judge the idea as strange if I would not see the benefits of it, not because its author has different political views. If 2d addresses would solve many issues than it might be a good idea regardless of who came up with it.

                                                                                                                1. 2

                                                                                                                  “But for some reason when someone thinks some races are a better fit for slavery and that democracy is bad “

                                                                                                                  Those are actually specific examples where I’d consider not working with someone. Especially if the project was about individual empowerment and decentralization. I’ve still worked with people who had a white supremacist background. We’d occasionally have to call them out on their behavior if a discussion between them and black folks involved race. They’d make an advance which we sane, white people would block. They almost always walk off. Then, it’s done. They and the black folks usually get along day-to-day with one we just fired being missed a lot. Might shock you with the stuff you read on tech forums about what blacks, Jews, etc believe and need for inclusive environments, eh?

                                                                                                                  “To me, that’s just a form of support and validation. Maybe you are able to compartmentalize these things, but what if the person can’t and finds your support validation of the other stuff.”

                                                                                                                  Which brings me to this. Down here in the South, we know there’s lots of racists on each side. As we might say it, we know everyone has a bit of bullshit or crazy shit in their head. With a Christian majority, we’re also taught that people are inherently sinful with us needing to admonish it, be forgiving, and be patient in helping them get better. So, what of these people who think other races are inferior and individual decisions are worthless? How to get them further away from these beliefs?

                                                                                                                  There’s only one thing that works that I can tell from observing where the South was and is today. That’s getting different people in one place forced to be around each other, tolerating each other, for long periods of time. For us, it starts in public schools where racist whites and blacks along with people in the middle are stuck together. Then in the workplaces. The process over time lowered that racist bullshit down to tolerable levels where the KKK-style people are fairly uncommon or rare depending on the area. They mostly hide from us. Even they often like black people where they are compartmentalizing what they learned to like vs what they were taught to hate.

                                                                                                                  What you’re advocating is essentially enlightened people pushing out those who still need to learn stuff away from those who will teach them. Then, they cluster into groups of racists who continue reading garbage, hating on people, plotting, and planning. Many such shunned groups ended up voting for Trump last election since he was only one pretending to care about them. There was no way to reach them since the radical-leftist liberals succeeded in censoring them off as many forums as possible. They similarly created their own recruiting locals and drowning out opposition. Division and siloing at an all-time high on the net like it used to be in meat space in the South. (slow clap for radical liberals)

                                                                                                                  We’re not showing support for these idiots: we’re showing them that people are better than they think. We’ll call them out where needed. If they disrupt too much and ignore warnings, we’ll eject them from that position so they know we mean business. They’ll have another chance to do better. Contrast that to radical-liberal doctrine behind CoC’s where statements on any medium or place will get people blocked from all places with similar CoC. See paragraph above for where that shit leads. My reaction is more patient and measured with a chance for people to learn over time. And it always takes time.

                                                                                                                  1. 3

                                                                                                                    That’s getting different people in one place forced to be around each other, tolerating each other, for long periods of time.

                                                                                                                    I think this is absolutely right. I’m not advocating for people to splinter of and shun each other. What I’m advocating is people should not ignore bad ideas and make sure the other party knows. I’m not a moral relativist. And you are right about Trump folks feeling left out. You are also right that the liberals basically ignored them.

                                                                                                                    However, You are wrong that radical-leftists are liberals because they are not liberals. Radical leftists despise liberals just as much as the right does. But you won’t find that kind of discussion on Fox News or NY Times.

                                                                                                                    1. 2

                                                                                                                      I forgot about the definition dispute. My bad. Yeah, OK, your position seems a lot more reasonable. I like that. :)

                                                                                                                    2. 1

                                                                                                                      I’m a lot less patient and tolerant than I used to be: particularly of stupid stuff directed at someone else.

                                                                                                                2. 1

                                                                                                                  The reason for network address scarcity is to make spamming cost-ineffective.

                                                                                                                  Compare that with the state of email spam, where email addresses are basically free.

                                                                                                                  1. 2

                                                                                                                    Alternatively, they could do something like bank-level verification checking government ID’s and requiring a deposit to create an account. Then, maybe fining whoever is spamming. Then, it should go down. Worst case with low or now fines, whoever is compromised will find out about that changing their credentials or reinstalling their system.

                                                                                                                    Jumping from “there’s spam cuz addresses are free” to “need network address scarcity” is the kind of unnecessary, risky solution that crowd is fond of. Better to just fix the problems in existing systems or design new ones with methods proven in existing ones. They have an irrational aversion to doing that for some reason.

                                                                                                                    1. 1

                                                                                                                      Relying on government ids is a centralized solution. Urbit is decentralized, thus needs a decentralized reputation system.

                                                                                                                      1. 2

                                                                                                                        It could be bootstrapped that way. The different organizations become part of the reputation system. Hell, it might even become a new service from banks and credit unions. They already often act as notaries.

                                                                                                                        1. 1

                                                                                                                          Yeah, I’d rather not have banks regulating my computer usage…

                                                                                                                          1. 2

                                                                                                                            Are you using burst transmission or a mesh network not connected to the Internet (doubtful)? Otherwise, you already use a centralized service via one of the big ISP’s that ID’d you and took payment with centralized currency. They also regulate your computer usage far as the network goes. Although they got issues, they’re still less volatile than most of these decentralized systems. The most popular ones, esp Bittorrent, operate over the centralized ones, too, for their benefits. That’s despite decentralized options being available for a long time. They’re too slow and unreliable.

                                                                                                                            It always interests me that you rely on centralized services on one hand with justifications but tell me in other areas there can be no justification for relying on centralized service. Make up your mind. Meanwhile, the inconsistency suggests to me that we can leverage centralized services as a component in these decentralization schemes.

                                                                                                                            1. 3

                                                                                                                              Decentralized computing infrastructure is something valuable we should work toward. We’re not there yet, but Urbit is a step in the right direction. Ofc sometimes its better to centralize some things, but in computing I’d rather have decentralized infra.

                                                                                                                    2. 0

                                                                                                                      Spamming is not the main motivation. The main motivation is to provide a source of funding to the company by selling the space. Oh, and the designer was a neo-feudalist which probably inspired the whole enterprise.

                                                                                                                      1. 3

                                                                                                                        The main motivation is to provide a source of funding to the company by selling the space.

                                                                                                                        I’ll add that I’m skeptical of all companies that look like pyramid schemes or at least just funnels of money to the creators in exchange for tech that’s highly risky. Throw in any cryptocurrencies to that list since they’re usually structured in an elitist way for founders. If it’s a money system, I want it done fairly by non-profits or public-benefit companies whose incentives will protect the currency, exchange, and so on. Preferably one that’s already profitable from another revenue stream where they don’t have to worry about trying to monetize the financial project. It can just breakeven with a slight surplus or donations to cover expansion.

                                                                                                                        1. 3

                                                                                                                          You are right on the money here.

                                                                                                                          1. 3

                                                                                                                            Great pun haha.

                                                                                                            2. 7

                                                                                                              Lol no one owes moldbug respect

                                                                                                            3. 5

                                                                                                              Whatever his political stance he’s still as excellent a writer as he was one the old Usenet. One of the more memorable flames on talk.bizarre was from his hand.

                                                                                                              1. 11

                                                                                                                I found him self-aggrandizing and subject to an inescapable superiority complex. When he writes philosophy he is unnecessarily verbose, so everything said seems tainted by trivial matters such as the author ego and it leaves me wondering whether the actual ideas expressed are self-sufficient or tainted by this ego: trying to project, to present himself: keeping at the marketing speak level and building an idea of himself, instead of leaving his ideas laid bare.

                                                                                                                It’s not precise, and he just reads like an insufferable prick. I found Urbit rather interesting though, but I can only rejoice that the project is now without this guy.

                                                                                                                1. 2

                                                                                                                  I tried reading the linked post and couldn’t make heads or tails of it. Maybe because it’s written “in-universe” so to speak and therefore addresses those people familiar with the specialized terminology of the Urbit system.

                                                                                                              1. 1

                                                                                                                I’ve just bought those books:

                                                                                                                I hope I will manage to actually read them all this year.

                                                                                                                1. 4

                                                                                                                  TL,DR: former (current?) lobster moving on from Mozilla, still doing rust, getting ready to do more webassembly, looking for work.

                                                                                                                  Do we want a post on Lobsters every time somebody dev-internet famous quits their job? That’s more of an orange-site or Twitter feature, yeah?

                                                                                                                  1. 22

                                                                                                                    I think it’s fine to have posts like this. It’s interesting to hear his reasons for leaving Mozilla + thoughts on the future.

                                                                                                                    1. 8

                                                                                                                      I hear you. What I read in @friendlysock’s comment is that posts like this, with their focus on the author’s life feed a culture of celebrity that veers more towards the orange site despite lobste.rs trying to be something different.

                                                                                                                      1. 3

                                                                                                                        I kind of want to gently push back on this. Before I do though, I just want to say I am not trying to defend le orange site, just to be clear. One thing that jumps out to me is that it isn’t celebrity culture to want to know how a company treats its employees. Especially at a place like Mozilla, especially at this moment in time. Something like 8 states have seen teachers trikes in the last couple of years, with one of them set to strike in days. The number of other professions seeing labor activism is increasing after some pretty dark years. It may seem like petty sniping at the boss or the company to some but when I read his complaint the first thing that jumped to my mind was “shame theres no labor organization at hand that was tailor made to help with this sort of situation”. Its important to keep that in mind with these posts, and not file them under what we believe we see as others experience, specifically “this will foster a weird parasocial fandom environment because others will want to gossip about this”. We don’t know what happened at Mozilla but personally my first instinct is not to trust the boss. It may be his life, but we share his condition I guess is my point.

                                                                                                                        Something else that occurred to me after I posted my main reply to OP is that Rust itself is, in essence, a novel extension of the political into a software project. It makes the inclusive nature of the community a fundamental element of its development. That might not be totally novel in itself, but its the first time I know where the software in question is supported by an essentially political company, and even more importantly, is on track to power one of the most deployed applications in the world. How Mozilla deals with something like this, and how the Rust community deal with it, have interesting and important implications.

                                                                                                                        One last thing is just to repeat something that was said by someone else the last time this conversation came up (I think), the highly technical articles seem to get quite a bit less actual conversation, and I think if people took the time to ask questions, not even deeply understand the topic just contribute a sophisticated guess, rather than fret over stuff like this then this whole conversation would probably go away. People would be talking, learning (as many people profess to want to do on websites like this), and the worry about superficiality would go away. This is something I myself should definitely practice.

                                                                                                                        1. 2

                                                                                                                          Thank you for a very considered response. It makes me consider other approaches as a way forward that don’t involve bucketing items based on raw technical content.

                                                                                                                          1. 1

                                                                                                                            and a thanks right back to you for taking the time to cordially respond in kind.

                                                                                                                    2. 12

                                                                                                                      A well known developer, who works in one of the most active and watched development communities/languages, who also works at a storied company one of whose products facilitates web browsing for something hundreds of millions of people (which is slowly shifting to using the previously mentioned language, itself a fairly important event) and who actively proselytizes for previously mentioned language all over the internet (and has written a book about this language, published by one of the most reputable tech publishers out there), is (according to him) being shafted by said company, which, incidentally, forms its business model almost entirely around a moral appeal. On top of all of this, the person in question is one of the more outspoken political developers working in free software. TL,DR: its important to me, and I’m glad it was posted here, as I’d like to personally know how mozilla treats their employees, especially since I’ve actually met, socialized and coded with multiple mozilla devs IRL. I’m not sure if its schtick or ideology that drives you to police these threads in precisely this way but I’m not sure you could be more off base on this one.

                                                                                                                      as an addenda; its worth also noting that klabnik didn’t just emerge out of the blue last week, he was a well known Ruby developer for years before that.

                                                                                                                      1. 6

                                                                                                                        its important to me, and I’m glad it was posted here, as I’d like to personally know how mozilla treats their employees, especially since I’ve actually met, socialized and coded with multiple mozilla devs IRL. I’m not sure if its schtick or ideology that drives you to police these threads in precisely this way but I’m not sure you could be more off base on this one.

                                                                                                                        Noone is questioning if it might be important to some subset of lobste.rs users and even if it is important to all users it doesn’t mean that this automatically becomes appropriate for posting on lobste.rs. I personally think that this site is for technical articles which this is not and I would prefer to keep such articles out of here.

                                                                                                                      2. 6

                                                                                                                        While we are still interested in what our fellow technologists are doing this week I would imagine this sort of “what I’m doing this week” is relevant.

                                                                                                                        1. 2

                                                                                                                          It is, in those threads. Like, we have a special space set aside to handle that sort of reporting.

                                                                                                                        2. 14

                                                                                                                          On that note, it’d be great to keep trolling like this on that orange site.

                                                                                                                          1. 2

                                                                                                                            Are you using “trolling” in the sense of “an insincere, outlandish comment made in bad faith to provoke a reaction” or in the sense of “something with which I don’t agree”?

                                                                                                                            1. 1

                                                                                                                              My point raised here was a valid meta question and not trolling–and my (valid) question was left on the orange site specifically because I didn’t think it was pertinent. If you want to hash it out in PMs, you know where to find me.

                                                                                                                              1. 4

                                                                                                                                you sure could’ve done some editing if that was your “valid” point.

                                                                                                                            2. 1

                                                                                                                              I get where you’re coming from but IMO @steveklabnik is a special case. His advocacy is at least a goodly chunk of what has allows Rust to grow into the community it is today.

                                                                                                                              Think of it as a post about the future of Rust, Mozilla, and co-incidentally one incredibly talented, community minded engineer.

                                                                                                                              1. 5

                                                                                                                                We can all make special-case exceptions for our favorite engineering celebrities–and that’s a bug, not a feature.

                                                                                                                                Treating this post as some big marker about the future of Rust (!) or Mozilla (!!) is just the same Great Man theory that I’m willing to wager Klabnik himself would scorn.

                                                                                                                                1. 1

                                                                                                                                  Point taken.

                                                                                                                                  However I’d argue that if we’re going to make fine point content distinctions like this we could also eliminate a bunch of the posts we see here with clickbait title like “$LANGUAGE is dead!” or “$BLAH considered harmful”.

                                                                                                                                  It’s a slippery slope. I thought this post added value beyond just informing us of @steveklabnik’s current and future status, but it’s not a hill I’m prepared to die on :)

                                                                                                                            1. 3

                                                                                                                              I never understood why Prolog needs to be its own language, if it worked similar to something like sqlite instead I think it would have been used a lot more (i.e. a datastore that you can query with prolog syntax and a prelude for customized setup).

                                                                                                                              1. 1

                                                                                                                                Logic programming can be a separate language and it also can be a library - here is an example temperance in Common Lisp and core.logic in Clojure (I’m sure there are examples in other languages).

                                                                                                                                1. 1

                                                                                                                                  I don’t see how multiple language dependent (and mutually incompatible?) libraries helps Prolog adoption?

                                                                                                                                  1. 1

                                                                                                                                    Me too, but it looks like miniKanren is already implemented everywhere so I doubt there is real need for one common external implementation.

                                                                                                                                    1. 1

                                                                                                                                      Thanks! I’ll have a look.

                                                                                                                                2. 1

                                                                                                                                  Hence the success of Datalog and Datomic. :)

                                                                                                                                1. 2

                                                                                                                                  Tell them to avoid as much man-made or processed goods as possible, eat lots of fresh fruit/veggies, minimize sugar/caffeine/alcohol, exercise, keep their stress low, and what sleep they need. These lay a foundation for avoiding most of the health problems people get. The causes in the cells are just side-effects on the true causes which we have lots of data on. Also, working to get as much of that carcinogenic shit banned as possible subsidizing the fresher or natural stuff might help, too.

                                                                                                                                  1. 8

                                                                                                                                    You’re a valued contributor to the site, and although we don’t interact often, I also like to think of you as a friend. But this is a shitty thing to say.

                                                                                                                                    People with terminal illnesses, chronic illnesses, and disabilities hear this advice all the time, and it gets very wearing. Just to state the obvious, in case it isn’t: While it’s true that general health precautions such as you’ve described have benefits for people who are medically and financially able to follow them, giving this advice in this context is likely to be received as a denial that cancer is a serious issue which kills people, and which needs much more serious research in addition to healthy eating.

                                                                                                                                    I know I’m not the only person on the site who felt just a little less safe upon seeing your remark, and that’s why I’m weighing in. I hope that you don’t feel guilty or bad about it, because that’s not my goal; I just wanted to state the counter-point for the benefit of others. I do hope that you’ll put more thought into it next time.

                                                                                                                                    Thank you.

                                                                                                                                    1. 4

                                                                                                                                      People with terminal illnesses, chronic illnesses, and disabilities hear this advice all the time

                                                                                                                                      But Nick wasn’t addressing such a person. He was telling readers in general how to reduce their chances of getting cancer. In that respect his advice is pretty good: e.g. sufficient exercise alone reduces the chance of dying of cancer by over 20%. If it convinces one reader to exercise more, isn’t that great?

                                                                                                                                      Concerning safety, your response could be considered just as worrying to those that thought Nick’s comment was reasonable. It is about effects his speech might have on the perception of the problems of some minorities, not acknowledging the directly intended positive effects. Which is kind of how the entire current political polarization is taking place?

                                                                                                                                      1. 3

                                                                                                                                        “You’re a valued contributor to the site, and although we don’t interact often, I also like to think of you as a friend. But this is a shitty thing to say.”

                                                                                                                                        “giving this advice in this context is likely to be received as a denial that cancer is a serious issue which kills people”

                                                                                                                                        I appreciate you trying to be nice about it. I think of you as a friend, too. I’d rather you not die of preventable cancer or heart disease, much of which seems to be. Diabetes even more so. The advice I was given by folks that stay researching health is to push good practices for prevention as much as possible to keep this stuff down. It disturbed me that so little of the article or comments on various sites described the things that cause these conditions: like it just magically all happens in peoples’ bodies due to mysterious environmental factors and such. Nah, a lot of it is known with companies covering up risks, people not told about known ones, or willingly disregarding the warnings. If anything, chemical analysis of new products with tech applied to categorize their risk and get that info out to people might be even more helpful. Avoiding known carcinogens and gut destroyers doesn’t seem shitty so much as default recommendation of nutritionists and consumer advocates not taking money from Big Pharma.

                                                                                                                                        I also watched a lot of people die from cancer and heart disease in my lifetime. I don’t know how much was preventable. I do know they were constantly exposed to carcinogens, usually had bad diet, and some stayed stressed. I feel compelled to get information out so whatever portion of other people fall into the preventable subset don’t die a slow, terrible death with their hair falling out as they throw up on the floor or pass out. If such reminders offend some people, I’ll take the chance since folks living instead of dying are a higher priority to me. I mean, I don’t badger them in person: just gentle highlights or warnings about some things letting them do what they want with it. It’s their lives.

                                                                                                                                        “People with terminal illnesses, chronic illnesses, and disabilities hear this advice all the time”

                                                                                                                                        Once they have these problems, that’s when medical treatment is supposed to kick in. That’s when these kinds of research can be beneficial so long as they consider big picture. There’s sometimes not anything that can be done past managing the pain and problems. I feel for them. Hell, I’m in one of those categories. Pharma-funded doctors told me all kinds of horrible predictions plus all the drugs and procedures I needed. The practices I described, which I’m half-assing a lot, still helped a lot to the point folks often can’t tell I’m in those categories. On some days or in some situations, it’s a lot harder where I can’t avoid the symptoms. Some benefit is better than none. (shrugs)

                                                                                                                                        I just push universally-healthier practices while keeping in mind they’re not guaranteed to work, may need to be supplemented with medical care, and some people will still suffer more. I’ll also end on noting people in above categories will get fewer, extra problems in their health over time if using preventative strategies that work. Most that do also report feeling better since they reduced the stuff that threw their mind and body off balance. I think this will grow with the gut studies in things like C. Diff. and H. Pylori along with what combats them. They used to say those symptoms were chronic, uncurable conditions, too. To think I suffered for decades for no fucking reason other than people were paid to say it wasn’t what I ate. A brother just got H. Pylori, too, who likewise wasn’t told about recent research that stuff he was eating killed good bacteria that kept H. Pylori in check. Just expensive drugs plus talking about chronic condition caused by infection that just happens. (rolls eyes)

                                                                                                                                        1. 4

                                                                                                                                          I appreciate your feelings and I am supportive of you advocating for health practices, in general. But as you said, you are prioritizing some people over others when you do this. It’s not simply a matter of taking offense; this rhetoric has real and tragic consequences, in part because it just so happens that nearly everybody else has made the identical decision about priorities. For example, doctors concretely treat fat people worse, as a result of their own belief in rhetoric such as what you’ve shared, sometimes to the extent of ignoring non-weight-related medical problems. Here’s an opinion piece in the AMA Journal of Ethics about it.

                                                                                                                                          1. 2

                                                                                                                                            “But as you said, you are prioritizing some people over others when you do this.”

                                                                                                                                            The article is prioritizing focusing on things not known to work, which it even calls out, over practices that work the best for its stated goal. Almost all discussion on threads for this article follows suit. Mine was the only comment promoting practices that stop cancer for a lot of people and help existing cancer patients reduce negative symptoms during painful treatments. It excludes nobody since everyone needs to know about preventative factors even if they can’t use them in current status. I was too poor for them until recently where, as working class, I added more stuff to my list. I also can’t account for every possible circumstance in a comment about general, best practices that solve a lot of deadly problems for lots of people. Nobody else here was doing that. So, I didn’t either. Just contributing my piece as others did.

                                                                                                                                            “For example, doctors concretely treat fat people worse”

                                                                                                                                            The post you link to is about people doing the opposite of what I’m doing. They’re assuming they know the cause(s) in all circumstances, taking down to the patients, and that malpractice is causing mental damage that leads to more bad habits as a side effect of depression doctors cause. I find it abhorrent, but I’m not surprised. Assholes and bad habits don’t go away just because they put on a white coat. Now, let’s see how my method might look at it:

                                                                                                                                            “So, you came in concerned about being overweight and want to try to do something about it. Let me first tell you that it’s normal for people to have a range of weights with what’s healthy depending on the person. You might not be overweight. Also, there’s so many factors that lead to weight gain that it’s hard to say how much your lifestyle did or didn’t contribute to it. Some factors people might not change include genetics and side effects of health conditions. Factors that increase the risk include specific practices in diet, exposure to toxins, exercise, and stress. At best, I can promise to give you practices that will make you healthier over time, maybe reduce your weight on top of that (I don’t know how much), and might not change anything if your lifestyle wasn’t the cause. Most important, your attitude about your self will have more impact on your state of mind and life than anything else. It’s important to remember that, even though you want to try to make changes, to accept that you are still a person regardless of what you look like or other people say. Stay on top of it mentally even if it’s hard.”

                                                                                                                                            I don’t do this often. That’s off the cuff. I believe in holistic healing that starts with our mental attitudes, adopts whatever preventative steps we can, fights problems in least-risky ways, and accepts what we can’t change. The last two might require anything from medical treatment to emotional support. That’s where friends, family, community, and groups dedicated to specific issues come in. Although I gotta jet, feel free to compare my comment to what linked article said doctors were doing. That hurried post tried to balance telling them what they need to hear against treating them like people both on principle and to protect their mental health.

                                                                                                                                        2. 3

                                                                                                                                          I know I’m not the only person on the site who felt just a little less safe upon seeing your remark

                                                                                                                                          What does ‘safe’ mean in this context and what changed in your safety after reading nicks comment? I’m not a native speaker and I’m having hard time understanding that sentence, considering dictionary definition.

                                                                                                                                          1. 4

                                                                                                                                            Folks like Irene will be the authority on that question since it’s their beliefs. I’m on opposing side. I’ll tell you my observations of their general patterns:

                                                                                                                                            It’s part of a recent type of leftist politics getting popular in America, esp coming out of universities, that equates speech or actions people don’t like as inherently offensive, sometimes equates it with other people damaging them (eg like physical damage), and encourages others to modify their thoughts and speech to avoid all those “offensive” words or behaviors. Their theory is that this creates an “inclusive” environment where people feel “safe.” Those pushing it also largely focus on specific groups’ concerns minimizing others’ concerns where those others’ will certainly not get included or feel safe. That’s due to differences in moral beliefs among groups. Personally, I think it’s a mindset that’s about forced conformance to their politics and also defeatest in terms of weakening them in minimally-harmful situations. Example of latter was people at one university needing counseling because Ben Shapiro was going to do a speech. Reinforcing such weakness as a groups’ default is not going to help them in the fight against opponents who don’t let others’ words stop or actions stop them.

                                                                                                                                            Another approach, which was the default among decent folks in Mid-South, is to let people say and do what they want to so long as it doesn’t hurt others. What constitutes hurtful statements and behaviors is hashed out by a consensus of the people who disagree, debating it among each other. What’s allowed or disallowed varies group by group, area by area. The people with this mindset are taught to penalize what multiple groups agree is bad behavior while discussing, arguing, tolerating, or ignoring the stuff we disagree on. We’re also taught to develop a “thick skin” because people will always say or do things that we don’t like. We’re told that, although it’s hard, to do what we can to not let their words or actions bother us. That’s why I laughed or dismissed with minimal irritation some of the dumb shit in Shapiro’s speech (or people in my outgroups) instead of asking them to correct their language, went into clinical depression, and so on. You’ll still see people take things personally, try to control others, and so on. It’s just considered weakness or foolishness past a certain point that people on all sides try to keep in check.

                                                                                                                                            The political style in the first paragraph is dominant here among folks active in voting and commenting on political topics. I represent the second approach. Incidentally, most people I’ve met struggling with these conditions want to get as much info as they can. If anything, they try too much stuff out of desperation with lots of predatory salespeople taking advantage of them. Most appreciate my information when they know it’s delivered in good faith trying to help them out rather than judge them. A few got pissed initially when they misread it as me looking down on them. Many people probably did. They chilled out, too, after we talked it out. Some don’t want advice period. The first reaction on this site talking about how all these people, mostly subscribing to second approach to discussion, might be offended is from a person in the first group. You’ll keep seeing that here.

                                                                                                                                            To be fair, though, Irene is someone that struggles with hard issues facing daily exactly the kind of hateful bullshit she’s describing. She’s also really thoughtful. So, her reaction is based on personal experience and others’ she knows rather than an example like Shapiro’s where some of his opponents could laugh or counter him out the building using the thick-skinned approach. It’s much harder for people like her dealing with a common case where folks actively want to hurt her. I still back my approach as default since theirs shuts down discussion by trying to minimize the speech patterns they believe are offensive, but not necessarily the majority in the U.S., specific areas, or even among the groups they claim to represent. People in No 2 want our beliefs to be able to evolve even if discussion of hard issues pisses us off or depresses us. It’s for the greater good.

                                                                                                                                            1. 5

                                                                                                                                              This is a great opportunity to introduce this article: What duelling can teach us about taking offence.

                                                                                                                                              Basically, you’re taking the “offense as (emotional) hurt” position. Irene is being represented as taking the “offense as harm” position; I’m not sure 100% sure whether or not that’s accurate. But once you know about the “offense as insult” position, you start applying it everywhere and it makes everything make a lot more sense.

                                                                                                                                              In this case the “just live more healthy” advice is seen as an insult to people with (possibly unavoidable) health problems – a claim that they are not due equal respect. The “offense as insult” model makes more sense of what we actually find offensive, and why the right kind of apology makes a difference. Taking offense is insisting on respect.

                                                                                                                                              1. 2

                                                                                                                                                This is really useful framing, and I thank you for sharing it. I do recognize my position as being what your article calls “offense as harm” (that’s such unfortunately confusing terminology). I am going to have to think about how to apply this framing; I can’t really comment on your observation until I’ve digested it.

                                                                                                                                                1. 1

                                                                                                                                                  That’s a very interesting article, thanks for sharing it.

                                                                                                                                                2. 4

                                                                                                                                                  I actually use they/them pronouns, as in “They’re also really thoughtful.” Just mentioning that in passing because I’ve found that when I don’t correct it as it happens, people who had previously been using the correct pronouns start using the wrong ones.

                                                                                                                                                  I appreciate your position, and that you’ve explained it at length. It’s useful to have the point and counterpoint laid out clearly like this. I also appreciate how civil this conversation has been. I do disagree that calling out issues as they happen is counterproductive or doomed to failure.

                                                                                                                                                  I do also want to note that the pattern you describe as an alternative, where - if I may summarize how I understand it, but feel free to correct me - people push each other until they push back, and that’s okay, is… not actually an alternative. It’s precisely what’s happening here. My remark was a form of pushing back. This attempt to cast it as somehow different from any other form of disagreement by tying it to a perceived political goal of silencing dissent is kind of strange, really. Isn’t everyone who’s advancing any sort of viewpoint trying to get their viewpoint heard?

                                                                                                                                                  1. 4

                                                                                                                                                    I just wanted to log in to say that I really appreciate this sort of discourse, and it speaks volumes to the quality of discussions on lobsters compared to the other places I frequent. I normally try and take such a broad bredth away from these sort of discussions, and when realing Nick’s first comment I was sure there would be a flame war.

                                                                                                                                                    1. 2

                                                                                                                                                      “I also appreciate how civil this conversation has been.”

                                                                                                                                                      “I did feel that the risk things would go that way was comparatively small for me, this time, both because I know Nick and because I felt that I knew the tactful way to respond. Newer members of the site may not have either of those luxuries, and may have had very reasonable fears about things going far worse were they to speak up. So since I was probably in the best position to handle it, I felt that I should. “

                                                                                                                                                      As always with you Irene, me too. :)

                                                                                                                                                      “and that’s an investment that I shouldn’t have had to make, because it shouldn’t have happened in the first place.”

                                                                                                                                                      “somehow different from any other form of disagreement by tying it to a perceived political goal of silencing dissent”

                                                                                                                                                      People on my side simply disagree with someone while telling them they can feel free to speak their mind. On contentious issues, we don’t tell them that sharing beneficial ideas is a shitty comment, make us feel unsafe, harms people, excludes them, and so on. The goal of bringing that up is for me to never do that again, right? And for the reasons in your differing political views held by the majority here that I’m dissenting to?

                                                                                                                                                      “felt just a little less safe “

                                                                                                                                                      This part I’m just countering. Your political comments usually get a pile of upvotes on this site, esp defending trans people or political action in threads. Mine usually don’t. You have people supporting you in a visible way, a majority of the community voting in favor of your kind of politics, a moderator position, and our site admin seems to lean more in that direction. You are pretty safe here no matter what gets said. The risk is on the dissenters in terms of push back, most likely to be downvoted, and so on. That distortion between what went on before, what you expected to happen here, and what actually happened is why I called that lens defeatest. Even with support you get, you still thought you were unsafe despite me predicting I’d be the one without support after you did a counterpoint. Which happened as predicted.

                                                                                                                                                      “Isn’t everyone who’s advancing any sort of viewpoint trying to get their viewpoint heard?”

                                                                                                                                                      That’s true. That’s why I up-vote the comments of people on the other side when they contain what I perceive as good points, minus personal attacks or something similar, to encourage more of that. I also never ask them to stop saying anything that has some evidence. I might debate the points, though. That’s the free-speech and tolerance approach. And as in your other comment, it takes significant, emotional investment to keep at it. Definitely two of us doing that today.

                                                                                                                                                      1. 2

                                                                                                                                                        I do feel there’s more to discuss on this topic, but elsewhere in the thread somebody raised a question about whether it’s appropriate for me to be having this conversation at all. While I do feel that it is appropriate, I’m going to err on the safe side and let it rest where it is, for now.

                                                                                                                                                        Thank you again for the level of thought and care that you clearly put into it.

                                                                                                                                                        1. 3

                                                                                                                                                          Well, that’s what I was trying to do, too. So, no objection. Thanks for being calm and level-headed. Have a good night. :)

                                                                                                                                                    2. 2

                                                                                                                                                      folks in Mid-South

                                                                                                                                                      I have not heard this geographical description before? What part or parts of the CONUS does it encompass?

                                                                                                                                                      1. 3

                                                                                                                                                        I should probably be more specific than that saying “Tri-State Area” of Arkansas, Tennessee, and Mississippi. Even more narrowly, the Memphis Metro Area of right-side of Arkansas, Southwestern Tennessee (esp Memphis TN), and Northwestern Mississippi. Most of my data come from people in those areas plus some from larger Mid-South given we move around a lot in this space. The area is kind of in the middle and southern parts of the country. Hence, Mid-South. We’re an area with lots of economic, racial, and gender problems with a really rough history on top of a murder capital. Yet, we get by day to day without huge riots and appear to have more diverse workplaces (esp Black and Latino hires) than places with social justice politics. My data is smaller there, though. We also tend to be able to talk to each other without folks trying to censor each other.

                                                                                                                                                        If a group gets dominant in a place, you’ll definitely see them reward their group and be biased against others. That reduces down to mere arguments between peaceful times when the mix increases. Another example is no police brutality during the BLM takeover of an I-40. People just talked, shouted, or avoided the area until it was over. Then we shrugged it off. I’ll also note most reformers that created these liberal politics operated with that style of debating opponents rather than just having them censored. The censorship came later following what the previous orthodoxies had attempted to do with their beliefs after their founders innovated them into existence. A little strange they oppose the very practices that created many of their beliefs and rights in the first place.

                                                                                                                                                        Alright, I’m out for now. Gotta go chill with the family. Yall have a good day. :)

                                                                                                                                                    3. 2

                                                                                                                                                      Thank you for asking; I realize that the idea I’m referencing may be a new one to a lot of people. I’m referring to psychological safety - who is welcome in the community, and how much of themselves they’re able to bring to it. No community can include everybody, and there’s always some tension about who belongs there and who doesn’t, even in a place like this which is friendly enough that I don’t think anyone would say people don’t belong in such strong terms. People from marginalized backgrounds (women, disabled people, etc) are more likely to notice these dynamics than people who don’t have that life experience, but they’re always present.

                                                                                                                                                      I did once write a popular Twitter thread in which I worked through two examples of what I mean by this. I know Twitter threads can be hard to follow without context, but unfortunately I don’t have time this morning to put that into paragraph form. (Note that I use plural pronouns on Twitter, which actually is a good example of an aspect of myself that I express more freely in that community than I do in this one. Also, the subject matter of the thread may seem shockingly sensational if it isn’t something you’ve heard about.)

                                                                                                                                                      Concretely, what changed for me after reading Nick’s comment was that I felt that there was some risk that if I were to mention the harm that rhetoric causes, I would be laughed at and disregarded. It hasn’t happened in probably a year or more, but in the past, when I’ve spoken up here about remarks which cause harm to groups I belong to, those threads have become highly contentious, with each comment receiving dozens of upvotes and dozens of downvotes. To have that kind of thing happen when the topic is a basic matter of human dignity is super-distressing, and I don’t feel that anyone really “wins” it - everyone loses.

                                                                                                                                                      I did feel that the risk things would go that way was comparatively small for me, this time, both because I know Nick and because I felt that I knew the tactful way to respond. Newer members of the site may not have either of those luxuries, and may have had very reasonable fears about things going far worse were they to speak up. So since I was probably in the best position to handle it, I felt that I should. Even with what seems to have been a pretty positive outcome, I’ve put a fair amount of time and emotional investment into responding carefully and responsibly to his remarks and to yours, and that’s an investment that I shouldn’t have had to make, because it shouldn’t have happened in the first place.

                                                                                                                                                      1. 4

                                                                                                                                                        Thanks your trying to explain your position but after reading your reply and that twitter feed I still don’t see how anyone’s safety was reduced by nick’s comment. He did state good advice to follow and I can’t find anything that would lead you to fell “that there was some risk that if I were to mention the harm that rhetoric causes, I would be laughed at and disregarded”. I also don’t see how “giving this advice in this context is likely to be received as a denial that cancer is a serious issue which kills people” - this is a comments section for article about SV way of thinking and theirs approach to solving cancer - explaining how to avoid getting cancer seems like appropriate comment here.

                                                                                                                                                        On the other hand, now I fell that what seems to me as a good advice might be attacked by this sites admin(s), which is reducing my psychological safety in lobste.rs space.

                                                                                                                                                        1. 4

                                                                                                                                                          You raised a concern about whether my participation in the thread was appropriate as a site moderator. So, unfortunately, I have to reply as a moderator and not in my personal capacity. So I’ll put aside my feelings about your other points and only address that one.

                                                                                                                                                          As mods, we do put a great deal of effort into making sure that our participation as individuals doesn’t interfere with our responsibilities to the community as a whole. We have the hat system to indicate what capacity somebody is speaking in. Of course, the responsibility to keep things separate doesn’t end with choosing the appropriate option in the menu; we do put a lot of thought into it, and when I do find myself in conflicts over my personal views, I always ask another moderator to handle the follow-up rather than myself.

                                                                                                                                                          And yes, it’s okay and allowed to disagree with me, or with any moderator. I do think it’s important that moderators be able to be part of conversations here - why would we care about the site if we couldn’t actually participate in it?

                                                                                                                                                          It’s not for me to tell you whether you should feel that our efforts in this regard are sufficient or not; you have the right to decide that for yourself. But I did feel I should make the case.

                                                                                                                                                  2. -2

                                                                                                                                                    lol ok steve jobs

                                                                                                                                                  1. -4

                                                                                                                                                    I love reading about old games and how they were made but I’m absolutely done with anything about DOOM.

                                                                                                                                                    Can we get something else please?

                                                                                                                                                    1. 10

                                                                                                                                                      If you don’t like this content hide it.

                                                                                                                                                      If you don’t think it belongs here flag it.

                                                                                                                                                      Otherwise write something constructive or refrain from writing anything :)

                                                                                                                                                      1. -1

                                                                                                                                                        C’mon, it doesn’t seem fair to get bashed for pointing out that this topic has generally been covered to death.

                                                                                                                                                        1. 1

                                                                                                                                                          Bashed? That wasn’t my intention - I’ve only explained how you can use site features to ‘vote’ for/against content.

                                                                                                                                                        1. 0

                                                                                                                                                          That was a nice read. Thanks for linking something interesting instead of bashing me for a mild comment.

                                                                                                                                                      1. 9

                                                                                                                                                        It depends on your goal. These days I learn technologies mostly in sake of escapism, not for career growth, so I wouldn’t learn GraphQL on Kubernetes serving AMP pages; “non-practical” things like primitive gamedev, retrocomputing, reversing old games and basics of microcontrollers give me more consolation.

                                                                                                                                                        1. 3

                                                                                                                                                          Same here, that’s why I’m learning Common Lisp right now.

                                                                                                                                                        1. 7

                                                                                                                                                          I thought the conspiracy theory folks were wrong. It’s looking like they were right. Google is indeed doing some shady stuff but I still think the outrage is overblown. It’s a browser engine and Microsoft engineers have the skill set to fork it at any point down the line. In the short term the average user gets better compatibility which seems like a win overall even if the diversity proponents are a little upset.

                                                                                                                                                          1. 10

                                                                                                                                                            I thought the conspiracy theory folks were wrong. It’s looking like they were right. Google is indeed doing some shady stuff

                                                                                                                                                            If it’s an organization, you should always look at their incentives to know whether they have a high likelihood of going bad. Google was a for-profit companies aiming for IPO. Their model was collecting info on people (aka surveillance company). These are all incentives for them to do shady stuff. Even if they want Don’t Be Evil, the owners typically loose a lot of control over whether they do that after they IPO. That’s because boards and shareholders that want numbers to go up are in control. After IPO’s, decent companies start becoming more evil most of the time since evil is required to always make specific numbers go up or down. Bad incentives.

                                                                                                                                                            It’s why I push public-benefit companies, non-profits, foundations, and coops here as the best structures to use for morally-focused businesses. There’s bad things that can still happen in these models. They just naturally push organizations’ actions in less-evil directions than publicly-traded, for-profit companies or VC companies trying to become them. I strongly advise against paying for or contributing to products of the latter unless protections are built-in for the users with regards to lock-in and their data. An example would be core product open-sourced with a patent grant.

                                                                                                                                                            1. 9

                                                                                                                                                              Capitalism (or if you prefer, economics) isn’t a “conspiracy theory”. Neither is rudimentary business strategy. It’s amusing to me how many smart, competent, highly educated technical people fail so completely to understand these things, and come up with all kinds of fanciful stories to bridge the gap. Stories about the role and purpose of the W3C, for instance.

                                                                                                                                                              Having read all these hand-wringy threads about implementation diversity in the wake of this EdgeHTML move, I wonder how many would complain about, say, the lack of a competitor to the Linux kernel? There’s only one kernel, it’s financially supported by numerous mutually distrustful big businesses and used by nearly everybody, its arbitrary decisions about its API are de-facto hard standards… and yet I don’t hear much wailing and gnashing, even from the BSD folks. How is the linux kernel different than Chromium?

                                                                                                                                                              1. 16

                                                                                                                                                                While I actually am concerned about a lack of diversity in server-side infrastructure, the Linux kernel benefits, as it were, from fragmentation.

                                                                                                                                                                There’s only one kernel

                                                                                                                                                                This simply isn’t true. There’s only one development effort to contribute to the kernel. There is, on the other hand, many branches of the kernel tuned to different needs. As somebody who spent his entire day at work today mixing and matching different kernel variants and kernel modules to finally get something to work, I’m painfully aware of the fragmentation.

                                                                                                                                                                There’s another big difference, though, and that’s in leadership. Chromium is run by Google. It’s open source, sure, but if you want your commits into Chromium, it’s gonna go through Google. The documentation for how to contribute is littered with Google-specific terminology, down to including the special internal “go” links that only Google employees can use.

                                                                                                                                                                Linux is run by a non-profit. Sure, they take money from big companies. And yes, money can certainly be a corrupting influence. But because Linux is developed in public, a great deal of that corruption can be called out before it escalates. There have been more than a few developer holy wars over perceived corruption in the Linux kernel, down to allowing it to be “tainted” with closed source drivers. The GPL and the underlying philosophy of free software helps prevent and manage those kinds of attacks against the organization. Also, Linux takes money from multiple companies, many of which are in competition with each other. It is in Linux’s best interest to not provide competitive leverage to any singular entity, and instead focus on being the best OS it can be.

                                                                                                                                                                1. 3

                                                                                                                                                                  Performance tuning is qualitatively different than ABI compatibility. Otherwise, I think you make some great points. Thanks!

                                                                                                                                                                2. 7

                                                                                                                                                                  If there is an internal memo at Google along the lines of “try to break the other web browsers’ perf as much as possible” that is not “rudimentary business strategy”, it’s “ground for anti-trust action”.

                                                                                                                                                                  It’s as good of a strategy as helping the Malaysian PM launder money and getting a 10% cut (which… hey might still pay off)

                                                                                                                                                                  1. 5

                                                                                                                                                                    Main difference is that there are many interoperable implementations of *nix/SUS/POSIX libc/syscall parts and glibc+Linux is only one. A very popular one, but certainly not the only. Software that runs on all (or most) *nix variants is incredibly common, and when something is gratuitously incompatible (by being glibc+Linux or MacOS only) you do hear the others complain.

                                                                                                                                                                    1. 2

                                                                                                                                                                      Software that runs on all (or most) *nix variants is incredibly common

                                                                                                                                                                      If by “runs on” you mean “can be ported to and recompiled without major effort”, then I agree, and you’re absolutely right to point out the other parts of the POSIX and libc ecosystem that makes this possible. But I can’t think of any software that’s binary compatible between different POSIX-ish OSs. I doubt that’s even possible.

                                                                                                                                                                      On the other side of the analogy, in fairness, complex commerical web apps have long supported various incompatible quirks of multiple vendor’s browsers.

                                                                                                                                                                      1. 6

                                                                                                                                                                        Multiple OSs, including Windows, can run unmodified Linux binaries.

                                                                                                                                                                    2. 4

                                                                                                                                                                      How is the linux kernel different than Chromium?

                                                                                                                                                                      As you just said it,

                                                                                                                                                                      financially supported by numerous mutually distrustful big businesses

                                                                                                                                                                      There’s no one company making decisions about the kernel. That’s the difference.

                                                                                                                                                                      1. 4

                                                                                                                                                                        There’s no one company making decisions about the kernel. That’s the difference.

                                                                                                                                                                        Here comes fuchsia and Google’s money :/

                                                                                                                                                                      2. 1

                                                                                                                                                                        I am disgusted with the Linux monoculture (and the Linux kernel in general), even more so than with the Chrome monoculture. But that fight was fought a couple decades ago, it’s kinda late to be complaining about it. These complaints won’t be heard, and even if they are heard, nobody cares. The few who care are hardly enough to make a difference. Yes we have the BSDs (and I use one) and they’re in a minority position, kinda like Firefox…

                                                                                                                                                                        1. 2

                                                                                                                                                                          How much of a monoculture is Linux, really? Every distro tweaks the kernel at least to some extent, there are a lot of patch sets for it in the open, and if you install a distro you get to choose your tools from the window manager onwards.

                                                                                                                                                                          The corporatization of Linux is IMO problematic. Linus hasn’t sent that many angry emails percentually, but they make the headlines every time, so my conspiracy theory is that the corporations that paid big bucks for board seats on the Foundation bullied him to take his break.

                                                                                                                                                                          We know that some kernel decisions have been made in the interest of corporations that employ maintainers, so this could be the tip of an iceberg.

                                                                                                                                                                          Like the old Finnish saying “you sing his songs whose bread you eat”.

                                                                                                                                                                      3. 3

                                                                                                                                                                        It’s a browser engine and Microsoft engineers have the skill set to fork it at any point down the line.

                                                                                                                                                                        I think this is true. If Google screws us over with Chrome, we can switch to Firefox, Vivaldi, Opera, Brave etc and still have an acceptable computing experience.

                                                                                                                                                                        The real concerns for technological freedom today are Google’s web application dominance and hardware dominance from Intel. It would be very difficult to get a usable phone or personal server or navigation software etc without the blessing of Google and Intel. This is where we need more alternatives and more open systems.

                                                                                                                                                                        Right now if Google or Intel wants to, they can make your life really hard.

                                                                                                                                                                        1. 8

                                                                                                                                                                          Do note that all but Firefox are somewhat controlled by Google.

                                                                                                                                                                          Chrome would probably have been easier to subvert if it wasn’t open source; now it’s a kind of cancer in most “alternative” browsers.

                                                                                                                                                                          1. 5

                                                                                                                                                                            I don’t know. MIPS is open sourcing their hardware and there’s also RISC-V. I think the issue is that as programmers and engineers we don’t collectively have the willpower to make these big organizations behave because defecting is advantageous. Join the union and have moral superiority or be a mercenary and get showered with cash. Right now everyone chooses cash and as long as this is the case large corporations will continue to press their advantage.

                                                                                                                                                                            1. 9

                                                                                                                                                                              “Join the union and have moral superiority or be a mercenary and get showered with cash. Right now everyone chooses cash and as long as this is the case large corporations will continue to press their advantage.”

                                                                                                                                                                              Boom. You nailed it! I’ve been calling it out in threads on politics and business practices. Most of the time, people that say they’re about specific things will ignore them for money or try to rationalize how supporting it is good due to other benefits they can achieve within the corruption. Human nature. You’re also bringing in organizations representing developers to get better pay, benefits, and so on. Developers are ignoring doing that more than creatives in some other fields.

                                                                                                                                                                              1. 3

                                                                                                                                                                                Yup. I’m not saying becoming organized will solve all problems. At the end of the day all I want is ethics and professional codes of conduct that have some teeth. But I think the game is rigged against this happening.

                                                                                                                                                                              2. 2

                                                                                                                                                                                I don’t think RISC-V is ready for general purpose use. Some CPUs have been manufactured, but it would be difficult to buy a laptop or phone that carries one. I also think that manufacturing options are too limited. Acceptable CPUs can come from maybe Intel and TSMC and who knows what code/sub-sytems they insert into those.

                                                                                                                                                                                This area needs to be more like LibreOffice vs Microsoft Office vs Google Docs vs others on Linux vs Windows vs MacOS vs others

                                                                                                                                                                              3. 2

                                                                                                                                                                                They already are screwing us over with chrome, this occurrence is evidence of that.

                                                                                                                                                                            1. 2

                                                                                                                                                                              I solved the very first challenge with a simple AWK one-liner.

                                                                                                                                                                              I suspect many of us had the same approach here :)

                                                                                                                                                                              1. 3

                                                                                                                                                                                awk ‘{total += $1} END {print total}’ adv1.txt ;)

                                                                                                                                                                                1. 2

                                                                                                                                                                                  This is almost exactly what I had, but after doing some of the other puzzles I realised I am not very smart and I should just lean on Haskell for everything.

                                                                                                                                                                                  1. 1
                                                                                                                                                                                    awk '{c+=$1} END {print c}' day1.input
                                                                                                                                                                                    awk '{c+=$1; if (c in seen) { print c; exit 0} else seen[c]=1}' <(while cat day1.input; do :; done)
                                                                                                                                                                                    

                                                                                                                                                                                    ;)

                                                                                                                                                                                  2. 2

                                                                                                                                                                                    I suspect many of us had the same approach here :)

                                                                                                                                                                                    I don’t know what others think, but until now every puzzle seemed to be most comfortably solved in AWK. It’s a bit sad because I wanted to use a new language each day, but lack of time forces me to be lazy :(

                                                                                                                                                                                    Update: just in: day 3, part 2 didn’t even take a minute ^^

                                                                                                                                                                                    1. 2

                                                                                                                                                                                      I don’t think it’s so sad. For me at least, it makes the case that all programmers should know AWK.

                                                                                                                                                                                      1. 1

                                                                                                                                                                                        Huh. We must have thought very differently about day 3, part 2. How did you do it? (I did a very “mathematiciany” approach where I generated the coordinates each box would touch, then put those in a map of those coordinates to a list of IDs, and did the set difference of all IDs with the lists that had more than one element. Hugely wasteful in CPU terms, just fine in brain terms.)

                                                                                                                                                                                        1. 2

                                                                                                                                                                                          (spoiler: this was my script): I read in the file twice, first time counting how often each x y coordinate was requested, filling up a 2D map (AWK’s pseudo-arrays), and the second time going through all the lines again, looking for any request that only had 1’s in the map, then printed that out. Not pretty, but it was easy to extend my first solution to work with it.

                                                                                                                                                                                          What language did you use, if I may ask?

                                                                                                                                                                                          1. 2

                                                                                                                                                                                            Nice. I guess that’s pretty similar to what I did.

                                                                                                                                                                                            What language did you use, if I may ask?

                                                                                                                                                                                            Python. I’m brushing up on it for a job I’m starting in January, otherwise I think I’d have tried something lispy: https://github.com/gunnihinn/advent-2018/blob/master/day03b.py

                                                                                                                                                                                    1. 1

                                                                                                                                                                                      Will you be adding it to quicklisp?

                                                                                                                                                                                      1. 2

                                                                                                                                                                                        The creator of Quicklisp refuses to add it, so no. I’ll have my own solution to this problem in the future, though.

                                                                                                                                                                                        1. 1

                                                                                                                                                                                          What’s the reason for that?

                                                                                                                                                                                          1. 2

                                                                                                                                                                                            I asked Zach (quicklisp owner) on #lisp about this - still waiting for answer as he is ‘away’.

                                                                                                                                                                                            1. 1

                                                                                                                                                                                              Reading the source code, while an amusing experience, might explain.

                                                                                                                                                                                              1. 1

                                                                                                                                                                                                Did I miss something? Seems like he doesn’t like xterm, but that’s hardly unique. There are a couple of comments which aren’t phrased the way I would choose myself, but that probably can’t be it.

                                                                                                                                                                                                I don’t see an rm -rf hidden away!

                                                                                                                                                                                                1. 2

                                                                                                                                                                                                  If I were a repository maintainer I don’t know how I’d feel about hosting software where one of the comments suggests the designers of a certain protocol should be “executed”. :P