1. 8

    Personally I trust Russ Cox’s judgement… though I could see how people who worked on ‘dep’ would be furious. Go has a reputation for taking community direction with a grain of salt. The go team certainly is not afraid to do unpopular things in the goal of simplicity.

    1. 7

      I am reminded of this comment from Russ, which I think explains rather a lot: https://news.ycombinator.com/item?id=4535977

        1. 1

          vgo is certainly different than dep, and in some ways it’s simpler, but in other ways it pushes a lot more complexity on the user. I think on balance it’s got to be a wash, at least for now.

          1. 2

            What are the complexities pushed onto the users?

        1. -3

          authors of popular databases who discuss their sexist ideas openly, neo-reactionaries leading functional programming conferences.

          How dare people discuss controversial and offensive ideas openly? They should be forced underground so those ideas can fester without any external contradiction or moderation.

          And of course people with weird, icky politics should be censored from purely technical events. Who knows what kind of whacky fascist programming paradigms they might force on us otherwise?

          1. 29

            This is an incredibly bad faith excerpt to take out of context. The author was discussing doubts they had about attending the Recurse Center, and:

            A bigger part was the mission itself: “to get dramatically better at programming”. Did I even want to get better at programming?

            A lot of bad things in the world have been created by programmers: software for operating drones that bomb civilians, data-mining that violates privacy, companies that “disrupt” by dropping vast amounts of capital in to a market without any intention of building a sustainable business. A lot of bad people love programming: open source thought leaders who harbor deeply racist views, authors of popular databases who discuss their sexist ideas openly, neo-reactionaries leading functional programming conferences. The norms of programmer culture still revolve around using needless complexity as a cloak of wizardry.

            As @vyodaiken says, you’re demonstrating the toxic behavior the author is wary of.

            1. 5

              This is such a misguided fear (even though the author says it wasn’t realized in reality anyway) - lot’s of bad people love mathematics, science and music too, it’s no reason to question the value of those pursuits.

              1. 13

                That’s the nature of fear. I don’t know how to interpret your comment except as a criticism for the author talking about something she honestly felt, then talking more about it later when the fear wasn’t realized. How is this a problem?

                Tons of people worry about the impact of their work and whether they are on a path that is ultimately doing more good than harm for the world. Is the author not allowed to worry about that too? Is she not allowed to talk about it?

                I’m trying to give you the benefit of the doubt, but I don’t understand what else your comment could be saying.

                1. 0

                  It is more about me being puzzled by the train of thought. I understand wondering if programming is worthwhile, but I don’t understand how the actions of others have any relevance at all.

                  edit: I guess you could make the case harm is an inevitable outcome of programming.

                2. 4

                  A misguided fear? The Recourse Center has designed social rules to prevent behavior we know is endemic in technical (and business) forums. The author appreciated the results of those rules. But she’s “misguided” ! In what way? Is it your contention that there is not an endemic toxic culture in tech forums? Are all those women just making it up? Is Yarvin’s hobby of smirking racism something we are obligated to ignore? How do you get to decide the validity of what other people experience?

                  1. 2

                    Misguided that the actions of others has bearing on your own personal value that can be derived.

                    1. 1

                      It has a bearing on whether I want to put up with it

                3. 2

                  I wasn’t responding to that part of the article; I was responding to the part of the article I had an opinion on. What is your rule for when people are allowed to respond to things? Do they have to fully agree or disagree with the entire article first?

                4. 17

                  And of course people with weird, icky politics should be censored from purely technical events. Who knows what kind of whacky fascist programming paradigms they might force on us otherwise?

                  How dare women suggest tech and especially programming is a potentially hostile environment one might not want to enter! Preposterous. It is just “locker room talk” for programmers! Either learn to deal with it or stay out of our tree house, you icky girl!

                  Why? Why would you focus on that sentence in a post full of great sentences about positive aspects of the Recurse Center?

                  1. 19

                    Reminds me of a quote from Lean Out

                    Women in tech are the canary in the coal mine. Normally when the canary in the coal mine starts dying you know the environment is toxic and you should get the hell out. Instead, the tech industry is looking at the canary, wondering why it can’t breathe, saying “Lean in, canary. Lean in!” When one canary dies they get a new one because getting more canaries is how you fix the lack of canaries, right? Except the problem is that there isn’t enough oxygen in the coal mine, not that there are too few canaries.

                    (from Sunny Allen’s essay What We Don’t Say)

                    1. 6

                      Lot’s of people have a knee jerk reaction because a lot of this stuff sounds like “remove undesirables from society/jobs/conferences”, and puts the power of who is undesirable into the hands of some questionable people.

                      It wasn’t the point of the post though, so i agree with you.

                      1. 8

                        Got another Lean Out quote for you cause they’re just so damn relevant. This one from Sexism in Tech by Katy Levinson.

                        In the least three years, I was asked not to use the words “sexism” or “racism” when speaking on a diversity panel because it might make the audience uncomfortable.

                        Which throws into especially stark relief wyager’s comment that sparked all of this discussion, since “both sides”[1] are equally worried about censorship. But one group actually gets to say racist, sexist, discriminatory stuff and remain in charge. The other can hardly speak on panels and post on their blogs without the whole world jumping down their throats.

                        So yeah, the knee jerk reaction you mention rings a little shallow to me.

                        [1] I know, “both sides” is highly misleading, but it captures the duality on display here.

                        1. 5

                          The other can hardly speak on panels and post on their blogs without the whole world jumping down their throats.

                          You mean like how people tried to ban Moldbug (presumably who the OP was talking about) from LambdaConf?

                          1. 4

                            With something akin to backchanneling over weird views on a blog totally unrelated to his behavior in conferences, too. Another I cited previously was Opalgate where a guy that didn’t agree with trans people on Twitter got hit by a storm of folks in his project wanting him ejected. They didn’t contribute anything to it like he regularly did but did demand it adopt all their political positions after ejecting its main contributor. The venom was intense with much talk of things like burning bridges and them trying to set him up to look like he supported child molestors or something.

                            And these are supposedly the oppressed people who have to worry about “the whole world jumping down on their throats.” The people who eject any folks who disagree with their beliefs from their own projects, conferences, and this thread. You and their other targets don’t look very powerful and oppressive from my vantage point. They were wielding more power in each of these circumstances.

                            1. 5

                              You want people who Yarvin declares are inferior to politely accept his views? Why should they?

                              1. 6

                                We separate things based on context. In conferences, he had caused no trouble at that point. The reports at the time said he just went to give talks and be helpful. On his blog or personal life, he says or does things I don’t agree with. More than many others but still same thing: many people disagreeing with many things. I’d rather have him at the conference because I don’t ban people I disagree with. If he misbehaves at conferences, then we deal with him.

                                My opponents have a different view. They think everyone should believe/do certain things and not believe/do other things. They should be compatible with those in every forum. If they aren’t in even one place, they are to be shamed in or ejected from every place. He was just one example of that behavior. He was an easy target since his crazy views wouldn’t bring lots of sympathy. In the Opal example, the project had been welcoming and nice to everyone with the violation being a maintainer’s actions on Twitter. Nothing stopped people from participating in the project and no evils were done in it. The maintainer did violate a rule of their politics in one public forum, though. So, an entire group of them hit that project, ordered the ejection of that member, ordered total compliance with their beliefs, trolled the hell out of them, and of course offered nothing to the project in code or other support.

                                I’d rather stop that kind of stuff. It’s just domination rather than anything moral or productive. We can either let a small group of people enforce their arbitrary views on everyone with no discussion or dissent allowed like they desire. Alternatively, we accept everyone under rules the various groups have a consensus on where good things we agree on are encouraged and bad things are prohibited. That maximizes the overall good and productive things we do. That’s my stance. It’s also what we usually do at Lobsters. It’s also what most successful companies and democratic governments do. What my opponents who eject people at conferences ask for is more akin to a dictatorship or theocracy since discussion/dissent is considered evil to be punished.

                                1. 7

                                  I have somewhat similar thoughts as you, but here’s a thought experiment for you that might help put some things in perspective. Let’s say you are running a conference. You are invested in it and hope for it to succeed, and you have some or all power in determining who is invited to speak. After the CFP ends, you like Foobar’s talk and invite them. Sometime later, you post the list of speakers. To your surprise, a lot of people are upset about Foobar’s invitation because Foobar maintains a very controversial blog that makes a lot of people uncomfortable.

                                  You decide to stick to your guns. You definitely appreciate that Foobar expresses controversial views and understand that it makes a lot of other people uncomfortable, but you determine that since Foobar’s controversial views are not related to the conference topic, and therefore, they should still be allowed to speak. So you communicate this to all the would-be conference goers and other invited speakers.

                                  I think this is all pretty reasonable actually, although I do understand why some might object to this type of decision making on ethical grounds. But here’s the kicker. At this point, you hear back from N of the invited speakers and M of the people that would otherwise buy tickets. All of them feel strongly enough that they refuse to attend your conference.

                                  So here’s the question: how big does N and/or M need to be for you to retract your invite to Foobar? Are you so ethical as to allow the conference to fail? Or are you so pragmatic as to let it succeed? Perhaps a little of both?

                                  I think the point of this thought experiment is to demonstrate that morals/ethics aren’t necessarily the only thing at stake here. In particular, you could even be in violent agreement with Foobar but still rescind their invitation for practical reasons alone because you want the conference to succeed. I personally don’t have a strong answer to my thought experiment either, so this isn’t a “gotcha” by any means and probably more of a rhetorical proposition than anything else.

                                  1. 2

                                    (Sorry for delay. I was getting overwhelmed between work, email, and foums exploding. Trying to reply to everyone.)

                                    Alright, before the thought experiment, I’ll note that the situation with that conference was a bit different per initial reports I read. The conference wasn’t experiencing a huge loss hinging on accepting or taking such people. Many people liked the presenters’ talks. Instead, a handful of political activists worked behind the scenes convince the people running it to eject a person they didn’t like regardless of what the conference thought. They probably said a lot of the same kinds of things, too, since an organizer would be receptive to them. This kind of behavior is a major reason I’m holding the line resisting the political or meta stuff such people want to work with.

                                    Alright, now to your exploration which is more than reasonable: it’s something I’ve worried about myself.

                                    “At this point, you hear back from N of the invited speakers and M of the people that would otherwise buy tickets. All of them feel strongly enough that they refuse to attend your conference.

                                    It really comes down to the philosophy of the organizers I guess. There’s a few routes they might take:

                                    1. Ideological. Do what’s perceived as right regardless. In this case, they should include their politics in their marketing to give clear signal of what’s expected. They should block or eject anyone not compatible even if the talk fails. The example you gave is one where the talk could fail. On other end, certain conferences in highly-liberal areas might fail if not doing enough to address their concerns like inclusive language.

                                    2. Impact and/or financial success. This philosophy says do what it takes to succeed financially or just in terms of conference activity. Nothing else matters. You gave one example where a conference might have to eject folks controversial among highly-liberal people to get attendees. I’ll also note this same rule would justify reinforcing ills of society like racism or sexism at conferences under “don’t rock the boat” concept. Lecturing or politicizing typical bunch of Silicon Valley or enterprise developers, esp the privileged males, will only irritate them with lost sales. This priority is a double-edged sword.

                                    3. In the middle. The great thing about real life is most stuff is a spectrum with tradeoffs. That’s the hard thing but also good here. An example is an organizer might set ground rules that reduce bad behavior instead of force politics front and center. Another example is ignoring diversity or bad behavior on the sales team at conferences or in meetings for enterprise segment to drive up sales since buyers often want to know their partners are “like them” or some crap. Whereas, the backend, developers or community side, can be really diverse without the haters even knowing they’re supporting an organization that heavily invests in developming minority talent. This is one of my hypothetical schemes rather than something I’ve observed outside Fortune 500 trick of having immigrants doing lots of work in background.

                                    So, I see some possibilities here where the conference organizers’ priorities seem to be the biggest factor in whether they should accept or block someone. They might block some but not others depending on level of extremism. They might rule exclusively on behavior instead of beliefs. The crowd they’re serving might like behaviors like sexism or hate it with serving the crowd being morally context-sensitive.

                                    I write off top of my head for honesty. I wrote that before I got to your last paragraph. I was about to say I don’t really have an answer for you past the conditional framing above. Too dependent on circumstances or whose in control. Seems you didn’t have one either, though. It is a very important consideration, though, since conferences are usually created to accomplish specific things instead of brag they were compatible with ideology of a person or group. Most of them anyway.

                                  2. 4

                                    My opponents have a different view. They think everyone should believe/do certain things and not believe/do other things. They should be compatible with those in every forum.

                                    It is possible that there is a belief, or set of beliefs, which are sufficiently sociopathic that they disqualify people who hold them from a platform in any context? Is there some value for X that if someone publicly and explicitly said “X” you would refuse to support them in any way?

                                    I hope it’s uncontroversial that the answer to both of those questions should be “yes”. In making that affirmation we’ve established that the set of things exists. Now the discussion shifts to which things belong in the set. Reasonable people can make reasonable arguments for this or that belief. I think it’s completely understandable that Moldbug’s feudalist racism would cross the threshold for a lot of reasonable people.

                                    Put more succinctly: a society isn’t obligated to give a platform to the intolerant in deference to the abstract right of free expression. Rather the opposite: a society is made better through a vigorous assault on intolerance, in whatever form it blossoms.

                                    1. 2

                                      You might separate things by context but I don’t. People are not compartments. You might think other people should separate by context and not consider that e.g X is a holocaust denier when X speaks on functional programming. Great but don’t dare demand I do the same. That would be super presumptuous. BTW you appear to believe some organized group is after you. I’m unaware of any such group.

                                      1. 1

                                        e.g X is a holocaust denier when X speaks on functional programming. Great but don’t dare demand I do the same.

                                        I always challenge people who say that to list all of their political beliefs on the major topics that provoke controversy somewhere to link in their profile. We’ll just link it before any comment they make so the person replying can see the entire political spectrum of who they’re talking to plus what they’re saying in that moment as one thing. Then, like you said, they can want to interact with that person in their entirety or ignore all value they may have contributed over one thing they didn’t like. I think we should heed Richelieu’s warning instead.

                                        “BTW you appear to believe some organized group is after you. I’m unaware of any such group.”

                                        I just cited a few. The Yarvin thing was a small group of political activists trying to get rid of someone they didn’t like in a shady way. The Opal scandal was Ehmke’s posse pummeling that project on Github with no problems within it. Ehmke’s been in quite a few of these with an openly-stated mission to force her brand of politics (“social justice”) in every forum using her Code of Conduct as leverage. Two people involved in those actions are active in this forum with both voting for a similar CoC here. Ehmke later griped about the hate she and her white-hating buddies receive online and at Github saying it was because she’s trans rather than shoving her politics down the throats of everyone she meets. I particularly loved how they bragged about hiring “token, white people” on their team. Nobody could even joke about that if they said black. Anyway, I called Ehmke out on that submission for trying to pretend her politics had nothing to do with it. Then, some organized group was after me with the community at least being more impressive in how that was handled than most forums those kind of people hit.

                                        (Edit to emphasive these are loosely-organized, small groups that know how to say the right things hitting people not usually expecting it or knowing how to react. They create PR nightmares with passive-aggressive sophistry, basically.)

                                        So, yeah, there’s definitely organized groups doing the exact thing I’m worried about with some here that have done it on previous forums. They always prop up the rules they use as leverage by saying they’re just trying to stop discrimination or hate speech but (a) they get to define what is or isn’t and (b) their own actions are quite discriminatory against other groups with inconsistent enforcement. Even minority members that disagree with them get hit as happened on HN same week where I got slowbanned for quoting women disagreeing with women. Give them an inch in a new place, they’ll take a mile. I’m not giving them an inch.

                                        Note: There’s plenty of similar stuff happening at college campuses across the states, too. A lot of folks doing this sort of thing come out of them. Hard to combat since dissenting speech is considered hate speech or otherwise put down.

                                        1. 5

                                          That’s not a challenge, it is an example of sealioning. I don’t have any obligation to provide you with an algorithm or to be consistent or to satisfy your sense of what’s right. My right to not read Pound’s poetry because he was a fascist or to read Celine’s early work because it is so eloquent even though he became a fascist, or to refuse to attend a conference where Yarvin speaks or to prefer the rules of Recourse center doesn’t depend on your stamp of approval. Sophie didn’t make any demands of you. On the contrary, you are demanding that she not express opinions that make you uncomfortable. Get over yourself. Go explain why Yarvin’s work is so damn great that you don’t care that he’s a smirking racist or cheer for the pseudo-science of the Google Manifesto all you want. You have the right to speak. You do not have the right to demand others approve or refrain from criticizing or even shunning you.

                          2. -1

                            Why would you focus on that sentence

                            Because I didn’t have anything to say about the other ones. Do you think I’m obligated to address every sentence in an article if I want to address any of them?

                          3. 7

                            The fact that we almost know who she was talking about proves that they can currently discuss these ideas openly mostly fine.

                            So these people express their opinions, and others are like “well now I don’t want to talk to them”. If you(*) want to barrage people with your unpopular opinions, people will stop wanting to hang out with you .

                            I understand the fear of being shut out of social events like conferences. But they’re social events, so if you make yourself unliked… No amount of rulemaking will solve that, I think.

                            The bad faith logical inverse if your argument is “everyone should be friends with everyone. No matter how much disagreement with social issues are present, someone should always be allowed to be present. This includes allowing to bully other members of the community without repurcussions ever.”

                            It’s the bad faith interpretation, but one that some people will make.

                            (*) Impersonal you

                            1. 5

                              “So these people express their opinions, and others are like “well now I don’t want to talk to them”. “

                              These people express opinions but want anyone disagreeing to shut up. That’s been present in replies on most threads here where people did. Allowing only one side to speak while defining any disagreement as an attack or hate is political domination.

                              “This includes allowing to bully other members of the community without repurcussions ever.””

                              There’s the word games your side is famous for. vyodaiken did it earlier redefining a rhetorical disagreement as an attack on one side but not the rhetoric of the other side that painted everyone without qualification with negative labels. In your case, the people whose politics I oppose here regularly define any disagreement as hate speech, offensive, bullying, behaviors not to be tolerated, and so on. Not all of them do but many do. You all redefine the words from the neutral, tolerable thing they are (eg disagreement or political bickering) to a new word we all have a consensus against (eg bullying, hate speech). Then, you’re arguments for action focus on the new word with its meaning whereas what was actually going on is a lesser offense which wouldn’t be justified.

                              So, what people supporting Sophie actually want is anyone on their side able to express their opinions without disagreement and without repurcussions ever. Whereas, anyone disagreeing with it is automatically labeled as something far worse, dismissed immediately, and for some ejected if allowed by rules. That’s always worth fighting against even if wyager’s parody was as poor a wording strategy as Sophie’s own overly-broad, only-negative portrayal of programmers.

                              1. 3

                                She never advocated censorship. She never said “most programmers” or “all programmers”. So your response is obviously not directed at her words but at something else.

                                1. 1

                                  as Sophie’s own overly-broad, only-negative portrayal of programmers.

                                  Again, this is an opinion unsupported by the data. The examples were specific, and real. The concerns are non-trivial, and real. You’re making something about you that isn’t about you.

                                  1. 0

                                    That’s always worth fighting against even if wyager’s parody was as poor a wording strategy as Sophie’s own overly-broad, only-negative portrayal of programmers.

                                    wyager is arguing that people with bad values should be allowed space in public or in others’ private spaces, which is a bad value. Majority supremacists, patriarchal maximalists, authoritarians, etc. should not be allowed safe spaces, and should never be accommodated.

                                    From your characterizations of the author’s post and how they portrayed programmers, it’s clear you’ve either not read it and are arguing from ignorance, or you have read it and are arguing in bad faith, since the passage is clearly contextualized as part of explaining an internal struggle about how best to grow as a human being.

                                    1. 4

                                      From your characterizations of the author’s post and how they portrayed programmers, it’s clear you’ve either not read it and are arguing from ignorance, or you have read it and are arguing in bad faith

                                      I’ve read it. Part of learning a field and growing as a human being is a fair assessment of what’s going on in it good and bad. Author’s concerns in that section solely focus on the bad… the worst of it actually… with the people side being like talking points out of one part of a political debate. Outside of those, I usually see a wide range of claims about programmers, jobs, effects on world, etc. Author is setting up false, strictly-negative premises in either ignorance or bad faith, maybe even unintentionally due to bias, then struggling to work from within the moral straight-jacket she put on. Totally unnecessary if starting from a more accurate worldview that includes the positive and neutral people and programs.

                                      Note that I liked all the stuff about RC in the article. I enjoyed the article right up to that point. I just mentally deleted that part so I could just think about the rest which was most important parts. As in, more corroboration and anecdotal evidence in favor of RC visits. Then, the debate started.

                                      1. 1

                                        Note that I liked all the stuff about RC in the article. I enjoyed the article right up to that point. I just mentally deleted that part so I could just think about the rest which was most important parts.

                                        I feel like you’re attempting to speak in good faith, so I’m going to do the same.

                                        This point I’ve highlighted here, that you “just mentally deleted that part”, is an example of privilege in action*. You have never had your life or well-being threatened by people or organizations like the ones the author calls out, and you have never had to be concerned with whether or not they were active or influential in the spaces you inhabited. Other people are not so lucky, and have learned from difficult experience that they need to be aware of their surroundings and who might be in them, or else they may be injured or otherwise harmed.

                                        Some people, especially those who come from outside the main software development industries, have heard only that IT/tech has a huge problem with sexism and toxic masculine culture. Some people are members of the marginalized groups whose well-being is directly threatened by the personal values of community leaders of some of the popular software communities, as named by the author of the post. The Recurse Center attracts a lot of people from diverse and non-technical backgrounds, and many of those people share the concerns that the author had, and would appreciate having them explicitly dispelled with regards to RC, as the author did.

                                        So the least that those with privilege, like you and I have, can do, is not make it harder for those less fortunate to engage with the playground we have (programming) that also gives us power and status. It’s bad form to raise barriers against those with a harder lot in life than we have. These kinds of messages, from “the other side” as it were to those people who might be afraid of what they’ll find when they get there, are super important. And it’s not about you, or me, or anyone here, unless they’re part of the problem. It’s for other people like the author or who might be thinking about getting into a tech career by applying to RC, but who have heard the industry has some problems.

                                        *) note that you have this privilege, even if you are not privileged in other ways (eg, you were born into a poor family, etc.). life is complicated.

                                        1. 1

                                          Since you’re being in good faith, do read this next like I’m just bluntly saying something instead of losing my shit or being loud. ;)

                                          “You have never had your life or well-being threatened by people or organizations like the ones the author calls out, and you have never had to be concerned with whether or not they were active or influential in the spaces you inhabited. “

                                          You’re assuming I don’t understand the concept because I’m presumably white male. My first school experience was being attacked or mocked because I was a “nerd.” All but a few people excluded us which happened varying degrees whole time in school. That included “minorities.” They all do to nerds what they claim others do to them, including violence by alpha males but not police. They might interrogate or arrest them if something happened involving computers if said nerd is known programmer or hacker.

                                          Next, I was white in a black-run, mostly-black school where they added to mockery or exclusion the fact that we were shouted down if disagreeing with any issue (especially racial) plus randomly attacked. I doubt most of these people talking about their minority concerns have been held down on a bus while black people take turns beating them with the smirking driver not reporting it. Attempts like that were too common for me until I learned kickboxing and paranoid vigilance, esp wide turns around corners. Still had to dodge fights due to rule white people can’t be allowed to win against black people either at all or too much. Varied. My friends and brothers who went to other black schools endured the same where just bending over a water fountain could be too much vulnerability. I avoided bathroom stalls, too, after seeing what that led to.

                                          I also got to be a man in places run by women who favored women. Essentially, whoever stayed in their good graces talking about what they talked about, being an insider, laughing at anti-male jokes, and so on had more privileges in those places. That would benefit grades, get more work hours, increase odds of promotion, even get some guys laid with those opposing sexism shamed. Unlike women on average, it’s been a while since I dealt with that but happening again in my current company. Highly-political, card-playing woman took over a specific department I was almost transfered to. After exit-interviewing her ex-employees, I blocked transfer fast before expected changes happened: she hired mostly black folks like her (esp exploitable youth), promoted only the older black women exactly like her kissing up instead of mix of races/genders who outperformed them, and politics over performance further destroyed that departments’ numbers with them saying nonsense about why. Current team is good with mix of straight/gay/lesbian, white/black, and liberal/moderate/redneck. Usually fun, interesting group with occasional in-fighting due to differences all apologize for after.

                                          That covers structural racism and sexism which the type of politics I fight denies even exists for whites or men despite supporting data. We get no help. What about “neo-reacitonary?” Well, I am an outspoken liberal and Union man who defends decent Muslims and calls out police corruption on the side in the rural South deep in Trump, meth, and capitalist country. Interesting enough, one insult they fling at me here is probable Hillary supporter while people I argue with on liberal forums assume I’m a right-winger. Biases… Being outspoken in rural spots led me to have to negotiate with people intent on beating or killing me right there if I got too many words wrong. Rare people but non-passive outsiders will run into them. Most online “activists” on social media talk about threats which I find are folks talking shit online or with prank calls that don’t on these issues result in hospitalizations or anything almost ever. Just irritating trolling by jerks shielded by anonymity. Pales in comparison to what even a trip for groceries can cost a white person in impoverished areas in or around Memphis, TN. The First 48 was banned from there over too much stuff to cover. Some police are gang members, too, so gotta act in a way to reduce risk of their attention.

                                          Since you admitted it, you might have privilege of growing up as or hanging with white people that didn’t face racism, sexism, or drug heads’ threats on regular basis. Lot of us in poor areas, minority-controlled areas, areas of opposing politics, isolated areas… these are some where many say they have similar experiences to me. We find it strange people “speaking for oppressed” as they might say ignore existence of probably millions of us due to skin color or gender. Especially rural whites given their high rates of both drug addiction and suicide, too. My friends and family have had to fight those.

                                          Alright, what about someone like Sophie or I who are concerned with environments where we might be facing racists or sexists that hate our group? Well, I agree with you entirely that it can be reassuring to see someone bringing that up saying it doesn’t happen at a specific location. Going from an all-black school to a mixed school where they didn’t hate us was… it was heaven. We had fun together! Likewise, groups with fair/excellent women or being around civil Southerners who only get X-ist if explicitly talking politics. I’d definitely want to know every place or group where I could avoid groups I mentioned first in favor of others if that was best I could hope for.

                                          That said, remember how it started was exclusively portraying the field based on worst of the worst. I don’t do that. Since we’re at that point, I’ll tell you the violent people I met were single digit percentage of each area, the negative bias was huge, there were coping mechanisms to get me past some of it, there were neutral/decent people, and some were so fair or good they inspired me to be more skilled or tough. If I talk about a field, I try not to throw them under the bus entirely or I take the counterpoint I had coming for screwing up due to emotion winning or whatever. You’ll see that in programming with C or PHP languages where I’m a strong opponent but don’t pretend they’re 100% bad even if many developers do damage. Likewise, following my politics, I’m still getting along with and exchanging tips with specific Lobsters who were strongly opposing me in prior political debates.

                                          So, what she was doing isn’t the only way to respond. It was a weaker, overly-broad, politically-charged claim that got low-value reactions followed by a whole battle that distracted from her main points. She set her post up to fail to quite a degree. I’d have told her to be more fair and accurate since bringing politics in is putting a spotlight and a metaphorical scope on you. The negative responses left over would have to be haters or themselves prioritizing some politics. Easy to dismiss when they have little to no ground to stand on. Those of us in minority positions unfairly have to be careful about our claims since they’ll get more scrutiny and attack.

                                          Since she probably made up her mind, I just mentally deleted it like I trained myself to do when saying something to that person won’t change their views IRL. Focus on good, shrug off perceived bad if not an intentional attack, and go on from there. It’s how we integrate and survive down here in our powder keg of diversity. Works fine, too, with most of us getting along well enough. :)

                                          “These kinds of messages, from “the other side” as it were to those people who might be afraid of what they’ll find when they get there, are super important.”

                                          This I disagree on if they’re aiming to affect policy or law anywhere. I’ve already seen it happen in many places with ultra-liberal universities being good examples. In those, allowing it to go too far without participation shifted power to those groups. Those groups built on their politics and power until they regularly belittle whites or males in various ways. They also try to silence disagreement on political issues saying it’s not about them. Well, if we stand to lose anything (even rep or jobs) by decree, then it is about us and we should at least weigh in. I don’t gripe about the reasonable stuff where each person has a view they can state, chance at the job, etc. I’m usually backing it.

                                      2. 2

                                        I’m sure all the people hit with the bad value hammer will disappear into the ether once you get your (apparently unauthoritarian) way.

                                        1. 1

                                          Your false equivalence, that being intolerant of intolerance and hatred, is also cowardly stated using passive aggressive style, as well as sarcasm. That is, you are acting like a coward, lest I be accused of not speaking my point forcefully enough.

                                          1. 0

                                            I find passive aggressive sarcasm allows for remarkable concision, but whatever. I don’t respect you and your group as the arbiters of good and bad values and all people like you have done is make me care substantially less about being labeled a patriarchal maximalist or whatever you’d like. Many people I know feel similarly. We’re not going to leave the field if you succeed in banning us from the recurse center

                                            1. 0

                                              Hey, have fun hanging out with Nazis, then.

                                              1. 0

                                                Enjoy weilding whatever power that label still has while it has any at all.

                                                1. 1

                                                  I don’t want to wield power. I want to not be around assholes. Are you really saying you’d rather hang out with white supremacists and gamergater pigs, than take a stand and say, “Those values are not welcome?” How is this even a question?

                                  2. 12

                                    Great illustration of what she wanted to avoid.

                                    1. 8

                                      I don’t get why people don’t want to talk about this? I don’t necessarily agree with wyager, but this type of discourse is pretty healthy IMO. It’s precisely why I prefer this site to HN, because that comment would surely have been censored by the moderators.

                                      1. 5

                                        It’s also completely off topic in the context, which is about using programming for good, and it’s really obnoxiously phrased to boot. Which does matter.

                                        1. 6

                                          In your opinion it is obnoxious, I didn’t find it so bad, but maybe that is just me.

                                          1. 16

                                            Obnoxious is a bit subjective, but his comment is destructive (as opposed to constructive), and that’s an objective observation.

                                            How dare people discuss controversial and offensive ideas openly?

                                            This is sarcastic and demeaning.

                                            They should be forced underground so those ideas can fester without any external contradiction or moderation.

                                            Sarcastic and a strawman.

                                            And of course people with weird, icky politics should be censored from purely technical events.

                                            Sarcastic and a strawman.

                                            Who knows what kind of whacky fascist programming paradigms they might force on us otherwise?

                                            Sarcastic and a strawman.

                                            Here is a what a more honest, direct version of the post would be:

                                            I think people should be allowed to express controversial and offensive ideas openly. Otherwise, they’re pushed underground where they fester, instead of being brought out into the light where they are exposed to moderation and contradiction.

                                            But that wasn’t the comment we got, and for good reason. The more direct version wouldn’t be posted because it is immediately obvious that it isn’t related to this topic. The response to it might be

                                            The author is just talking about what makes her uncomfortable in most programming community spaces, and why the Recurse center was so valuable for her. She isn’t making an argument or saying you need to feel the same way.

                                            Thus it is clear that the comment, even in a less caustic form, isn’t particularly relevant. I mean, look at the originally quoted snippet in wyager’s post: it’s just a list of facts.

                                            1. 0

                                              “controversial and offensive” is a fluid social contract that changes with audience and context. The big problem is nobody can ever agree on what is controversial and offensive. At the same time people’s nuanced opinions are routinely caricatured as the most extreme version (in both directions, and I’m guilty of it too) then paraded on social media to people with no context.

                                              1. 3

                                                I try my best to avoid the words controversial and offensive. Constructive and destructive are less weighed down with baggage and relativity (though there is always room for people to mess with words). Constructive moves the conversation forward. Destructive moves it backwards.

                                                At the same time people’s nuanced opinions are routinely caricatured as the most extreme version […] then paraded on social media.

                                                Yeah, I’m a bit detached from it since I don’t use Twitter or Facebook, this being a primary reason. It’s a good example of destructive conversation. Nobody ever learns from it, nothing really improves.

                                              2. -5

                                                I’m very sorry I didn’t use the exact rhetorical style you were hoping for. In the future I will avoid using sarcasm and any other rhetorical technique that you don’t like is “destructive”.

                                                1. 5

                                                  God forbid you say what you mean.

                                                  Come off it, you know it isn’t about what I happen to prefer. If you don’t know better, then you should.

                                            2. 3

                                              Hm, I suppose it did completely derail this thread

                                          2. 10

                                            I doubt it. She’s making political points in the post instead of just talking about good things at Recurse Center. She’s putting it front and center in people’s minds as they read. Anyone reading it deserves to respond to that. That automatically means a thread might get political. It’s definitely her intention.

                                            Predictably, someone responded to it with thread turning to the tangent. Ive had enough politics for the week, though. So, just pointing out the obvious that statements like hers with accusations against a bunch of programmers or political statements will definitely get a reaction. She couldve got the points across without that but wanted it political.

                                            1. 10

                                              She’s not allowed to talk about politics? She makes a fairly common point: she finds the environment around programming often unpleasant or hostile and she wanted to avoid that. So she did. Many people, including myself, are put off by people who sound like that Google Memo person or worse and try to avoid it. If that makes other people uncomfortable, that’s too bad.

                                              1. 8

                                                wyager is allowed to counter her politics if she is going to bring it up. It’s not “what she was trying to avoid.” It’s what she or anyone else should expect saying what she did. All Im saying.

                                                Your initial comment read like one should be able to make negative, political characterizations of programmers with no reply expected.

                                                1. 10

                                                  I guess for me it’s not who’s “allowed” to “counter” things or not, but is this actually a useful discussion? The comment reads to me as a wordy way of saying “I disagree with your politics”, which, ok, but what does that add? When I read the original post I could already guess some people would disagree, sure. A person doesn’t have to reply to every in-passing comment they disagree with on the internet. It wasn’t even the main point of the post!

                                                  I’ve noticed more discussions here lately being sort of tangential sniping threads. I posted an article a few weeks ago and the entire discussion was a thread about whether people like PDFs. Ok, fine, but I posted a research paper, and the fact that you don’t like PDFs isn’t really on-topic, novel, or interesting. And then there was one last week where someone didn’t like that the title of an article ended with a question mark. I think we could use less of that kind of thing.

                                                  1. 2

                                                    I’ve noticed more discussions here lately being sort of tangential sniping threads. I posted an article a few weeks ago and the entire discussion was a thread about whether people like PDFs.

                                                    I agree with this. It happens in political threads so much I voted against politics in meta. I can’t overemphasize that since, yet again, one disagreement with a political point in a submission created another situation like this. I basically just represent the dissenting side if they’re getting dogpiled or call out double standards when people pretend it’s about logic or civility rather than politics.

                                                    I totally agree, though, about the sniping thing with me preferring some kind of rule against it if not politics in general. Maybe in addition to. It should make for a quality improvement. I’m still fine with tangents, though, so long as they’re adding insight to a discussion like the meta stuff I try to do connecting sub-fields.

                                                  2. 7

                                                    But he didn’t counter her politics, he attacked her. She didn’t call for suppressing anyone’s speech. She simply said she found a certain common mode of speech in tech, a mode I find offensive too, to be unpleasant and wanted to avoid it. There is no sensible way to take issue with that.

                                                    1. 7

                                                      She said this about programming:

                                                      “A lot of bad things in the world have been created by programmers: software for operating drones that bomb civilians, data-mining that violates privacy, companies that “disrupt” by dropping vast amounts of capital in to a market without any intention of building a sustainable business. A lot of bad people love programming: open source thought leaders who harbor deeply racist views, authors of popular databases who discuss their sexist ideas openly, neo-reactionaries leading functional programming conferences. “

                                                      She painted a picture of programming as if it was mostly bad things done by bad people. She painted the picture that people going to thought leaders, doing database work, or getting involved in functional programming were only going to be dealing with the worst. You’d think the profession was one of most horrible ever invented reading that stuff. Don’t ask that she properly qualify that: take her word for it without any of your own comments or reactions. She is attacking most programmers with a programmer, @wyager, reacting to that statement.

                                                      When a man here said something similarly negative about tech industry, several of us countered him pointing out how he was vastly overstating the problem projecting the worst groups onto the average or majority in a way that was unfair to them. Like her, he exclusively considered the bad things and people in tech when judging the field instead of the vast amount of decent or productive things programmers have done many of whom were OK people. We also suggested maybe he avoid the worst if we couldn’t get rid of them since they were ultimately unnecessary to interact with being a drop in the bucket of the many people and resources out there. I don’t remember all these people being there supporting his view shocked anyone disagreed with him. This one was a woman with different set of politics. Let’s see what happened.

                                                      So, wyager responds with a political comment that looks very motivated by emotion lacking qualifiers, consideration to others, or evidence much like Sophie’s. While Sophie’s ad hominem is allowed to stand, you imply his rhetoric shouldn’t be present at all. @jules deconstructs his aiming for purely logical or information content with some strawman which was not done to Sophie’s (or most here with similar viewpoints). @mjn said it was not adding anything new which was true about Sophie’s (or most here with similar viewpoints). These replies are exclusively given to people whose politics each person disagrees with but not people doing same things whose politics each agrees with. They’re held to a lesser standard. So, rather than it being what it appears, these comments aren’t really about addressing civility, information vs rhetorical content, and so on. You all mostly ignore those attributes for comments supporting your type of views while downvoting for opposite naturally leads to dominance of your side in those threads. As in, it’s political maneuvering by folks of one type of views against another rather than quality assurance with any consistency.

                                                      Here’s a few where those writing thought wyager and others disagreeing were supposed to nod saying it makes sense with what happens next being too ironic and obvious:

                                                      “How dare women suggest tech and especially programming is a potentially hostile environment one might not want to enter!” (fwg) (my emphasis added)

                                                      “But one group actually gets to say racist, sexist, discriminatory stuff and remain in charge. The other can hardly speak on panels and post on their blogs without the whole world jumping down their throats.” (jules) (emphasis added)

                                                      “I’m not allowed to respond about politics?” (wyager)

                                                      “I missed the part where anyone asked for you to be deprived of that right.” (vyodaiken)

                                                      You must have missed yourself and the others basically telling him to shut up, the downvotes adding up by a vocal minority, and wyager’s thread collapsing into oblivion where it isn’t seen unless we expand it. Quite unlike most low-info-content, political comments here that are in favor of view’s like Sophie’s not disappearing. Doesn’t look like Sophie or other women with her views would be facing the “hostile environment” with “censorship” and people “deprived” of the right to speak. That contrived scenario is instead what people that agree with her were doing to others who express themselves in a similarly low-evidence, rhetorical way like Sophie or some of their crowd, but with different views. Some of these talk about how everyone is out to get people on their side of spectrum in the same thread where they disappear their opponents’ claims. As opposed to just disagreeing or discussing. Then, they defend the low-quality, repetitive, rhetorical statements of people like Sophie on the same threads since they agree with their views.

                                                      Gotta love politically-motivated double standards for discourse that exclusively benefit one side. Also, people talking about how folks on their side have a lot to worry about as sub-threads their opponents make sink and disappear with some clicks. That’s just too rich in reality distortion.

                                                      1. 6

                                                        You are completely inverting what is happening. Sophie Haskins wrote her opinion. A lot of people here are apparently very angry and want her to shut up. They position their arguments as if she argued for censorship which is a lie and are attempting to shout her down. If you disagree with her opinions, you could say: “My experience is that most programmers are nice” or “It doesn’t matter to me if people who have interesting technical ideas are racists” or otherwise - you know - disagree. But you are not doing that. Instead you are offended that she expressed her opinion and are inventing this whole oppressive regime that wants to suppress your opinions. There is a difference between freedom of speech and impunity. If people want to express racist opinions, for example, they don’t have a right to have other people applaud or pass over in silence or even listen to them. This is exactly the issue of the Google Memo. Its author is free to proclaim all sorts of men’s rights and racist claptrap on his own time, but he has no right to either have his coworkers refrain from reacting to it or have his employer decide that offensive speech in the workplace is ok. The toxic atmosphere of many tech forums is a reality. You should make an effort to understand what Sophie Haskins actually wrote instead of leading a Crusade for the right to be socially acceptable while denigrating others.

                                                        1. 2

                                                          “You are completely inverting what is happening. Sophie Haskins wrote her opinion.”

                                                          Her opinion did not happen in isolation. You yourself mentioned that along with some other people. She is part of a group of people that are concerned with and speaking out about bad actors in tech. That’s all I’m certain about right now. Instead of being fair as you expect of me, she paints an exclusively-negative picture of tech’s contributions and the kind of people in it. As she wonders/worries aloud, what she describes is pretty far from reality of a diverse field with all kinds of people in it that mostly don’t do horrible stuff. Majority just support businesses that provide some value to consumers in the economy. Many are also volunteers in FOSS on code or communities. Many other writers whose work was submitted, including about every woman, had a more balanced view in their writing. The exceptions were those all-in on a specific brand of politics that frames tech in terms of race and gender. She writes more like them.

                                                          “Instead you are offended”

                                                          I’m neither offended, nor did I reply to her. I countered you, not her. I discussed other things as people brought them up. People like her trash-talking whole fields is something people do all the time in many ways. I don’t get offended so much as roll my eyes just to maintain peace of mind if nothing else. Whereas, people expecting nobody to reply to or counter a false, negative claim does concern me. That’s allowing one side to discuss but suppressing another in a place where that can define community norms. I often get involved when that happens. All I was doing initially before other claims appeared.

                                                          Now, you’re talking about racism, denigration, etc that we shouldn’t tolerate. The first to do that was Sophie in her unfair characterization of the field. If you think that’s unfair perception, then you can test if that kind of comment is acceptable to people with opposing views in this thread by going to any forum where they’re dominant submitting this version of Sophie’s claims: a white male is concerned about about going to a workplace, conference, or CompSci courses at specific colleges because “there are some bad programmers” who “hate men” behind filesystem development, “hate whites” organizating at major colleges, and support “radical views” leading community teams of major projects. Each of these people exist in the field with groups of people backing them who will shout down or eject opponents within their area of influence. So, the person you’ll ghost-write as is a non-radical, friendly, white male who is concerned about getting into programming should they run into those people they’ve read about. They just worded it like Sophie did in their context.

                                                          What do you think would happen? We can guess based on prior replies to claims like that. Detractors would show up in large numbers immediately citing evidence showing most people aren’t like what he worries about. They’d say he shouldn’t denigrate entire groups like women or non-whites based on behavior of a small amount. Some would say racism against whites or sexist against men are impossible based on their redefinitions of those words that make it maybe impossible. Others would say it’s unrealistic worrying to point he should know better or even distracts from “real” problems (i.e. their worries). Probably some evil, political intent since only a X-ist would say it. If he said that wasn’t his intention, they’d force him to be clear on a version they were cool with. They’d tell him he should phrase his writing more appropriately so others who are different feel safe in that space. That he must think in terms of how people might read that. The person would be dismissed as a racist, sexist idiot as they dogpiled him like many others have.

                                                          When this woman did it, we’re supposed to assume the best with no concerns about larger implications of what she’s saying in terms of what’s in her head or perception of what she writes. Countering it on just incorrectness like we’d do anything else is now not just dismissing bad ideas or statements: it’s “toxic behavior” that needs to be stamped out. Nah, someone said some political BS on the Internet with disagreement of various quality following. Something we do for any kind of claim here. She doesn’t deserve special treatment or defense of her poor arguments/methods any more than a male does.

                                                          To males, you usually have quick, small rebuttals of ideas you disagree with (esp on tech) where you didn’t do a full exploration of everything they might be thinking before you countered. It’s pretty clear you do a quick take on what they might mean, compare it to your own beliefs, and fire an efficient response. Most people do that most of the time I’d guess. You’re doing the opposite here. Whereas, I’m treating her equally to anyone else by protecting dissent and countering her overly-negative claims like I already did to a man who did the same thing before. Like I’ve done to a lot of people’s claims here and everywhere else. Clearly a political bias in action on other side if expecting her claims to get a level of acceptance or no critique that’s not expected of men here or for other topics. I say they all get treated the same from agreement to critiques or we don’t discuss that stuff at all.

                                                          I’ve said enough for this part of this thread as both our views are plenty clear.

                                                        2. 5

                                                          She painted a picture of programming as if it was mostly bad things done by bad people . . . You’d think the profession was one of most horrible ever invented reading that stuff.

                                                          This is not a reasonable conclusion to draw from the passage you quoted.

                                                          1. 1

                                                            She painted a picture of programming as if it was mostly bad things done by bad people. She painted the picture that people going to thought leaders, doing database work, or getting involved in functional programming were only going to be dealing with the worst. You’d think the profession was one of most horrible ever invented reading that stuff. Don’t ask that she properly qualify that: take her word for it without any of your own comments or reactions. She is attacking most programmers with a programmer,

                                                            This conclusion is bonkers.

                                                      2. 2

                                                        She’s not allowed to talk about politics?

                                                        I’m not allowed to respond about politics?

                                                        1. 3

                                                          I missed the part where anyone asked for you to be deprived of that right.

                                                      3. 1

                                                        I doubt it. She’s making political points in the post instead of just talking about good things at Recurse Center. She’s putting it front and center in people’s minds as they read.

                                                        Those “political points” are some of the more important “good things” about the Recurse Center.

                                                      4. -5

                                                        is there a latin phrase for “does your mom know you’re gay?”

                                                    1. 4

                                                      I have no specific questions but I wanted to say how much I enjoyed the talk, and how much I look forward to the time when I can brew cask install xi and act as your alpha tester.

                                                      1. 2

                                                        If you’re interested in playing around with Xi on a mac, you should check out xi-mac. It doesn’t have much complex tooling but it does use CoreText which is pretty interesting, and in general is a very smooth feeling editor (compared to say, Atom).

                                                        1. 1

                                                          Yeah, I looked at it! But I couldn’t build it, because I only have the commandline tools, and it requires full Xcode.

                                                        2. 1

                                                          Pretty much I am in the same boat as Peter, both for Xi and Alacritty! Since I am no Rust dev (yet ;)) I feel like it’s too early for me to use it, but I check both projects on Github once in a while.

                                                        1. 5

                                                          Product placement and press release. :(

                                                          1. 4

                                                            This is significant news in an important sector of our industry. Your reflexive negativity is destructive to this website.

                                                            1. 8

                                                              I don’t think the personal attack was necessary here.

                                                              1. 11

                                                                This is significant news in an important sector of our industry.

                                                                Sure, but unfortunately we have somewhat limited space and attention bandwidth here, and if we were to support posting every piece of significant news in important sectors of our industry, we’d find ourselves flooded. There is a great site with news for hackers–this sort of stuff is a great fit for that other site!

                                                                Your reflexive negativity is destructive to this website.

                                                                I’m sorry if that’s how this is perceived. I’ve gone to some lengths to do better in terms of negativity. Unfortunately, it’s hard to be positive when pointing out pathological community behaviors that have actively ruined and destroyed other sites.

                                                                1. 2

                                                                  I think you’re somewhat right– I would have posted a more technical take like this one but didn’t see any posts about it at the time. After the other one was posted, I would have deleted this one if I was able to.

                                                            1. 5

                                                              iPhone 6S and subsequent discovery that the performance restored to its full potential after a battery replacement.

                                                              I was pretty skeptical until I read this bit. At least this feature is bound to the battery performance/age instead of device age as a proxy for battery life.

                                                              These batteries are notoriously difficult to replace, though, right? How much would it cost to use a repair service to replace the battery on an iphone 6/6S?

                                                              1. 5

                                                                I just had my iPhone 6 battery replaced at a Genius Bar. It cost $80 and took 2 prime-time hours.

                                                                1. 4

                                                                  2 hours to replace a battery. A few years ago on any android device this would have taken about 5 minutes and cost $20.

                                                                  1. 3

                                                                    It doesn’t actually take that long. I got my battery replaced at a non-Apple shop and it was 5-10 minutes.

                                                                    1. 2

                                                                      And your phone has the extra overhead of clips, switches, and whatever other components are necessary to make it easy to disassemble. You may prefer that overhead and that’s fine, but I think it’s fairly obvious that Apple doesn’t, which is fine too.

                                                                      1. 1

                                                                        5110 etc. replaceable battery as the whole back cover.

                                                                    2. 1

                                                                      These batteries are notoriously difficult to replace, though, right? How much would it cost to use a repair service to replace the battery on an iphone 6/6S?

                                                                      Batteries on iPhones aren’t that bad to replace - you remove the screen, disconnect the battery (and unglue it) and then put the new one in. The problem is IIRC, third-party batteries might not be working with the sensors, so you’ll still have the throttling.

                                                                      1. 1

                                                                        Is it possible to find genuine Apple battery without risking of buying clones that lack proper control electronics? I think they’re distributed weirdly to authorized companies so it’s not easy to find genuine batteries.

                                                                    1. 1

                                                                      Does not work for me: macOS Sierra 10.12.6 (16G29). I don’t have a root password or separate admin account. My user account is admin.

                                                                      1. 7

                                                                        High Sierra exclusive.

                                                                      1. 14

                                                                        It was frustrating for me to read this because you still seem to miss the fundamental—point, for lack of a better word. You write “a degree of toxicity is helpful for preventing blooms of stupidity” as if blooms of stupidity were an Ur-evil that need to be prevented. They aren’t! They’re the inevitable product of a healthy ecosystem with lots of fresh blood making experiments. Blooms of stupidity are ultimately constructive, and necessary reagents for progress.

                                                                        But toxicity, in contrast, and despite intent, is destructive. And toxicity left to fester in (for example) a single anointed member of a community can destroy that community, by pushing away the experimental young blood it needs to stay alive.

                                                                        I’m glad you’re going to change tack. But you still don’t seem to grasp that “harsh and unadulterated opinion” (or however you want to frame it) is not only strictly unnecessary, but actually destructive. I hope the next iteration of your introspection will get you closer to this truth.

                                                                        1. 49

                                                                          Thanks very much for this detailed response.

                                                                          Free speech and public moderation is a core community value on this site. After all, the site was founded in response to capricious, arbitrary, and unannounced moderation on HN.

                                                                          That said, I think that jcs might have been a bit too light in his hand in moderation and I approve of pushcx trying to improve the quality of discussion here.

                                                                          1. 26

                                                                            I agree, especially with this sentiment:

                                                                            Communities like Usenet, 4chan, and YouTube with little to no human moderation sink into useless garbage.

                                                                            As much as technologists want to believe that the right software will enable the virtues of humanity to shine through, it’s ultimate a human problem that can’t be solved with a technological solution. I wish I could find it now, but there was a study on unmoderated vs moderated hate speech in online communities which found that moderating hate speech does, in fact, extinguish it, as opposed to it finding other avenues.

                                                                            Moderation does matter.

                                                                            1. 8

                                                                              At Tumblr I think we solved it (mostly) mechanically. I left in 2015 so some of this may have changed, but we felt very strongly that “sunlight is the best disinfectant” and we did not delete content unless it was child porn, self-harm, or gore. You can still go see terrorist cat blogs posting under #catsofjihad. The community was great about shutting down those who were abusive, and the mechanics of response were important for that. Once you created a post, anyone could reference your original, even if you deleted it. Tumblr threads are not trees, but the particular chain of responses that are favored by whoever decided to respond, giving responders full control over the context, making responses far more clear. You lose the full-picture, but gain clarity of context. This was backed up by a support team that was usually great about taking action when abuse was happening. The clarity of context is what I believe gave the community the tools it needed to effectively self-police. This is something I believe is sorely missed in other platforms.

                                                                              1. 3

                                                                                we felt very strongly that “sunlight is the best disinfectant”

                                                                                This is, unfortunately, naïve, even to the point of being malicious—always in consequence, even if not in intent. And exponentially moreso online, where vectors for abuse are numerous and practically zero-cost.

                                                                                https://twitter.com/yonatanzunger/status/914605545490857984

                                                                                1. 6

                                                                                  I don’t think your link has anything to do with the mechanism in my comment. Twitter gives total contextual power to the content creator, not to the responders. A malicious user deletes the tweet and the responses lose their power. This mechanism totally strips the community’s ability to self-police. I’m in agreement with the author of the link you posted, and I think twitter has made terrible trade-offs. There’s a reason tumblr has tended to be the place where many members of marginalized communities find the first group of people that accepts them, and these communities flourished there. That doesn’t happen with G+.

                                                                                  1. 5

                                                                                    There’s a reason tumblr has tended to be the place where many members of marginalized communities find the first group of people that accepts them, and these communities flourished there.

                                                                                    To be fair, this only applied if the community was not sufficiently odious that Tumblr nuked them.

                                                                                    1. 1

                                                                                      What do you mean? We let terrorists post anything that was legal…

                                                                                      1. 5

                                                                                        If memory serves there were a bunch of tags and adult blogs (some of whom were legitimately scummy folks doing commerce) that got rounded up and purged. I think around the time of Gamergate there were also some blogs purged, notably [REDACTED–see edit].

                                                                                        (Do yourself a favor: don’t search for that last one. There is nothing there that will make you a happier person. It’s some of the most hateful and misogynistic stuff posted online. Again, do not read it. I found it by accident through webcomics circles, and saw it descend pretty immediately into awful shit.)

                                                                                        EDIT: On second thought, I’m going to actually censor that last one. They’re shitty human beings and I don’t want to drive traffic their way, even for the curious.

                                                                                        1. 3

                                                                                          I mind this kind of censorship, be it self-induced or by moderators: I believe it is everyones own judgement to see for themselves and learn about it. Why mention it in description but not allow further research? In my opinion, your post is no longer credible because I can not verify it independently.

                                                                                          (Edit: Reverted autocorrect. Perhaps add public record of post edits?)

                                                                                          1. 1

                                                                                            I remember a few cases where certain tags were blocked on mobile because if one of the app store testers found porn using a test of the app it could lead to them rejecting an update. Once, this unfortunately included tags like bisexual, gay and lesbian. It was not a fun decision to make, because it hurt the communities we tried so hard to protect, but Apple was holding the business hostage with this, and we chose to block lgbt tags in the short term and figure out something else later. There was significant blowback.

                                                                                            We often mass-blocked clusters of associated spammers, which is uncontroversial as far as I know. Other controversial mass-blocks may have happened, but I don’t remember them.

                                                                              2. 7

                                                                                I agree, on both points. Transparency has always been a core goal of the site, and should continue to be. And I also think it makes sense to do at least slightly more moderation than there has historically been.

                                                                                1. 1

                                                                                  I personally think the quality is/was fine and don’t care if there are flame wars as long as they’re not just 4chan style insults.

                                                                                1. 6

                                                                                  I’ll add to this that being on call when it’s quiet limits your ability to live your life as you please outside of office hours - you can’t disappear into the wilderness, you can’t go to the movies and turn your phone off, you can’t go out to dinner and not take your laptop, you can’t go out to a party and get drunk so that you sleep through the beeping.

                                                                                  That’s the best scenario. When things are broken you might lose a lot of sleep. You might have to interrupt dinner with friends. You might have to jump in a cab and head home so you can get properly online and work. You come into the office tired; your partner is grumpy because they got woken up, too; you feel like crap because you haven’t had an evening all week where you didn’t have to deal with something.

                                                                                  On-call can be a scourge. It’s random, unpaid work, demanding your full attention at the worst of times. The best thing I can recommend is: don’t be on call. Don’t get in that critical path. If you are a manager with on-call staff you should be telling people to come in late, or not at all, if they’ve had a night of activity.

                                                                                  And make fixing that issue so it never wakes anyone up again your biggest priority.

                                                                                  1. 4

                                                                                    It’s random, unpaid work, demanding your full attention at the worst of times.

                                                                                    Is this something specific to states? Where I live I’m paid (constant amount) for the fact that I’m on-call even if nothing happens. And 150% of my hourly rate if I have to work.

                                                                                    1. 6

                                                                                      In the US, it varies by the job and by the state.

                                                                                      Some employees are paid hourly, and there are state and federal labor rules about how many hours a week (and sometimes how many hours per day) an employee can work before an overtime rate has to be paid.

                                                                                      There are other workers, however, who are paid ‘on salary’ instead of hourly. That means they get payed monthly or bi-weekly at a fixed rate, and hours worked aren’t tracked and don’t enter into the pay equation. They are called ‘exempt’ employees, because they are not covered by the minimum wage and overtime rules that apply to hourly employees under the Fair Labor Standards Act.

                                                                                      Exempt employees often preferentially asked to go on call because, if they’ll do it, they aren’t required to be paid extra for the work like an hourly employee would be. Some jobs choose to pay their exempt employees an on-call bonus, or to compensate them in other ways- extra time off for example- but not all do. If you work at one of those places, you have to decide if your salary makes up for the hassle and inconvenience of putting up with on-call work.

                                                                                      1. 3

                                                                                        In the US, by an unfortunate quirk of labor regulations, software engineers are considered “clerical” and are exempt from the requirement that they be paid overtime. Consequently, for all intents and purposes all are salaried and not paid for hours actually worked.

                                                                                        1. 2

                                                                                          Yeah, likewise. I’m a massive advocate for putting devs on-call, but I won’t enter a rotation unless it’s compensated: at a minimum, a base rate per hour, regardless of incidents.

                                                                                          1. 2

                                                                                            In the US there are a lot more people working as salaried, non-hourly employees than other places I’m aware of in europe and SE asia. It’s rare for a salaried job to pay any sort of overtime, or additional compensation for on-call.

                                                                                          2. 3

                                                                                            All places I’ve worked at, including startups and small companies paid for you to be on call. And you matched hours to hours if there was night work (ie come in late next day), and you got an extra day off at the end of your on call shift.

                                                                                          1. 50

                                                                                            This isn’t a particularity interesting read - it doesn’t say anything that hasn’t been said a thousands times already by more informed sources, and seems to be based on some very subjective measures, and some (objectively) wrong claims.

                                                                                            On formatting:

                                                                                            According to my opinion, a programming language should let a developer use his or her style. A heavy influence on the programmer’s style is okay, but a fanactic, religious-like enforcement is inacceptable.

                                                                                            That’s a great opinion to have if you never work with anyone else, but it doesn’t work at scale, which is one of the key design principals for Go.

                                                                                            On broken package management: Go does have issues with package management - it’s very much a weak spot. Vendoring is the official workaround, and whilst it’s not perfect, it does work.

                                                                                            On the lack of inheritance, the author doesn’t seem to mention type composition which is one of my favourite features of Go and frankly sounds like the solution to the very vague issue they’re describing. I’ve always found composition to be much more powerful than inheritance so I’m not sure what the author’s issue is here.

                                                                                            I’m not going to bother addressing generics.

                                                                                            This is also the first time I’ve ever heard anyone call Go’s built in HTTP package “lacking” because it doesn’t come with helper functions for a REST library…? Go’s standard library is excellent, and the HTTP package is one of the best parts of it.

                                                                                            1. 10

                                                                                              The HTTP library complaint really threw me too, because it seems to imply that other languages have more features in their standard HTTP libraries. In Python or Ruby if you wanted to write a similar web server as what you could with Go’s (basically just simple routes that do things) you’d have to grab a package like Flask or Sinatra, because the base language doesn’t support things like that.

                                                                                              It just seems like a complaint because the author wanted to complain. If you’re pointing out something bad in about the core libraries, and then comparing it to a third-party library in another language, you’re not making a fair comparison.

                                                                                              1. 6

                                                                                                On broken package management: Go does have issues with package management - it’s very much a weak spot. Vendoring is the official workaround, and whilst it’s not perfect, it does work.

                                                                                                I am using a combination of GNU make and goland/dep for every new Go project and I and my coworkers are pretty happy with it. Here is the project template I use if anyone is interested. To summarize, go dep and other tools like gopm and glide make package management pretty easy, thus it is not a real issue anymore.

                                                                                                1. 5

                                                                                                  I’m not saying you’re wrong, but there is real value in having one blessed package / dependency management system that everyone in an ecosystem uses. That’s one of my biggest complaints with the JavaScript community, there are 10 different tools to solve every problem and they change regularly.

                                                                                                  1. 4

                                                                                                    dep is, or will be, that blessed tool.

                                                                                                2. 3

                                                                                                  Among other things, he doesn’t mention what he’s using instead, which doubtless has tradeoffs of its own.

                                                                                                  1. 5

                                                                                                    I feel like the OP is a significantly better read than your reply. You assert that it’s all been said before, but then later say that the post makes surprising and novel claims. You decry subjective measures, but your entire reply has no meaningful backup for any of its arguments. You state that there’s objectively wrong claims (in an opinion post about programming!), but then don’t say what they are. You refuse to even address an argument the guy makes. Frankly, your post is awful.

                                                                                                    1. 15

                                                                                                      I feel like the OP is a significantly better read than your reply.

                                                                                                      One is a comment, the other is a blog article. I feel like the Financial Times is a significantly better read than your reply but making that comparison would be absurd.

                                                                                                      You assert that it’s all been said before, but then later say that the post makes surprising and novel claims.

                                                                                                      Of the valid criticisms of Go in the post (package management, lack of generics), there are literally thousands of well written and well informed articles describing the issues and possible solutions, the vast majority of them are better reads and more informative. These are very well known issues to anyone who has ever read about Go.

                                                                                                      The complaint about code formatting is made regularly and dismissed by the vast majority of people, “Go can’t do X because it lacks inheritance” is wrong and occurs frequently enough to have a section in the official Go FAQ. Perhaps I should have written “Of the things the article doesn’t get entirely wrong, it says nothing which hasn’t been said a thousands times before”?

                                                                                                      You decry subjective measures, but your entire reply has no meaningful backup for any of its arguments.

                                                                                                      I’m not going to re-write what has been written thousands of times before on matters that have been discussed to death and which I can add nothing original. I could tear into almost everything written in the post, but I have better things to do (unlike you, perhaps?)

                                                                                                      You state that there’s objectively wrong claims

                                                                                                      The post claims: “Go forces me to maintain the same code in three different places.” because it lacks inheritance. This is objectively wrong. The author doesn’t seem to know about type composition, which as I said, would likely solve the issue he was describing.

                                                                                                      The post claims: “The Go compiler is repressively enforcing a mix of Google’s C++ and Python style guidelines.” and proceeded to give examples of syntax errors which occur because the compiler has rules about where you put newlines. You can style Go however you want: you can can have (brackets) around if statements, you can end lines with semicolons, but it doesn’t need either of these things. You can do whatever you want if you follow the syntax, which isn’t that strict:

                                                                                                      package main
                                                                                                      
                                                                                                      func main() {
                                                                                                              if(1 + 1 == 2) { println("hello");
                                                                                                              } else if 1+5 == 6 {
                                                                                                                      println("goodbye")
                                                                                                              } else {
                                                                                                                      println("string" +
                                                                                                                     "concatenation") }
                                                                                                      }
                                                                                                      

                                                                                                      That’s valid Go code. You’ll note, for example, the new line between concatenated strings, something the post claims isn’t allowed.

                                                                                                      Most editors will run go fmt because it provides a consistent format for all Go code and is required by most Go projects before they will accept code. To claim that the compiler “repressively enforces” Google’s C++ and Python style guide because it uses newlines as part of the language syntax is wrong.

                                                                                                      Frankly, your post is awful.

                                                                                                      I’m glad you enjoyed it, but frankly I couldn’t care less what you thought of it. Perhaps you could trying adding to the discussion next time rather than simply criticising my response? There are a million ways you could have made the same points without framing it as an attack on my post, yet that’s all you did. Frankly, I find your attitude to be awful, but I wouldn’t have wasted time on it if it hadn’t been aimed at me.

                                                                                                  1. 19

                                                                                                    A fine enough opinion piece, but misinformed on a few points of fact…

                                                                                                    The Go compiler is repressively enforcing a mix of Google’s C++ and Python style guidelines

                                                                                                    No, it isn’t. It enforces the Go lexical parsing rules.

                                                                                                    [Vendoring dependencies] is an anti pattern of using a VCS.

                                                                                                    No, it isn’t. It’s one of several dependency management strategies, and it’s the only way to ensure truly reproducible builds.

                                                                                                    Interfaces help to solve the problem with methods of objects, but not with data members.

                                                                                                    It seems as though the author did not discover embedding?

                                                                                                    I prefer to model similar behaviour of objects by using class hierachies. . . . According to my opinion, a programming language should let a developer use his or her style.

                                                                                                    The author is in the small and shrinking minority with these opinions. Thank goodness for that! The sooner we can put to bed the true antipatterns of deep class hierarchies and “code as art” faffery, the better.

                                                                                                    1. 1

                                                                                                      Great, succinct article.

                                                                                                      1. 2

                                                                                                        This is an unveiled advertisement for a commercial product.

                                                                                                        1. 2

                                                                                                          Tangential question: do they make ortholinear keyboards with a normal number of rows? I’d really like to try one, but I’m not interested in giving up an actual spacebar, or number keys, or whatever else. I haven’t found any.

                                                                                                          1. 2

                                                                                                            I too really like a normal-ish number of rows (and columns), so I bought a Diverge (see https://unikeyboard.io/product/diverge/). It has four rows and 14 columns in a split form-factor. I recently decided that I’d like it better as a one-piece keyboard and modified it like so: http://imgur.com/a/bqeDf.

                                                                                                            You can check out my key map at http://www.keyboard-layout-editor.com/#/gists/86e0ada3e9525f5aa7edc202223b3e24

                                                                                                            1. 2

                                                                                                              olkb do also sell the Preonic, though there is also the option to cut your own plate and handwire/design your own PCB :P

                                                                                                              To be fair, I could have used a 2u spacebar, I just wanted single buttons so I could reprogram one if I wanted.

                                                                                                            1. 3

                                                                                                              So my unit tests assume I have Docker installed and running? Err…

                                                                                                              1. 1

                                                                                                                Yup, that would be the idea, I’m afraid …

                                                                                                              1. 2

                                                                                                                Continuing work on my SSH config parser - github.com/kevinburke/ssh_config. So far I’ve implemented wildcard match, the ability to find the first matching value for a key, the ability to write the file back to disk, with all comments still in place.

                                                                                                                The ssh config spec has some weird parts, for example the parts where you can get it to run a local command via “Match exec”. Still not sure I want to implement that.

                                                                                                                But if you want to help out or learn Go, I’ve posted the open issues here: https://github.com/kevinburke/ssh_config/issues

                                                                                                                1. 1

                                                                                                                  What’s motivated you to write this?

                                                                                                                  1. 2

                                                                                                                    go has a really nice package for doing SSH, golang.org/x/crypto/ssh, but it doesn’t support loading any of the useful alias info that you get by typing e.g. “ssh prod” or whatever

                                                                                                                    1. 1

                                                                                                                      Right; it’s an implementation of the protocol, not a port of openssh (which has alias support).

                                                                                                                      1. 1

                                                                                                                        Never said it wasn’t

                                                                                                                  2. 1

                                                                                                                    You want package sshconfig. Otherwise, neat!

                                                                                                                    1. 1

                                                                                                                      I know, I just thought it would be better to match the name of the file, /etc/ssh/ssh_config…

                                                                                                                  1. 2

                                                                                                                    I have a sincere question on this topic, and one born from my potential lack of knowledge and understanding around here. Vendoring in the go tools way is as I understand it essentially a forking process. The whole mystery behind vendoring seems to be asking the Golang tool kit to provide a technical solution to something that is as I understand it not actually a new logistics problem.

                                                                                                                    What I’ve always done to this point if I absolutely needed to ensure an external dependency is preserved, is to fork the project into a repo under my own control.

                                                                                                                    My rationale is as follows:

                                                                                                                    1. If the library I depend on belongs to my organization forking isn’t necessary and I can just depend on pinning my import to a particular tag. I can rely on those in my organization responsible for that library. No forking required.
                                                                                                                    2. If the library I depend on belongs to an external organization then relying on them isn’t the safest option for the long-term preservation of my project.

                                                                                                                    I accept I may not understand things here. Please educate me. :-)

                                                                                                                    TL;DR, If you want to guarantee the mere presence of or a particular state of a library your Golang project depends on, or indeed your project in any other language for that matter, just fork it, tag it, and use your fork in the import.

                                                                                                                    1. 8

                                                                                                                      Vendoring is “essentially a forking process” as it is implemented, but I think it’s a mistake to consider it a forking process semantically. The vendored copy should be understood as a static snapshot of an upstream: while technically you could modify it in place, you almost certainly shouldn’t.

                                                                                                                      Beyond that, you outline a totally acceptable approach. Many organizations share your view and “vendor” by maintaining a private CI server from which all dependencies must be taken. But the overhead for forking/tagging a dependency is definitely higher than bringing a specific copy of that dep into your repo. Not everyone can or should opt-in to maintaining private forks of their deps for all of their projects. Especially transitively! Goodness.

                                                                                                                      Bear in mind also that dep is about managing dependencies, ultimately a higher level of abstraction than the dirty business of repos and forks. The current mechanism of vendoring repos into the vendor/ subdirectory is an implementation detail. It will certainly change in a [far future] version of the dep tool.

                                                                                                                      I hope this helps clear things up.

                                                                                                                      1. 1

                                                                                                                        Thank you Peter; you’re very helpful as usual. :-)

                                                                                                                      2. 3

                                                                                                                        I think you’ve outlined a reasonable approach for some use cases. It’s simple and it can work well. However, consider some of these points:

                                                                                                                        1. What if everyone did what you did?
                                                                                                                        2. What if I am maintaining an open source library that has dependencies?
                                                                                                                        3. What if I am maintaining an open source library that has public dependencies?
                                                                                                                        4. Compare and contrast the processes for incorporating a new patch release from upstream.
                                                                                                                        1. 1

                                                                                                                          Go doesn’t care how the files get there; git subtree would do more-or-less what you’ve described, I think.

                                                                                                                        1. 5

                                                                                                                          :) Very entertaining read. I’ve been picking up some smaller components in GO lately. I’ve also rewritten a component I originally built in Python in GO. Which gives a nice but anecdotal comparison:

                                                                                                                          Python: 11 days of development, performance, 160ms for ranking 3600 activities GO: 3 days of development, performance, 6ms for ranking 3600 activities

                                                                                                                          The project is quite simple. It reads a ranking formula and turns it into a function which runs scoring on a large list of activities. Here’s an example ranking config:

                                                                                                                          {
                                                                                                                          "functions":{
                                                                                                                            "simple_gauss":{
                                                                                                                              "base":"decay_gauss",
                                                                                                                              "scale":"5d",
                                                                                                                              "offset":"1d",
                                                                                                                              "decay":"0.3"
                                                                                                                            },
                                                                                                                            "popularity_gauss":{
                                                                                                                              "base":"decay_gauss",
                                                                                                                              "scale":"100",
                                                                                                                              "offset":"5",
                                                                                                                              "decay":"0.5"
                                                                                                                            }
                                                                                                                          },
                                                                                                                          "defaults": {
                                                                                                                              "popularity": 1
                                                                                                                          },
                                                                                                                          "score":"simple_gauss(time)*popularity"
                                                                                                                          

                                                                                                                          }

                                                                                                                          So you basically you need to parse the score expression, translate it to AST, configure the defaults in the context, setup partials for the specified functions, add a bunch of builtin functions and create a huge set of test cases to make sure you’ve covered every possible way in which people can break it :)

                                                                                                                          With Python most of the time was spent on benchmarking and performance optimization. The GO code started out at 15ms and with some super simple optimization came down to 6. (GO also had the unfair advantage of a better expression parsing library being available.)

                                                                                                                          I used to believe that GO gives you better performance at the cost of developer productivity. For certain projects it definitely seems to beat Python at both productivity and performance though.

                                                                                                                          1. 6

                                                                                                                            Is it possible that some of the drop in development time was due to being familiar with the application because you had already written it once before?

                                                                                                                            1. 3

                                                                                                                              You beat me to it. There’s been a lot of rewrite stories debunked because the developers just got better at solving the problem since the first try. That included one with formal methods at IBM that got me where nobody mention it was a second implementation.

                                                                                                                              The proper comparison is doing them both the same way with same primitives. That is closer to apples to apples.

                                                                                                                              1. 2

                                                                                                                                Yeay, it’s comparing apples and oranges :) On the other hand this was my first non-hello world GO project. I’ve been working with Python for 10 years now. GO is super easy to switch to if you’ve been working with Python.

                                                                                                                                Most of the time with the Python version was spent on performance optimization. I think GO hits a sweet spot. The language is easy to use and quite productive. Maybe not as easy as Ruby or Python, but pretty close. GO is also not as fast as C++ or Java (it depends a bit on the code you’re running, but in general it’s a little bit slower).

                                                                                                                                Basically you get close to C++ level performance at close to Python level ease of use. Now for most use cases i’d still recommend Python. (usually it’s just glue between heavily optimized databases and the overhead of python doesnt matter). But for use cases where the language performance matters, GO really hits a sweet spot.

                                                                                                                                1. 3

                                                                                                                                  Nit: it’s Go, not GO.

                                                                                                                                  1. 3

                                                                                                                                    People are never going to get this right. It’s Go: not Golang, GO, Google’s Go, etc.

                                                                                                                                    1. 2

                                                                                                                                      haha, that’s probably the hardest aspect of learning Go :)

                                                                                                                              1. 53

                                                                                                                                I cannot concede to the author’s point. It sounds like their problems are more due to logistics than anything else. Overall, this article sounds more like “micro-managing development via JIRA sucks”. That, and I think the author is approaching their job with a bit of immaturity. The idea of their ideal workflow is actually destructive in large teams, if not outright dangerous – i.e. working without pull requests, pushing directly to master, with little care placed towards incident documentation.

                                                                                                                                One has to distinguish documentation from bureaucracy. Not all documentation is bureaucracy, not all bureaucracy is documentation; it’s not black and white.

                                                                                                                                “I create a new branch for my fix, also via JIRA”

                                                                                                                                If your VCS tools integrate with your bug tracker (they bloody well should), then it doesn’t matter where the branch is created. I think JIRA & Stash can be set so that you can tag your commits or branch name with a ticket number and JIRA will realize that this is the branch where the fixes are.

                                                                                                                                (Whether project or customer management, or the incident reporters, should care about branches, is a completely different topic.)

                                                                                                                                “You don’t file a ticket which says “the headline font size should be increased by 0.5px”, you just go and do it.”

                                                                                                                                Yes, you do. It doesn’t have to be an actual ticket – it can be anything, as long as it’s documented. Now, I’m not particularly in favour of JIRA-driven development – or letting any tool do dictate development – but jesus christ. This statement belies an extreme misunderstanding of software development practices. One doesn’t simply roam around in a code base looking for problems unless that is the specified mode developers should operate in. Otherwise you’re just doing hobby-project development at work and it is very likely that you’re oblivious to the long term goal (providing working software) and focusing on short term yak shaving (fixing font size because I think they’re ugly).

                                                                                                                                I mean it’s a completely different thing to have a backlog and clear it, but this is something that needs co-ordination, not because you have to indulge in processes and management, but it helps to organize backlog clearing into actual goals, instead of patrolling around a codebase as if it were an insane asylum.

                                                                                                                                The author’s disparaging of code reviews seems to be rooted in logistical problems, negligent co-workers, than due to any actual fault in the idea of code reviews. Done badly, they are a nuisance, done well, they are extremely valuable.

                                                                                                                                1. 5

                                                                                                                                  “You don’t file a ticket which says “the headline font size should be increased by 0.5px”, you just go and do it.”

                                                                                                                                  You also don’t need a ticket to open a pull request. I do PR development for my personal projects. It just lets me track the unit I did changes in and look back over the history of them. It also gives me a way to make sure the change passes my checklist (tests) before bringing it into master. It isn’t really expensive and it saves me from letting some silly mistakes in. I don’t make tickets, though.

                                                                                                                                  1. 7

                                                                                                                                    It doesn’t have to be an actual ticket – it can be anything, as long as it’s documented.

                                                                                                                                    A commit is documentation. A PR is documentation.

                                                                                                                                    One doesn’t simply roam around in a code base looking for problems

                                                                                                                                    Of course you do — proactively finding and fixing tech debt, test coverage, style errors, etc. is part of being a professional, and the less bureaucracy or process between me and my ability to do that, the better. Ideally it is zero.

                                                                                                                                    1. 18

                                                                                                                                      Of course you do — proactively finding and fixing tech debt, test coverage, style errors, etc. is part of being a professional, and the less bureaucracy or process between me and my ability to do that, the better. Ideally it is zero.

                                                                                                                                      You did not read the latter half of the sentence. It says, with emphasis, that one shouldn’t do bug hunting unless that is the mode one is operating in. For example, one could be pruning the backlog while responding to incidents. This is fairly common.

                                                                                                                                      However, that sort of work should be somewhat organized. Doing this without any sort of co-ordination or communication is asking for trouble.

                                                                                                                                      And I doubt the author is currently engaged in this mode.

                                                                                                                                      1. 10

                                                                                                                                        This is true. It was even known back to Fagan with his Software Inspection Process in 1970’s that you should really separate the two activities. The mindset is different enough that he wanted people to focus on building stuff for probably hours/days, then focus only on looking for specific kinds of defects for period of time, then focus on fixing defects, and repeat. Keeps people in the zone with the right information in subconscious mind. The repetition of it with checklists to glance at as reminders.

                                                                                                                                        The code review complaints here sound like an organization that’s poorly managed and/or have developers that don’t give a shit. On top of JIRA workflow that also looks bad.

                                                                                                                                  1. 1

                                                                                                                                    Purely for awareness, I’d like to highlight that this undated blog post is quite old; I believe I first saw this at least two years ago.

                                                                                                                                    With that in mind, some of the advice and practises presented may be out of date.

                                                                                                                                    The proposed recommended installation through brew (on OSX of course) isn’t the best in my experience since it tends to lag behind the downloadable packages from golang.org, for example, and GOPATH now has a default for a new install.

                                                                                                                                    To get started with an installation, I recommend the official docs: https://golang.org/doc/install

                                                                                                                                    Followed by : https://golang.org/doc/code.html#Workspaces

                                                                                                                                    1. 3

                                                                                                                                      The proposed recommended installation through brew (on OSX of course) isn’t the best in my experience since it tends to lag behind the downloadable packages from golang.org, for example, and GOPATH now has a default for a new install.

                                                                                                                                      Using Brew since Go 1.3, never had any issue. In fact it’s the smoothest and easiest way to install and update the Go.

                                                                                                                                      1. 2

                                                                                                                                        It’s true that it’s no longer necessary to set a GOPATH, but I don’t know where this FUD about Go via Homebrew got started. It remains the easiest way to install Go on Mac, is reliably updated within an hour or two of official releases, and has no substantial differences from installing from source.

                                                                                                                                        1. 0

                                                                                                                                          “is reliably updated within an hour or two of official releases”

                                                                                                                                          This simply is not true.

                                                                                                                                          1. 3
                                                                                                                                            1. 2

                                                                                                                                              This has reliably been true for the last 2 or 3 releases. Prior to that, I don’t recall.

                                                                                                                                              1. 2

                                                                                                                                                Thank you. For what it’s worth, your article was very helpful to me when I first read it and was a new Gopher. :-)

                                                                                                                                          2. 1

                                                                                                                                            Please feel free to send a PR with minor changes on https://github.com/howistart/howistart-hakyll/blob/master/posts/go/1/index.md. As long as @peterbourgon (or the respective author of the original post) signs off on them I merge them.

                                                                                                                                            I really do need to get he date into the actual page… I’ll try to remember to do that today finally.