1. 2

    Why would one use Kit over Rust?

    1. 7

      Creator here. Any of the reasons for using C over Rust would apply. A couple things stand out for me:

      • Seamless interop with C. Kit’s semantics map directly onto C’s, and bindings aren’t needed.
      • Sometimes you don’t need the borrow checker and it becomes an unnecessary hurdle. e.g. to implement a doubly linked list without heap allocation you’ll likely end up using raw pointers and unsafe blocks anyway. Any shared mutable state requires extra cognitive overhead in Rust.
      • Implicit values and term rewriting result in more concise abstractions.

      With that said, I love Rust and a lot of Kit’s features are directly inspired by Rust.

      1. 5

        Ooh I like the generalized newtype deriving:

        Abstracts inherit some semantics from their underlying type by default, including trait implementations and methods. The abstract can declare its own methods or trait implementations which will take precedence over that of the underlying type.

        I can see how the term rewriting is similar to ghc’s “stream fusion” pragmas, which were always very tacked-on to Haskell.

    1. 6

      I use rebase to merge small fixes into the original commit, rather than having:

      • commit 1
      • commit 2
      • fix for bug in commit 1

      But not if I’ve shared these commits with anyone else. As long as nobody but you has the commit, it should be safe to change its hash.

      1. 1

        My understanding of ethereum contracts is that for more complex algorithms they will perform as much computation off-chain as possible, performing only the minimum verification steps on the chain.

        Does Urbit help with abstracting this away at all?

        What advantage does the Urbit platform give over writing Ethereum contracts directly?

        1. 14

          They published an update:

          Now that a few days have passed, I should clarify some things.

          At the time I wrote this comment, there was one commit and virtually no discussion on the ayo.js repo. Since then, there’s much more activity, and the goals of the project are much more clear - had this been asked today, I’d not have responded so strongly.

          I still don’t think a fork is the right solution to the issues that precipitated it, but I do wholeheartedly agree with the aims of the fork, and with the morals and values of those who created it - and I fully support their goals.

          In general terms, for a fork to be added to nvm, at a minimum the following would need to be true:

          • there exists at least one official release
          • the project follows semver
          • the project has a way to list versions, preferably identical in format to http://nodejs.org/dist/index.tab and https://iojs.org/dist/index.tab
          • The project ideally provides binaries for at least all the platforms that node supports, and if not, provides a concrete set of rules I can implement to help decide when a user can use a binary or not
          • there exists “enough” interest that the added complexity is warranted (this is a fuzzy requirement, yes, but hopefully it still makes sense to people)

          If anyone wants to make a case for nvm supporting ayo.js, please do, but please note that any anti-CoC or similar trolling will be dealt with promptly.

          quoted from comment by ljharb https://github.com/creationix/nvm/issues/1595#issuecomment-325159240

            1. 1

              Is that really a concern or why? I’d have guess more people would want a native PDF reader instead of a web viewer. Just curious.

              1. 2

                Yeah, I’d rather have a file I can read at my leisure than a web page that crashes my browser.

                1. 3

                  You can use alt+click if you want to download a file instead of open it in your browser, but there’s no option to disable download if they’ve set the the content type HTTP header to force a download.

                  1. 2

                    Downloading the GitHub PDF viewer shell is rarely what I want.

                    1. 2

                      Have you made sure to configure your HTTP user agent to send the appropriate Accept header to indicate that you are not interested in HTML content for pages ending in .pdf when you are attempting to download the file?

                      (just kidding)

                      I can’t seem to find a way in the github UI to directly link to the pdf :(

            1. 22

              It’s interesting to ponder why Google would invite someone with a completely opposite worldview. Not just different, but a perspective that openly calls for the end of all the Googles out there. I have to watch it.

              Edit: Gold nugget in the last final seconds:

              Interviewer: Do you have anything you’d like to ask us [Googlers, marketers, software engineers]?

              Chomsky: Why not do some of the serious things?

              1. 7

                Remember that Google might not equal the Googler or team of them that invited this person. This is a huge company with a lot of different kinds of people. I imagine they bring in many different kinds of people to suite different tastes. It’s also not going to be threatened by someone disagreeing with it given the audience can just shout the person out the door and not invite them again. One or more inviting him probably liked some stuff he said in a movie or presentation. Then, they thought some people might enjoy hearing him speak. The end.

                That’s my default assumption anyway.

                1. 3

                  I agree. In fact it would’ve been more notorious not accepting the proposal of his talk.

                  1. 2

                    Working at Google (but having no idea of the background of this talk) I would very much expect it to have happened like that.

                  2. 7

                    It’s interesting to ponder why Google would invite someone with a completely opposite worldview. Not just different, but a perspective that openly calls for the end of all the Googles out there. I have to watch it.

                    That’s a good way to signal you’re secure in your worldview: freely invite people to challenge it.

                    1. 13

                      While I agree with you in the general case, I think Google is doing this to placate it’s employees. What better way to dispel animosity than to accept the other side as one of your own?

                      1. 9

                        (kind of tangential, but…) I’ve always found it fascinating how social movements often collapse when legitimized.

                        It’s like when a manager gives lip service to the concerns of an unhappy employee, making them feel like it’s all going to be better soon, but effort is not spent to actually change a situation.

                        When you walk around Google campuses, there is often material on the walls in common areas that talks about various social causes that Google is working to improve. It feels great to think that your organization is part of the solution.

                        The gap between superficial and structural control structures is interesting to pay attention to when seeking changes to a system. You can really dispel the risk of an insurrection by letting a Black Panther get elected, bringing in an external investigator to fix your sexual harassment problems, hosting a Noam Chomsky talk, etc… without risking any structural change.

                      2. 2

                        I think know what you’re trying to say, but if your opinion is “Google should stop existing” and then Google invites you to give a talk, what’s the point here? They’re not going to be persuaded into oblivion, so… why? As a pretense of open-mindedness? Or maybe it wants to be associated with the intellectual prestige of Chomsky? What’s the real reason, I wonder.

                        1. 3

                          An institution like Google might not even consider it to be at odds with a progressive, anti-capitalist view like Chomsky’s - it’s a different sphere with a different perception of reality. “Don’t be evil” is not just a empty phrase, these people really believe it. Moreover, the questions given by the interviewer where purely instrumentalist in nature: science is a tool for them, a means to an end. It’s an attempt to learn from an famous scientist, without considering the moral issues which are much more important to someone like Chomsky.

                          1. 1

                            “Don’t be evil” is not just a empty phrase

                            They dropped that a while back if you’re talking Google. The company has been practicing plenty of evil in surveillance sense, too. Hell, just the revenues versus spending on quick, security patches for Android by itself shows how evil they’ll be to their users to squeeze extra profit out. ;)

                            1. 1

                              I totally agree. What I meant was that the people behind the institution called Google most certainly have a different perception of evil.

                      3. 7

                        A friend’s workplace had protestors picket outside its door. The boss brought out coffee and donuts, warmly thanked them all for coming, and went back in. Within a half-hour, fed on the company’s dime and with no target for anger, they wandered off.

                        The Google employees watched a rousing argument from a famous voice. Really what they watched is their employer act totally unworried while a thousand other employees sat still. Next comes lunch or that mid-afternoon status meeting with the team in Australia. There’s no social movement started here. If Chomsky is lucky he planted a seed, but it’s pretty easy to forget someone ineffective telling you that you’re wasting your life and should do something uncomfortable.

                        1. 2

                          The site has a bad rel=canonical and Lobsters followed it. The author has no contact info or links to other online presence so there’s nothing to be done.

                          1. 3

                            Modify Lobsters to not follow rel=canonical unless it can resolve a page with status 2**?

                            1. 1

                              Good idea, posted an issue.

                        1. 2

                          It will have the same problem in the future though, as you wont be able to add new backwards-incompatible features to this header without potentially breaking websites. You probably want to make it’s value a version number or something.

                          wrt SameSite, ideally you want a SameSite cookie and a non-same-site cookie.

                          1. 1

                            Could you add a browser security feature that blocks new domains with suspicious words in them if they’re recently registered? That does approximately the same thing.

                            But if it becomes widespread people will just move to domains without those words.

                            1. 3

                              The FBI file makes depressing reading for critics of Gamergate. It is heavily redacted, so we don’t know why prosecutors did not pursue any of the cases.

                              Yes, it is indeed depressing knowing that you can’t get the people you don’t like and who say things to you don’t appreciate to get sucked into the whirling maw of the American penal system. We should certainly fix that bug!

                              Twitter, Google, and Microsoft all cooperated in the investigation, and subpoena warrants were served by a grand jury. This was taken seriously by the FBI, even if nothing ultimately came of it.

                              Good to hear that the private sector surveillance apparatus is doing their part on the war on meanies.

                              ~

                              Can we…not…rehash Gamergate shit here? Like, that’s the very definition of nontechnical content that everybody has strong opinions about and which nobody will convince anybody else of anything about. Both sides are still claiming victory (because if you repeat a lie often enough on the internet, you become the winner), both sides engage in shitty harassment, both sides have questionable ideologies, etc.

                              It’s a tire fire. Stop adding tires, and don’t start one here.

                              EDIT: And flagged troll, by some coward. You do realize that every time you abuse the troll flag it loses its effectiveness right? Users who might otherwise be like “hm, maybe that post was over the line, lemme reconsider” eventually just go “meh well looks like somebody disagreed with me whatever”. If you overuse words, they lose meaning. Have you learned nothing in the last year?

                              1. 24

                                Dude. Don’t play that “both sides are just the same” equivocation bullshit here. The “oh the prison-industrial complex is so awful, anyone who tries to use it to stop people making endless death threats is clearly the bad guy” look isn’t a good one either. (I note in passing that the “appeal to consequences” is in the big list of argumentative fallacies on Wikipedia.)

                                What happened to these particular women was wrong. Full stop. You can make all the arguments you like about other individuals (and I have seen testimony I personally believe that some pro-GG individuals were on the receiving end of some pretty nasty harassment) but none of that will change that basic fact. Either own it, or accept that you’ll get labelled as a troll & a bigot, because if you minimise what happened to these people then that’s what you are.

                                1. 3

                                  I at no time have said that what happened to the victims on either side was anything but wrong.

                                  I’ve pointed out at some modest length that both sides have done things I find reprehensible (as well as some things I think are admirable), and that neither side should be taking up space on a forum for discussing the practice of technology.

                                  I’m sorry I’m not blindly advocating in support of your preferred…whatever it is you believe. Go punch some Nazis and feel better, I guess? ¯\_(ツ)_/¯

                                  1. 9

                                    Umm. The tags on this post are “culture” and “law”.

                                    Very clearly this article is at the intersection of “culture” and “law” with “technology”.

                                    Hit “Filters” at the top of the page, tick “culture” and “law” click and save….. and none of your space will be occupied, and your sock will remain un-angered by the passing debates on the subject.

                                    Admittedly that forum mechanism is a little crude in that I believe it would filter (“culture” || “law”), and not (“culture” && “law”).

                                    But anyway, “law” is one of those things that tends to tick along unnoticed until it makes you angry.

                                    1. -3

                                      The “literally full of ants” line in your bio now makes total sense.

                                      (And now I’m wondering whether that little ad hominem at the end there was a classic example of projection in action.)

                                  2. 15

                                    both sides have questionable ideologies, etc

                                    Are you saying social justice and feminism are a “questionable ideology”? Or referring to something else here?

                                    (I agree that the US prison-industrial complex is horrific and any justice obtained through it is tainted by that)

                                    1. 5

                                      The people who claim those movements as their own are definitely responsible for immense amounts of narrow-mindedness, bullying, prejudice, and indeed inability to see people who disagree with them on the smallest point as human. It’s the common disease of any -ism, and they’re no less prone to it than any other.

                                      1. 7

                                        Are you saying social justice and feminism are a “questionable ideology”?

                                        At the risk of being motte-and-bailey’d, I’m going to say that, yes, what many people in 2017 self-refer to as “social justice” and “feminism” are extremely questionable, and in fact are actually antithetical to their purported goals of fairness and equality.

                                        To preempt any comments to the effect of “Those are just the extremists; most feminist/social justice activists actually only believe <reasonable thing>”; you are incorrect. I am a student at a liberal university in a liberal town, so I interact with these people every day. I get to see them “in the bailey”, so to speak.

                                        1. 7

                                          Threading the needle very finely here, so please don’t jump to conclusions: are you saying that supportings of honesty in games journalism (hah) and protection of established culture (hah hah) are “questionable ideologies”?

                                          Of course not! However, one will invariably then point to the acts of harassment and vile speech used to silence others. And then somebody on the other side can point out the counterdoxxing, social media hate mobbing, organized blacklists (GGautoblocker, etc.) and cultural erasure being done too.

                                          Unfortunately we can’t judge both sides by their best actors, and both sides' ideologies clearly support actors doing shitty things when it suits their cause despite having some reasonable or even positive ideas in other areas. We don’t get to cherrypick, and that’s why I call both questionable.

                                          (And to answer your original query, since both tents of social justice and feminism are quite large, including calls to do things like eradicate the male sex, yes, I find them questionable. I similarly find most forms of chauvinism, capitalism, communism, socialism, and most other -isms suspect. Such is the lot of the skeptic.)

                                          1. 10

                                            We don’t get to cherrypick

                                            […]

                                            including calls to do things like eradicate the male sex

                                            You don’t consider picking a piece of satire authored in 1967 cherry-picking?

                                            “The Manifesto is widely regarded as satirical, but based on legitimate philosophical and social concerns” - https://en.wikipedia.org/wiki/SCUM_Manifesto

                                            1. 8

                                              You’re selectively quoting that source, because of course it’s helpful to distance the movement from the crazies. We can snipe sources and quotes back and forth, but dismissing that document as merely “satire” is revisionist history: at the very least, given the fact that the author shot Andy Warhol because she felt he had too much control over her, it’s unlikely. Satirists typically don’t shoot people.

                                              You don’t consider picking a piece of satire authored in 1967 cherry-picking?

                                              I’d be happy to link to a lot of the good stuff done by feminists and socjus folks, but people somehow never have trouble remembering that.

                                              More generally, it’s marvelously convenient to say “oh no, that was all just satire/a lone actor/a fringe element” and then act offended when the other side does the same thing when questioned about their extremists.

                                              That’s what I mean by not cherrypicking–you don’t get to pick the subset of the ideological practitioners that support things in an agreeable way. We condemn the folks who raised money to stop bullying and have valid concerns about losing a safe space because some of them also made bomb threats.

                                              Why shouldn’t we have the same concern about the side that, while it supports good work on diversity and inclusiveness and social justice stuff also engages in the same shitty terrible behavior they complain about?

                                              I’m not for either side. I support neither organized bullying, nor lying, nor mob justice. I don’t have to be a fascist buzzcut evil MRA goon to see that there is a lot of making fun of awkward nerds by belittling their choice of cultural touchstones. I don’t have to be a trans rainbow-haired SJW ally to see that there is a lot of truly vile harassment and just awful, awful stuff being written by people that should probably just shut up and go back to enjoying their vidya.

                                        2. 4

                                          Yes, it is indeed depressing knowing that you can’t get the people you don’t like and who say things to you don’t appreciate to get sucked into the whirling maw of the American penal system. We should certainly fix that bug!

                                          If you don’t like that it’s a crime to make death threats write to your congressmen. Until then it’s reasonable and yes correct to expect that a good and sane law like this be upheld. It might be a surprise to you but people get murdered every year, many of them after threats!

                                          1. 4

                                            Can we…not…rehash Gamergate shit here?

                                            Uh… on this comment thread you were the first person to bring it up…

                                            1. 4

                                              Did you read the title of the story?

                                              1. 3

                                                The submission was GG stuff. My post was an appeal to avoid what will doubtless end as another tiresome dragon.

                                                1. 2

                                                  Your post caused this, which is likely why you were marked troll.

                                                  1. 1

                                                    I’d amassed several troll downvotes before a single reply happened, as a matter of fact.

                                            1. 1

                                              Isn’t that the period, not the frequency? Frequency is the inverse of period.

                                              1. 6

                                                I’m really confused, is this satire? How does an image appear in a source code file? I’m unable to verify any of these by looking at the project’s source code.

                                                1. 6

                                                  I had to stop and work this out too. It’s a sad reality when you can’t quite work out whether some JavaScript developers really did decide to embed the entire Encyclopaedia Britannica in their library.

                                                  1. 1

                                                    Such an article that is not obviously satire (it doesn’t read as such to me) can give a lot of people the entire wrong impression about the projects listed.

                                                    1. 2

                                                      On the other hand, if people have trouble figuring out this is satire, maybe it doesn’t even give a wrong impression - as in, yes this is hyperbole but not far from reality so it reasonably approaches reality. So concluding that “this is madness” from such a satirical article is not completely wrong as reality is already “this is very close to madness”.

                                                  2. 3

                                                    It is.

                                                    1. 2

                                                      The node.js file from babel for reference: https://github.com/babel/babel/blob/master/packages/babel-core/src/api/node.js

                                                      It’s a really well-done satire that many people will believe is true. Only thing, the twitter like part was the weakest part since you need twitter credentials to “like” stuff.

                                                      I was hoping for a discussing on how to minimize the dependencies. Maybe agreeing on some meta-package included with all new npm releases containing the most commonly used libraries in one solid and well-integrated library.

                                                      1. 6

                                                        The twitter liking came close to making a very good point, but it’s a little opaque. The issue here is not just about bloat and wasted resources and slow startup times, but how well do you understand what it does? This is code that’s running, doing something, but what? Do you trust it?

                                                        As satire, maybe the weakest part, but probably the most important lesson.

                                                        1. 2

                                                          When I started reading the article I assumed the author had used node’s request library to interact with twitter in the past and had their credentials saved in some kind of global cookie jar.

                                                          The Encyclopædia Britannica one was the best though, I can seriously see that happening.

                                                      1. 1

                                                        I agree with his opinions on all but the search example, a big magnifying glass is just as easy, if not easier to see than the smaller “Search” blurb. The icon color in the case he chose could’ve contrasted more with the the background however.

                                                        1. 2

                                                          Part of the point was that the icon is completely unparseable to a screen reader. Some users have limited sight, for which better visibility is relevant. Some users have no sight.

                                                          1. 5

                                                            That’s why HTML has alt text

                                                            1. 3

                                                              I would suggest trying this in a screen reader (ChromeVox and Apple’s VoiceOver are both free), with your monitor turned off. Most web designers have no intention of doing that, so if they think about it at all they’re guessing how users will hear their UI, and then users are having to guess what the designer was thinking.

                                                              Using labels is a simple rule that is maximally explicit about what fields do what. Testing designs in screen readers would also work.

                                                              Alt text in this situation turns out not to be ideal, since the image is merely “near” the field in the structural layout, and not associated with it in a way that’s programmatically detectable. But the way to know is to try it, not to guess.

                                                            2. 2

                                                              Search is kind of a special case, as there is a semantic type=“search” for input tags

                                                              1. 1

                                                                Can you create a label that says “Search Query” for the search input, and hide it using “overflow: hidden” or something, and use alt text for the magnifying glass submit button that also says “Search”?

                                                                1. 5

                                                                  You can use ARIA to add a lot of the hints needed. I’ve not seen a lot of front end developers make use of this.

                                                            1. 5

                                                              How do you “explain” a multilayer neural network?

                                                              1. 12

                                                                That’s a good point, and one of the reasons that certain industries can’t use neural networks. I’ve heard that credit card companies have to use something like a decision tree because they have to be able to prove that race wasn’t a factor in the decision.

                                                                1. 7

                                                                  Wow, that’s interesting to know. Leaving aside the clash of politics and science/engineering, why can’t they just use a NN and leave out race data from the feature dimensions? I would expect the result is the same.

                                                                  1. 11

                                                                    From TFA:

                                                                    It is important to note that paragraph 38 and Article 11 paragraph 3 specifically address discrimination from profiling that makes use of sensitive data. In unpacking this mandate, we must distinguish between two potential interpretations. The first is that this directive only pertains to cases where an algorithm is making direct use of data that is intrinsically sensitive. This would include, for example, variables that code for race, finances, or any of the other categories of sensitive information. However, it is widely acknowledged that simply removing certain variables from a model does not ensure predictions that are, in effect, uncorrelated to those variables (e.g. Leese (2014); Hardt (2014)). For example, if a certain geographic region has a high number of low income or minority residents, an algorithm that employs geographic data to determine loan eligibility is likely to produce results that are, in effect, informed by race and income.

                                                                    Thus a second interpretation takes a broader view of ‘sensitive data’ to include not only those variables which are explicitly named, but also any variables with which they are correlated. This would put the onus on a data processor to ensure that algorithms are not provided with datasets containing variables that are correlated with the “special categories of personal data” in Article 10.

                                                                    However, this interpretation also suffers from a number of complications in practice. With relatively small datasets it may be possible to both identify and account for correlations between sensitive and ‘non-sensitive’ variables. However, as datasets become increasingly large, correlations can become increasingly complex and difficult to detect. The link between geography and income may be obvious, but less obvious correlations—say between browsing time and income—are likely to exist within large enough datasets and can lead to discriminatory effects (Barocas & Selbst, 2016). For example, at an annual conference of actuaries, consultants from Deloitte explained that they can now “use thousands of ‘non-traditional’ third party data sources, such as consumer buying history, to predict a life insurance applicant’s health status with an accuracy comparable to a medical exam” (Robinson et al., 2014). With sufficiently large data sets, the task of exhaustively identifying and excluding data features correlated with “sensitive categories” a priori may be impossible. The GDPR thus presents us with a dilemma with two horns: under one interpretation the non-discrimination requirement is ineffective, under the other it is infeasible.

                                                                    1. 4

                                                                      Right. And depending on your threshold for correlated, you can’t use ANY variable.

                                                                      It’s also interesting that gender, marital status and age are not excluded - at least in the US. Car insurance rates are gender, age and marital status dependent.

                                                                      1. 1

                                                                        Right. And depending on your threshold for correlated, you can’t use ANY variable.

                                                                        That’s the second horn of the dilemma mentioned in the last line.

                                                                        It’s also interesting that gender, marital status and age are not excluded - at least in the US. Car insurance rates are gender, age and marital status dependent.

                                                                        I think this is because it is possible to make a specific business case for it; all three are considered protected classes, and are forbidden from discrimination in other cases (like employment and housing).

                                                                        Also responding to your previous comment, there are variables which can be used with high fidelity as proxies for e.g. race or sex, like name.

                                                                      2. 2

                                                                        Is there any way to look for correlations with protected classes in the data, and remove those correlations, while still preserving the ability of making inferences off whatever information remains?

                                                                        1. 1

                                                                          If there is, it’s probably related to differential privacy. It is subject to a problem of incentives, though; what motivation does anyone have to make the filter good?

                                                                  2. 3

                                                                    Map each connection to an input for a markov generator?

                                                                    1. 4

                                                                      :) One could also print out the weight matrix …

                                                                  1. 3

                                                                    How do you control for more bugs being found in projects of a particular programming language, independent of the actual rate of bugs?

                                                                    For example, if it’s easier to find bugs in typed languages, you might see a higher apparent rate of bugs.

                                                                    1. 4

                                                                      Wow does this article wander.. A LOT. It basically makes the argument that it’s not feasible with current technology so it will never be possible. The line “because the brain just doesn’t operate through deterministic physics.” is currently non-falsifiable. The only thing we can say about whether our mind will be uploaded in 2016 is that it is not possible today but it may be possible in the future. It’s not a very bold claim but it is arguably the only correct claim about the subject that has been made.

                                                                      Edit: By correct I mean something we actually know to be true as opposed to conjecture.

                                                                      1. 3

                                                                        because the brain just doesn’t operate through deterministic physics.

                                                                        Every component of it is either completely predictable or completely random. If it’s completely random, then all you need is an RNG. To say otherwise is to reject the Church-Turing thesis.

                                                                        1. 1

                                                                          The part I found most interesting is that simulating the “neural network” isn’t sufficient to emulate the brain, because the fundamental unit of computation is the molecule rather than the neuron. Unlike a microprocessor which is specifically designed to have a higher-level logical wiring diagram that is merely implemented in hardware, the brain wasn’t “designed” with this kind of layering in mind, and it appears that a lot of low-level molecular interactions, not cleanly broken down into higher-level functional units, carry out a substantial portion of the computation. Which greatly ups the requirements for successfully scanning and simulating a brain.

                                                                          I believe something vaguely similar has been found when evolving circuits: absent some kind of constraint preventing it, they’ll start evolving mechanisms to carry out computation outside of the normal circuit elements, e.g. they’ll use weird nonlinear RF interactions between nearby elements to carry out real computation. Your normal high-level circuit simulation software would no longer be sufficient to simulate this kind of circuit; you’d need something that simulated the physics in more detail.

                                                                        1. 5

                                                                          I don’t like the word “professionalism”. It makes me think of zero sum games of respectability, ties and suits and enforced gendered garments, scripted interaction, conformity, authoritarianism.

                                                                          We have managed to create an industry where most of us are allowed to wear much more than most other industries of similar pay allow, and allowed much more freedom in general. Let’s not undo that. If anything we should be pushing further in that direction.

                                                                          1. 6

                                                                            Sorry if my response is long. That just means that you brought up an interesting point. This topic of professionalism (good and bad) is really interesting.

                                                                            I don’t like the word “professionalism”. It makes me think of zero sum games of respectability, ties and suits and enforced gendered garments, scripted interaction, conformity, authoritarianism.

                                                                            I see where you’re coming from, but I disagree. I do think that authoritarians and bad actors tend to use “unprofessional” like “not a team player”. And sure, I hate that conformist definition of the word. However, to me professionalism means taking the ethical ramifications of one’s job seriously. Sure, keeping up the image of the profession (and not acting like a total asshole) is a part of that. Does it require wearing a tie? No, of course not.

                                                                            I don’t like conformity (just read up on me) but now that I’m older I recognize that there’s value in a group being organized, especially when image is at stake. Nothing like, “Everyone’s in at 9:00, and if you fuck up once, you’re fired”. That’s shitty and abusive. More like, “Let’s all make sure that criticism stays within the group, and let’s never escalate small disagreements to management, because if we start undermining each other’s credibility, our managers will think of us as untrustworthy children.”

                                                                            We have managed to create an industry where most of us are allowed to wear much more than most other industries of similar pay allow, and allowed much more freedom in general.

                                                                            I strongly disagree. The post-college halfway house culture (open-plan offices, drinking at the desk) feels more natural and free at age 25 but by the time you’re my age (32) much less 50, it’s stifling. The only good thing about it is that you can get a decent amount of work done from 8 to 11 because the kids aren’t in the office yet, but I’d rather just have a real office and be able to get work done at any time of day.

                                                                            I don’t think we have as much freedom as it seems we do. Real professionals don’t have to provide daily visibility into project status. For non-programming professionals, status/performance check-ins are quarterly at most and informal, and their managers are more like their friends than bosses so the performance appraisal is mostly a formality and criticism never goes on the record. (Non-tech boss: “I’m giving you Exceeds Expectations, but off the record, these are the things I want you to improve.” Programmer boss: “I’m giving you Slightly Below Expectations because you took 11 weeks for a project that should have taken 10.”) They’re treated like actual adults at work who can be trusted to do their jobs, and it’s really rare that they’re fired except at the C-level. Yet for us, we have people who are fucking 35 and have to do Scrum, and we have people getting fired all the time, sometimes just for having a bad month.

                                                                            Sure, we have unimportant freedoms and perks: a 30-minute massage on your birthday, a foosball table, the right to dress like a college kid. We don’t have the freedoms that matter, though, because we don’t have any social status.

                                                                            Also, the “rules” that other professionals face when it comes to, say, dress… those are just a harsh form of mentoring with regard to rules that actually apply to all of us. For example, in a bank when the MD sends the 22-year-old analyst home for his unprofessional appearance, it’s embarrassing as hell for that analyst when it happens… but it’s not going to hurt him in the long run. The MD’s not going to be a dick and bring it up on the analyst’s performance review. On the other hand, a 22-year-old programmer who dresses that way is not going to be taken seriously (if he has to work with the rest of the business) so even though he can “get away with it” for years, he’s actually destroyed his chances for promotion. The analyst gets told “these are the rules” early on, and it hurts, but then it’s over. The programmer is allowed to break the rules and lose his credibility, and eventually he gets fired “for performance” (even though his actual work performance was almost certainly adequate and may have been great) whenever the company needs to let people go, and he has no idea why.

                                                                            I’m not saying that the above is good. I wish appearance didn’t matter. It’s annoying having to wear one set of clothes for work that is less comfortable than what I wear elsewhere, and to wear long pants when it’s 95 degrees. However, it’s reality. We only have the freedoms we think we do if we never want to be promoted or taken seriously. You can’t actually bee seen playing foosball at 3:00 pm on a Thursday more than about once a year.

                                                                            Also, and I’m only relaying this dismal story because it’s relevant, when I worked at Google, I fell for the “this isn’t a normal company” line. I posted strong opinions on mailing lists and I criticized a product that was obviously about to fail. What I didn’t know is that every company says “We’re tolerant of internal criticism” and that’s usually a Hundred Flowers move. There was a profanity-laden mailing list (“eng-misc”) that served no purpose other than griping (and I made the mistake of posting on). When I was on the way out, an executive admitted that it was essentially tolerated simply because the management saw it as a way for the next crop of “problem employees” to identify itself (and, probably, because it can be entertaining to see people implode; I observed three eng-misc implosions in my 6 months, and was one).

                                                                            Ultimately, the rules and protocols that you don’t like, even if they aren’t documented, probably exist. They certainly will if you want to move up into management, which you’ll pretty much have to do if you want to get respect past 40, unless you work in an AI lab.

                                                                            Moreover, what I’m proposing won’t add to the rules. If anything, a union-like structure or a professional guild will give representation and counseling to people who fuck up. That way, if you end up in hot water because your manager didn’t like it when you criticized his decision (and, of course, he’ll never tell you that; he’ll make it look like a “performance” issue) you can work with a representative who can get you transferred to another team… instead of an HR person who’s looking out for the company only. A union rep will say, “You fucked up and your manager doesn’t like you, but we’ll twist his arm to make sure you get a good enough review to transfer to another team. Don’t do that again.” An HR person in a tech company is only thinking about one thing: how to fire you in a way that minimizes the chance of a lawsuit.

                                                                            1. 3

                                                                              Real professionals don’t have to provide daily visibility into project status.

                                                                              Why does this bother you so much? I really don’t get it. Frankly if other professions don’t do this, they should (I saw something very similar happening in Shirobako, which suggests that at least some other industries have similar practices). It saves a lot of wasted effort.

                                                                              we have people getting fired all the time, sometimes just for having a bad month.

                                                                              Maybe different here in Europe, because I’ve never seen that happen.

                                                                              Sure, we have unimportant freedoms and perks: a 30-minute massage on your birthday, a foosball table, the right to dress like a college kid. We don’t have the freedoms that matter, though, because we don’t have any social status.

                                                                              What freedoms don’t we have that matter then? For me dress code is a pretty big deal; if you want me to sacrifice that you’d better be promising a hell of a lot in return.

                                                                              On the other hand, a 22-year-old programmer who dresses that way is not going to be taken seriously (if he has to work with the rest of the business) so even though he can “get away with it” for years, he’s actually destroyed his chances for promotion.

                                                                              If whoever’s deciding promotions is doing it based on dumb criteria, that’s their problem (and eventually their resulting underperformance will be noticed). We shouldn’t be enabling them.

                                                                              We only have the freedoms we think we do if we never want to be promoted or taken seriously. You can’t actually bee seen playing foosball at 3:00 pm on a Thursday more than about once a year.

                                                                              The solution to this is to all play foosball at 3:00pm on a Thursday more often. A lot of the time you have to fight for things that you’re entitled to, sure, and you shouldn’t, and a union could help with that. Abandoning the foosball table or the no dress code or whatever is the opposite of what the union should be doing.

                                                                              A union rep will say, “You fucked up and your manager doesn’t like you, but we’ll twist his arm to make sure you get a good enough review to transfer to another team. Don’t do that again.”

                                                                              Again, if you do that you’re enabling that nonsense. That’s the opposite of what a union should be doing.

                                                                              1. 3

                                                                                The solution to this is to all play foosball at 3:00pm on a Thursday more often. A lot of the time you have to fight for things that you’re entitled to, sure, and you shouldn’t, and a union could help with that.

                                                                                Do you really think a table football is a right worth fighting for? I couldn’t care less about things like that. I come to work to work, and I’d rather work normal hours and then go home or spend time with my actual friends than stay long hours at the office playing table tennis with colleagues half of the time.

                                                                                If you want me productive and happy, give me a small quiet room (maybe with another person or three), less interruptions, less demeaning micromanagement and more trust and respect. And you can take away all the perks. Yes, even the espresso machine.

                                                                                1. 4

                                                                                  Do you really think a table football is a right worth fighting for?

                                                                                  Yes. They wouldn’t put it in their recruitment ads if they didn’t think it was worth something.

                                                                                  I’d rather work normal hours and then go home or spend time with my actual friends than stay long hours at the office playing table tennis with colleagues half of the time.

                                                                                  Agreed, but that’s a false dichotomy. I think normal hours are absolutely worth fighting for. I don’t think that makes perks not worth fighting for.

                                                                                  If you want me productive and happy, give me a small quiet room (maybe with another person or three), less interruptions, less demeaning micromanagement and more trust and respect. And you can take away all the perks. Yes, even the espresso machine.

                                                                                  If you want a union, you’re going to have to accept the union spending some of its resources fighting for things that you personally don’t care about.

                                                                                  Personally I don’t understand this obsession with trust/respect/demeaning. /u/michaelochurch in particular is coming off as obsessed with “face” here. In my book, as long as you’re paying me enough, if you want to ignore my judgement then that’s your prerogative.

                                                                                  1. 3

                                                                                    Yes. They wouldn’t put it in their recruitment ads if they didn’t think it was worth something.

                                                                                    They think potential employees value it. They’re ads, after all.

                                                                                    Agreed, but that’s a false dichotomy.

                                                                                    You’re probably right.

                                                                                    I don’t think that makes perks not worth fighting for.

                                                                                    Less worth fighting for. For me, a good work environment and reasonable demands (e.g., WRT working hours) are essential, table games are ornaments.

                                                                                    I also don’t think that activities other than working and relaxing for 10 minutes should be encouraged at work.

                                                                                    If you want a union […]

                                                                                    Agreed.

                                                                                    Personally I don’t understand this obsession with trust/respect/demeaning. […] In my book, as long as you’re paying me enough, if you want to ignore my judgement then that’s your prerogative.

                                                                                    I wasn’t talking about scrum in particular, but work relationships in general. They matter. If I feel like I’m treated like shit 8 hours a day, 5 days a week, it will influence my general mood outside of work. If I sit in a noisy environment and am constantly interrupted, not only my performance will drop, but I’ll also have to decompress for hours after work every day.

                                                                                    I know the feeling of looking forward to a day of work. I know what it’s like waking up and thinking, “oh no, another day at the office”. It’s not worth the same salary.

                                                                                    1. 2

                                                                                      Yes. They wouldn’t put it in their recruitment ads if they didn’t think it was worth something.

                                                                                      Look, it’s worth something. All equal, I’d rather have the foosball table, as long as it’s not next to my working space. Here’s the thing, though. I’m 32. I’ve had time to think about my priorities. If I like foosball, I’ll buy a table for my apartment and invite my friends over. If I want a massage, I can buy one.

                                                                                      I think normal hours are absolutely worth fighting for. I don’t think that makes perks not worth fighting for.

                                                                                      I absolutely agree. Some perks are worth more than others. I’d rather have decent health insurance than a foosball table. Right now, the startup ecosystem is ramping up on the showpiece perks while dialing down on the more meaningful ones, like professional autonomy, career development, and health insurance and 401k matching.

                                                                                      If you want a union, you’re going to have to accept the union spending some of its resources fighting for things that you personally don’t care about.

                                                                                      Sure. That’s absolutely true. However, management invests a lot of its time in things that are actively harmful: stack ranking and aggressive performance review systems, for example. A union that can fight back against mismanagement will not only help us, as developers, but improve our companies as well. Union shops aren’t actually unprofitable in most cases; often, unions make the companies better for their owners. (It’s usually when unions refuse to compromise in a dying or contracting industry that they’re harmful, insofar as they hasten the process. Software isn’t a dying industry.)

                                                                                      Personally I don’t understand this obsession with trust/respect/demeaning. /u/michaelochurch in particular is coming off as obsessed with “face” here. In my book, as long as you’re paying me enough, if you want to ignore my judgement then that’s your prerogative.

                                                                                      That’s a reasonable stance for, say, a $400/hour consulting gig. If someone’s willing to pay a premium for my time and then ignore my judgment, fine. I’m collecting either way. For salaried work, it’s different. We work at an 80+ percent discount (relative to what we’d be worth as consultants) because we expect a certain stability and career coherence.

                                                                                      Demeaning micromanagement not only threatens your job stability, but it also influences the quality of your work and what you work on. You can’t put a trash-pile of “user stories” on your CV. It won’t do anything for your career. Your career is advanced by macroscopic accomplishments that actually matter, not “completed 832 story points worth of work on time”.

                                                                                      Inexperienced programmers don’t have a problem with micromanagement because they haven’t seen anything else, and they also don’t know what happens to the careers (and, moreover, to the minds) of those who work in demeaning conditions for years on end. I can deal with a shitty project. I can’t stand to live in a world where aggressive micromanagement (called “Agile”, while being anything but) is held up as the ideal.

                                                                                      However, I’m 32 and remember pre-Scrum programming and it was pretty great. You had time to actually learn things. You could do things well and it was appreciated. Software actually worked.

                                                                                      1. 3

                                                                                        You seem to have some personal obsession with things you see as “demeaning”. I don’t share it, and I don’t find your arguments at all convincing, least of all your appeal to your age.

                                                                                        However, I’m 32 and remember pre-Scrum programming and it was pretty great. You had time to actually learn things. You could do things well and it was appreciated. Software actually worked.

                                                                                        Haha. No it didn’t. I remember those days too, I’ve worked in those conditions. It was bloody awful.

                                                                                        1. 2

                                                                                          Well, I worked in a company that went from “normal” to Scrum, and it became bloody awful.

                                                                                          That software didn’t work, this I agree with.

                                                                                          1. 2

                                                                                            I remember those days too, I’ve worked in those conditions. It was bloody awful.

                                                                                            There have always been bad software shops, but when software is done right, it’s an applied R&D job, where people can actually go after excellence without having to justify themselves to bean counters at every turn. Scrum flies in the face of that.

                                                                                            1. 3

                                                                                              Maybe for you it is. Me I came to software to get away from research, and I find it a lot more fulfilling when there are customers and short feedback loops.

                                                                                    2. 2

                                                                                      Why does this bother you so much? I really don’t get it. Frankly if other professions don’t do this, they should

                                                                                      Having to justify work is a drain and it actually makes the work that is done of lower quality. It’s been shown that if you force creative people to explain themselves at every turn, they create a worse product. Moreover, Agile/Scrum and it’s (again, insulting) insistence on justification and estimation at the micro-detail level has the effect of biasing work toward what can be easily estimated and measured, which is usually rote grunt work of low value.

                                                                                      Frankly, I’m too old to do the same stupid thing over and over. I want real projects, not fucking “user stories”.

                                                                                      Maybe different here in Europe, because I’ve never seen that happen.

                                                                                      Very, very different. It’s easy to fire someone in the US, and hard as hell in the EU.

                                                                                      If whoever’s deciding promotions is doing it based on dumb criteria, that’s their problem (and eventually their resulting underperformance will be noticed).

                                                                                      I’m not convinced. Managers and executives can be bad at their jobs and keep them for a long time. Sure, over the 20-year time frame, a non-producing executive will be asked to resign (and promptly get another executive level job) but even the best programmers don’t have that kind of job security in the US.

                                                                                      Abandoning the foosball table or the no dress code or whatever is the opposite of what the union should be doing.

                                                                                      I’m not against foosball tables or lax dress code. I just don’t think that they’re as important as professional autonomy and fair compensation. I’d be willing to give them up in order to be treated like a trusted professional instead of as a child who needs to do Scrum.

                                                                                      Again, if you do that you’re enabling that nonsense. That’s the opposite of what a union should be doing.

                                                                                      In the US, if your manager doesn’t like you, not only are you on a quick path to being fired due to at-will employment, but transfer within your company is impossible. A union could improve the situation to a point where the manager can’t block your transfer. We could realistically get an arrangement where performance reviews aren’t part of the transfer packet (they shouldn’t be). I don’t think we can realistically get to a point where you can stick around on a team for 3+ years even if your manager hates your guts… and many people would consider that undesirable, because if a manager hates someone, that person’s probably not going to be productive.

                                                                                      1. 3

                                                                                        I’m not against foosball tables or lax dress code. I just don’t think that they’re as important as professional autonomy and fair compensation. I’d be willing to give them up in order to be treated like a trusted professional instead of as a child who needs to do Scrum.

                                                                                        I’m indifferent to this “professional autonomy” or “trust”, at least as you’ve presented it. If this union is going to try to stop Scrum then I will have no part of it (and indeed will oppose it as much as I can), because for me Scrum has provided a lot of value and made my working life a lot better.

                                                                                  2. 2

                                                                                    We have managed to create an industry where most of us are allowed to wear much more than most other industries of similar pay allow, and allowed much more freedom in general.

                                                                                    Eh, I think this depends a lot on whether your personal clothing preferences are in line with the cultural norms. The Bay Area tech industry has different clothing norms, but still has pretty strong ones. For example, traditional business attire has gone all the way from previously required, to now strongly frowned on, to the point where it will be considered a negative “culture fit” at many places if you wear a suit and tie to the interview (I’ve even heard Google interviewers openly saying that). So if you personally feel most comfortable wearing a suit and tie for work clothing, you’re kind of out of luck, time to awkwardly buy new clothes that look more “Bay Area tech” in style if you want a job.

                                                                                  1. 2

                                                                                    They don’t seem to be making any effort to detect non-binary genders, or even mention that there would be some inevitable error because their model is incomplete.

                                                                                    1. 3

                                                                                      I suspect they don’t even know their model is incomplete, because they don’t bother to do any research before jumping ahead into such a fraught area.

                                                                                    1. 1

                                                                                      What about security? Maybe you could have trusted reviewers sign every version of every micropackage?

                                                                                      1. 5

                                                                                        It’s really surreal to read this bureaucratic stuff. We all want to help users, but we’re going to avoid doing something that helps users because some paperwork says not to?

                                                                                        1. 4

                                                                                          “helping users” is up to interpretation. The FSF stance is that the ultimate help for users is that they have full ability to help themselves and reuse the software anyway they want (under the provisions of the GPL). Sure, the stance is debatable, especially in the context of an optionally loadable module, but it is not bureaucratic, just because it is subtle.