1. 7

    For me, I’ve had to learn to divorce the art from the artist. Picasso was a great painter, but he was also an abusive misogynist. Roman Polanski made iconic movies, but also fled the US ahead of rape charges against a 13 year old. Tom Cruise is a great actor, but is involved with a religion known to abuse, brainwash and control adherents. Orson Scott Card wrote critically acclaimed science fiction, but has homophobic and transphobic ideas. I may like the art, but I don’t have to like the artist.

    Of the three computer science projects mentioned, I don’t view Minecraft as being “outsider”—it’s just a game (a popular and addicting one) with a particular aesthetic look to it. TemplsOS and Urbit I will concede to being “outsider” material. In looking at each, I can appreciate TempleOS for what it is, because aesthetics aside, it achieved what Microsoft attempted to do with OLE, Alan Kay tried with Smalltalk, with the extensive hypertext that Ted Nelson was trying to work towards. Urbit, however, I eventually dismissed as a joke project (or an extensive troll) by Curtis Yarvin. The intentional obfuscation of terminology, the smug “look at how clever I am” half-explanations and the “computing but this time done right!” tone turned me off. In the words of Feynman, “I couldn’t do it. I couldn’t reduce it to the freshman level. That means we don’t really understand it.” Curtis never tried to explain it well. My dismissal of Urbit had nothing to do with Curtis’ politics.

    1. 2

      If Roman Polanski made movies about how awesome it is to sexually assault children, the art and artist would be less easily separable. Yarvin and Urbit are inseparable; Urbit is a reification of its creator’s values.

      1. 2

        Minecraft started its hype train on 4chan’s /v/ board a decade ago. Based on it being such a self-taught demo of an indie game that got into the mainstream on accident, I’d say Minecraft started as outsider art.

        1. 2

          Would you consider Dwarf Fortress outsider?

          1. 1

            Absolutely.

            1. 1

              Then i think you might have a bit wider definition of CS related “outsiderness” than I do. I grew up in the 70s/80s when any 15 year old could learn assembly (usually on their own) and write a best selling video game in a few months, and I never considered any of them as “outsiders” (more like “I could do that!”).

      1. 6

        Therefore, for applications to be fast, we must maximize the amount of CPU instructions per memory access.

        That’s a great summary of modern CPUs’ performance weirdness.

        Also, loom sounds great:

        It caught more than 10 bugs that were missed by the other unit tests, hand testing, and stress testing.

        1. 4

          An old definition of a “supercomputer” is, “a computer that turns CPU-bound problems into IO-bound ones.”

        1. 5

          Host your own? You can use cgit if you want a web interface onto the repositories.

          1. 5

            They’re currently hosting their own instance of Gitea.

            1. 2

              Yeah to clarify I mean making a directory for all your git repos and pointing git-daemon at it, don’t think this option was mentioned in the article, and it’s arguably much simpler.

            2. 2

              I have started to use cgit myself, and was blown away by the possibility it opens. They have a filters mechanisms which allows for easily extending the set of features of the software. Besides, even though the use of <table> everywhere does constrain the CSS one can write (at least, it constrains me), it remains fairly easy to come up with a nice custom theme.

            1. 29

              Unions would help remove this chicanery from the already-grossly-imbalanced empower/employee relationship.

              1. 9
                1. 8

                  Probably, but unions aren’t a panacea. Unions can lead to some bad things too. From my experience I’m not sure which I prefer.

                  1. 33

                    Unions are not a panacea, as in they don’t solve all problems and even come with some of their own, but they exist to deal with exactly this situation. This feels a little like discussing an article about nails and pointing out that hammers aren’t a panacea.

                    1. 10

                      “Unions” as a concept is mainly just “allowing workers to form a structure to gain negotiation power”. There’s thousands of implementations of that concept, which makes it hard to have a discussion about “unions” on that level as much as for “political parties” or “enterprises” globally.

                      Even as a business owner, I got a lot of support from my union, which makes me quite happy with my particular implementation, but I appreciate there’s tons of problems even in mine, specifically around my business.

                      1. 1

                        By that definition, you might consider callout-blog-posts like these as a form of union.

                        1. 6

                          Where’s the collaborating structure? This is an individuals post.

                          1. 1

                            collaborating

                            Message boards (such as this one) and social media, I suppose.

                            1. 1

                              That’s not collaboration. That’s marketing and communication.

                      2. 3

                        Wouldn’t the logical conclusion be to prefer power being more dispersed between employers/unions, rather than concentrated? We should fight concentration of power, as it is always weaponized against us.

                        The only argument I can think of is that the union can interfere at times when they aren’t strictly necessary.

                        1. 2

                          No, the logical conclusion is to prefer power being more dispersed between employers and employees. Unions are one way of achieving that, but they present their own problems which ought to be considered. Unions can pervert incentives. Where I work (UAW) there is no reason to work harder because you will never get ahead from it (unless you’re trying to be a supervisor, but there aren’t many of those). Sometimes people will work really slow to make sure they don’t do better than standard. Our supervisors won’t even tell us “good job today” unless it’s in private because they’re worried about the union. It’s also basically impossible to fire someone no matter how bad they are at their job. I’m not sure we make more money either, the last place I worked started a bit lower but increased the longer you worked there.

                          I pointed out that they aren’t a panacea because I get the impression that the people advocating for them in tech have no experience with them and aren’t fully considering the implications. But maybe UAW is the only one with these problems.

                          1. 4

                            Individual approaches can pervert incentives just as much. It does for example lead to situations where motivations are entirely self-driven. I’ve seen many projects put on hold because people personal goals for the next raise in the company didn’t align with the goals of their team. That included that their goal became meaningless over the year!

                            I’m not saying unionisation cannot lead to weird situations such as yours, but that also usually a sign of a business where this still go too well. For example, when talking to union people in the insurances sector in Germany, they are keenly aware that the whole sector is being automated, so for example some of their strategy is currently bargaining with the employers to migrate people to either other parts of the company or going half-time positions instead of straight-out being fired. Those are very knowledgeable people with high interest in finding a good solution for all sides.

                            I do agree with your reading of union advocacy in tech: most of the time, employees figure out they want to unionise when they already have an open conflict with their upper management. Even if they manage, they will be in a situation where management gives them not quarter (why should they, they didn’t before) and that will also lead to them never giving a win away anymore.

                          2. 1

                            bosses can interfere at times when they aren’t strictly necessary

                        2. 6

                          This threat, along with wage suppression and employee control in general, is why big tech is pushing for more H1Bs for India.

                        1. 3

                          I would say the best programmers:

                          • Have an ability to focus for long periods with delayed gratification.
                          • Are Intelligent.
                          • Are able to read and study when needed.
                          • Have creativity in problem solving.
                          • Have a good knowledge of the tools and techniques available to them.
                          • Practice constantly.

                          Working on any of those should help :).

                          For team programming you can also add some things like teamwork and communication.

                          1. 3

                            How does one, become intelligent (asking for a friend)

                            1. 2

                              I haven’t figured it out yet.

                              1. 2

                                Practice and diligence, like anything. Grit matters more than anything.

                                1. 1

                                  Oh, and humility. Nothing is simple :)

                            1. -6

                              I suppose I should tip my hand at this point, and say that as much as I value the source part of open source, I also believe that people participating in open source communities deserve to be free not only to change the code and build the future, but to be free from the brand of arbitrary, mechanized harassment that thrives on unaccountable infrastructure, federated or not. We’d be deluding ourselves if we called systems that are just too dangerous for some people to participate in at all “open” just because you can clone the source and stand up your own copy. And I am absolutely certain that if this free software revolution of ours ends up in a place where asking somebody to participate in open development is indistinguishable from asking them to walk home at night alone, then we’re done. People cannot be equal participants in environments where they are subject to wildly unequal risk. People cannot be equal participants in environments where they are unequally threatened.

                              Would James Damore be welcome to openly participate in the open-source development of Mozilla? What about Brandon Eich?

                              If not, then all of these fancy words about protecting people from harassment and making Mozilla’s open-source spaces safe for everyone to participate in are lies, and the entire enterprise of switching to an authenticated chat system is an excuse to enforce that everyone who can meaningfully contribute to Mozilla’s open-source code either adheres to or knows to shut up about a specific set of political principles unrelated to the goals of the project.

                              If so, then how will Mozilla react when feminist activists (the reference to “walk[ing] home at night” is clearly a signal that Mozilla imagines unrestricted speech in open-source contexts as akin to threatening the physical safety of women, the demographic which feminism cares about) argue loudly that platforming people who hold the political or social views that Damore or Eich do is itself a form of harassment that the system needs to protect them against?

                              1. 4

                                Brendan Eich, not Brandon.

                                If you’re going to ask problematic and incendiary questions at least get the names right.

                                1. 4

                                  You continue to willfully conflate harassment with protected speech; nothing you say is said in good faith or has any value.

                                  1. 1

                                    Many of the people who run Mozilla willfully conflate speech with anti-progressive political or social implications as harassment. This is why I am concerned about speech censorship politics with the explicit goal of reducing harassment. I don’t want contributors or potential contributors to open-source projects to worry that if they say things they believe to be accurate about systematic gender differences between men and women like Damore did (or any other topic with anti-progressive political implications), they will be barred from participation in the project on the ostensible grounds of harassing women.

                                    1. -1

                                      Many of the people who run Mozilla willfully conflate speech with anti-progressive political or social implications as harassment. This is why I am concerned about speech censorship politics with the explicit goal of reducing harassment. I don’t want contributors or potential contributors to open-source projects to worry that if they say things they believe to be accurate about systematic gender differences between men and women like Damore did (or any other topic with anti-progressive political implications), they will be barred from participation in the project on the ostensible grounds of harassing women.

                                      1. 1

                                        Thanks for taking the time to clarify your position.

                                        I think your fears are wildly overblown.

                                    2. 3

                                      Would James Damore be welcome to openly participate in the open-source development of Mozilla? What about Brandon Eich?

                                      I don’t speak for Mozilla, but in this hypothetical situation I’m assuming that if their contributions were valuable, why not?

                                      If not, […]

                                      This is a hypothetical based on another hypothetical.

                                      1. 3

                                        Because James Damore had established himself as one who is dedicated to creating unsafe spaces for others who also might want to contribute, like women.

                                        1. 1

                                          I see your point. I failed to take other contributor’s probable and understandable reactions into account.

                                    1. 5

                                      I’m all for ‘don’t attribute to malice what can be explained by incompetence’ but I don’t believe Google is that incompetent.

                                      You’d be surprised. The right answer is often the simplest. It is easier to build something for one browser than it is for more than one. Google builds against Chrome. They develop features using what Chrome supports. Is that the fastest way to build features? Yes. Is this the right thing to do? Debatable. Is this malicious? No.

                                      1. 10

                                        Intentions are irrelevant; impact is all that matters.

                                        1. 12

                                          If intentions are irrelevant, then there’s no need to use that word in the first sentence of the article.

                                          intentionally and systematically sabotaging Firefox

                                          1. 9

                                            Better call their editor then. But more broadly, the problem is the aggregate effect of Google’s actions at scale, and it doesn’t matter what lies within the hearts of their engineers.

                                        2. 13

                                          Full disclaimer: I work at Google.

                                          I think this is a case of product managers across the company deprioritizing non-Chrome support once Chrome had a large market-share. They try to launch first and iterate. So they prioritize the larger platforms first, which would include Chrome. There’s no malicious Google-wide directive that we kill Firefox by not supporting it for our web products. That said, there’s no company-wide pillar to uphold the open web by supporting Firefox just as well as Chrome either. (We have similar pillars for privacy/diversity initiatives.) Note that Google’s iOS apps are well-maintained. That’s because there’s a lot of money and customers in that ecosystem.

                                          A company can both have a coherent vision and a thousand people making individual decisions.

                                          1. 8

                                            I’m not sure what your comment is really meant to say, but if your product has a simple bug when viewed in a competing browser, that’s literally a one-liner, and which can be fixed before lunch, it clearly must be an intentional undertaking to instead ship it as-is, and then use your two-week release cycle to fix the issue that only takes a few man-hours to fix.

                                            Of course, this is simplifying, but I don’t really see how the first-iteration argument could be applied here:

                                            • How long does it take to develop a product?
                                            • How much effort is involved to ensure compatibility?
                                            • How much is gained by the competition looking bad in the first two weeks after launch?

                                            These are the questions at stake here.

                                            Speaking of which, as a Mozilla user, it’s hardly a coincidence that all the while that Google video-conferencing products don’t work in my browser, much of the competition, like CoderPad.io, works just fine. (Yet we still get surprised when it does work, because Google’s the one that’s setting the standard, even though video-conferencing has been available at Mozilla since like 5 years ago (2014?) if a quick search is to be believed.)

                                            1. 10

                                              What I’m saying is that in the absence of institutional pressure to uphold certain standards, those standards wont be met. Each product launch needs to meet privacy, security, i18n, and a11y standards. They’re enforced by external committees and manual testers. After launch, there are periodic reviews and every new feature launch needs to get the same approvals. There isn’t a similar checkmark for multibrowser compatibility and performance, so devs/PMs don’t care about it as much.

                                              Plus, it’s always possible the devs or manual testers didn’t find that small issue in Firefox. Every product launches with bugs.

                                              I’m trying to say it’s not institutional malevolence, just that it’s an institutional non-goal. Perhaps if there’s enough pressure (say from lawmakers), great multi-browser support would be one of those launch checkmarks. As it stands, the customers and the money don’t make it a priority.

                                              1. 15

                                                Traditionally this is precisely why antitrust laws exist. Google now has an effective monopoly on the browser market, and there are no checks and balances to prevent Google from eradicating all the competition. Whether Google does it with intentional malice or not is really beside the point.

                                                1. 3

                                                  The problem with traditional anti-trust legislation in the US in relation to this issue is that it’s not at all clear who is harmed by this monopoly.

                                                  A traditional monopoly will naturally raise prices, as there is no competition to force it not to, and this will harm consumers of the product it produces. A lawyer would argue: how is getting a high-quality browser for free harming consumers?

                                                  You might argue that Google has a monopoly on online advertisements, but that’s not the case. Facebook is also a huge advertisement broker.

                                                  1. 3

                                                    A traditional monopoly will naturally raise prices, as there is no competition to force it not to,

                                                    When has that ever happened? And how much did the period of higher prices offset the preceding period of aggressively low prices?

                                                    1. 5

                                                      I was paraphrasing from faulty memory the perceived arguments for enacting antitrust legislation in the US in the late 19th century:

                                                      https://en.wikipedia.org/wiki/United_States_antitrust_law#History

                                                      I don’t find my statement controversial though. Why would an enterprise, unhindered by competition or regulation, not raise prices to the absolute maximum the market can bear? It would be its fiduciary duty to do so, to benefit its owners.

                                                      1. 2

                                                        Prescription drug costs in the US literally right now?

                                                        1. 1

                                                          The context was “anti-trust legislation”. The monopoly nature of pharmaceutical companies is a direct result of “pro-trust legistation”: patents.

                                                          1. 4

                                                            No it’s not. Loads of medicines like insulin are totally unencumbered, yet their price is rising dramatically.

                                                            Also what are you talking about? You asked when monopolies and trusts have ever raised prices, implying that has never happened. It has. I gave an example. And there are plenty of other examples throughout history, it just so happens that was the answer I thought of literally instantly.

                                                            1. 1

                                                              Loads of medicines like insulin are totally unencumbered, yet their price is rising dramatically.

                                                              You’re saying that some company has a monopoly on a patent-free product?

                                                              You asked when monopolies and trusts have ever raised prices, implying that has never happened.

                                                              The context was “anti-trust legislation”. It makes no sense to suggest anti-trust legislation to solve a problem begat by pro-trust legislation; just eliminate the pro-trust legislation.

                                                              1. 2

                                                                You’re saying that some company has a monopoly on a patent-free product?

                                                                No. A group of companies. Sometimes known as a trust, see also the term “antitrust law.” In the case of insulin, a group of three companies.

                                                                Or perhaps the cost of insulin has risen dramatically due to its production cost rising dramatically? And every other developed country in the world has developed technology to offset those costs except the US?

                                                                I’m open to other hypotheses.

                                                                1. 1

                                                                  And every other developed country in the world has developed technology to offset those costs except the US?

                                                                  Can’t those countries can’t sell insulin to the US? If not, is it because of another law preventing them from doing so?

                                                                  1. 4

                                                                    Great question! No, they can’t sell in the US. It’s a hot topic in the Democratic presidential primary. Also, check out this article about policy to reduce prescription drug prices from 2017, which mentions allowing import from Canada and Mexico as possible solutions, to force US providers to set accurate prices or lose business.

                                                        2. 2

                                                          Regardless of historical examples, that’s literally Uber’s planned business model. The fares they charge for rideshare simply don’t cover costs. They’ve been operating at billion-dollar losses each year to support this.

                                                          So why set fares unsustainably low? To gain marketshare. To put cab companies out of business. Once they have market dominance, they can bring their fares up to sustainability, then profitability, then gouge-level profitability.

                                                          1. 1

                                                            Regardless of historical examples, that’s literally Uber’s planned business model

                                                            Rather an automatically-accepted just-so truism, much like the original one that I questioned.

                                                            This reminds me of when people thought Google had no business reason to create a web browser. Now it’s “obvious”. But since you can’t see any other business model then clearly there’s only one option.

                                                            1. 1

                                                              Google wasn’t posting yearly losses in the billions and asking for additional funding. Regardless of Uber’s actual business plan, there are many rich people convinced that the plan is monopoly.

                                                              1. 2

                                                                Meanwhile, consumers have had 10 years of good service and VC-subsidized prices. And any raised prices once Uber achieves “monopoly” will be under threat if they are high enough to present a profitable (competitor) opportunity.

                                                                This is basic economics. The imagined “problem” of a perpetual, abusive monopoly never seems to manifest. Except of course in cases where the monopoly is enforced by law.

                                                      2. 2

                                                        I agree that policy is the only lever that can change a big player. Even the threat of regulation may be enough.

                                                        I think it does matter if one characterizes this issue as intentional or not. If it’s intentional, it’s certainly malicious and may point to the people being bad actors. Whereas, if it’s the outcome of an anarchic process, it’s bad, too, but perhaps its just an oversight. The punishment and fixes will have to be different. Also it’s hard to convince someone to change their views if it looks like you’re arguing in bad faith so it’s important to characterize the problem correctly.

                                                        1. 2

                                                          It’s perfectly possible for the organization as a whole to be malicious while everybody within the organization just follows the process. The problem here is with Google as a company as opposed to intents of any single individual. As others pointed out conscious decisions had to be made to stop testing with Firefox, to introduce features outside W3C spec, and so on. I think that the individuals who choose to work for a particular organization share moral responsibility for the actions of that organization.

                                                          1. 3

                                                            I’m in agreement with you here. My main point is that being precise with describing the issue is important.

                                                      3. 10

                                                        Notably, this to me seems to at the very least confirm a discrepancy between the words (the official “We’re on the same side. We want the same things”; unspoken, which makes it unclear, but I can only assume this to mean at least “conforming to Web Standards”) and the actions (not prioritizing tests with Another Standards Conforming Browser, i.e. Firefox). In harsher words, such behavior tends to be called hypocrisy.

                                                        That’s the first thing. The second thing is, presumably, someone at some level of management had to make an explicit decision to drop Firefox testing, at some point in time - assuming it was there before Chrome was released. Then, someone else at the company had to vet this decision. This makes it at least two people. As others said, hard to imagine such levels of pure, bliss, unscrutinized incompetence, at Google of all places. And even assuming charitably those were the real reasons, such incompetence would have been noticed later and corrected. But then, also from your comments, we clearly see it was not.

                                                        1. 2

                                                          It’s possible for the Chrome team to be for the open web and for teams across the company to launch products with bugs in non-Chrome browsers. Both are possible at the same time. I don’t think bugs at the margins invalidate whatever the Chrome team is doing.

                                                          I’m not saying that anyone decided to drop Firefox testing. That’s not true. There is no management directive to drop Firefox support. I’m presenting a distributed, anarchic model of decision-making. I’m saying that when you have dozens of teams working on dozens of web-products (ranging from small teams working on quick experiments to large teams supporting billion-user products), it’s possible for bugs to slip through that make it seem like the company doesn’t care. The fact that perfect multi-browser is not required to ship a product doesn’t mean that devs/PMs don’t care about it. Perfection on any axis is not required to ship a product.

                                                          The recent GMail web product launched even though it loaded slower than the previous version. That’s because users liked the new version better. The tradeoff was to launch and improve performance after.

                                                          1. 3

                                                            There is no management directive to drop Firefox support.

                                                            It’s enough if there’s no directive to keep it.

                                                            If someone pumps a balloon, and then at some point stops pumping it, that’s not an action per se, but still conscious decision of inaction. Saying: “wow, I’m soo surprised the balloon deflated! I do still care about the balloons being inflated! I just now pump a different balloon!” in that situation doesn’t appear completely honest.

                                                            1. 2

                                                              Yes, I agree. I’m mostly concerned about the framing of the issue here, and we’ve come to agreement.

                                                    2. 13

                                                      This reads almost like a joke. No offence, but I really cannot believe that any development teams at a company whose core competence is web applications would not test their web applications on the leading N% web browsers.

                                                      N might vary from 95% for a small shop to 99% which was the case at my former employer: a 20-person small business writing web applications. We supported all major browsers on the three major desktops, Apple and Samsung phones and tablets default browsers, and a few other mobile browsers.

                                                      How could a company the size of Google test their web applications only on a single web browser?

                                                      1. 4

                                                        I really cannot believe that any development teams at a company whose core competence is web applications would not test their web applications on the leading N% web browsers

                                                        Believe it. If you’re testing a small application it’s not too hard. But when you’re testing huge applications for not only bugs, but performance issues, it’s a lot harder. And Google engineers have buff workstations and top of the line laptops where lots of performance issues simply don’t show up.

                                                        There are other more traditional business reasons this stuff happens that Google isn’t immune to. Once big projects get enough momentum they tend to roll out even if there are obvious problems—the sunk cost fallacy. I don’t know anything specific about the polymer redesign mentioned, but I wouldn’t be shocked if someone told me that’s what happened.

                                                        1. 1

                                                          Well, each web-site at Google probably has on the scale of 10-50 engineers on it. The apps are complex, the tech stack is custom, and there are competing priorities, like at any company. If bugs slip through the cracks, it’s for the same reason as any other company.

                                                          The primary and secondary features of all major Google apps work fine across all current browsers. Is that not true?

                                                          1. 2

                                                            The primary and secondary features of all major Google apps work fine across all current browsers. Is that not true?

                                                            I don’t know, other than Gmail and Search I do not use many Google products.

                                                            And it does not matter how many engineers (or devs) are on an app, what matters is the the testing procedures in the build processes. Whether they need to sit a “Firefox-testing” intern next to the “Chrome-testing” intern, or if they need to run test-in-firefox.sh as well as test-in-chrome.sh is immaterial. What is material is that Firefox (and IE, and a few other browsers) exist and need to be tested for.

                                                            “My team is too large” is not an excuse, especially as these things scale better for larger teams.

                                                        2. 4

                                                          Note that Google’s iOS apps are well-maintained. That’s because there’s a lot of money and customers in that ecosystem.

                                                          Like it took a year for apps to support iPhone X or most apps still don’t have iPad keyboard support?

                                                          1. 1

                                                            I’m not an iOS expert and don’t work on iOS apps at the company, but I really don’t think it took a year for major apps to support iPhone X. It’s up to the individual PMs to prioritize features; I can’t speak to why iPad support isn’t wide-spread. You can imagine there are many competing goals for each product.

                                                      1. 2

                                                        Therefore Allen went over to the University of Washington and began using a Xerox computer by pretending to be a graduate student. Gates soon followed, and this went on until they were caught and removed from the campus. They continued to break into university and privately owned computer systems until about 1975.

                                                        How dare they!!!

                                                        1. 1

                                                          Calling out their hypocrisy and foundation based on appropriating public value for private profit is always on point. The whole world is still suffering from their actions in the nineties, and every responible person involved there is still around, and still rich.

                                                        1. 1

                                                          I didn’t realize the author was using python syntax for illustration purposes and was very, very confused. I bit more prose telling us what he planned to do would have been more helpful than the pkd references.

                                                          1. 3

                                                            Maybe you should contact his editor. But also, the PKD references were fun and interesting, and their exclusion would not have made the content more clear.

                                                            All in all, this was genuinely the best explication of Python’s argument-passing semantics I’ve ever seen, even if I didn’t like the “bindings are boxes” metaphor; it was still great!

                                                          1. 2

                                                            Only one of “plain text files” that can be read 50 years later and “military-grade AES encryption” can be true at a time.

                                                            (Incidentally, I read “military-grade” to mean “lowest bidder”.)

                                                            1. 1

                                                              That’s not true. The claim is about it being a simple open format. Well known character encoding + well known crypto algorithm is pretty future proof.

                                                            1. 2

                                                              When I have even more free time, it might be fun to try to apply the techniques from https://blog.benjojo.co.uk/post/eve-online-bgp-internet to https://github.com/rabidgremlin/Procedural-Generation-Examples/blob/master/part-ii/DrawUniverse/universe.csv, the description of the Elite universe.

                                                              1. 14

                                                                This whole meditation is excellent, and this is something I both didn’t know, and is extremely relevant for everyone in our industry, especially those of use who are highly skilled:

                                                                There are those who say that denying the rights of surveillance capitalists and other trillion-dollar multinationals to their (pie minus tiny slice that trickles down to us) is modern-day Luddism.

                                                                It’s a better analogy than they realise. Luddites, and contemporary protestors, were not anti-technology (https://www.smithsonianmag.com/history/what-the-luddites-really-fought-against-264412/) Many were technologists, skilled machine workers at the forefront of the industrial revolution. What they protested against was the use of machines to circumvent labour laws and to produce low-quality goods that were not reflective of their crafts. The gig economies, zero-hours contracts, and engagement drivers of their day.

                                                                1. 3

                                                                  I think that’s an old announcement; they’re up to 2.2 now, I think.

                                                                  http://graphblas.org/index.php

                                                                  1. 2
                                                                    1. 1

                                                                      “prediction difficulty: challenging” (vs “secure” for CPRNG’s)

                                                                      “and thus more secure than most generators”

                                                                      Looks like a great article. I’m highlighting this since they probably just should leave the last part off as it semi-implies it useful or acceptible for work done with security in mind. Folks are better off just using the fastest CSPRNG that doesn’t have any working attacks. That is, if they can’t afford to use whatever is the strongest one. I’ll add @twotwotwo has a great point about how fast the secure generators run these days. There’s also crypto accelerators on some processors for common algorithms.

                                                                      1. 3

                                                                        The use case is things like Monte Carlo simulation, raycasting, etc., where you want unpredictable, uniformly distributed set of values.

                                                                        1. 1

                                                                          Oh, I get that. Especially Monte Carlo given it’s always the example I see in fast, pseuo-random generators. I should probably look into that deeper some time given its utility and popularity.

                                                                          I’m just saying they should leave off the security part toward the end if they already said it wasn’t secure at the beginning. Following others in the know, I’ve always kept separate the RNG’s that are good for security-insensitive and security-focused randomness. Many who haven’t studied information security might misinterpret such remarks.

                                                                        2. 1

                                                                          “prediction difficulty: challenging” (vs “secure” for CPRNG’s)

                                                                          CSPRNGS aren’t provably secure. There’s no difference between ‘challenging’ and ‘secure’ except that the ones marked ‘secure’ have been tested a lot more for security.

                                                                          I’m highlighting this since they probably just should leave the last part off as it semi-implies it useful or acceptible for work done with security in mind.

                                                                          It is more secure than most generators.

                                                                        1. 2

                                                                          Accepting null means tightly marrying the memory layout and types together. You can no longer examine types while ignoring how they’re layouted in the memory.

                                                                          Huh? Nullable doesn’t say anything about memory. I have no idea what Python None looks like.

                                                                          1. 1

                                                                            Python’s None is a globally defined constant. Nullable and Maybe are sum types. You’re right that these ideas are distanced from how they’re layouted into memory.

                                                                            However I’m not sure what to do here because I think the thought still applies somehow to this. Should we have an easy way to convert any type into type+{null} in the first place?

                                                                            1. 1

                                                                              I think he was referring to his conception of it as stated in this opening: “Not too long ago I used to think of null as an useful feature that can be directly derived from the pointer arithmetic on a computer.”

                                                                            1. 6

                                                                              “Fabricate” is a build system that uses strace to automatically discover dependencies in this way.

                                                                              https://github.com/SimonAlfie/fabricate/blob/master/README.md

                                                                              1. 1

                                                                                Nice. Looks like they beat me to this idea by a wide margin. Just goes to show there is not much new under the sun.

                                                                                1. 3

                                                                                  On the other hand, although I’ve known about this for many years and always been curious, I’ve never actually tried to use it, whereas I could wrap your concept around almost anything pretty trivially, so :)

                                                                                  1. 2

                                                                                    Thanks. This work mostly came out of being frustrated with js build scripts. I didn’t want to understand what broccoli.js was doing so I figured treating it as a black box and just grabbing the inputs and outputs would be good enough for caching purposes. I’ve since used the same trick at a few more workplaces and it does wonders for frontend build processes.

                                                                              1. 5

                                                                                The way these licenses are worded isn’t very appealing. They don’t even open with MIT-style warranty clauses, those are end the end and have less words. As a non-lawyer less words sounds bad. The Parity license seems very demanding, I wouldn’t want to use it. I do not at all believe this new wave of quasi-commercial licensing for most if not all (formerly) Free Software projects will end well for anyone. Why use a solution that doesn’t do exactly what you need it to, and maybe does a bit too much? Because it’s Free Software, the time saved building bespoke tools can be used to patch it and ignore/workaround what you don’t need. But if I have to pay someone, might as well pay my own guys, or if I want to keep it FOSS, use and/or fork an existing Free Software project.

                                                                                1. 2

                                                                                  The way these licenses are worded isn’t very appealing.

                                                                                  I love the wording. If it’s about commercial use, the license says commercial use instead of guessing every business model they might try. If it’s about sharing changes, the license says all changes have to be shared instead of guessing every distribution model they might try. The parasitic behavior that happened with other licenses might have been blocked with these.

                                                                                  “if I want to keep it FOSS” “The Parity license seems very demanding,”

                                                                                  The existing licenses don’t keep it FOSS, though. There were bypasses around most of them that led to billions in wealth for companies that didn’t contribute back or barely did. The goal of the Parity license is maximizing free software by forcing all code to be shared. So, the terms force all code to be shared. Almost all negative impact is on commercial sector who could always buy a license exception that supports the project.

                                                                                  1. 1

                                                                                    The platform seems like a start but I kind of wish that some of the other licenses were available to choose. Getting these new licenses approved by the OSI is probably pretty top priority. Every IP lawyer I have ever worked with always advised avoiding new licenses whenever possible because in some cases it was easier to simply re-implement the functionality that we needed instead of getting a new license approved.

                                                                                    1. 2

                                                                                      As a developer, my goal in using the Parity license is to discourage corporate uptake. OSI approval is an anti-feature.

                                                                                      1. 4

                                                                                        Why would you want to discourage use of your software? I sincerely don’t understand why it being used by a corporation is by itself a negative. Isn’t it dependent on the corporation?

                                                                                        1. 0

                                                                                          Why would you want your labor appropriated by greedy capitalists who will use it to further enslave you?

                                                                                          1. 8

                                                                                            If a software developer releases their software under a license that allows them to bar you from using it on the grounds that they think you are a greedy capitalist who will use it to further enslave them, that software is not free and should not be talked about in the same breath as genuinely free software.

                                                                                            1. 1

                                                                                              You have not read the license, or if you have, you’re hiding it. Either way, you’re contributing nothing to the discussion.

                                                                                              The Parity license compels sharing, similar in spirit to the GPL. This is not a business-friendly license, because the operating principle of capitalist enterprise is to socialize cost while privatizing profit. They will look for software they can use parasitically.

                                                                                              Its also meant to enable developers to charge for their software without closing the source. If you don’t want to share according to the terms of the free license, buy a commercial one that doesn’t mandate that.

                                                                                            2. 4

                                                                                              I’d take greedy capitalists metaphorically enslaving me over “selfless” communists literally enslaving me.

                                                                                              1. 2

                                                                                                Providing services people want is slavery?

                                                                                                1. 2

                                                                                                  All you need is to wear Marx-colored glasses to see it is.

                                                                                      1. 8

                                                                                        The naming of this suite is confusing. There is already a legal tool called CC Zero. And this is not a single license or a single minimalist license.

                                                                                        The implementation of most of these licenses is non-free and the naming is Orwellian. Compelled publication (“Parity”) is non-free, and separating it from use is doubly so. “Prosperity” is shareware, which non-free and a failed model. “Private” allows a party to use the code publicly in a non-free way. “Charity” is a weird name for a license of the form that corporations love.

                                                                                        This is good old-fashioned license proliferation wrapped in a presumption of dual-licensing, which is the current problem rather than a solution to it.

                                                                                        I do like the command line tools though.

                                                                                        1. 3

                                                                                          What is the problem, proliferation, or dual-licensing? I’m having a hard time understanding how either are currently problematic.

                                                                                          1. 1

                                                                                            This is good old-fashioned license proliferation wrapped in a presumption of dual-licensing, which is the current problem rather than a solution to it.

                                                                                            It actually would reduce license proliferation given maximum, simple copyleft might have prevented the need for piles of free licenses that currently exist. Likewise, people wanting to get paid for commercial use while letting people see and fix the source might find Prosper useful. Then, for proprietary software outside these two, he has a proprietary license setup with the usual terms. Actually, less shady than many vendors of proprietary software.

                                                                                            So, we’re down to three licenses covering paid-under-agreed-terms with source, free-as-in-beer with source for non-commercial use, and maximally-free with source all changes being just as free. So much easier and smaller in number than this pile of licenses from OSI.