1.  

    “Most parts are still single-threaded, and we have no interest in making it concurrent.”

    “lld depends on LLVM libObjects and libDebugInfo to read object files and debug info. libObjects and libDebugInfo have more features than lld needs”

    Well, there’s some room for improvement in performance for anyone looking for project ideas. One can attempt to parallelize the parts that are hard to parallelize. Maybe also throw a super-optimizer at the fast paths in the code. That’s worth trying on everything just to see what happens. :)

    1.  

      It may not be worth the additional complexity though.

      1.  

        True! Especially given most companies with codebases that large can afford to add some servers.

    1.  

      The popularity of JS is a bad example; it’s popular because until very recently (with the emergence of TypeScript, which is just a superset of it anyway) it was the only way to run code in any web browser, making it the only reasonable choice for web apps.

      1.  

        it was the only way to run code in any web browser

        Untrue, there was Java, Flash, JScript, Silverlight/Mono…

        until very recently (with the emergence of TypeScript, which is just a superset of it anyway)

        you mean that until recently (2012), nobody had written a thing like TypeScript that lets you write software in a non-Javascript language that can be deployed as Javascript. It was never impossible before that, just nobody had picked that side of the trade-off. Where, rather than “nobody”, you mean nobody other than 280 North (Objective-J, 2008), Jeremy Ashkenas (CoffeeScript, 2009), Google (Dart, 2011), and undoubtedly others.

        TypeScript, which is just a superset of it anyway

        Indeed. TypeScript is the “take the default choice and configure it to suit where our team sits” option. It’s the Jenkins plugin, or the Jira workflow futzing, of the Javascript development world.

        the only reasonable choice

        Even accepting that there were no JS alternatives for running code in the browser until Typescript came along in 2012 (which for the reasons given above is a flaky assumption), teams that are longer-running than that have had six years to evaluate alternatives, and teams that are newer than that have always had alternatives to choose from.

        to run code in any web browser, making it the only reasonable choice for web apps

        Here we beg the question. “JS is popular because you have to do it” requires that we accept that we have to make a web app. Why? My assertion is that along with other examples like Jira and Jenkins, people start with a web app in JS because it’s the thing that’s done, and they can probably make progress with it. Thus we discover that it’s a good example, because it’s the same as the other examples. You could write your own, pick an alternative, or try to configure the thing most people use to your own circumstances.

        Indeed, this is such a common pattern that @srbaker proposed the word “Jefaults”, for a team that goes “well everybody is using Jenkins, Jira, Javascript and Java, we’ll start there”.

        1.  

          I am blown away by your thoughtful & detailed response. Well done & thanks for educating me about the existence of Obj-J & “jefaults”.

          1.  

            JScript doesn’t count, because it’s just Javascript-as-implemented-by-Microsoft.

            As for the others:

            • Flash was very popular: YouTube used Flash, remember? It’s been deprecated now because the iPhone didn’t ship it, and the iPhone didn’t ship it because it was kind of slow (along with Flash having poor support for things like access for the visually impared, the clipboard, and scrolling, which is why apps like GMail didn’t use it).

            • Java was less popular, because its obnoxious permissions and code loading model made it even slower and less convenient than Flash.

            • Silverlight didn’t exist for long enough before the iPhone killed off browser plugins for good. Who knows? It might’ve been better if it had been given a chance.

        1. 10

          Somewhat darkly, the best part about this (otherwise clearly well-thought-out process) is in a couple years when the employee burns out, is summarily sacked, or leaves because there’s no salary growth or incentive structure or because they know they can’t build a career at their company.

          Software hiring hand-wringing is a meme to distract us from the garbage retention and compensation practices.

          1. 3

            I wonder if “garbage retention & compensation practices” are actually the norm is most industries and for most fields but only cause hiring problems in the few where there are better alternatives to prospective employees.

            1. 1

              I wouldn’t be surprised at all if those issues are the increasingly the norm in other industries–I can only speak to what I know.

              1. 1

                I think they’ve actually been the norm for a while (at least a couple of decades).

            2. 1

              I work with Bryan at Joyent (and have done since 2012!) and though I agree there are a lot of dire patterns in the industry, I like to think that the hiring RFD reflects our attempts to avoid some of the pitfalls we see – and indeed have ourselves experienced in the past. Over the years we’ve certainly had staff come and go, but I’ve definitely enjoyed my time at the company thus far!

            1. 6

              I know some people who have actually been trying almost exactly this for the past 6 months. It does work, although it requires the evaluators to be trained carefully.

              1. 2

                I wish they’d included some numbers to illustrate the degree of improvement they’ve seen here.

                1. 3

                  What’s interesting is that Google promotes PWAs but is there any PWA made by Google? Moreover, I can’t remember encountering any webpage with offline and “installation to home screen” capabilities in the whole internets.

                  1. 3

                    I’ve seen pages that do the “install to home screen” thing. discourse.org is a good OSS example. I’ve never seen the works offline thing, though.

                    1. 1

                      Maps & Photos both have PWAs.

                      1. 2

                        Tried to analyze Google Maps now with Google’s own “Lighthouse” tool:

                        • Does not respond with a 200 when offline

                        • User will not be prompted to Install the Web App

                          Failures: Site does not register a service worker.

                        • Does not register a service worker

                        both on mobile and desktop

                        Google Photos has no third warning, it has service worker, but it probably does nothing related to “PWA” functionality.

                        For Youtube, there are the same three warnings plus other, minor warnings, such as “brand colors in address bar”.

                        Google Play Music refuses to load altogether, and says “open native app or go away” if it detects that browser is “mobile” (!), but on desktop, it loads, but all Lighthouse audits fail, except “Uses HTTPS”.

                        I don’t think idea of PWAs is bad, it’s how the first Iphone and later Firefox OS were supposed to work, but Google’s notion of PWAs is complete bullshit, with “service workers”, “brand colors in address bar” and other nonsense. Even Google itself does not try to conform to this.

                      2. 1

                        I think Google Play Music and YouTube are PWAs, in chrome at least you can add to homescreen by the chrome menu.

                      1. 10

                        So it was true – Edge will move to Chromium and the web will have yet another major browsers that have WebKit origins – a sad day for the web.

                        Now only Gecko/Servo remains as alternatives of other origins.

                        Things I haven’t yet understood:

                        Will Microsoft also use V8 rather than Chakra? And if so, will they as a consequence also drop official development on Chakra and on the Chakra-based Node.js?

                        1. 5

                          There’s now one less closed source browser, I’m not sure how that’s a sad day for the web? If anything the web is more open since all major browser engines (Blink, WebKit, and Gecko) are open source projects and take outside contributions.

                          1. 12

                            Plurality is losing, open implementations are gaining. The open web standards are hurt by a lack of plurality, so even if it’s a win from an implementation perspective, it’s a loss from a standards perspective - and I would say that the loss in the standards perspective outweigh the win of the implementation perspective in this case, in an open web regard.

                            1. 5

                              If you wanted to write your own browser, you might try implementing various standards. However, your success depends on whether other people follow those standards as well. If there are many implementations, even proprietary, then people will make web pages that aim towards the center. If there is only one, then standards won’t matter.

                              1. 1

                                To be fair though, the amount of effort required to write a useful browser from scratch in 2018 is so insanely high than even a corporate behemoth like Microsoft with $$$ oozing out of its ears can’t stomach it. Is that really a use-case worth addressing? Would we really be worse off if there was just a single open source engine that everybody used? Kinda like Linux has become the universal kernel for running native binaries in the cloud…

                                1. 4

                                  This problem only worsens when the corporate behemoths consolidate. What are the chances that MS pushes back on a new feature that’s too complex now that they don’t have to implement either?

                                  1. 1

                                    Complex for browser developers or web developers?

                                2. 1

                                  The new “living standards” make this much, much harder. It is like building on quicksand: you can’t target a stable version of these standards. There’s also no sane changelog to speak of, as far as I know. The RFC standards we used to have were quite sane, but all formalisms are slowly being removed, which makes interoperability unnecessarily hard.

                              2. 2

                                I feel like the Node.js on ChakraCore effort was dead-on-arrival. The Node.js/JavaScript ecosystem already has a hard enough time with native interop that trying to abstract it away was premature. It’s still possible that the ABI Stable Node API work takes off but, sitting here speculating, it doesn’t seem to have enough of a benefit to developers to warrant packages switching.

                              1. 4

                                I would be less sad if Microsoft had chosen Gecko/Servo here but I’m not too sad all the same. I don’t (yet) understand what rendering engine/JavaScript VM diversity really gave web developers. I can get behind browser diversity but it seems like what’s beneath the surface doesn’t matter anymore. I’d point to iOS as an example of this—Safari vs. Chrome is a worthwhile debate but it’s all WKWebView under the hood, and because of that iOS users can all benefit from the performance/battery life and site compatibility.

                                1. 4

                                  What plurality amongst engines gives is an insurance that the web will be developed against actual standardized behavior rather than just the implemented version of the majority engine.

                                  There are lots of examples of eg. optimizations that assume that all browsers work like browsers with a WebKit origin does, but such optimization may not at all help in eg. Gecko or even make it worse there.

                                  1. 2

                                    There are 2 ways to address this: having even more browsers with substantial marketshare or having just one open source rendering engine that is used by all.

                                  2. 2

                                    And all sites running anywhere on iOS as a consequence suffer from WebKit’s poor and generally laggard support for newer standards.

                                  1. 5

                                    As Linux gets more and more corporate and less targeted for the desktop, having a light-weight and responsive OS is enough to make it unique.

                                    I do patch my Linux with the MuQSS scheduler, the best thing for Linux responsiveness, but I was recently told the Haiku one is essentially the same. This is awesome to me.

                                    There is a lot and more in apps and hardware support that Heroku would need for me to switch over, but it seems like a cool project.

                                    Does it do virtual desktops, btw?

                                    1. 4

                                      MuQSS schedule

                                      I heard there was a better scheduler for desktop use. Didn’t know the name. Thanks for the tip.

                                      1. 3

                                        Does it do virtual desktops, btw?

                                        It does.

                                        The things that it’s missing that I would need to make it my daily driver:

                                        Minimum:

                                        • Support for multiple monitors (was in the works at one point, may be there now)
                                        • Support for videoconferencing and screen sharing in Google Meet (long shot because Google barely even supports Firefox there)
                                        • Full disk encryption (there’s an encrypted block device driver in the tree but last I checked it was moribund)

                                        Optimal:

                                        • The ability to run virtual machines at full speed (there’s qemu but without OS support it’s doing true emulation and is unusably slow for my purposes)
                                        • The ability to use Firefox Sync

                                        I’d say BeOS is my favorite operating system of all time, but I can’t quite bring myself to say it since AmigaOS existed.

                                        1. 3

                                          I do patch my Linux with the MuQSS scheduler, the best thing for Linux responsiveness, but I was recently told the Haiku one is essentially the same. This is awesome to me.

                                          I don’t know a lot about the MuQSS scheduler, but from reading over the introductory document, it indeed looks pretty similar to Haiku’s. (I wonder where you read this previously, though?)

                                          There is a lot and more in apps and hardware support that Haiku would need for me to switch over, but it seems like a cool project.

                                          What would those be? Most minor tools are easily ported at this point.

                                          1. 3

                                            IRC, oftc.net, can’t remember why I joined Con Kolivas’ channel #ck, but there. I consider him a friend after all this time and tested some of his prototypes way back.

                                            The Godot engine would be one big thing.

                                          2. 3

                                            Virtual desktops: yes.

                                            Linux gets more and more corporate and less targeted for the desktop

                                            Let’s hope the competitors get better in quality. I doubt I will want change to Haiku unless something really bad happens in the nix world, but hopefully its presence will make everyone else better nonetheless.

                                            1. 3

                                              Disk encryption, does it have that? Password-protected screensaver?

                                              1. 4

                                                BeOS had a password-protected screensaver.

                                            2. 2

                                              How does mainstream GNU/Linux get worse?

                                              1. 10

                                                NB: this turned out to be a poettering rant.

                                                adding ever more complicated layers onto complicated layers to reinvent the wheel. most things should be done a few layers down, not by adding a few layers on top. this while having the same functionality 10 years ago, which most of the time was working as good as today, only less complicated and prone to break. the sound stack is just horrible, the most sane thing would be to throw out alsa and pulseaudio and use oss4, which implements most of the features. session and login management is also insane, a mess of daemons connected via dbus of all things. systemd people constantly reinventing square wheels (resolved, really?). while i’m at it, ps found a now one i didn’t know about: “rtkit-daemon”, fixing problems i don’t have, running by default.

                                                i know, it’s open source, i can write a patch.

                                                1. 3

                                                  I’ve been geeking out on schedulers for a long, long time and every encounter with vanilla Linux on a heavily-loaded box has been awful. It might behave better now, but that would be by very complicated code and bizarre special-case settings.

                                                  As a simple user, I just use the -ck patch set and ignore the horrors of the sound stack, systemd, Linux Foundation’s corporate politics, cgroups and what have you.

                                                  I mean, it kinda still works, but sometimes it feels the best desktop-experience parity with Windows was reached 20 years ago, if you exclude hardware support and games, and or with gnome3-type shit and everything got worse.

                                                  I’m not positive the desktop experience is as good as it gets but I am positive it’s no one’s priority.

                                                  1. 4

                                                    I actually like Gnome 3 UI-wise, but the Linux scheduler seems to be more horrific than it used to be, and I remember it being bad a decade ago. I’ve had systems where X11 chugged hard and took 30 minutes to get to a vt when Firefox was stressing the system, when Windows on even more decrepit hardware was slow, but at least felt usable due to seemingly better scheduling - and it didn’t matter what WM you were using.

                                                2. 1

                                                  I’m not seeing Linux move away from the desktop at all. In fact I’m seeing more investment in the LInux desktop than ever.

                                                  It’s just that they’re investing in the wrong (from my selfish stance :) desktop environment :)

                                                  1. 2

                                                    they’re moving away from the desktop and towards tablets, even though linux doesn’t run on any

                                                1. 15

                                                  To me, this is more of a grab bag of random things rather than a well thought out argument for uniqueness. I still enjoyed it.

                                                  And it did make me think that I’d love to read an article that is about what made BeOS unique at the time (from one of us who was part of the community then) and also what makes Haiku unique now (from someone who is part of the community now). I’d love to read that article (or two articles if the authors worked together to make them a nice pairing).

                                                  The what made BeOS unique might be harder because you’d need to give a lot of background around why some things were revolutionary then for not just the tech but the effect that are fairly commonplace feeling now.

                                                  Anyway, enough babbling.

                                                  1. 5

                                                    I was part of the BeOS community almost 2 decades ago, pretty much from the time they ported it to x86.

                                                    A few things that made it unique at the time: 64 bit filesystem that could be queried like a database; incredible support for multiprocessing and low-latency that allowed for professional quality media editing apps; an API that made programmers want to write software for it even when there weren’t that many users.

                                                  1. 3

                                                    If you work in A and live in B, you can pay the lower of the two communities’ taxes. But if you live in B and work in A…

                                                    These mean the same thing :)

                                                    1. 2

                                                      Not always. It depends on the specifics of where A and B are, and what the regulations of each are.

                                                      1. 3

                                                        No, it’s literally the same thing.

                                                        1. 3

                                                          Yup, on closer inspection I can’t read! Thanks for pointing that out, I wish I could edit my original comment.

                                                          1. 3

                                                            I interpreted it as “if you live in B and then get a job in A, you have different regulations than if you have job A and then move to B”. Which I can totally see having different regulations, like a travel tax deduction or something.

                                                    1. 1

                                                      This seems to be in Basque. The website claims there’s an English version but the page at the other end of the link is mostly blank :(

                                                      1. 1

                                                        oh weird. I read the English version and thought I linked to it! Now I can’t find it. WTF.

                                                      1. 1

                                                        I wonder if it’s called wolf as an homage to Wolfenstein.

                                                        1. 3

                                                          As explained here on pouët, it was inspired by another intro called Wolf128b, which was indeed inspired by Wolfenstein.

                                                        1. 7

                                                          This is quite a stretch.

                                                          Why is it that tech workers don’t think of themselves as “workers”?

                                                          Why is it that governmenty-people want everyone to think of themselves as a worker? It would benefit everyone if we moved towards more autonomy, not less. The “employee” status is a crutch, and trap, and way of giving bureaucrats more control. Why isn’t everyone their own corporation? More sovereignty, not less.

                                                          called out for colluding via anti-poaching schemes to suppress wages. As part of a longer-term strategy, these tech giants have also partnered with schools, supported coding bootcamps, and sponsored programs that teach minority youth groups to code.

                                                          Haha, that’s a hot potato. I’m guessing that message will need a massage before it reaches the union talking points slidedeck.

                                                          Their goal in technology education is not to simply expand their consumer base to the youngest and most marginalized of our society, but to increase the labor supply of the future and subsequently drive down wages for decades to come.

                                                          Unions increase friction. Friction reduces mobility. No, thanks.

                                                          It’s hilarious to me that we have the privilege of existing in a time where control freaks haven’t yet figured out a way to regulate this thing called software, and because of that, a very fluid and egalitarian market exists where you can go from high school, prove yourself on a whiteboard, and get a pretty nice job.

                                                          And yet the Local 41 people want to bring in the overalls and flannel and make this industry the same as all of the other industries that have been ruined. And they complain about whiteboard interviews, and want to replace it with committees and certifications and degrees.

                                                          Be careful about the people with whom you raise pitchforks. Or don’t, I don’t care. But I told you so.

                                                          1. 22

                                                            Why is it that governmenty-people want everyone to think of themselves as a worker? It would benefit everyone if we moved towards more autonomy, not less. The “employee” status is a crutch, and trap, and way of giving bureaucrats more control. Why isn’t everyone their own corporation? More sovereignty, not less.

                                                            There’s a difference with diagnosing how things are and how things should be.

                                                            Anti-poaching agreements between the top tech companies is a thing that happened. Everyone in SF had their wages surpressed because the owners of these huge places decided they shouldn’t have to fight in a fair labor market. It is undeniable, there is court evidence and everything, that there was massive collusion to make sure that those who had the shortsighted-ness to go into an employment agreement with them would have their mobility reduced.

                                                            Yeah, sure. Would be great if people could just work and have relations of trust. But so long as the person on the other side of the negotiating table has massive infrastructure dedicated to paying the least amount of money to you, standing alone is a sure-fire way to get a worse deal.

                                                            There’s tribalism and other organizational ills in unions, but…. welcome to “put more than 3 people in a room”. There’s self-interest and politics in every org.

                                                            The egalitarian software market creates something where people like Lewandowski can go around and collect millions off of claiming other people’s work as his own, and other people can’t even get interviews at other companies because of secret agreements. It’s a market where the loudest people get the biggest wins (see every single post about organizational dysfunction at Google that means that nothing actually gets maintained).

                                                            1. 3

                                                              The egalitarian software market creates something where people like Lewandowski can go around … where the loudest people get the biggest wins …

                                                              Assuming unions and regulations solve that somehow, it’s a petty reason to install an long-term bureaucracy. What did we gain exactly, besides sticking it to some (imagined) character you didn’t like?

                                                              1. 2

                                                                “other people can’t even get interviews at other companies because of secret agreements”

                                                                That’s not what the secret agreements were about; they agreed not to cold-call each others employees to try and get them to leave but they did not agree to not interview each others employees if they applied to positions.

                                                              2. 6

                                                                It would benefit everyone if we moved towards more autonomy, not less

                                                                Autonomy is (rightly) coupled to responsibility for outcomes.

                                                                Employees are not given autonomy or responsibility for outcomes (for so, so many reasons).

                                                                Autonomy is worthless unless you can capture the benefits of doing a good job.

                                                                1. 1

                                                                  Unions increase friction. Friction reduces mobility. No, thanks.

                                                                  It’s hilarious to me that we have the privilege of existing in a time where control freaks haven’t yet figured out a way to regulate this thing called software, and because of that, a very fluid and egalitarian market exists where you can go from high school, prove yourself on a whiteboard, and get a pretty nice job.

                                                                  And yet the Local 41 people want to bring in the overalls and flannel and make this industry the same as all of the other industries that have been ruined. And they complain about whiteboard interviews, and want to replace it with committees and certifications and degrees.

                                                                  Be careful about the people with whom you raise pitchforks. Or don’t, I don’t care. But I told you so.

                                                                  The assumption that wanting to regulate the software industry is the mark of “control freak” is way off. Software is no longer marginal. It has long since eaten the world. It affects every detail of most people’s lives in the first world. Anything with those implications needs regulation. It needs a class of workers who are trained in a semi-standard fashion that includes concerns about the ethical implications of what they’re doing. In other words, it needs to be an actual engineering discipline.

                                                                  Also, this specifically seems way off base to me:

                                                                  a very fluid and egalitarian market exists where you can go from high school, prove yourself on a whiteboard, and get a pretty nice job.

                                                                  Is the implication there that the hiring market right now is easy to move around in, but with more standardization it wouldn’t be? That just doesn’t jive with the data that exists out there for tech hiring. It’s essentially random right now, there is literally no such thing as a meritocracy. Companies are making hiring decisions based on which way the wind blows and whether or not your interviewer liked what they ate for breakfast. More industry wide standardization would make things much better.

                                                                  1. 4

                                                                    It affects every detail of most people’s lives in the first world. Anything with those implications needs regulation.

                                                                    I don’t know where the idea came from, but just because something is ubiquitous does not mean it needs to be regulated. Rather it happens that ubiquitous things attract control freaks because they are predisposed to the obvious.

                                                                    It needs a class of workers who are trained in a semi-standard fashion that includes concerns about the ethical implications of what they’re doing. In other words, it needs to be an actual engineering discipline.

                                                                    “It” (software) is a very generic thing, and a future where one needs to consult a trade guild to sell software, will be sad.

                                                                    It’s essentially random right now, there is literally no such thing as a meritocracy.

                                                                    Compared to other industries, I don’t see how you can make that claim. “Merit” is demonstrated ability, and it is clearly the case that many tech professionals are hired based on some demonstration of ability rather than only credentials, connections, etc.

                                                                  2. -1

                                                                    I agree. This socialist “class”-based thinking, along with the fundamental economic misunderstandings of the socialist worldview is fundamentally dangerous. Besides, unions are bureaucracy and bureaucracy makes everything worse for everyone. I don’t want people to organise, especially not on my behalf. It’ll undoubtedly make my life harder. Or does this writer know what’s best for me?

                                                                    I’ll advocate for my own interests, thanks.

                                                                    1. 22

                                                                      I really like the bureaucracy that inspects milk for contaminents, prohibits people dumping benzene in the water, and vaccinates children. Probably I’m not a good person.

                                                                      1. 9

                                                                        It’s bizarre that as the level of union participation went down , the amount of bureaucracy went up. Also note an interesting fact, when the Soviet Union collapsed and the government industry privatized following the recommendations from Chicago school economists, the total number of government bureaucrats increased! Capitalism is really good at creating bureaucracy, both public and private.

                                                                        1. 6

                                                                          …fundamental economic misunderstandings of the socialist worldview…

                                                                          Besides, unions are bureaucracy and bureaucracy makes everything worse for everyone.

                                                                          You seem to think you know what’s best for me… This is a silly argument. No one is advocating for you any more than you are advocating for other people by advocating against socialism on the Internet.

                                                                          1. 8

                                                                            At least in Australia where I live, union political campaigns lead to:

                                                                            • Making employers liable for employee deaths and injuries at work (leading to a huge drop in workplace deaths and injuries)
                                                                            • Meal breaks (previously factory workers had a full days shift without food)
                                                                            • Annual and sick leave
                                                                            • Maternity leave
                                                                            • A high minimum wage (initially enough that one fulltime job could support a family; has declined since)
                                                                            • 15-20% more income (according to the governments Australian Bureau of Statistics)

                                                                            That’s not to say they don’t do any harm. Variously:

                                                                            • Education union rules made it impossible to fire permanent teachers, causing schools to employ tons of staff on precarious 6-months contracts.
                                                                            • The dockworkers union picketed after a untrained, non-union crew were brought in and did the job faster with a better safety record.
                                                                            • There are constant claims of criminal behavior among the CFMEU (though how much of that is true vs Murdoch is hard to say)
                                                                        1. 14

                                                                          I’m all for unionizing, not out of “unionize all the things”, but because I’m interested in how different power structures might effect different results: experimentation, if you will, but not at the cost of free association.

                                                                          I grew up in a family of public school teachers. I’ve seen unions mess up badly.

                                                                          1. 24

                                                                            My wife is a teacher in the public system and we both have mixed feelings about the union representing teachers. It does some wonderful things, but then goes out of its way to defend some absolute garbage people simply because they are in the union. And heaven forbid it if you have any critcisms of the how the union operates. Neither of us think it’s so much a union thing as it is the lack of care put into building a large organization since similar problems exist in companies.

                                                                            1. 14

                                                                              I’m not super-attached to the idea of unions, but it’s pretty obvious to me that we are getting exploited by the companies–especially startups–that we work for.

                                                                              I’m not sure that a full-blown union system is the answer, mostly because I trust the soft skills and systems thinking of engineers about as far as I can thrown them, but we need to start organizing as a class of labor on some basic things that keep screwing up the market for all of us:

                                                                              • Forced arbitration
                                                                              • Broad NDAs
                                                                              • Broad non-competes
                                                                              • Broad assignments of invention and other IP
                                                                              • Lack of profit sharing
                                                                              • Bad equity for early-mid stage engineers
                                                                              • Uneven salary systems

                                                                              Every company and startup gets some of these wrong, and few (if any of them) right, but because it’s accepted as “standard practice” we all end up having to endure them.

                                                                              I don’t think we can find a one-size-fits-all solution for, say, salary ranges or other more esoteric issues, but my belief is that those specific things enumerated above are both achievable and universally beneficial for developers. They would benefit both the folks that think they can be the smartest engineering in the company and somehow make out like in the 90s, and the lifers who just quietly and competently do their jobs and switch companies when it’s time.

                                                                              We need to push for them.

                                                                              1. 2

                                                                                “I trust the soft skills and systems thinking of engineers about as far as I can thrown them”

                                                                                I was a bit surprised to read that. I know engineers are infamous for falling short on “soft” skills but isn’t systems thinking supposed to be a forte of engineers?

                                                                                1. 2

                                                                                  One would think so!

                                                                                  In my experience the first thing most smart (note: not wise, just smart) engineers reach for when consulted with a misbehaving situation, especially involving humans, is a system. They have this idea that some intricate set of deterministic protocols and social customs will save them from the ickiness and uncertainty of dealing with other sentient rotting meat. They’re invariably wrong.

                                                                                  Outside of dealing with other people in meatspace, my current work in web stuff has similarly colored my opinion of “systems thinking”, to the point where I basically don’t trust anybody to reliably engineer anything larger than a GET route backed by a non-parameterized query to a sqlite database–they tend to want to add extra flexibility, containers, config files, a few ansible scripts for good measure, maybe some transpiler to the mix to support a pet stage 1 language feature, and all this other nonsense.

                                                                                  So, sadly, I’m reluctant to trust those folks who overengineer and underempathize to successfully build and manage a union.

                                                                                  1. 2

                                                                                    Engineers are famous for thinking that a new bit of technology could revolutionize systems which include human social behaviors.

                                                                                    I’ve met 2-3 engineers in the past decade who I would call ‘systems thinkers’. I’d like to make it onto my own list, someday.

                                                                                2. 6

                                                                                  I have on my reading list https://www.press.uillinois.edu/books/catalog/47czc6ch9780252022432.html, which talks about the self-organized unions in 1930s that preceded NLRB, and the ways in which they were more democratic and more responsive to membership.

                                                                                  1. 1

                                                                                    I eagerly await your synopsis of it and maybe I’ll pick it up myself. I enjoy your writing!

                                                                                    1. 0

                                                                                      Taft-Hartley in the 1950s had a terrible effect on unions, partly by banning wild-cat strikes and boycotts both of which forced union leaders to be responsive to members.

                                                                                  1. 2

                                                                                    The advantage of RPC over REST is for thing like searching, which don’t lend themselves to a RESTful interpretation without contortions.

                                                                                    In particular, operations over mixture of data types don’t translate well to REST.

                                                                                    1. 2

                                                                                      I’ve played around some with QUIC and it is indeed very nice. Even without needing things like resumption of connections or higher performance than TCP, multiplexing multiple streams over one connection is super nice for being able to design protocols and software, and having transparent encryption is a bonus since you’ll always need that sooner or later anyway.

                                                                                      It’s dumb that they’re trying to call it HTTP/3 though, since it really has nothing to do with HTTP.

                                                                                      1. 4

                                                                                        HTTP/3 is just the version of HTTP that sits on top of QUIC instead of TCP.

                                                                                        1. 1

                                                                                          I missed that part of the article, I thought that they were renaming QUIC itself to HTTP/3 which seemed rather baffling. Thanks for the correction.

                                                                                          1. 1

                                                                                            Yeah, the author’s writing is a bit confusing so I can see why you got that impression :)

                                                                                      1. 4

                                                                                        I wish he’d made his CSVs available to download so I could see what other days were particularly good/bad to fly…

                                                                                        1. 1

                                                                                          There is a midsummer dip I want to investigate

                                                                                        1. 2

                                                                                          It’s kind of funny to see (pbuh) after an organization, since the ‘h’ in pbuh refers to a singular pronoun!

                                                                                          1. 4

                                                                                            Quote from the article (the 2 words in [] added by me since they seemed like a clerical error in the original):

                                                                                            ‘the most common form of harassment reported is gender harassment, which can be something as [simple as] saying that “women don’t make good supervisors.”’

                                                                                            That claim really does sound like gender harassment to me. You can’t make a claim that simplistic without an overwhelming amount of proof to back it up. Without that kind of proof you aren’t engaging in science at all but rather just trying to espouse your bigoted views.