1. 7

    Suggest only the plt tag, since tags are filtered via intersection and not union. :)

    1. 12

      Tags should be partially ordered in a lattice, with “sub-tags” being substitutable for any “super-tags” higher up in the lattice.

      1. 4

        If we’re brainstorming, I’d suggest not ordering them initially and instead allowing people to use a blang to query them.

        1. 2

          I see what you did there.

      1. 40

        No, literally never.

        I only have nodejs installed on machines where I absolutely need it, that might mostly be because I don’t like js and the whole nodejs ecosystem, but it’s a fact. None of my personal projects rely on it and if I have to use it it’s wrapped in a docker container (with rare exceptions) - but my main argument is actually the (imho) horrible dependency handling where I either need to install globally or have the huge node_modules folder somewhere.

        I dislike bash scripts but at least I can write them to only rely on binaries that I can count on being available (i.e not literally 0 dependencies, but in reality it feels like it).

        I have experimented in writing lua scripts instead of bash with my own 20 loc-c-script runner binary, but I gave that up as well.

        1. 4

          The dependencies situation is what finally drove me to embrace Bash for all the things instead of Javascript–even though I find JS to be my main quick hack tool that I reach for.

          1. 2

            my main argument is actually the (imho) horrible dependency handling where I either need to install globally or have the huge node_modules folder somewhere

            You shouldn’t ever need to install globally unless you want to. So is size the main concern here? node_modules can definitely get super big, but in my experience typically only for application-sized projects, not for scripting use cases. Something I like about npm is the fact that you almost never have to worry about implicit peer dependencies, or shared transitive dependencies at different versions, which isn’t the case with bash. I think this is where much of the node_modules size comes from.

            1. 4

              the OP talked about “scripting” - so I instantly thought of bash - but even with a python script I maybe have 1-5 dependencies that I can somehow finagle into a virtualenv, and it never grows to half a gigabyte.

              I’m not saying anyone shouldn’t use (node)js, but I don’t see a single advantage over literally anything for me.

              1. 2

                For what it’s worth I basically agree. Unless my project is JS, I’m not reaching for it over python as a sh alternative.

            2. 1

              my main argument is actually the (imho) horrible dependency handling where I either need to install globally or have the huge node_modules folder somewhere.

              I hear you on the huge dependencies. Node is famous for this. :)

              Aside from that, you can install nodejs global packages into your home directory, much like you can install perl, python, or ruby dependencies locally. It’s just a matter of configuring npm (or yarn) to do so ; and as with other package managers, the dependencies also need to be somewhere on your disk.

              1. 2

                that’s what I meant, but maybe I’m wrong, I thought npm install -g <pkg> as non-root would install “global per user” but that’s exactly what I don’t want, then my $HOME suddenly becomes a non-defined ball of dependencies.

                I think the real thing is that the bash script lives there, on its own, for years or decades and doesn’t have to be updated ever, just copied from machine to machine (or checked into my dotfiles). This is simply a very different use case than real “software” which I “install”.

            1. 3

              The worst part of gRPC is its crappy protobuf notation. This tool doesn’t address anything about that.

              I’m wondering why I got banned when I tried to promote another RPC tool with a throwaway account.

              1. 24

                I’m wondering why I got banned when I tried to promote another RPC tool with a throwaway account.

                Sockpuppeting on Lobsters is heavily frowned upon.

                1. 13

                  promote … with a throwaway account.

                  That. Don’t use throwaway accounts and shill projects.

                  1. 4

                    Do you mean the service definitions being .proto files? If so, DRPC has a very modular design, and all of the functionality is implemented by referring to only the interfaces defined in the main module. Because of that, you can effectively manually write out the code generated glue, or generate it in some other way. Here’s an example of that: https://play.golang.org/p/JQcS2A9S8QX

                    1. 1

                      I’m wondering why I got banned when I tried to promote another RPC tool with a throwaway account.

                      Which tool were you trying to promote?

                      1. 6

                        He got banned again so we may never know

                        1. 13

                          Who thinks it’s a good idea to tell everybody they’re a spammer?

                          1. 2

                            Growth hackers.

                        2. 4

                          The moderation log answers your question, fwiw.

                          1. 4

                            You can check the moderation log for timestamp 2021-04-17 12:40 -0500

                            1. 1

                              click through to their username, which includes a ban reason.

                          1. 6

                            Record-and-replay debuggers like rr (disclaimer: I initiated it and help maintain it)

                            Pernosco (disclaimer: also my baby) and other omniscient debuggers go much further.

                            Folks, everybody talks their book. It seems pretty natural that, whatever their other arguments, somebody selling debuggers is going to say that print debugging is obsolete. Like, this is pretty critical context when evaluating their claims.

                            Re: the actual article itself…good debuggers can be super handy. I loved and still love Visual Studio (at least the older versions) for their excellent debugging and analysis tooling. I still set conditional breakpoints and watches in frontend JS code. In some cases print debugging was simply out of the question and tools like RenderMonkey gave me the power to solve problems I couldn’t have dreamed of. I support all of these uses.

                            But sometimes, you want to see what a program is doing without interrupting its flow–maybe you don’t want to pause threads, maybe you are looking for subtle timing behavior, maybe you have an issue with the tooling that explicitly breaks the debugger, maybe you’re helping a client debug things and can’t attach a debugger, or maybe you’re just lazy and it’s faster to throw in a print statement. All of these are valid reasons for using print debugging.

                            Different tools for different jobs–and anybody telling you otherwise is, like the author here, probably trying to sell you something.

                            1. 3

                              Your point that he started a company that sells a debugger so readers should adjust accordingly is well taken, but:

                              But sometimes, you want to see what a program is doing without interrupting its flow. (snip) All of these are valid reasons for using print debugging.

                              The unique selling point of his debugger is precisely that it does not interrupt flow of debugged programs! The argument here is that it’s not a valid reason to use print debugging, because debuggers can and should be improved. For other points you raised, rr has a mode that tries to increase frequency of subtle timing bugs which is often successful. So if you are looking for subtle timing bugs, you also really should try debuggers.

                            1. 18

                              A lot of this boils down to the same economic motivation for any kind of outsourcing: if something is not your core competency and is not part of your competitive advantage then you can reduce costs by sharing the fixed overheads with other companies in your market. This is especially true for zero-marginal-cost goods such as software where the only costs are the fixed overheads. The cost of developing a program that has a single user is the same as the cost of developing a program that has a million identical users. For something like a game engine, where the users aren’t identical and have some different requirements, there are some incremental costs, but they’re far lower than the cost of developing the core technology.

                              This composes with the other broad trend towards complexity in the tech industry. The game engine for Wolfenstein 3D was developed by a couple of people. The team that developed the Quake engine was (I think) about half a dozen people. A modern game engine is many hundreds of person years of development work. Id probably recouped the cost of developing the Quake engine with Quake itself, any other licensing royalties were free money on top. A fairly successful modern game like The Witcher 3, for example, almost certainly didn’t make enough money to fund the development of an in-house game engine and so companies that don’t make the decision to outsource either make massively profitable games or go out of business.

                              I think it’s going to be interesting to see how things like Godot change the economics here, because it may well be cheaper to pay a couple of in-house developers to add features to an open source game engine (and upstream them, if you don’t want to pay the cost of maintaining a fork) than to pay for an Unreal license. Unreal is trying quite hard to counter this with a pricing model that is very cheap for small studios, which then get locked in (and even when they’re paying more, it’s not a large fraction of their revenue).

                              1. 3

                                I thought CD Projekt Red made their own engine

                                1. 2

                                  They did, but according to Wikipedia it was first used for The Witcher 2, which was released in 2011, which means they probably started engine development back in 2005ish (you hear “it takes 5+ years to make a game engine” a whole lot on e.g. /r/gamedev). They also used a ton of middleware.

                                  https://en.wikipedia.org/wiki/CD_Projekt#REDengine

                                  1. 2

                                    I worked at the game studio which developed Snowdrop- I can confirm that it’s about 5-7 years for an engine.

                                2. 2

                                  See, this is the thing. Quake was only 3 programmers, Quake 2 3 programmers, Build engine was one guy (with 1 additional programmer credites on Duke 3D)…and Witcher 3 was an in-house engine.

                                  Modern game engines as easier than you think.

                                  The tricky part is when you want to get into tooling and things to support your artists and designers.

                                  1. 5

                                    See, this is the thing. Quake was only 3 programmers, Quake 2 3 programmers, Build engine was one guy (with 1 additional programmer credites on Duke 3D)…and Witcher 3 was an in-house engine.

                                    Modern game engines as easier than you think.

                                    I’m not sure how that supports your thesis, considering all but The Witcher 3 are games from the 90’s, and id’s games were mostly tech demos post-Doom.

                                    1. 3

                                      The Witness is a custom engine, Source and Source 2 were custom engines, Unreal itself was originally a custom engine, Minecraft was a custom engine, Payday and Payday 2 were custom engines…like, it’s a whole thing.

                                      1. 2

                                        Witness is a small-scale project, less time pressure.

                                        Source 2 is derived from Source which is derived from GoldSrc which is derived from Quake. They didn’t start from scratch.

                                        Minecraft is a bit of an outlier; again, single person, but it’s something you couldn’t really do with Unreal. (But it’s also Java and notorious for its technical flaws, so….)

                                        I believe Payday’s engine was used for other games by the studio/publisher, which amortized costs.

                                  2. 1

                                    Godot is likely to fail every time you want to target a console platform :( Or do they have support for any of that yet?

                                  1. 49

                                    As the saying goes:

                                    The first rule of distributing systems is don’t, if you can avoid it.

                                    What’s been amazing to me has been the amount of time and effort spent on this technique outside of the small fraction of places it makes sense, all while it is trivially obvious for anybody who stops and thinks for teo minutes what the problems are gonna be.

                                    The conference-industrial complex sold snake oil and everybody just lapped it up. Such is the quality of “engineering” in software.

                                    1. 28

                                      And worse, the snake oil often claims to cure a disease most people don’t have in the first place: the need to scale up dramatically on extremely short notice.

                                      1. 31

                                        I read a joke somewhere (I cannot remember where): “kubernetes. An ancient Greek word for more containers than customers.”

                                        1. 4

                                          I believe @srbaker coined that phrase.

                                          1. 3

                                            Corey from Screaming in the Cloud (https://www.lastweekinaws.com/podcast/screaming-in-the-cloud/) has a variant of this (if I’m remembering well):

                                            Kubernetes, the Greek god of spending money in the cloud

                                            1. 2

                                              Boss wants to market horizontally scaling when vertical would be 10x cheaper :)

                                        1. 27

                                          I took a job once where there was a performance bonus that went up to something like 30% of my base salary (tens of thousands of dollars in addition to the money I was making there).

                                          The actual performance rubric (had I paid closer attention to it) for upper levels required basically being a luminary in the field–and the sort of work we were doing, at the size of team and problem domain we had, frankly would never provide the opportunity. So, right out of the gate the game was rigged and I was too blinded by my own greed to recognize it.

                                          Next, the bonus was judged by a rubric where we did a self-review, and then our manger (in my case, the CTO) did their own review, and then we would truthseek to some reasonable amount. Now, if you have half a brain you see the obvious strategy on my side is to give myself full marks regardless of how I actually felt about it–because they’re never going to give you more than you give yourself. So, it’s just this toxic thing.

                                          Wouldn’t you know it, when my first year and bonus came around, the CTO with great sadness–apparently, he had warned the young CEO specifically against this sort of nonsense–explained that I only qualified for something like 8K of the large bonus.

                                          This was compounded by:

                                          • Some deal where I could take the bonus in cash, or if I took it in options I could get twice as much! Being a doofus, I figured I’d go for the company scrip.
                                          • Upon receiving my company scrip, I discovered that their calculation of options and my calculation differed–you can either divide the scrip value by the option strike price (so, 1K of scrip for 1USD strike means 1000 options) or by the stock price (so, 1K of scrip converted into 2USD/share gets 500 options). Obviously, I liked the former calculation because it meant more options/shares–the CEO, being a shrewd businessperson preferred the latter. I was basically given the option to take their calculation (which was a haircut of something like 1/2-2/3 of the value i could’ve gotten) or pound sand. With frustration, I took their offer.
                                          • Said CEO took ages and ages to finalize my purchase, which was just annoying as hell. The CFO finally stepped in and did the needful, and during this conversation I discovered that the company valuation had actually dropped the share price to something like the former strike price.

                                          The second year I was there–again, in spite of shipping major features and rewrites and sturm und drang…and being the only surviving engineer of the senior cadre that had been hired into that arrangement (oh yes, everyone hired after me had no bonus structure)–I was informed by the CTO I did not qualify for any bonus whatsoever. I was sacked a month or so later, one day right after an all-hands meeting praising my work.

                                          Anyways, point is: if the bonus looks too good to be true, it probably is. There’s always free cheese in a mousetrap.

                                          1. 11

                                            Next, the bonus was judged by a rubric where we did a self-review, and then our manger (in my case, the CTO) did their own review, and then we would truthseek to some reasonable amount. Now, if you have half a brain you see the obvious strategy on my side is to give myself full marks regardless of how I actually felt about it–because they’re never going to give you more than you give yourself. So, it’s just this toxic thing.

                                            These self-review things are incredibly frustrating :-D.

                                            A while back, I ended up in a big $megacorp project that was pretty much in its dying phase (the team size and overly-optimistic predictions didn’t quite give it away but the day-to-day activity did). And, this being $megacorp and all, of course it had a pretty bureaucratic performance review process, which included a self-review phase.

                                            This self-review phase, being meant for “mere employees”, not managers, didn’t really leave much margin for actually useful reviewing. There were 10-15 things (teamwork, domain expertise, whatever) that you had to rate yourself for, with ratings between “needs improvement” and “excels at”. In order to save face about this being useful somehow, you were also expected to come up with some sort of yearly development plan, so that you could improve the things that “need improvement” and further build upon things that you excelled at and so on.

                                            Trouble was, the team development strategy in that department could essentially be summarised as “nope”. We didn’t even have access to hardware reference manuals for some of the ASICs in our hardware because the company didn’t want to pay for the required support level. The team was also awkwardly understaffed. So anything that involved the company paying for anything, or getting even basic guarantees about what you would work on for more than 2-3 weeks in advance so that you could learn something on the job, was just not going to happen.

                                            So if you did the self-review in good faith, you quickly sabotaged your chance at a bonus. If you genuinely thought you sucked at X and had to improve, every avenue for you to do that was closed.

                                            So those of us who ended up getting bonuses did the only reasonable thing: we filed it backwards.

                                            We said we “need improvement” at the things that we knew we had to do anyway. For example, I knew I was going to hold most of the interviews for our team because I was the friendliest person on the team, and I’d worked in some other fields, too, so it was easier for me to strike up a conversation. So despite being pretty good at this, I made sure my review form said I sucked at it and therefore had to either attend trainings (that never happened – company wouldn’t pay for it) or just do more of it and learn on the job. When the yearly evaluation come, I could always say I worked super hard to improve myself, and had an year’s worth of new colleagues to back me up and say the interviews were pretty good.

                                            And, of course, we said we were great at the things we knew we had no way of improving. My review form always said I was a domain expert (and my direct manager agreed wholeheartedly!) even though I absolutely sucked at what we actually did. If I’d actually admitted to sucking at it on the form, my self-development plan would’ve been a dead end: training was out of the question, projects were always behind so assigning the guy without domain expertise to do the hard things was also out of the question, and everyone was not only busy putting out fires but also missing hardware docs for newer hardware generations – just like I did – so mentoring wasn’t gonna happen, either. Then – no matter how well I’d done under the circumstances – someone would be sure to point out that I’d done nothing to improve since our last evaluation. But since I was already at my best, there was no need to improve things, which just so happened to be very well aligned with the company’s goals, because the higher-ups hadn’t approved anything related to professional development in almost a decade.

                                            So basically I got a bonus for keeping quiet about how much my skills were rotting.

                                            1. 4

                                              It’s not just a big-company thing, either. I’ve seen the exact same problem over the years at multiple small companies, and as someone who tends to try to write self-reviews in good faith, it is quite demoralizing to look back and realize that at no point did the company do anything about a single one of the things I said I wanted to improve. I come away thinking, why are you wasting my time on this useless crap? Just don’t ask if the answer doesn’t matter.

                                              But it’s also a “careful what you wish for” situation. In some ways, the company ignoring my “needs improvement” areas is the desirable outcome, because the other outcome that I’ve had happen to me a couple times is that I say I want to improve X and the company signs me up for a mandatory training course on X that they chose with no input from me and that turns out to be of no actual use.

                                              1. 4

                                                Oh, of course – training is just the thing that most easily gets thrown around, but in that particular case, it was also the only way to acquire some, uh, particular knowledge (tl;dr some big companies, including the one who developed some of the stuff we were using, does not really publish documentation – it gives the people who attend their trainings access to said documentation, and the documentation is good enough to generally write code by, but not that good that you don’t need a beefy support package).

                                                Except for such super-justified cases I really try to avoid trainings and workshops. I’ve been to dozens and I can think of only one or two that were actually useful – and even those were, IMHO, terribly inefficient.

                                                The option I usually try to sell first is “buy me these two books and give me two weeks’ leave”. I’ve found that to be immensely more useful than any training I’ve ever attended, and it’s usually cheaper, too, so it’s not that tough to sell. On the other hand, it doesn’t work for everything. E.g. one of the two useful trainings I attended was Wayland-related, nearly five years ago, and that’s because there was (and still isn’t) any useful documentation there, it’s all word of mouth.

                                          1. 15

                                            All that aside - I see no way to argue for excluding RMS on the basis of his beliefs (ie. he is not progressive-orthodox enough) without also loosing a big chunk of the rest of the world as well.

                                            I don’t think the author seems to be aware that the people fighting do not care about losing the rest of the world.

                                            They do not care about driving out engineers that don’t share their politics, they do not care about driving out engineers that just want to ignore politics, and they certainly do not care that by picking their sides as they have they’ve grouped a lot of good people in with genuine bigots and assholes of the highest caliber.

                                            They will burn down free software to save it from itself, willfully ignorant of the stripmining of the ecosystem by small and large companies alike as long as they pay the correct lip-service.

                                            To me it is curious that someone can champion excluding people over their heterodox beliefs, while simultaneously shouting things like the below; perhaps some irony overload here:

                                            Again, the author is trying to apply logic to actions and a rabid progressivism that have, at best, a distant relationship with rationality. They don’t even care about obvious fact-checking and games-of-telephone, because it doesn’t matter once they’ve whipped themselves into a frenzy. They cannot be reasoned with and the attempt isn’t worth the effort or risk; the juice isn’t worth the squeeze.

                                            We used to be focused on liberty & freedom - I miss that.

                                            That boat sailed for a number of reasons. I miss it too, buddy. :(

                                            And yet, a big talking point is “hey, there were never any good old days”–because people have to rewrite the past to support the actions in the present to get to a desired future. Old as time.

                                            If this statement was focused on leaders, it could be characterized as installing a new glass-ceiling for any who are not progressive-orthodox.

                                            Ding ding ding, we have a winner. A huge dimension of all of this is a power grab–as long as people like RMS are around, you can’t be the new RMS, so he must be destroyed. As long as there is an FSF, you can’t be the new FSF, so you must seek to destroy the FSF. As long as there are people in power, you can’t be in power, so you must destroy those people in power–and right now, politically, what are the best tools for that? What rhetoric is in vogue?

                                            This is obvious to any student of history or revolution.

                                            (a cynical/troll-ey point would be to make the same observation about systemd/linux, but that’s neither here nor there.)

                                            ~

                                            I feel bad for this author, and I feel worse that I think he and I are probably sharing the same lot. To anybody else who feels similarly: just go away. Walk away from this culture war stuff, give wide berth to both heretic and inquisitors, and don’t try to understand the madness–just treat it as such. Go write code, go make things, and let the passions of the time deaden and pass. There’s nothing here for you but argument and suffering. Don’t risk your job, your livelihood, or your friendships.

                                            Return after the storm and build anew.

                                            1. 20

                                              Sock, remember when you found out that I was disappointed in your conduct on lobste.rs and you took that seriously?

                                              I’ve been reading your comments for something like seven years now and I remain consistently disheartened. Engaging with you is the missing stair of this community, and I’m not going to follow up on this thread, but I want you to know that your oh-so-civil, “trying to do better”, “just raising questions”, “why won’t you be rational”, socially regressive trolling is a big part of why I don’t spend more time here, and why I caution people who ask me for invites to lobste.rs.

                                              You’re still doing it, and I sincerely wish you’d stop.

                                              1. 4

                                                Nice link. I don’t know if you meant to highlight them, but there are some gems, like:

                                                Pandering to injustice and impotent outrage evokes strong reactions and such posts can be easily tailored to match the overall views of the hivemind. None of these posts actually tend to elevate the discussion or reveal new truths, but people will almost always upvote them more than they downvote them. And that’s the source of their toxicity: shitposts do at least as well as quality posts, they don’t increase the signal of the community’s nominal area of discussion, and they are very easy to crank out even by idiots.

                                                1. 0

                                                  Engaging with you is the missing stair of this community, and I’m not going to follow up on this thread, but I want you to know that your oh-so-civil, “trying to do better”, “just raising questions”, “why won’t you be rational”, socially regressive trolling is a big part of why I don’t spend more time here, and why I caution people who ask me for invites to lobste.rs.

                                                  @friendlysock “Missing stair” is a political shibboleth of the same political faction that finds RMS unacceptable. It’s a metaphorical way of calling you an abuser, just like how they call RMS an abuser. The same goes for mocking your civility when commenting, or labeling your words as trolling. These are political attacks, and I would encourage you to view them as such, rather than doubting yourself and worrying that you should change your behavior.

                                                2. 13

                                                  They will burn down free software to save it from itself, willfully ignorant of the stripmining of the ecosystem by small and large companies alike as long as they pay the correct lip-service.

                                                  You are a dramatic individual. I’ve really tried to give you a chance, but I just can’t take any more of your whining. Seriously, you’re doing the same thing you accuse others of doing. The world isn’t ending, moral panics have existed for thousands of years.

                                                  Walk away from this culture war stuff, give wide berth to both heretic and inquisitors, and don’t try to understand the madness–just treat it as such.

                                                  Please follow your own advice. Seriously.

                                                  1. 6

                                                    The world isn’t ending, moral panics have existed for thousands of years.

                                                    Well, yes; and they have also caused great amounts of harm and hurt to innocent individuals. Shrugging it off as “oh, these kind of moral panics have happened before” doesn’t strike me as a very strong rebuke. We could substitute “moral panics” in your quote with all sorts of things (theft, murder, war, rape) and have exactly the same argument.

                                                    (I don’t disagree that ’sock is perhaps a bit overly dramatic though).

                                                    1. 5

                                                      You are a dramatic individual. I’ve really tried to give you a chance, but I just can’t take any more of your whining. Seriously, you’re doing the same thing you accuse others of doing. The world isn’t ending, moral panics have existed for thousands of years.

                                                      That doesn’t make moral panics good, or unworthy of political opposition. I’m not sure if @friendlysock’s dramatic rhetoric is maximally politically-effective, but he’s not wrong to express the thought.

                                                    2. 1

                                                      What exactly do you think “culture war” means in our society? What do you think that you’re defending?

                                                      To be the child who points out that the emperor is naked: Christianity and the entire family of Abrahamic religions rest upon mistruths, propaganda, ahistorical claims, and a large amount of what we’d now call human-rights violations and war crimes. What do you actually think you mean when you say that you’re “sharing the same lot” as the author?

                                                      They will burn down free software to save it from itself

                                                      Sorry, but to be blunt: Do you actually produce Free Software? It’s cool if you don’t, but you shouldn’t expect pigs to take chickens seriously.

                                                      1. 5

                                                        Look, I’m about as atheist as they come but going on about historial war crimes when a religious person wants to starts a broader conversation about inclusivity is extremely inappropriate. This isn’t /r/atheism.

                                                        1. 4

                                                          Do you actually produce Free Software?

                                                          I do, and I keep those activities quite divorced from Lobsters.

                                                      1. 31

                                                        I love the idea!

                                                        If you’ll forgive some bikeshedding, would calling it post-mortem be better? When I first saw the title of this post, I thought it was going to be about some sort of argument-inciting event (which would normally be off-topic for lobsters, right?)

                                                        Unless the tag is also to be used for posts regarding notable current outages, etc, in which case incident makes more sense.

                                                        1. 21

                                                          I think I like “incident” better than “post-mortem”, if only because it’s a bit broader (i.e. I think technical post-mortem posts would appropriately fall under the hypothetical tag of “incident”). I think being able to distinguish between regular news and interesting technical work done as a consequence of that news is valuable, though, so +1

                                                          1. 12

                                                            I tend to prefer retrospectives rather than post-mortem. The death analogy really isn’t necessary here.

                                                            1. 3

                                                              Even though I think that post-mortem is widespread and accepted terminology (especially in, say, gamedev circles), I like the slightly broader tag of retrospective as well–it feels like a tag we could use to denote a more general lessons-learned sort of submission.

                                                              1. 5

                                                                I think the spirit of what we’re trying to categorize are posts that cover specialized, targeted, technical responses to events (security breaches, production application failures caused by programming errors, etc). This is very different from, say, the retrospectives that a software team using the Agile methodology may hold to address problems that may have come up during their last sprint (don’t bikeshed this, I know Agile doesn’t have a patent on retrospectives or whatever, it’s just an example)

                                                                So, for the sake of clarity, I think “incident” would be a better tag than “retrospective” (or “post-mortem” for that matter), because it sends a clear message to Lobsters users that an event occurred that warranted a response, and subsequently produced the technical material being posted.

                                                                1. 2

                                                                  Sure!

                                                                  As long as @pushcx gives us some tag, I’m not going to bikeshed.

                                                                2. 2

                                                                  “Retrospective” more naturally applies to what we use the “historical” tag for now, so this might be confusing.

                                                                  For this very narrow proposed case – where we’re looking for overviews of security incidents – we should probably pick a specific term. The justification for this tag (that it’s historically important & needs more exposure) goes away if we broaden it to include other kinds of postmortems (let alone other kinds of retrospectives), or if we invite users to misinterpret the purpose of the tag with a too-vague description of its purpose (which functionally results in the same thing, modulo pushcx going and deleting submissions).

                                                              2. 8

                                                                +1 for the idea but -1 for calling it post-mortem; incident or PIR/incident-review would be better

                                                                1. 3

                                                                  I wish “after action report” was in general circulation. Not seriously proposing it, it would only be more confusing. I just think there are good reasons to dislike “postmortem”.

                                                                  1. 3

                                                                    Post-mortems are interesting in general, & I’d personally be more interested in reading the content of a dedicated project post-mortem tag. But I agree that incident reports themselves are more historically important and have lower visibility. Post-mortems should probably be spun out into a different request tbh.

                                                                  1. 17

                                                                    Oh, like outage post-mortems?

                                                                    I second this, good idea.

                                                                    (could you dig up some example stories from the past to flesh out the tag request?)

                                                                      1. 4

                                                                        Thank you for spending cycles on that!

                                                                        I think that makes a really compelling case for @pushcx et al. to consider.

                                                                        1. 3

                                                                          I think so too. I don’t see this as fitting in very well with any of the existing tags, and it feels very in the Lobsters spirit to me.

                                                                        2. 1

                                                                          These are all outages. “Post-mortem” and “incident” don’t adequately express that it’s network/infra related imo. Maybe “services” covers these, though quite broad too.

                                                                      1. 39

                                                                        My take on this is that RMS recognizes that his behaviour is troubling, but doesn’t see fit to apologize for it, unless he’s doing so in private (which I assume we’d have heard about if that were the case). An acknowledgement without an apology or amends isn’t even worth the time it took to read it. I’m no less disappointed in him than I was when I first learned of his harassing behaviour towards women in his orbit, and I’m no less disappointed in the FSF today than I was when they reinstated him (and yes, I have read the FSF statement as well as Stallman’s).

                                                                        As an industry, we need to learn that nobody is so great at their job that they can be given a pass for harassing.

                                                                        1. 12

                                                                          isn’t even worth the time it took to read it.

                                                                          Which you clearly didn’t take….

                                                                          And I quote verbatim…

                                                                          I apologize to each of them.

                                                                          1. 6

                                                                            That sentence applies to the people to whom he’s been intemperate, not to the many others he’s offended or hurt or creeped out over the years. Try harder.

                                                                            1. 5

                                                                              Ah.

                                                                              You are taking the apology as only applying to offenses mentioned in that paragraph, I’m taking as applying to that paragraph and the preceding paragraph, indeed, the whole statement.

                                                                              I suppose by the letter of english grammar you are correct.

                                                                              My interpretation from context is still the broader apology.

                                                                              This is why written communication is hard… it goes out and feedback as to what actually was communicated is delayed or lost.

                                                                              I have read a fair bit of RMS “in his own words” and even had one or two email exchanges over the years. I’m incline to interpret his apology in the broader sense.

                                                                              1. 1

                                                                                It can be read from different viewpoints. What he wrote sounds sincere to me, but I don’t think it’ll come across as an apology when read by people he offended. In the eyes of someone who’s been offended, the piece may sound as if he started with “I’m sorry that I have offended you through no fault of mine, and even though the fault was all yours, I’ll try harder not to repeat that in the future” and then bickered with reviewers to find compromise wording.

                                                                          2. 21

                                                                            I for one am not super interested in the spread of struggle sessions.

                                                                            If you’re troubled by RMS…go fork FSF! Go fight the good fight! Give a meaningful and useful alternative to an organization that frankly has been kinda off in the weeds for a while!

                                                                            If people spent half the ink on, you know, user freedom as they did on libeling Stallman we as a community could be a lot farther ahead.

                                                                            1. 31

                                                                              I for one am not super interested in the spread of struggle sessions.

                                                                              Right. Computer programmers voicing the opinion on the internet that maybe we can do better than RMS is literally the same thing as Maoist revolutionaries physically torturing political rivals.

                                                                              If you’re troubled by RMS…go fork FSF!

                                                                              You don’t simply “fork” a social structure and get a carbon copy of it for free like you do with version control. Forming a competitive alternative to the FSF would not only be a massive undertaking, but it’s also more plainly not the only way of engaging in activism. A much more straightforward approach is to campaign for a change in leadership.

                                                                              If people spent half the ink on, you know, user freedom as they did on libeling Stallman we as a community could be a lot farther ahead.

                                                                              And what makes you think that “they” don’t spend even more resources on digital rights efforts than “they” spend posting against RMS? The landscape of digital rights activism may not be as broad as we’d like but it’s certainly bigger than just the FSF and GNU.

                                                                              1. 17

                                                                                literally the same thing as Maoist revolutionaries physically torturing political rivals.

                                                                                Verbal and physical abuse–and as many seem found of asserting these days, speech is violence so I don’t really think the difference is relevant. If you don’t think there are people being harassed because they aren’t apologizing hard enough, you must have a much better version of social media than I do.

                                                                                A much more straightforward approach is to campaign for a change in leadership.

                                                                                Stealing and imperialism is a lot more straightforward than building a new, distinct thing. My approach would yield at least two different groups moving in hopefully good directions, whereas the “let’s punt RMS because reasons” approach would not. It’s also entirely possible that the success of the FSF (such as it is) is actually linked to either RMS’ quirks or the sorts of people who deal with those quirks; we don’t know this for sure, but a fork seems like a safer hedge.

                                                                                And what makes you think that “they” don’t spend even more resources on digital rights efforts than “they” spend posting against RMS?

                                                                                Which do you think gets more brownie points right now–defending free software, or signalling that “hey i’m totally in the same tribe as you all (please don’t get me fired)”? Depending who you believe online, there are people who want to step away from struggles over copyleft and licensing entirely to focus on more social aspects that may or may not actually have any strong basis in legally protecting user freedom–and that crowd requires RMS’ head before they could go into digital rights stuff (which again, they don’t care about).

                                                                                That’s my reasoning, anyways.

                                                                              2. 15

                                                                                That is totally unrelated. No one is forcing RMS into admitting something he didn’t do!

                                                                                There are already so many alternatives to FSF with many being more transparent and welcoming to all kinds of people.

                                                                                1. 17

                                                                                  And just imagine how much further we could be ahead if we cultivated all of the developers, lawyers, writers, and thinkers who were driven away by RMS. And before you say “we can’t know that they exist” you might want to consider that, yes, in fact, we can; there is ample evidence of people who’ve left the FSF or the Free Software movement over him. And those are just the ones who’ve talked about it, leaving aside all the ones who looked at the landscaped and, apparently wisely, noped the fuck out.

                                                                                  1. 9

                                                                                    If they are sufficiently troubled by RMS for whatever reason–over behavior or slights real or imagined–I’m glad they’ve found a better place to spend their efforts. It’ll be good to have other people trying to advance free software in other ways.

                                                                                    1. 11

                                                                                      You assume that people put off by rms keep working on free software (or nearby). I personally know someone who didn’t. A talented person and a great gain for the organisation he switched to (which does good work for the world but has nothing to do with free software).

                                                                                      Of course he could be an exception. Or not; I see that the use of the GPL continues to decline so maybe rms puts off more people than he persuades.

                                                                                      1. 6

                                                                                        Why assume? rms-open-letter signers include ten Debian Project Leaders. Say whatever about Debian, but Debian is a dedicated free software organization as any, perhaps more than FSF.

                                                                                  2. 5

                                                                                    That’s not how it works. If a situation calls for anodyne statements in public and perhaps something else behind the scenes, and one spokesperson acts wisely while rms speaks in 72pt boldface, then rms’ choice of how to react is the effective average of the two.

                                                                                    1. 5

                                                                                      You can’t fork FSF. That’s the exact problem.

                                                                                      In my opinion, Software Freedom Conservancy is a much better software freedom organization than FSF. To me, FSF has no value at all as a software freedom organization except for one: it holds copyright of GCC. Forked FSF won’t hold copyright of GCC, and other aspects of FSF I don’t care about at all. So FSF can’t be forked.

                                                                                      1. 2

                                                                                        So … fork GCC too? I don’t see the problem here, unless you want to relicense.

                                                                                  1. 7

                                                                                    I wholeheartedly support the use of more interesting–and perhaps even strongly biased political–examples in educational texts. SQL tutorials for example are super dry.

                                                                                    That said…let’s not pretend for a second that anything right of center-left wouldn’t get slammed in the popular tech discourse.

                                                                                    1. 5

                                                                                      I was thinking something similar. When he brought up topics in his examples, I tried to imagine an example but mirrored about the mythical political center. I tried to imagine if those examples would be taken as just spicier examples, or would be interpreted as excluding those left of political center.

                                                                                      Imagine for example:

                                                                                      • calculations to determine exactly the income a Walmart greeter brings to a store
                                                                                      • unions as negative forces on job mobility in a workforce
                                                                                      • positive role of capitalists in society
                                                                                      • police effects on lowering violence
                                                                                      • NATO preventing worldwide war (I imagine this to be the direct mirror of the example given)
                                                                                      • insurance shopping across state lines
                                                                                      • idiocies espoused by gun control groups
                                                                                      • management problems in public prisons
                                                                                      • the positive result of tax cuts on disposable income

                                                                                      All of these mirror the examples cited. I can’t imagine a book with these examples being published in 2021.

                                                                                      More importantly, given two books on similar technologies, would the choice between them be made after considering the examples?

                                                                                      Can there be examples which still manage to be apolitical and not dry?

                                                                                      1. 6

                                                                                        Can there be examples which still manage to be apolitical and not dry?

                                                                                        Certainly.

                                                                                        • Calculations of how big a 1700’s town would have to be to produce enough rags to support a papermill
                                                                                        • Historical secret societies
                                                                                        • Role of firefighters in society
                                                                                        • Regulations on clowns and street performers
                                                                                        • Tracking tagged wildlife migrations
                                                                                        • Sports and other hobbies
                                                                                        • Stalking a D-list celebrity, but written so extreme it becomes funny
                                                                                        • Museum registries
                                                                                        • Pseudoscience scholarship
                                                                                        • Underground music genres

                                                                                        Free riffing at 2 AM. Political examples aren’t primarily about being engaging, they’re about making a point. Note the problem with his war criminal example wasn’t that he was making a war crime database, it was calling Henry Kissinger a war criminal.

                                                                                        1. 1

                                                                                          Can there be examples which still manage to be apolitical and not dry?

                                                                                          Maybe? I mean, you could argue that space exploration is in some measure political, but support/opposition doesn’t seem to be concentrated on one partisan side, at least in the US.

                                                                                          But I just worked through this book and the examples were a both a lot of fun and, IMO, not political in the same sense as “Kissinger is a war criminal” or “The NRA is harmful to society” is political.

                                                                                        2. 4

                                                                                          “You are a director of state security tasked with the internment of dissidents and their eventual disposal…”

                                                                                          1. 2

                                                                                            That said…let’s not pretend for a second that anything right of center-left wouldn’t get slammed in the popular tech discourse.

                                                                                            You’re not exactly wrong; I mostly just lack any real sympathy for this point because I think your politics are obviously bad.

                                                                                            That said, as long as it’s couched in standard-issue managerial technocracy, consumers of technical books tend to pass over implicitly rightwing ideological content without batting an eye. I’m not going to advocate for overtly politicizing every technical text, but let’s not kid ourselves about where nearly the entire practice of technology is situated in relation to the management and the owning classes. Surface-level culture war positioning and affiliations with political parties are one thing, economic and structural reality another. Mostly, we serve power, and the documentation reflects it.

                                                                                            1. 3

                                                                                              I think your politics are obviously bad.

                                                                                              I’d love to hear, in PM, what exactly you think my politics are, and why you think they’re bad.

                                                                                              1. 2

                                                                                                (I should probably just have upvoted this one instead of basically rewriting it.)

                                                                                            1. 9

                                                                                              The key part,

                                                                                              Not only can a Mastodon user communicate with users on different servers on Mastodon, perhaps more importantly this user can also communicate e.g with a Friendica (macroblogging) user or a Pleroma user. These are totally different networks that all support ActivityPub. But this is even taken a step further where that same Mastodon user can follow his favourite PeerTube channel or someone that shares great photos on Pixelfed. This is like you were able to follow someone with your Twitter account on YouTube or Instagram. This also means that this Mastodon user can comment or like the PeerTube video from his/her Mastodon user interface. This is the true power of ActivityPub!


                                                                                              There is also Tribes which provides a custom-hosted version (I run mine here).

                                                                                              See https://jointhefedi.com if you want to quickly try out the Fediverse.

                                                                                              1. 10

                                                                                                In all fairness, Mastodon has one of the least spec compliant ActivityPub implementations out there. It gets stumped with a lot of valid payloads that were generated by other services inasmuch as having to implement Mastodon’s quirks is mandatory if one wants to do development for the fediverse.

                                                                                                1. 8

                                                                                                  Maybe an unpopular opinion, but without Mastodon ActivityPub would be living the life it was living before, used by dozens of nerds.

                                                                                                  Of course that’s not a proper discussion point to some, you may or may not like its ideas and technical features, but to me it was kinda useless when it was only identi.ca and statusnet and whatnot. I’m saying this as someone who was pretty involved in many FLOSS projects at the time. Utterly useless. It was Twitter if you wanted a thing like this and 90% happened on mailing lists and IRC anyway.

                                                                                                  1. 6

                                                                                                    Oh, I fully agree that Mastodon is overall a force for good in the Fediverse, at least in the fact that it made it popular with the non technical crowds, but I still wish they would work harder at some things related to ActivityPub compliance. Probably my own service will not be super compatible with it, as it skirts webfinger - something that Mastodon can’t do user discovery without. :(

                                                                                                    1. 2

                                                                                                      I didn’t look into it very deeply, so can’t comment if they made some shortcuts for time to market, or enable stuff that would’ve been hard to do, or just because they were careless or simply didn’t care…

                                                                                                      1. 3

                                                                                                        From my perspective they’re prioritizing the features that makes them a better micro blog platform than the features that makes them a better ActivityPub one.

                                                                                                        I would like to say that being the major player in this niche they should take their responsibilities in this regard more seriously, but in the end they work on what they enjoy more, and that’s absolutely fine.

                                                                                                  2. 5

                                                                                                    Agreed. I am present on a few Mastodon instances but my personal instance is Honk which is a very opinionated and pure (I guess?) ActivityPub server/client/thing

                                                                                                  3. 22

                                                                                                    See https://jointhefedi.com

                                                                                                    The servers recommended on that page are some of the most notorious in the fediverse, notable for hosting bigoted shitheads and having nazi-friendly moderation policies.

                                                                                                    If you sign up on them, you will find yourself blocked by basically all fediverse instances with active and competent moderators.

                                                                                                    1. 8

                                                                                                      If you sign up on them, you will find yourself blocked by basically all fediverse instances with active and competent moderators.

                                                                                                      This was one of the reasons I stopped using the Fediverse. I don’t like the concept of full-on instance-bans to begin with (something like warnings for out-going actions and filtering for unrequested ingoing actions would be more appropriate). I’m not sure if federation necessarily has to lead to fragmentation, but some people seem to accept it as a necessary tool and don’t care if anyone has a different opinion. In my case I wanted to hear what people on the spinster server had to say, but it was blocked on the instance I was on (ironically this made me go out of my way to listen to the points of radical feminists, which I don’t think was the intention).

                                                                                                      Part of the problem with Mastodon specifically is that it has inherited a lot of the worst Twitter-culture by presenting itself as “Twitter with better moderation”, while paradoxically decentralisation is usually understood as a means to avoid being shut down by a central authority. Then again, it all ties into more fundamental issues with the Fediverse and how it presents itself as “each server is it’s own community”, while at the same time I don’t care about what server another person is using. The only thing I am interested in is the moderation policy and how well they administer the server.

                                                                                                      The part of the Fediverse I still remain hopeful for is Peertube.

                                                                                                      1. 11

                                                                                                        I’m not sure if federation necessarily has to lead to fragmentation, but some people seem to accept it as a necessary tool and don’t care if anyone has a different opinion.

                                                                                                        Instance bans allow for coexistence without cohabitation. You always have the choice of choosing your own policy domain/deferring to someone else. Forcing all nodes to be wide open would remove a lot of point and cause unnecessary annoyance.

                                                                                                        1. 2

                                                                                                          You always have the choice of choosing your own policy domain/deferring to someone else.

                                                                                                          To a degree yes, thought I’d still rather that not be the case, because I rarely agree with someone on everything, meaning I have to administer an instance myself. But it is not only a personal issue, with instance bans threads are also fragmented, so depending on your perspective, you might unknowingly not see the entire conversation going on, leading to more confusion than necessary.

                                                                                                          Instance bans are sledge hammers that are applied to eagerly (I do think they make sense for actual spam servers). Maybe the situation has improved since, but I remember there only being three states:

                                                                                                          1. No limits on federation
                                                                                                          2. Instance bans by Users
                                                                                                          3. Instance bans by Instances

                                                                                                          Where I think that there should be more going on between 2. and 3.

                                                                                                          1. 3

                                                                                                            There are degrees between 1 and 2, at least on mastodon. Admins can “silence”, meaning posts from that instance won’t show up in the federated timeline by default. If I’m not mistaken, there’s also “mute”, meaning interactions from that instance won’t be shown to the muting instance unless there’s a preexisting relationship between the actors.

                                                                                                            I should also note that instance bans are not really a thing– you can mute an instance at a user level, but your data is still sent there and you must trust that server’s administration.

                                                                                                            1. 2

                                                                                                              instance bans threads are also fragmented, so depending on your perspective, you might unknowingly not see the entire conversation going on, leading to more confusion than necessary.

                                                                                                              this seems to be an issue even if the instance isn’t banned. I see this happen with my small instance, where viewing the thread on the hosting instance (or from an account on another instance) shows different posts, and I’m pretty sure the missing posts aren’t from blocked instances.

                                                                                                              1. 4

                                                                                                                iirc mastodon will fetch replies upthread, but not downthread: that is, if the chain goes X -> Y -> Z, and your instance is made aware of post Y (someone follows the poster, it gets boosted, whatever) then it will fetch X but not Z. this is why some people have a norm to boost the last post in a thread, as opposed to the first. this isn’t a technical limitation, since pleroma (the other big fedi server) will fetch the entire thread.

                                                                                                                of course, in either case, if one of the posts in the thread is private and you don’t follow the person you’ll just break the thread entirely, but there’s not much that can really be done there.

                                                                                                                1. 1

                                                                                                                  oh wow, that’s confusing. :|

                                                                                                          2. 7

                                                                                                            Due to how ActivityPub works, you need to have near-ultimate trust of an instance if you wish to federate with them. If you believe the admins are bad actors, using acceptance of harmful ideologies as a proxy for that, then you can’t trust them with your user’s data, and must defederate.

                                                                                                            ironically this made me go out of my way to listen to the points of radical feminists, which I don’t think was the intention

                                                                                                            This isn’t necessarily against what the blockers wanted! What is called “censorship” on the fedi is usually about protecting their own users. Trans folks don’t want to have to see the same tired take on trans exclusionism for the fifth time today, nor do they want their posts to be seen by those folks.

                                                                                                            As you discovered, there was absolutely nothing stopping you from finding out more from the spinsters, and nothing stopping you from making an account there either, right?

                                                                                                            If we think decentralization is the key to freedom, then we can’t stop short of free association.

                                                                                                            1. 2

                                                                                                              Due to how ActivityPub works, you need to have near-ultimate trust of an instance if you wish to federate with them. If you believe the admins are bad actors, using acceptance of harmful ideologies as a proxy for that, then you can’t trust them with your user’s data, and must defederate.

                                                                                                              What do you mean by “trust them with your user’s data”? Is there something a server can only access if they are federated, that a “blocked” instance couldn’t see via it’s public feed?

                                                                                                              What is called “censorship” on the fedi is usually about protecting their own users.

                                                                                                              I get that an instance would decide to mute another instance by default, but if a user explicitly requests to receive data, why should they not be able to interact?

                                                                                                              1. 7

                                                                                                                A user’s private posts are always federated to any instance that has a single actor subscribed to it. That means that instance is storing a user’s private posts. If the admin’s a bad actor, they could see the private posts even if they’re not authorized to normally.

                                                                                                                1. 3

                                                                                                                  so private posts are not actually private, much like Facebook, though for totally different reasons. great.

                                                                                                                  1. 4

                                                                                                                    Yes. Unfortunately, if you view private data disclosure as a security issue, Masto/ActivityPub is less secure than a centralized platform.

                                                                                                                    There’s hopes that CapTP will solve many of these concerns.

                                                                                                                    1. 3

                                                                                                                      It’s similar to plaintext email, no? As long as the plain text traverses a server somewhere it can be read by the server admins.

                                                                                                                      As far as I know, end-to-end encryption isn’t supported by AP.

                                                                                                                      1. 1

                                                                                                                        yes, but email doesn’t use the term ‘private’ anywhere. I think many(most?) people understand that email is not useful for HIPAA or other things where privacy matters.

                                                                                                                        1. 4

                                                                                                                          Many people sign up for things with firstname @gmail.com, and then claim the account owner “hacked” them. Many people think that companyname @somecustomdomain.com means you work for them. Many people think that anything @someother.tld means you actually meant @someother.tld.com.

                                                                                                                          I don’t think most people understand anything about email.

                                                                                                                          1. 1

                                                                                                                            I think with all things, it’s complicated. I’m sure people in their 70’s and older who have very little exposure to email are likely not very versed.

                                                                                                                            For the average professional that is legally required to care about privacy, then I think they mostly have the understanding that email != private communication.

                                                                                                                            Developers SHOULD know better, but they still do stupid things with email, because it’s the only thing you can reasonably assume someone has. (like login with email, use email for password recovery, etc) There are sane things you can do to help mitigate these things, like single use tokens, etc, but.. I’m sure there are still tons of code out there that doesn’t do these things.

                                                                                                                            I agree email ADDRESSING, which is what you mostly are referring to, is full of assumptions and mostly none of them can be assumed. The only thing you can mostly assume from user@domain, is that the domain admin at some point thought that user should exist. :)

                                                                                                                          2. 1

                                                                                                                            I agree with you it’s a bit of a branding problem.

                                                                                                                            I’m just so used to the store and forward model of email and NNTP that I just applied that model to the fediverse too. And I have not heard anything about E2EE in the “mainstream” Fediverse.

                                                                                                              2. 2

                                                                                                                The servers recommended on that page are some of the most notorious in the fediverse, notable for hosting bigoted shitheads and having nazi-friendly moderation policies.

                                                                                                                Citation needed.

                                                                                                                One of the servers recommended on that page, gleasonator.com, actually was created by someone that experienced bigoted behavior from mastodon’s toxic and neoracist moderation policies: https://blog.alexgleason.me/gab-block/

                                                                                                                1. 20

                                                                                                                  As a queer person and regular fedi user, I concur that these servers are notorious. Multiple accounts from shitposter.club harassed a trans friend of mine just this week because they posted a selfie to their timeline. Freespeechextremist’s users have a habit of sea-lioning their way into my mentions; I think the last one was an extremely tedious “wow aren’t gay people bigoted” monologue mixed with Q-anon rants. Freespeechextremist.com, shitposter.club, spinster.xyz, and glindr.org (another Alex Gleason joint) all have the dubious distinction of being on the relatively short mastodon.social and mstdn.social blocklists for hate speech, harassment, and transphobia. With the exception of mstdn.social, this is not a general-purpose instance list: these instances all share moderation policies aligned with reactionary views on gender and sexuality.

                                                                                                                  1. 5

                                                                                                                    That transphobic bigot wasn’t ejected by mastodon’s moderation policies. Mastodon is the service, moderation responsibilities lie with the server admins.

                                                                                                                    That transphobic bigot was ejected by todon’s moderation policies, because, as he so proudly proclaims, his bigotry is contrary to the server’s stated goals and aims.

                                                                                                                    Those goals, aims and indeed the moderation policy are clearly stated on the server:-

                                                                                                                    “we do not accept (among other things): racism, homophobia, transphobia, sexism, ableism and other forms of discrimination, harassment, trolling, hate speech, (sexual) abuse of minors and adults (also not virtual), glorification of violence, militarism, nationalism and right-wing populism, right-wing and religious extremism, tankies (ML), capitalists, (right-wing) conspiracy ‘theories’, hoaxes, and of course no spam and other forms of advertisement.”

                                                                                                                    Gleason is a bigot. That bigotry was noted by other todon users (I number myself among them) and he was shown the door.

                                                                                                                    1. -4

                                                                                                                      The word “transphobia” is often used as a loaded term, just like “hate speech” is,

                                                                                                                      Usually the use of these terms outside of political environments brings a toxic ambiance and is not conductive to anything felicitous or productive to the domain. I’m sure you’ll have a hard time finding any actual instances of fear/hate (which is what “phobia” literally indicates) from Gleason; and of course defending for female sports rights doesn’t qualify as one (saying otherwise would be bigoted and would at best qualify as … umm … imagined phobia).

                                                                                                                      ’tis a good thing Lobsters is not politically woke to ban the likes of Gleason, eh?

                                                                                                                      1. 5

                                                                                                                        Gleason is a peddler in transphobic bigotry. Its an essential part of who he is. His “sex-essential” “gender-critical” nonsense is a paper-thin mask for hatespeech against a marginalised element in society.

                                                                                                                        You have now defended him, Freedom of Speech Zealotry, White Supremacists and transphobic bigotry up and down this story, which you appear to have posted just to link to the aforementioned listing site for hatespeech and bigots.

                                                                                                                        You can put all the ten-dollar words you want all over your post, I can say without hesitation that you’re both posturing and a troll.

                                                                                                                        1. -3

                                                                                                                          All you are doing, in your anonymous account to boot, is to accuse other people (Gleason and now me–that are not anonymous, neither are afraid to hide behind a mask) without evidence and without engaging rationally (as in without refuting the central point) but merely with politically loaded language (as in resorting to thinly veiled ad hominem).

                                                                                                                          Lobsters would be better off without such toxic comments expressing actual bigotry, and I assume on good faith that you did not intend that, and is writing in a state of not being with a sound mind - so I suggest you take a break.

                                                                                                                    2. 7

                                                                                                                      They out themselves as a transphone one sentence into the blog post. I’m sure many transphobes think being told they’re a transphobe is toxic.

                                                                                                                      They also had no problem joining Gab and admitting that it’s full of, their quote, “literal nazis” in the same article.

                                                                                                                      1. -3

                                                                                                                        They out themselves as a transphone one sentence into the blog post. I’m sure many transphobes think being told they’re a transphobe is toxic.

                                                                                                                        For those who haven’t read the article in full, this is what the first sentence (which according to the parent commenter indicates that Alex is outing himself to be a “transphobe”) reads: “I got deplatformed from Mastodon for supporting women’s sex-based rights. Now Mastodon is trying to stop me from using Gab.

                                                                                                                        They also had no problem joining Gab and admitting that it’s full of, their quote, “literal nazis” in the same article.

                                                                                                                        Again, for those who haven’t read the article in full, here’s the full quote: “Gab is a free speech platform. It is true that there are indeed “literal Nazis” on it. This isn’t a hyperbole, as there are some users who quite literally advocate for the extermination of races of people. The reason is because Gab censors no one. It’s not because Gab likes those people or wants them there.” - and that quote was a prelude to explaining why censorship is bad, by citing past examples:

                                                                                                                        • Marginalized people are at the greatest risk of being impacted by censorship. The Feminist movement laid the groundwork for freedom of speech in the United States with the formation of the Free Speech League in 1902. They were being censored from distributing material about sex-education and abortion. Keep in mind that the majority of people were against them at the time.
                                                                                                                        • The Civil Rights movement of the 1960’s fought hard for free speech. The movement won a landmark case, New York Times vs Sullivan, in which Martin Luther King supporters were sued for running an ad which criticized the police.
                                                                                                                        • Black Civil Rights activists were also arrested for: praying, “parading, demonstrating, boycotting, trespassing and picketing.”, “statements calculated to breach the peace.”, “distributing literature without a permit.”, “conduct customarily known as ‘kneel-ins’ in churches.”

                                                                                                                        Nevermind that Twitter for instance has an uncommon number of neoracists as well.


                                                                                                                        I flagged your comment as unkind, because essentially it is a low-effort post made to flippantly accuse somebody without evidence, and there is zero fellowship regard (much less an assumption of good faith) towards Alex to the point of even misrepresenting what he wrote.

                                                                                                                        1. 15

                                                                                                                          Friendly warning: anything anywhere that mentions transphobia or nazis becomes a bozo bit here on Lobsters. Don’t try to argue semantics, don’t appeal to actual text or logic or history, don’t waste yours or anybody else’s time–just steer clear of it and save those cycles for making things or engaging in communities with more mature discussion capabilities.

                                                                                                                          1. 2

                                                                                                                            You’re too wise for this place

                                                                                                                            1. 7

                                                                                                                              Wisdom is what you get when do something really stupid but take notes.

                                                                                                                              …I’ve taken a lot of notes.

                                                                                                                          2. 17

                                                                                                                            “Women’s sex-based rights” is absolutely a dogwhistle for transphobia, and if you look at what he wrote in his own words he says that ‘transgenderism [was] first popularized on Tumblr’ (?????), links the “TERF is a slur” page, and says “transgender ideology is fiction”. He’s transphobic through and through.

                                                                                                                            I’m also extremely unconvinced that there’s no way to prevent people from being actual literal Nazis while not hurting marginalized people. Like, if someone was to come in to the comments section of a Lobsters post and say “by the way, I think we should kill all the Jews”, they’d get flagged and banned, right?

                                                                                                                            And you’re ignoring the fact that constantly seeing people say that they think people like me (hi, I’m trans) are abominable freaks that are better off dead, or even ‘just’ mentally ill people who need to stop pretending, is likely to push me away from a place. This is going to happen with any sort of ‘free speech’-focused Masto instance: the bigots will migrate to your instance because they get kicked off elsewhere, and the people who don’t want to have to deal with bigots are going to go elsewhere.

                                                                                                                            And, going back to the list, it’s not just gleasonator. As someone who’s used Fedi for several years, every single one of those instances aside from mstdn.social is one that I’ve had shitty experiences with. And it’s not a coincidence that mstdn.social is the only one that’s described as not allowing racism or sexism!

                                                                                                                            1. 11

                                                                                                                              Like, if someone was to come in to the comments section of a Lobsters post and say “by the way, I think we should kill all the Jews”, they’d get flagged and banned, right?

                                                                                                                              Yes. And it’s happened: a few years ago a comment on a story about net neutrality attempted to use that to explain why the U.S. should commit genocide in the middle east. I deleted it and banned the author.

                                                                                                                              1. 2

                                                                                                                                … now that’s a leap.

                                                                                                                            2. 8

                                                                                                                              branching off from the thread, that quote is infuriating. they make the following argument:

                                                                                                                              • marginalized people are affected by censorship (citing civil rights activists)
                                                                                                                              • gab does not participate in censorship
                                                                                                                              • gab has literal nazis on it

                                                                                                                              therefore:

                                                                                                                              • it’s ok for gab to continue to host literal nazis because banning them is similar to the prejudice that civil rights activists face

                                                                                                                              i.e. propagating the speech of who people arguing for an ethnostate and committing real-life violence against minorities is somehow beneficial for those same minorities. fucking inane.

                                                                                                                              1. 7

                                                                                                                                My comment below is terribly off-topic, I think.

                                                                                                                                A transphobe is someone who fears or has a negative perception of trans people. Supporting “women’s sex-based rights” is the same as saying that people born with female sex organs have different rights than trans people who are women. That is a negative perception of trans people who are women. Saying that women who were born with female sex organs have different rights than trans people who are women is, precisely, transphobia.

                                                                                                                                Your comment is a low-effort attempt to deny that basic fact; if you recognize that trans people exist, saying they should be denied affordances that cis people have is clearly a manifestation of transphobia.

                                                                                                                                That claim is so obviously false and inflammatory that I have flagged your comment as a troll. I’ve done you the courtesy of leaving this comment explaining why even though my own comment should rightly be flagged as offtopic. That’s because I’m assuming some good faith even though the obviously false and inflammatory nature of your comment makes me think that’s vanishingly unlikely.

                                                                                                                      1. 21

                                                                                                                        Reading the conclusions is a good time. The dissent brushes up against some interesting points:

                                                                                                                        And if companies may now freely copy libraries of declaring code whenever it is more convenient than writing their own, others will likely hesitate to spend the resources Oracle did to create intuitive, well-organized libraries that attract programmers and could compete with Android.

                                                                                                                        This somewhat mirrors the ongoing issue we’ve got around large companies like Amazon munching up open-source libraries for hosting and not giving much in the way of profits back to the developers. This is a defining question of our generation of programming.

                                                                                                                        Computer code occupies a unique space in intellectual property. Copyright law generally protects works of authorship. Patent law generally protects inventions or discoveries. A library of code straddles these two categories. It is highly functional like an invention; yet as a writing, it is also a work of authorship.

                                                                                                                        This struck me as an interesting point, and a nice nudge in the exploration of why software is weird.

                                                                                                                        First, Google eliminated the reason manufacturers were willing to pay to install the Java platform. Google’s business model differed from Oracle’s. While Oracle earned revenue by charging device manufacturers to install the Java platform, Google obtained revenue primarily through ad sales. Its strategy was to release Android to device manufacturers for free and then use Android as a vehicle to collect data on consumers and deliver behavioral ads. With a free product available that included much of Oracle’s code(and thus with similar programming potential), device manufacturers no longer saw much reason to pay to embed the Java platform.

                                                                                                                        I credit Justice Thomas here with saying the quiet part out loud: Google aren’t the good guys here (neither are). I like this bit because it clearly shows what can happen when somebody with a totally different (arguably more anti-consumer) business model appears and just spends cash removing your entire product line as an afterthought. Like, super happy to see this talked about.

                                                                                                                        A work is “transformative” if it “adds something new, with a further purpose or different character, altering the first with new expression, meaning, or message.” […] Now, we are told, “transformative” simply means—at least for computer code—a use that will help others “create new products.”

                                                                                                                        This is a super important point, and I’ll bet my hat it’ll come up again and again in the next decade of software litigation. Like, by definition, the whole point of APIs is that they can’t be transformative works–they can’t add anything new or change things, because then you break the API. This is probably why the majority opinion taking the fair-use position is important–it lets them work around what is clearly not a transformative work. If people can leverage the point about the majority redefining “transformative” in this case, though, that opens up some interesting precedent for later.

                                                                                                                        But the proper denominator is declaring code, not all code.

                                                                                                                        Justice Thomas here points out that the majority’s observation of “lol well method signatures were only a small percent of the total codebase” is bunk, because the part of the code for declarations–and not implementation–is what matters. Again, just a nice observation.

                                                                                                                        The majority purports to save for another day the question whether declaring code is copyrightable. The only apparent reason for doing so is because the majority cannot square its fundamentally flawed fair-use analysis with a finding that declaring code is copyrightable.

                                                                                                                        This is the money shot for the dissent, and it’s a fair criticism. The USC punted on software copyright–as might be expected–and instead seemed to say “okay, declarative code being reused is fair use”. This is especially interesting if you favor programming languages where the type system does most of the heavy lifting or if you use a language that leans heavily into declaration (say, SQL). Again, a fun present for future courts.

                                                                                                                        The dissent also has some real gems:

                                                                                                                        In the 1990s, Oracle created a programming language called Java.

                                                                                                                        First, this is plainly factually incorrect–that was Sun Microsystems.

                                                                                                                        More interestingly though, this is kind of a rentier problem: if there is a moral right to the business opportunities presented by a software (which, due to his belief that software straddles both copyright and patent, and thus can be thought of as an authored work in addition to being an invention) it seems strange that that moral right is ignored once the company employing the authors is acquired. Like, it suggests a fast-and-loose conflation of the authors of the code, their employers, and whichever vultures end up purchasing their employers. I’m not saying this is new, mind you–just that this is maybe an interesting way of looking at the problems we have.

                                                                                                                        First, Oracle never had lock-in power.

                                                                                                                        Big if true, and also would probably alarm their shareholders.

                                                                                                                        Second, Oracle always made its declaring code freely available to programmers. There is little reason to suspect Oracle might harm programmers by stopping now.

                                                                                                                        Ha. Ha ha. Bwahahahahahaha

                                                                                                                        ~

                                                                                                                        Read the writeup; I just cherry-picked some neat bits from the dissent. It’ll be worth your time.

                                                                                                                        1. 11

                                                                                                                          First, this is plainly factually incorrect–that was Sun Microsystems.

                                                                                                                          First page, second sentence, footnote:

                                                                                                                          A different company, Sun, created the library. But because Oracle later purchased Sun, for simplicity I refer to both companies as Oracle.

                                                                                                                          1. 4

                                                                                                                            Good catch, but it’s a bit tacky to say “Oracle spent all this money developing the libraries, we should feel sorry for them” when the less simple history directly undercuts that points: “okay well technically Sun did and then ran themselves into the ground and Oracle decided they could make massive rent off of the Sun IP and…look just feel bad for Oracle okay”.

                                                                                                                            1. 8

                                                                                                                              Just note this is an important principle of economics. If you build a valuable business, you have the right to sell that business, thereby converting its theoretical value into immediate cash.

                                                                                                                              This is also the principle behind shareholding. The investors who funded the development of Java are (probably) not the same investors who sold to Oracle. Those who funded a valuable thing were able to sell their more valuable ownership stake to somebody else and realize a profit.

                                                                                                                              It’s an important principle, because often somebody has something valuable which they are not really in a position to fully materialize. Small companies get taken over by larger ones because the small company might have a good product but needs more capital to scale, so the transaction allows both groups to benefit. And Sun, a company selling UNIX servers to (approximately) nobody, was not in a position to obtain value from many of the things that it had.

                                                                                                                              Somehow in the context of patents people forget the principle. It’s easy to dismiss an actor as a patent troll, but the sale of patents and copyrights is what allows an individual to do something and get paid for it despite not being in a position to build a global business themselves. It may be true that the buyer didn’t invent the thing or do the initial development, but if they’re unable to act as if they had, they have no reason to buy it, and the smaller entity that did the initial development has no reason to do the work since they can’t build the business, etc.

                                                                                                                          2. 6

                                                                                                                            Thanks for the quotes, this was a good read.

                                                                                                                            Like, by definition, the whole point of APIs is that they can’t be transformative works–they can’t add anything new or change things, because then you break the API.

                                                                                                                            I’m not sure I agree here. Yes, the API itself isn’t transformed, but if the entire work is taken as the scope (the 2+ million lines of code) then reimplementing the API can absolutely transform the work. If you wrote a book where each chapter had a clever title, and then I wrote a book with the same chapter titles but different content (but such that the content still reflected the chapter titles), that still seems transformative to me.

                                                                                                                            1. 1

                                                                                                                              That’s an interesting case–I’m neither a lawyer nor a court judge–to consider.

                                                                                                                              I think that there is some ability to copyright or patent organizations of information, e.g. technical taxonomies like ICD-10 or the Dewey Decimal System…that being the case, if there was an index in the book that you also copied or if the titles were a key component of looking stuff up in the book, maybe it wouldn’t be as transformative. This is also kind of the root of the API problem.

                                                                                                                              Edit: or perhaps, if they’re a system, you can’t copyright them. Ugh.

                                                                                                                            2. 2

                                                                                                                              spends cash removing your entire product line as an afterthought

                                                                                                                              Was there a real product line? Who exactly was ever going to purchase Java SE as a product for mobile devices? Considering that OpenJDK is FOSS.

                                                                                                                            1. 11

                                                                                                                              GPL’ed header files are now holed below the waterline.

                                                                                                                              1. 8

                                                                                                                                So is windows.h. That’s probably a good thing, over all.

                                                                                                                                1. 1

                                                                                                                                  windows.h has been independently re-derived a number of times, making it a nonissue regardless.

                                                                                                                                  1. 3

                                                                                                                                    How are those cases different from what Google did with Java?

                                                                                                                                    1. 5

                                                                                                                                      Copyright protects your work from being copied by others. If I look at the windows.h that microsoft distributes and use that as a basis for my own windows.h, it’s possible that what I produce constitutes a derivative work that thus infringes on microsoft’s copy rights. (This is what google v oracle was about.)

                                                                                                                                      However, if I derive the windows api in the context of a clean room, the result is not a derivative work and thus not infringing. This, for instance, is what the wine and reactos projects have done, and wine expressly prohibits people who might have had contact with windows source code from contributing for this reason.

                                                                                                                                      1. 1

                                                                                                                                        What if you clean room derive a 100% identical header?

                                                                                                                                        (Not impossible if the original, say, didn’t have comments and was formatted with a tool like clang-format which you’ve also decided to use…)

                                                                                                                                        1. 2

                                                                                                                                          clean room derive a 100% identical header?

                                                                                                                                          Then that’s fine, as long as you didn’t copy it from the original.

                                                                                                                                          1. 1

                                                                                                                                            Or better put, where do you draw a line between clean room based development output vs an actual system you are converting?

                                                                                                                                        2. 2

                                                                                                                                          The work that Oracle claims is copyrighted in this case is the “Structure Sequence and Organization” of the APIs, which is a term they created that somehow includes things like names.

                                                                                                                                          I presume Moonchild’s point is that people have reversed the windows ABI into an API many times, and the ABI doesn’t include the requisite elements to be copyrightable even if Oracle is right that their API is copyrightable. I’m not sure I agree with that argument, but it is an interesting one.

                                                                                                                                    2. 2

                                                                                                                                      Shit, hadn’t thought of that. Good catch.

                                                                                                                                      1. 2

                                                                                                                                        Even if they’re C++ libraries where everything is in the header file?

                                                                                                                                        (You just know some court’s going to be unable or unwilling to distinguish between declarations and code.)

                                                                                                                                        1. 1

                                                                                                                                          I don’t know, this is a massive fair use question! You would have to show that there’s broad knowledge of the header file contents in particular.

                                                                                                                                          Java being Java is where the fair use conclusion came in. Millions of people knowing The Java API definitions! I think it’s non controversial to state that Java APIs are more universally known than almost anything under the sun

                                                                                                                                          And this case in the outset is like “look this is complicated and fast moving, we’re going to state stuff here but don’t consider it broad in scope”. Pretty tough fight to win IMO

                                                                                                                                        1. 25

                                                                                                                                          Well, that’s a relief. I’d be upset if copyrighting code meant you couldn’t use its API without a license.

                                                                                                                                          1. 9

                                                                                                                                            Thanks for nothing I guess:

                                                                                                                                            Given the rapidly changing technological, economic, and business-related cir- cumstances, we believe we should not answer more than is necessary to resolve the parties’ dispute. We shall assume, but purely for argument’s sake, that the entire Sun Java API falls within the definition of that which can be copy- righted. We shall ask instead whether Google’s use of part of that API was a “fair use.” Unlike the Federal Circuit, we conclude that it was.

                                                                                                                                            The majority opinion of the supreme court simply assumed that APIs are subject to copyright, because it makes their work easier.

                                                                                                                                            Bad, but not unexpected – lawyers have a tendency to muddy up clear black-or-white laws, to ensure that it keeps producing a steady stream of new lawsuits for them.

                                                                                                                                            Google copied roughly 11,500 lines of code from the Java SE pro- gram. The copied lines are part of a tool called an Application Pro- gramming Interface (API).

                                                                                                                                            Jeeez. Maybe we should have more lawyers like Alsup, and fewer lawyers that can’t even get the basics right?

                                                                                                                                            This decision is pretty much a law for the rich, the poor get screwed.

                                                                                                                                            1. 9

                                                                                                                                              Copyright with fair use is a reasonable conclusion–and if you read the dissent, it suggests an assumed difference between implementing and declaring (e.g., API) code. So, I wouldn’t be too grumpy about this.

                                                                                                                                              1. 5

                                                                                                                                                if you read the dissent

                                                                                                                                                I read it and it disagrees with what you claim:

                                                                                                                                                Is declaring code protected by copyright? I would hold that it is.

                                                                                                                                                and

                                                                                                                                                Congress rejected categorical distinctions between declar- ing and implementing code.

                                                                                                                                                and

                                                                                                                                                The majority holds otherwise—concluding that every fac- tor favors Google—by relying, in large part, on a distinction it draws between declaring and implementing code, a dis- tinction that the statute rejects.

                                                                                                                                                The point is that fair use is something decided in front of courts, which is enough to make people afraid of exercising their rights.

                                                                                                                                                “APIs are not copyrightable” would be a decision, where one could safely tell Oracle/… to simply fuck off.

                                                                                                                                                1. 4

                                                                                                                                                  “APIs are not copyrightable” would be a decision, where one could safely tell Oracle/… to simply fuck off.

                                                                                                                                                  That’s a taller order than the reading of fair-use.

                                                                                                                                                  Pretend you’re on the other side of this. How would you argue that APIs are and implementations are both copyrightable?

                                                                                                                                                  1. 3

                                                                                                                                                    That what was pretty much the general assumption since decades until the IP courts decided to mess with it right in this case.

                                                                                                                                                    There was never a credible actor that ever questioned this before that.

                                                                                                                                              2. 5

                                                                                                                                                I’m pretty sure that making the narrowest consistent finding is in the job description somewhere. Fair Use exists exactly to solve this kind of problem without requiring copyright to be shot down, and fixable creative works are presumed copyrighted with limited exceptions, so if Fair Use applies, the court is entitled to dodge the question of copyright, which would make for a much larger precedent. If you want to force the issue, you have to sue over a matter that Fair Use can’t fix.

                                                                                                                                                1. 4

                                                                                                                                                  Assume the law of excluded middle, as judges are wont to do, and then finish the case analysis by taking the other branch: Assume that APIs are not subject to copyright. Then the case is nigh moot.

                                                                                                                                                  What they mean by this language is to emphasize that they are not deciding, in this current opinion, whether APIs are copyrightable.

                                                                                                                                                  1. 2

                                                                                                                                                    That’s what I wrote.

                                                                                                                                                    1. 6

                                                                                                                                                      Courts have no reason to talk about matters which aren’t germane to the petitions directly before them, and every reason to avoid excessive meddling.

                                                                                                                                                      No “muddy[ing] up clear black-or-white laws” has happened here. The court recognizes that the law as written says that the API code would be copyrightable, since it is part of a “computer program”. The case before the court could be taken to challenge that law, but the court chose not to disturb the statute.

                                                                                                                                                      I don’t see how this opinion opens up new legal fronts. Rather, it should help settle questions about whether common sorts of API-oriented copyright infringement are legally actionable, and could simplify or even avoid legal confrontations.

                                                                                                                                                      1. 2

                                                                                                                                                        The court recognizes that the law as written says that the API code would be copyrightable

                                                                                                                                                        I don’t believe that they did, they said if “we assume, for argument’s sake, that [APIs are] copyrightable, […] the copying here at issue nonetheless constituted a fair use” (page 1 of the opinion, page 5 of the pdf) and on page 15 “we believe we should not answer more than is necessary to resolve the parties’ dispute. We shall assume, but purely for argument’s sake, that the entire Sun Java API falls within the definition of that which can be copyrighted. We shall ask instead whether Google’s use of part of that API was a “fair use.” “.

                                                                                                                                                        In other words they intentionally avoided the question entirely.

                                                                                                                                                        1. 1

                                                                                                                                                          Yes. But they are not ignorant to the content of the statute (p12):

                                                                                                                                                          In 1980, Congress expanded the reach of the Copyright Act to include computer programs. And it defined “computer program” as “‘a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result.’” §10, 94 Stat.3028 (codified at 17 U. S. C. §101).

                                                                                                                                                          And this is in the context of the petition for cert (p14) right before your quote:

                                                                                                                                                          Google’s petition for certiorari poses two questions. The first asks whether Java’s API is copyrightable. It asks us to examine two of the statutory provisions just mentioned, one that permits copyrighting computer programs and the other that forbids copyrighting, e.g., “process[es],” “system[s],” and “method[s] of operation.” Pet. for Cert. 12. Google believes that the API’s declaring code and organization fall into these latter categories and are expressly excluded from copyright protection.

                                                                                                                                                          They here explicitly raise the idea that the statute is applicable but overridden by an exemption in another statute. A cert petition is like a request for the court to confirm that the law operates as described in the code, and as we all seem to agree, the court is declining to take it up directly.

                                                                                                                                                          1. 1

                                                                                                                                                            They here explicitly raise the idea that the statute is applicable but overridden by an exemption in another statute. A cert petition is like a request for the court to confirm that the law operates as described in the code, and as we all seem to agree, the court is declining to take it up directly.

                                                                                                                                                            Yes, I think we all agree on this much.

                                                                                                                                                            You are (or were, but I will assume still are) also arguing to what I quoted previously though, that

                                                                                                                                                            The court recognizes that the law as written says that the API code would be copyrightable

                                                                                                                                                            I don’t think they are doing this.

                                                                                                                                                            They are obviously not ignorant of the statute, but your page 12 quote does not support them saying that APIs are “a set of statements or instructions to be used directly or indirectly in a computer in order to bring about a certain result”. It is just them quoting the law before they go on to apply it. Consider that in the same way they quote this part of the law, in the paragraph split between pages 12 and 13 they also quote the following section of the law - if you try and read between the lines from them quoting a law to saying it applies you would have to conclude that copyright both applies and does not.

                                                                                                                                                            Third, the statute sets forth limitations on the works that can be copyrighted, including works that the definitional provisions might otherwise include. It says, for example, that copyright protection cannot be extended to “any idea, procedure, process, system, method of operation, concept, copyright protection cannot be extended to “any idea, procedure, process, system, method of operation, concept, […]

                                                                                                                                                            Likewise page 14 is just them stating what Google asked for, and then immediately afterwards they are going and saying “and we’re only ruling on the second half of what they asked for”. The Supreme Court declining to rule on something (much like them declining cert) is not them staking out the opposite position, it’s them deferring judgement on the question until a later case.

                                                                                                                                              1. 4

                                                                                                                                                In spite of the hoi polloi here tut-tutting, the author of this piece does have some good points.

                                                                                                                                                Unit testing, and other forms of test written in code, also help, especially related to old software, software that has been running for years and that is working perfectly, but you now suddenly need to add something that might effect other parts of the system, and you can hardly remember anything about what does what and why.

                                                                                                                                                Remember, author isn’t against testing.

                                                                                                                                                Focus on the parts of the software that are complex, then before you begin writing any tests, consider if there are ways in which you can simplify the complexity.

                                                                                                                                                The parts of the code you feel most insecure about is not the code that needs the best test coverage, it’s the part of code that needs refactoring.

                                                                                                                                                The old “you can have software that’s correct in obvious ways, or you can have software that is not obvious in its incorrectness” saw applies here.

                                                                                                                                                Don’t worry too much about software failure as it is bound to happen no matter what you do. Plan ahead instead. Have a solid strategy for how you deal with failure, when it happens.

                                                                                                                                                It’s amazing the times I’ve seen a team invest hours and hours and hours on tests and ignore functionality that would let people like customer success go in and fix problems for customers without involving engineering. One of the best teams I worked on recognized this, and had a productive and fruitful (and lucrative) relationship with our counterparts in the CS department.

                                                                                                                                                you loose [sic] precious energy that could have been spend creatively coming up with better and more efficient ways to deal with the problems you’re facing.

                                                                                                                                                Will personally attest to this, having watched coworkers on more than one occasion spend days screwing around with tests when an afternoon could’ve solved the problem with a refactor. It can happen.

                                                                                                                                                The value of writing code tests is highly exaggerated.

                                                                                                                                                I’d agree with this, and my cynical take is that it is because it’s something that can be measured easily and which creates lots of business/training opportunities for the hangers-on.

                                                                                                                                                1. 3

                                                                                                                                                  The author’s favored method of testing is manual testing. It seems disingenuous to point out, “The author isn’t against testing,” since - as another commenter pointed out - their statement seems akin to saying, “I’m not against version control. I make multiple copies of my work in my local directory.” It calls into serious question whether they will apply the (maybe only incidentally) correct portions of their arguments in a useful way.

                                                                                                                                                  1. 2

                                                                                                                                                    I think the analogy there muddies the waters–the author is very clear about when and how they test.

                                                                                                                                                    Manual testing is perfectly fine (especially if your language of choice has a repl that makes it easy to do so), and is something I (and I bet a lot of other people as well) use regularly while guiding the development of software. Afterwards, I go back and add automated tests where it makes sense. Sometimes, I do TDD up front, especially if I want the dopamine of doing red-to-green development.

                                                                                                                                                    If you want to argue that manual testing is wrong, let’s have that discussion; please don’t go argue something else by analogy.

                                                                                                                                                1. 3

                                                                                                                                                  (w.r.t. migrations)

                                                                                                                                                  This is the approach taken, in some fashion, by most ORMs, which is part of why it feels so clearly right to me.

                                                                                                                                                  This is why I prefer Ecto to SQLAlchemy or whatever–I like that explicit handling of migrations. I like being very verbose and detailed in how I interact with all of my business data.

                                                                                                                                                  1. 1

                                                                                                                                                    SQLAlchemy does not support migrations at all. Alembic is a separate tool built upon SQLAlchemy that implements schema versioning and migration. It allows you the choice of the declarative or imperative approach. If you want to simply make changes to the declarative data model, Alembic can introspect the running database and generate the migration script. Or if you prefer you can write the imperative migration script with explicit SQL.

                                                                                                                                                    1. 1

                                                                                                                                                      Ah, thank you for the correction!

                                                                                                                                                      I got them mixed up–I don’t really use often Python if I can avoid it.

                                                                                                                                                  1. 1

                                                                                                                                                    I really like the VendorOps title–when I worked at a healthcare software startup we would definitely interface with people at hospitals whose sole job was tending vendor software (including some hilarious arrangements where they’d be a full-time employee of a vendor rented to the hospital system but were basically hospital employees otherwise).

                                                                                                                                                    There’s no shame in this, and the work can be quite lucrative–until, you know, something changes and you end up like the SAP consultants who I had as Lyft drivers a couple years back.

                                                                                                                                                    It’s also maybe important to notice that these folks are usually maybe not 100% aligned with engineering for the needs of your org; a lot of VendorOps people are really just your internal AWS/Microsoft/whatever sales rep. This seems to be a very unacknowledged facet of the business.

                                                                                                                                                    1. 3

                                                                                                                                                      The thing I think people kinda forgot in the dark ages of the 2010s is that, like, it’s really nice just having APIs that pretend to be synchronous and then letting the runtime sort it out. Like, it’s worth so much. Dealing with Javascript putting all of that front-and-center, especially in a web context, is just uncomfortable.

                                                                                                                                                      I’ve been programming in Elixir since 2014 and Javascript since..2010, call it…and before that C/C++/Java with all of the magic of multithreading. I really like Elixir for normal work, but if I have to code under pressure or just hack something together quickly Javascript is something I’ll reach for because I can keep the whole thing (ES5-style, at least) in my head and the language won’t fight me when I do strange, degenerate things. Go has won me over from Elixir for tooling.