1. -4

    Some aphorisms apply:

    1. It’s a poor craftsman that blames his tools.
    2. Be the change that you wish to see in the world.
    1. 20

      Fair warning, this is a rant.

      It’s a poor craftsman that blames his tools.

      This aphorism is the reason I quit HN all those years ago. It is absolute trash. A much improved version is “A craftsman takes responsibility for the tools they use.” This is still irrelevant to the article that was posted, but it has a chance of being useful in some discussion happening somewhere, probably (but if I were to bet on it, I wouldn’t).

      What if you’re being forced to use bad tools? What if your tools are actively sabotaging your ability to work? What if your tools really are the biggest source of pain and distraction? What if not using the tool will be held against you? What if not using the tool will get you fired? What if the tool genuinely does the opposite of what it claims to do?

      What if you’re sitting down to really think about the impact your tools have on your work, and seeing one of them come up severely short? Is that blaming [their] tools? Or should we all just put up with whatever we’re handed, because it is always on us as craftspeople to take on the full burden of bad tools—even when there is no good reason—and just slog through it as our lives unhappily waste away?

      I wish people would be more honest with this whole “a poor craftsperson” thing and just say “I think you’re bad and that it’s your fault,” or even “quit your bitching”. It’s still a lowest tier comment, but at least it’s direct.

      And yes, I’m going to continue to use gender neutral words because I want to…

      Be the change that you wish to see in the world.

      Yeah, that’s why he’s writing about it.

      Some aphorisms apply

      These ones don’t, but it’s easy to miss that when you don’t attempt to justify the application of those aphorisms.

      The article is a) an analysis of the ways slack can decrease organizational productivity, even circumventing individual countermeasures, and b) a call to action to change the culture that embraces slack.

      Neither of your aphorisms meaningfully interact with the two (clearly expressed) core ideas of the article, in any way.

      1. 2

        Thank you for this. You’re spot-on.

        The craftsman metaphor is terrible, when applied to programming. It says “his tools”. In the workplace, you don’t use your tools; you’re forced to use their tools.

        Slack (as often used) is terrible, and Jira is worse. These have become tools of managerial surveillance; they are tooled used against, not by, workers.

        1. -2

          Maybe a poor craftsman blames his manager.

        2. 0

          I used the first aphorism correctly, and I am also aware that a lot of people are triggered by it.*

          If the tools suck don’t use them. If they’re valuable but flawed be constructive? It doesn’t have the same ring to it. Slack has a place, what’s the alternative? IRC? A directory with everyone’s phone numbers in it? There’s no ‘turn off notifications’ button for your manager taps you on the shoulder twice an hour.

          The article didn’t read as a call to action to me as much as a long poorly formatted ramble by someone who was having a adverse reaction to their current work environment.

          It’s a flawed workplace culture… Are they blaming someone else’s tools? Is that better?

          Which gets into the second aphorism. I think the author should talk to his manager/coworkers or quit instead of writing passive aggressive blog posts.

          If I’m really going to lengths to make myself absolutely clear. By talk I don’t mean go on crusade against the tools, they fail to present any alternatives in the post! (Besides use email for everything, maybe they’re too young to remember how difficult that was.)

          *Maybe I was hoping to get a rise out of someone. Plato was fond of the Dialectic, maybe I am too.

          1. 1

            If the tools suck don’t use them.

            You really seem to have not read the post you’re replying to:

            What if you’re being forced to use bad tools? What if your tools are actively sabotaging your ability to work? What if your tools really are the biggest source of pain and distraction? What if not using the tool will be held against you? What if not using the tool will get you fired? What if the tool genuinely does the opposite of what it claims to do?

            That addresses your ~first aphorism~ really quite neatly. They’re blaming someone else’s tools, sure, because they’re to blame. Rejecting reality because you have a pithy quote that suggests you should is not productive.

            I think the author should talk to his manager/coworkers or quit instead of writing passive aggressive blog posts.

            Who’s to say they’re not doing that too? Writing a post like this has value as well; it lets a wider community reflect on it, submit comments (there have been some useful ones here, this thread notwithstanding), and possibly come up with some mitigations or thoughts on how future tools could do better. This is not a new concept.

            “Be the change you want to see in the world” is great when you’re all-powerful, but that’s almost never the case in real life.

            and I am also aware that a lot of people are triggered by it.*

            christ man, get back to HN

            1. 1

              I have never been on HN… That’s a personal attack, it’s toxic, you shouldn’t do it, I shouldn’t get into the mud with you by responding.

              Nobody is being forced to do anything here. A good crafts-laborer would realize this. It’s an apt aphorism. It’s not a dangerous idea to suggest that a worker can determine the conditions under which he works…

              Just because I used an aphorism and that’s something that trolls do doesn’t mean I’m a troll. I didn’t expect to get any upvotes for an unpopular opinion voiced in an unpopular way, but I also didn’t expect so much hostility!

              1. 5

                I am honestly interested in the mechanism by which a craftsperson could determine the conditions under which they work, assuming a standard capitalist employee-employer relationship.

                If we all tend to agree a person needs to work in order to make a living, I find this might be possible if you’re “your own boss”. Even then you probably have clients, and they tend to demand their own sets of tools and processes you need to adjust to. This isn’t only a matter of IT: my dad worked in a car repair shop, and they really didn’t have a choice with regards to the diagnostic hardware and software they could use, nor the hardware they used to do the actual repairs (it’s mostly proprietary, and dependent on the manufacturer).

                Of course, you can always quit and find another job with better tooling; IT people today are severely privileged since jobs are abundant and we’re in very high demand. It’s certainly not unreasonable to expect this won’t be the case forever, and actually discussing problems with the tooling (and management, and processes, and …) seems like a good thing to do if you want to improve your working environment.

                1. 1

                  My mechanisms are the same as yours. Employers by and large are people too. My grandfather was an auto mechanic too, and he had his side projects just like I do.

                  I think the only point we actually disagree on is whether this blog post is constructive.

                2. 3

                  That’s a personal attack, it’s toxic, you shouldn’t do it, I shouldn’t get into the mud with you by responding.

                  Your flippant use of the word “triggered” is what’s toxic.

                  It’s not a dangerous idea to suggest that a worker can determine the conditions under which he works…

                  No, just dangerously wrong.

                  1. 0

                    Discussing triggers big and small is important. I can’t think of another way to put it, but being triggered by the use of the word triggered isn’t a mentally safe place to be.

        1. 1

          Congrats on making an aesthetically pleasing site with no required (or even non-required!) 3rd party resources. I don’t have much use for the service itself, but I’ll definitely use this as an example of a well-built modern website!

          1. 3

            This just encouraged me to go & finally upgrade my instance to 2.0! I don’t use Mastodon as much (or rather, I have my off/on periods), but I like it very much. Hopefully this thread will enrich my timeline a bit. :)

            I’m at @nikola@mi.pede.rs.

            1. 3

              Bitwise operations in Lua are a bit of a pain unfortunately. I will probably introduce a more convenient API to access 16 bit values.

              Maybe you could just update to Lua 5.3, which has bitwise operators.

              I am curious why you went with 5.2 in the first place. Maybe in prevision for LuaJIT?

              1. 3

                For what it’s worth, LuaJIT includes the Lua BitOp module. BitOp is also available as a standard C module for Lua 5.1/5.2, so you can get a consistent API and semantics across both implementations. I have only used it very briefly, but it seems to be working rather well.

                1. 4

                  It is the same kind of API as bit32, unfortunately. The advantage of operators is that instead of this:

                  v = bit32.bor(cpu.memory[0xfffc], bit32.lshift(cpu.memory[0xfffd], 8))
                  

                  you write this:

                  v = cpu.memory[0xfffc] | cpu.memory[0xfffd] << 8
                  
                  1. 2

                    I’m on 5.2 (and soon even 5.1) indeed so that i can give LuaJIT a try. If that does not work out or if the speed improvements are not worth it then I will probably just move to 5.3.

              1. 2

                This seems like a good programming exercise; it would be interesting to analyze the complexity of some of the algorithms implemented here in JS and compare it to PHP’s own implementation.

                For something a bit more tested, a while ago there was a project called phpjs which now became Locutus; it aimed to implement a solid chunk of PHP’s standard library in JavaScript. I remember using their implementation of PHP’s strtotime function a few times with solid success.

                1. 17

                  Dug a little deeper… this Instart thing is no joke http://go.instartlogic.com/AppShield-Ad-Integrity-Data-Sheet.html

                  Web publishers make simple DNS changes to flow the network domains that carry their HTML through the Instart Logic system. This allows our system to inject a small piece of JavaScript that can detect the presence of ad blockers. When an ad blocker is detected, the JavaScript-based virtualization layer Nanovisor, together with our intelligent cloud-based, machine learning platform, encrypts and delivers all the elements of the page using the customer’s existing delivery services.

                  As a result, each resource on the page, and any signals and actions such as measurement beacons or user clicks, will have its URL encrypted and obscured. This renders ad blockers ineffective, as they can no longer search for patterns which would indicate a resource is related to advertising.

                  The result is simply the experience that the web publisher intended on delivering to the end user with no changes to the ad delivery or measurement systems; end users have no need to be aware the technology is even being used.

                  For now it looks like their tech mainly targets Chromium-based browsers. If you use Chrome, look into the uBO-Extra plugin (not necessary for Firefox).

                  1. 10

                    In my opinion browser vendors themselves need to take action and block this so hard that companies doing this are put out of business.

                    Otherwise this approach will be the only one left in a few years, with more ethical actors which allow users to decide how they want to read content gone out of business.

                    That it mainly targets Chromium-based browsers is kind of ironic for me: I migrated from Firefox after 15 years of loyal use to a closed-source, Chromium-based browser (Vivaldi) yesterday.

                    1. 10

                      Consider for a moment that it’s browser vendors who have created all the tools necessary to make this happen.

                      1. 2

                        There’s a couple of issues with browser vendors doing this themselves.

                        First, it’s a moving target: maintaining a block list takes continuous effort. False positives, new technologies, anti-block strategies, domains changing hands - it’s a fair amount of effort to keep on top of things like this.

                        Second, this would mean that browsers are then policing the web. There’s an argument that this is bad: you are then trusting your browser to tell you what’s OK, and what’s not OK, to view. I’ll leave a detailed discussion of this to others, but I hope it’s obvious what issues that might raise.

                        1. 7

                          Right now, I am trusting my web browser not to issue 3rd party HTTP requests under disguise. This is honesty and transparency towards the end-user, rather than policing: I should be allowed to block any outgoing connection from my computer at my discretion.

                          If someone maliciously undermines one of the staples of the internet (DNS), especially to allow a corporate, for-profit entity to do something on my computer against my will, I would like for my browser vendor to act accordingly.

                          1. 1

                            For what it’s worth, I believe Instart uses first-party subdomains. You could allow requests from www.example.com, and disallow from 7zs4gc2n.example.com or similar fishy-looking subdomains.

                          2. 2

                            With that reasoning brwosers should stop asking for permission to display site notifications, requests for location, and allow access to microphone and webcam by default.

                            What’s wrong with it if you consider users’ machines to be just temporary extensions to tracking companies’ ad-serving networks?

                            The reason why I want browser vendors to step in is that no company will care if their action lands them on a blocklist of an extension they never even heard of. But if the response is “if you do this, you will land on Google’s/Mozilla’s/Microsoft’s shit list” then these practices will stop within minutes of the announcement.

                            1. 3

                              I tried fairly hard to phrase my comment in a way that didn’t disagree. I just wanted to point out some of the reasons why browser vendors might now have done this themselves already.

                              Circumventing intended behaviour is definitely something they should prevent, but that might be more of a technical issue.

                          3. 1

                            with more ethical actors which allow users to decide how they want to read content gone out of business.

                            If Users care about using browsers that let them decide how they want to read content, then the actors would not go out of business.

                            If Users don’t care, then I don’t see why such a actor should exist.

                            I don’t see why you need to invoke the great vendors to decide for us what can or cannot be allowed. Not to mention, if you ought to be allowed to run whatever code you want on your machine, that should include dodgy javascripts. You don’t have to go to these websites and I don’t see why they shouldn’t be allowed to choose who gets to access their contents.

                            1. 1

                              I think I could agree with this stance if I had infinite time and energy to put into securing my browser.

                              I spend quite a bit of time reading about privacy issues and taking steps to protect myself, and it still doesn’t feel like enough.

                              It’s not that users don’t care, it’s that they don’t care enough to take full responsibility for their privacy. What are we supposed to do, write our own browsers from scratch?

                              In fact there is probably a meta level to it as well: people haven’t invested the time/effort to educate themselves about privacy issues. How many people would care about these things, but simply don’t know?

                              Furthermore, the whole point of this technology is to secretly bypass content blockers - users have already made the explicit choice to not see this sort of content! Who in their right mind “wants” to run code which hides itself from the developer console to avoid detection? It’s like arguing “if you didn’t want headlice you shouldn’t have let the louse live in your hair.”

                            2. 1

                              This is where Brave browser + Basic Attention Token could actually be a viable option.

                          1. 13

                            On a tangential remark, I’ve been enjoying going to a coffee shop after work and learning and re-learning mathematics and physics in order to continually stretch my mental capacity. It helps tremendously with stress management at work itself. I feel more capable of taking on enormous, difficult tasks at work because of the challenges I face in remembering how to tackle these math and physics problems that I faced in college. I started doing this about a month ago with a geometry textbook. I’m up to Precalculus now, about 10% of the way through the Precalculus textbook by Stewart. I’m planning on going through Calculus and onto Classical Mechanics, followed by Electrodynamics and Quantum Mechanics. (I really do want a good challenge!)

                            1. 7

                              You’re lucky. After eight hours of programming/meetings the last thing I want to do is program or do match. After some dinner with my SO, I go straight to reading (never tech stuff) or video games.

                              1. 1

                                For QM I would recommend Shankar just for the intro section on linear algebra, although most people seem to prefer Griffith’s for the actual QM stuff.

                                If you like type theory or algebra (the grown-up kind), I can PM you a link to an early WIP draft textbook from one of my former professors that covers classical mechanics in an exceptionally mathematically rigorous way, with full coverage of the algebraic properties of different physical quantities and systems. It’s actually for a simulation course, but it’s better for learning classical physics than any physics course I’ve taken.

                                1. 2

                                  Thank you for the suggestion! I have read in a few places that reading multiple QM books is common. This is the list of books that I’ve got lined up.

                                  • Precalculus: Mathematics for Calculus, 6th Edition by James Stewart et al. (Amazon link)
                                  • Calculus: Early Transcendentals by James Stewart (Amazon link)
                                  • Classical Mechanics by John R Taylor (Amazon link)
                                  • Introduction to Electrodynamics by David J. Griffiths (Amazon link)
                                  • Mathematical Methods in the Physical Sciences by Mary L. Boas (Amazon link)
                                  • Introduction to Quantum Mechanics (2nd Edition) by David J. Griffiths (Amazon link)

                                  My biggest concern about this list is which order to read the last four items in. I was thinking of starting in the order listed, but I may end up having to jump around given that there is likely going to be overlap between them.

                                  1. 3

                                    For what it’s worth, during my undergraduate studies in Physics, Mathematical Methods in the Physical Sciences and Classical Mechanics were taught for two semesters each, in parallel. In the second semester, alongside the two, we’ve had an Introduction to Quantum Mechanics course (mostly as a conceptual and historical introduction, no very advanced stuff). Finally, Electrodynamics and a “full” QM course followed the year after.

                                    (There were a lot of other courses in parallel, but these are the relevant ones to your listing. You might want to add a Statistical Physics / Thermodynamics textbook in there for good measure. :))

                                    Try checking out the curriculum of a few undergrad courses on universities near you to get a feeling for a reasonable order of reading.

                                    1. 1

                                      Muchas gracias, amigo. That is a most excellent idea.

                                2. 1

                                  What do you mean when you say go through? Do you do all the problems? How do you decide on problems to work if you do any at all?

                                  1. 1

                                    Anything that is difficult to grasp I’ll review it by going through enough problems until I feel comfortable with the topic.

                                    I’ll go back and review fundamentals to re-enforce dependent material, too.

                                1. 1

                                  This looks rather interesting. Anyone using xmake? I was browsing the manual, and a substantial portion seems to be in Chinese (and the authors seem to be working on that). Having a Lua-based alternative to CMake would be pretty nice.

                                  1. 2

                                    I am sorry for the incomplete English document, I am trying to translate it.

                                    1. 2

                                      Premake is another one.

                                      I’ve yet to try either, but the idea of “CMake without the arcane DSL” is certainly appealing.

                                      1. 2

                                        Premake is used a lot for games and middleware. It’s pretty good, I don’t like everything about it but it’s certainly better than cmake.

                                        There’s also tundra but I don’t think that has as much traction.

                                        If you have very simple build requirements (and I would argue that you should because build systems are the devil) then it’s quite easy to write a scriptable Makefile generator. See one and two. Vcxproj generation is trickier but still easy enough to figure out just by looking at what VS/premake generate for simple projects, or you can just use Cygwin and make but then getting files to rebuild when their headers do is annoying.

                                        1. 2

                                          You can use xmake to build project in cmd directly and it can also generate vcproj: $ xmake project -k vs2017

                                    1. 2

                                      I am doing some more work on my music review aggregator. It’s very much a prototype in progress, but I’ve been using it daily for a while now, it’s turning out to be useful, and it’s pretty fun. I’m limiting it to a subset of music review sites I trust and follow, rather than making it very exhaustive.

                                      Currently, I’m trying to make it a bit prettier by adding cover art using Cover Art Archive. Less than 50% of the albums in my database have a match there, so I’m contemplating on adding a few more sources in there, e.g. Last.fm. Any tips on good sources for these things are highly appreciated!

                                      Some additional items on my roadmap are better artist/title normalization, filtering & searching (e.g. I’d love to be able to see music that’s been trending in May 2015), and label information (I’m still not 100% sure on how to do this (semi-)automatically, but I’d love to be able to track new releases from my favorite labels, and enrich that with any reviews that come out).

                                      1. [Comment removed by author]

                                        1. 1

                                          Thanks, noted! One of the goals is to add some more metadata to the review, and exposing a filter to the user. I am working on adding a MusicBrainz ID to every artist/album, which should make features like that way easier.

                                      1. 4

                                        No, but I’d like to have a working CLI mail client, even just to check and mark as read.

                                        I use multiple accounts (university and Gmail), how do neomutt works with this kind of workload?

                                        Do I have to setup a MTA?

                                        Since most email are (sadly) html, how could I read these?

                                        1. 2

                                          I normally use Mutt with multiple accounts. There are several ways you can set that up, and a lot of them are decently documented. I use something very similar to this.

                                          It’s not necessary to run your own MTA; I use Mutt’s built-in SMTP support with multiple GMail accounts with no issues.

                                          Most of the people and services I communicate with send a plaintext version of the email alongside the HTML version, so I have a lot less HTML trouble than expected. However, for HTML-only email, the best option I could find is to save the HTML file to the disk and use a web browser to read it. It should be fairly easy to create a macro for that in Mutt.

                                          1. 4

                                            I have a .mailcap file setup with the below. It does a pretty good job letting me view what I need from HTML emails. text/html; lynx -dump %s; copiousoutput; nametemplate=%s.html

                                            1. 1

                                              Thank you for your the inputs, I’ll check out (neo) mutt as soon as possible.

                                          1. 5

                                            For what it’s worth, NeoMutt is what you get when you install the mutt package on recent versions of Debian:

                                             $ mutt -v | head -n2
                                             NeoMutt 20170113 (1.7.2)
                                             Copyright (C) 1996-2016 Michael R. Elkins and others.
                                            

                                            Regardless of that, I have normally used all of the mutt-related documentation around the web with no obvious differences. I think the Sidebar is the most notable patch applied by NeoMutt, and it’s worth it (although it might be merged into a recent stable version of Mutt as well).

                                            1. 62

                                              The disturbing thing about these writups, similar to original post at Github, is they always talk about how she gets all this hate just because she’s a minority or something. They never mention how she aggressively pushes politics into every space she can and has a Code of Conduct designed to enable censorship of political opponents (main thing she pushes). I encourage anyone that doubts how vicious she and her crowd are to read the entire Opal thread:

                                              https://github.com/opal/opal/issues/941

                                              It’s a plainer-than-usual example of the political strategy she wants enforced in every company and FOSS project. So, there’s a project without any actual problems happening with just a few people doing most contributions. She asks it eject one of it’s major contributors because he makes a probably anti-transgender comment on Twitter while being peaceful within the project. Maintainer “meh” says who cares what they do in their spare time: it’s irrelevant to the project, things are civil in the project’s operation, and they’ll deal with anything like that if it happens in the project. This is not acceptable because Coraline and friends’ political philosophy w/ enforcing Code of Conducts say nobody can ever do something their political group disagrees with (finds offensive) in any forum. If they ever violate Coraline et al’s political decree, then they are to be forced into compliance or ejected everywhere. Also, a huge number of people in groups they claim to benefit disagree with them, have no say in the matter, and will be censored too.

                                              That’s pretty extreme far as politics goes. More extreme and sickening was that a few then set the socially-inept maintainer up to look like a supporter of child molestation at some point in the comments. This is the kind of stuff Coraline is associated with in her war on people who disagree with her politics and to eliminate them from the public Internet with mandated rules. This is why she gets extremely, negative reactions. She deserves them for bullying people or forcing specific rules favoring specific types of people pretending to be truly inclusive. When the filtering or trolling comes, she writes as if nothing like this has ever happened with her merely being of a marginalized group or just trying to help people in some implicitly, acceptable way being what causes everything.

                                              Not a chance. I fight this crap, esp her political CoC, any time I see it. If you want real equality-focused activism, you need to look at people more like MLK than Al Sharpton. One risked (and lost) it all tried to benefit all people with fairness tolerance with a lot of focus on his own group (shrugs). One maintains fame or fortune trying to benefit one type of people in particular with no regard for fairness or tolerance. Coraline is more like the latter. She should putting it in her posts if she isn’t a dishonest politician where readers know she’s part of some marginalized group and part of political group that slam everyone she can forcing politics. She should also point out that this includes name calling, removal of key employees/contributors whose coworkers/contribors are fine with, and blanket censorship on basis of one kind of politics. Reading that, many people who feel sympathy for her as a minority under assault would have a light bulb go off saying “Oh. No wonder people have a problem with her.” (Might be supporters or detractors as that realization goes two ways.) Since she’s a dishonest politican, she won’t change her writing and will continue acting like she’s a hapless victim getting hit with the same hate everyone gets if they’re a minority trying to do “good things.” Don’t fall for it.

                                              Note: That said, she pushed some good analyses and features. As a truly-tolerant person, I know the world isn’t binary: even misguided activists or scheming people can do some good. I’m glad she did. I’m still for blocking her and her projects entirely in favor of non-extremist activists with similar skill who might also have made positive contributions without all the other crap.

                                              1. 25

                                                Wasn’t she hired for the purpose of pushing politics into every space she can, though? After all, she was hired into

                                                a team called Community & Safety, charged with making GitHub more safe for marginalized people and creating features for project owners to better manage their communities.

                                                That, by definition, sounds very political to me. I can sympathize (although not necessarily agree) with criticizing her approach, but criticizing her for arguing politics in a team called “Community & Safety” is a bit… odd.

                                                EDIT: It’s hard to think that GitHub’s HR wasn’t aware of her past actions. It would be odd to expect an outspoken and opinionated person to simply stop being outspoken and opinionated at a new job, especially in a role like this. To me, this fact combined with the way she was treated and fired in the epilogue, points to some very pathological behavior by GitHub’s management.

                                                1. 2

                                                  “Wasn’t she hired for the purpose of pushing politics into every space she can, though? After all, she was hired into”

                                                  Now, this is a better argument for at least what she did at GitHub. She was hired to do something inherently political. The main team she worked with seemed on her side of the politics. They probably weren’t representative of the rest of Github nor their actions wanted by the rest of Github. So, that dynamic has to be considered. HR department is an unknown since whoever told them about Coraline probably didn’t say she led mobs of people to attack open-source projects smearing them until they complied with her beliefs. These people usually present themselves as folks just trying to help companies understand social or diversity issues plus make things nicer on the Internet. I’d guess that’s what her team told HR along with recommendation that she was good at it. She specifically always mentions how she’s lived the harrassment and discrimination so she understands what she’s fighting [without mentioning her mob attacks].

                                                2. 28

                                                  I read the opal thread and you are wrong. The first shot fired in incivility was from “meh” who wrote about what he did here. He explicitly set out to cause a shitstorm and he admits it as a way to get some publicity for Opal.

                                                  I don’t know about you but when I hear a developer like “meh” use the word “cuck”, I know which community he is part of and his agenda. His coding skills are weak too so he doesn’t exactly come from a place of strength.

                                                  1. 10

                                                    His coding skills are weak too so he doesn’t exactly come from a place of strength.

                                                    This is not a nice thing to say, especially since he is the maintainer for Opal and for elixir-socket and a bunch of Rust libraries–as is plainly visible here.

                                                    Please don’t say mean things about other people if you can’t back them up with facts.

                                                    1. 1

                                                      Productivity is the greatest source of waste. I liken his work to that of a romance novel writer. But you know, that’s just an opinion of taste.

                                                      1. 9

                                                        One of the points he made is his critics will talk all kinds of trash about him or how the project should work. Yet, they aren’t going to contribute code to it to replace him or anyone else. They’re in effect lying about their intent to help to play politics and power games instead. To test that, are you planning on taking over maintenance and development for Opal? Or just going to give reasons from a distance why he and the other major contributors should effectively terminate the project by resigning over their code quality or politics? And with what benefit to the users of the 3.5k star project?

                                                        I’d say none. It would be a net loss for lots of people. It’s better if they continue doing whatever they’re doing that’s benefiting people whether they’re nice folks on the inside or totally not nice.

                                                    2. 4

                                                      “The first shot fired in incivility was from “meh” who wrote about what he did here. He explicitly set out to cause a shitstorm and he admits it as a way to get some publicity for Opal.”

                                                      You clearly misread his post. You might not be aware of the SJW effect I’m describing in my original post. The term is about people who represent a minority within a minority who dog pile on other groups to force their specific views asking any dissent is censored. They love personal attacks and smears, too. There’s really no reason even discussing stuff with them because they’re not there to learn. It’s a holy war to them. The proper response is to disagree with them or ban them to get things stable again. Another legit, but perhaps less wise or virtuous, response to these zealots is trolling them to piss them off and make them leave.

                                                      The very beginning of meh’s blog indicates he knows this and wants to troll them. Although he could stoop to their level, he mostly does it by stating a rational position about censorship and repeating he’ll take action if something bad happens. Endlessly repeating the same thing (tiring to me even). Let’s look at his blog. Watch as he instantly recognizes the situation by seeing a SJW author open a post asking for ejection/censorship of an opponent on political grounds:

                                                      “One catches my eye, [opal] Transpho…,”

                                                      The well-known, SJW author comes in with a censorship request on political grounds. He instantly knows they are there to attack and enforce their doctrine with no discussion. Therefore, there’s no use to read anything they say further unless one is studying how they approach discussion or political attacks. I read it for that purpose. One unfamiliar with them might also read their arguments to think on. He’s already seen them probably since it’s always the same stuff. He doesn’t read them.

                                                      “I don’t read any further because there’s no need to, I already know the content of the issue and the nature of the OP.”

                                                      As they have no regard for other humans [that disagree], he takes the trolling route to delight in causing the attackers as much problems as possible. That’s how he plans to send a statement that they need to knock off their attacks. The other statement he sends in the comments consistently is he’s not censoring a contributor unless they do something bad in the project itself. Neither they nor he is judging what people do in their spare time.

                                                      “As I read a huge smile slowly creeps on my face and I think “it finally happened, they hit one of my projects, now I can send a statement”.”

                                                      “The bigger part of the SJW mob arrives, shit flinging ensues, logical fallacies left and right, lots of laughing at all the purplehairs and cucks being unable to see past their overlord agenda and thinking they’re on reddit and sending comments with just @T :+1:.”

                                                      “Suddenly pedophiles are brought into the picture, THINK OF THE CHILDREN! WON’T SOMEBODY PLEASE THINK OF THE CHILDREN? Having stated earlier in the issue that everyone was welcome, of course, I say even pedophiles would be welcome, everyone is if their contributions are worthwhile, why wouldn’t they.”

                                                      “Then finally one of the cucks mentions Hitler, I start laughing heartily and by the rules of the Internet declare my victory in the argument, but of course it wasn’t over.”

                                                      So, it plays out just as he expects. The attacks get dirtier and dirtier. They accept no reason or even the projects personal preference. They don’t care. So, he enjoys letting them show their ugly side as much as possible until someone reigns him in. In the process, the fools gave me one of the best examples of what SJW’s are and do. His use of word “cuck” might say something about him or just be an insult to attackers. I throw insults up to and including the N word at real-world attackers to make them too pissed off to fight me effectively. They’re attacking me to point that de-escalation didn’t work. So, I’m going to do the opposite of avoiding offending them. Personally, I think the names of his other repositories were more telling. ;)

                                                      Conclusion: a political attacker/SJW, Coraline, launches opening strike on his project brining a hoard of attackers with her. He knows they won’t reason or care about his preferences. They will be vicious (see child molester sophistry). So, he says, “Fuck these people. I’m not going to back down and will just argue with them until they leave.” Even people on his side ask him to stop since the situation gets embarrassing. Eventually it ends.

                                                      Btw, he’s not the only person that takes this approach. There are others that say it’s the only effective approach to deal with them outside banning them. They will twist logic and use rhetoric during their attacks. They have no morals in terms of tactics. So, just hit them hard with dismissals and rhetoric pissing them off until they leave. The reason is that mobs are vicious, unrelenting, and barely human. Described well here:

                                                      http://thenewfem.com/how-to-defend-yourself-from-the-sjw-mob/

                                                      http://www.voxday.net/mart/SJW_Attack_Survival_Guide.pdf

                                                      Note: I’m not endorsing the character, background, or whatever of these sources. Just the information presented about mob’s actions and effects.

                                                      1. 9

                                                        I’m sorry, but the world needs social justice. the only mistake the SJWs, as you call them, make is not realize meh is a troll. meh lives in a fantasy land where strongmen are only legitimate voices. Those who use the word “cuck” fundamentally come from an anti-intellectual position. Oh wait, you seem to be fine with the use of the word “cuck”, would you agree?

                                                        1. 8

                                                          but the world needs social justice

                                                          I agree. People fighting for actual social justice will try to increase tolerance, have discussion, build consensuses about what will/won’t be tolerated, and enforce that consistently. I do that on a regular basis at work and online. Then, there’s other people who represent a tiny slice of America, have specific views on what everyone should/shouldn’t do, and will use rhetoric/threats to force everyone in existence to comply with them or harm follows. They don’t even care if large numbers of those they claim to represent disagree with them or want something else. No discussion or deviation is allowed.

                                                          That’s not social justice. It has more in common with religious mandates, fascist governments, and racist organizations than anything else. Small group decides the ideology, forces it on everyone, and anyone who disagrees is punished or disappears somehow. Dr Evil meme: “Justice for all.” Laughable if they didn’t do so much damage…

                                                          “Oh wait, you seem to be fine with the use of the word “cuck”, would you agree?”

                                                          Edit to add: No, most studies I’ve seen done on people who use profanity esp in colleges showed they were smarter than people assumed. Profanity was just another way they expressed themselves among many. Using an insult makes sense if it’s an attack intended to piss opponents off. You’ve latched onto it nicely to focus much of your energy on it to the exclusion of larger issues. “meh” is still winning against you in his goal of getting SJW’s or their supporters to waste energy on his words. Now, I’d probably agree with you if it’s how a person actually thought in a non-confrontational or casual situation. Or they explained (discriminatory views here) about (group here) where I can be sure they weren’t just trolling. If so, they’d be dumbasses at least on that subject. I’d roll my eyes and walk away. :)

                                                          1. 4

                                                            You might not be aware, but when you use the word cuck in a serious manner, other people are going to think you are 12 years old. Fair or unfair, that is the association it has.

                                                            1. 3

                                                              You’re not getting argument from me there. I just said words like that should only be used by idiots or as a tool to piss off a verbal attacker whose gone beyond reason or discussion. Maybe raunchy comedians too dropping it in occasionally about kne of their targets in mockery.

                                                              Not rational or fair discourse, though.

                                                        2. 3

                                                          nickpsecurity

                                                          You might not be aware of the SJW effect I’m describing in my original post. The term is about people who represent a minority within a minority who dog pile on other groups to force their specific views asking any dissent is censored.

                                                          That isn’t what a SJW is though. You could literally call any alt-right person a SJW using that definition, every in-group online “dog piles”.

                                                          A SJW in the pejorative sense means a person who engages in arguments on the internet about social justice for the purpose of raising their own personal reputation. They use shallow or stupid arguments and social media as a means to increase their reputation and often don’t even care that much about the things they are arguing about as they are not personally affected. A similar thing happens when people do charity work simply to make themselves look better. It’s not about actually making the world a better place, its about personal reputation and internet fame. Trolls also make inflammatory comments online for the same reason, to have internet fame and cause drama for the lolz.

                                                          a political attacker/SJW, Coraline, launches opening strike on his project brining a hoard of attackers with her.

                                                          Reading the Opal thread, it seems one of the devs made a transphobic remark and attaches their online account to Opal, as in, they represent the project and it’s values/culture. They literally went out of their way to say shitty things about another group of people who probably have no affect on the guy’s day to day life. They could have chosen to not do that and just focus on tech, but they didn’t and there are consequences for being shitty to others, including having other people come out and say “hey, that’s really shitty” and having people refuse to work with said person who is being shitty to others.

                                                          Coraline wasn’t the first person to “launch an opening strike”. Elia was the first person to go out of their way to attack another group of people who happen to deal with a lot of discrimination and totally unwarranted hate. If you really were against people attacking others online, you’d be against someone attacking trans people online. Obviously you are also just pushing your own political agenda.

                                                          1. 4

                                                            “That isn’t what a SJW is though. You could literally call any alt-right person a SJW using that definition, every in-group online “dog piles”.”

                                                            You couldn’t because most of the right uses different tactics. Well, at least those I ran into. They were more direct. The SJW’s use a different strategy where them portraying themselves as a victim or fighting for victims is key. They try to not look like they’re the attackers. Alt-right using the same tactics would qualify them for the term if it was in name of social justice. I’d be cool with that.

                                                            “A SJW in the pejorative sense means a person who engages in arguments on the internet about social justice for the purpose of raising their own personal reputation. “

                                                            That is not what they are. That’s a redefinition that was probably created by the same types of people. When I looked it up, the Wikipedia page was even rewriten to make it look like only racists and sexists of worst sort used the term to distract from the good efforts of the SJW’s. Who knows what it looks like by now. A key tactic of SJW’s is re-defining terms or building up strawmen. They use both to create distracting side arguments where people are arguing about the terms and so on instead of the actual thing they’re doing or demanding. They also like building up strawmen to do a bait and switch on the argument. Both techniques are described in a great write-up:

                                                            http://slatestarcodex.com/2014/07/07/social-justice-and-words-words-words/

                                                            Note: The scrollbar gives impression that the article goes on forever. That’s the huge number of comments in it. The article itself isn’t that long for anyone that reads at a decent pace.

                                                            On top of this, the SJW’s like to use smears. Anyone might do smears. Again, their strategy is to make it look like they’re the victim or representing victims. The smears will fit that. That’s why they went for a child molester and Hitler comparison in the Opal thread to set the opponent up to look like a monster. It’s usually just different accusations of -ism’s, claims they are harrassed by such and such, selective evidence of something like that which actually came out of a fight they started doing the same stuff, and so on. I’ve seen a gamut of techniques used which are all straight out of propaganda or disinformation guides. Finally, their goal is to totally censor opponents based on anything they say, who they associate with, and so on. Any non-compliance with their philosophy in any forum is grounds for them to ban that person from every forum. That’s how Opal thread started.

                                                            “it seems one of the devs made a transphobic remark and attaches their online account to Opal,”

                                                            You mean one of the devs just had a Twitter feed. In the past, it might have been a homepage or contact form with email. The developer was keeping the personal stuff separate from project stuff with them claiming to take contributions from anyone. Under SJW doctrine, he did two things:

                                                            1. He didn’t accept the gender claim of transgender people. A huge chunk of America along with all kinds of pioneers in (insert field here) or activists in (movement here) is the same. They aren’t allowed to have that belief because SJW’s don’t allow dissent from their beliefs. Strike One.

                                                            2. He expressed it in negative way on a public forum that one of their supporters saw. Either satirical or anti-transgender for real. SJW doctrine says, as previously stated, that you can’t ever violate their Code of Conduct or value system on any forum no matter how you act within projects or professionally. Strike 2, 3, and Out! Then, Coraline launched the attack trying to eject the key contributor on grounds of her crew’s politics while also offering nothing good for project in return. Typical for SJW’s although I’m not going to say for her necessarily. She did some good stuff at Github, for instance.

                                                            “Coraline wasn’t the first person to “launch an opening strike”. Elia was the first person to go out of their way to attack another group of people who happen to deal with a lot of discrimination and totally unwarranted hate.Coraline wasn’t the first person to “launch an opening strike”. Elia was the first person to go out of their way to attack another group of people who happen to deal with a lot of discrimination and totally unwarranted hate.”

                                                            This actually lets me illustrate the the SJW tactic right there. One group’s political beliefs are to be accepted as 100% correct. That would be SJW’s or any of liberal subset that agrees with them. Based on those mandated-by-them beliefs, any disagreement with that is automatically hate speech by their definitions. Since it’s hate speech, people that would be attackers are suddenly “defenders” of whoever was being “attacked” by the “hate speech.” Then they begin doing what I described. In this case, they didn’t argue with him on Twitter where he did the offense: they filed an issue with his Github to destroy his involvement with an open-source project for which he had only done positive things. Destroying reputation and livelihood is one of their common patterns.

                                                            I’m going straight to the general case here. What a decent amount of your set of people call discriminatory speech, racism, sexism, etc are just different beliefs. They are in many cases shared by a ton of people in minority classes, too. The actual route to social justice is to allow discourse of diverse parties. Then, a consensus is built on what will or will not be tolerated. It might even vary place by place with First Amendment protecting its ability to evolve over time. Most of the time, these SJW’s did not get a consensus on anything. A small group of people made a decision, they decided everyone will comply with it, and anyone who doesn’t is “offensive” in a way that must be converted or eliminated. They then act on that one target at a time as individuals and/or mobs. Just like in the Opal thread. Fortunately, the maintainer knew about and was ready for them to force them to show their true colors and block the attack. It was good he did since what I saw before that attack was more subtle or with fewer people. The new attack made for nice illustration of many of their sophist tactics and fact that they contribute nothing in exchange for the control they ask for.

                                                            Note: I’m not making any apologies for whether guy doing the tweet or maintainer are assholes. Probably based on what I see. Opal is just one of the clearest examples of how SJW’s operate by mobbing on projects trying to get their members banned for anything they claim to be discriminating. Even disagreeing with a transgender person, black person, woman, etc on any issue SJW’s would consider hate speech will cause them to do the same thing. They want total compliance with their core beliefs or that person to disappear. That is what I’m illustrating with Opal and calling out Coraline for. That is what gets her so much negative feedback but she doesn’t mention it. It wouldn’t support the narrative of her being the victim hit by unjustified oppression at every turn. Selective reporting of actions and motivations to support victim narrative followed by gaining control to force politics with suppression of opponents = SJW Strategy 101.

                                                            1. 3

                                                              You couldn’t because most of the right uses different tactics. Well, at least those I ran into. They were more direct. The SJW’s use a different strategy where them portraying themselves as a victim or fighting for victims is key. They try to not look like they’re the attackers.

                                                              Most of the Trumpists I run into are deep into wallowing in the self-pity of victimhood. The whole “make America great again” slogan encapsulates that pretty directly. They feel aggrieved, and they blame it on a Jewish-Black-Muslim-Mexican-Chinese conspiracy that has allegedly victimized white Americans and caused all their troubles. That’s why we need, according to them, “safe spaces” free from people speaking Spanish, burning the American flag, or doing other things that upset their delicate sensibilities.

                                                              1. 1

                                                                Excellent illustration of that group doing the very things it complains about with SJW’s. I’d call what you described a right-leaning version of SJW style. Definitely. You bet me being deep in Trump Country hasn’t been fun if I’m a moderate that will call that BS. I told them all the White, Black, and Latino Christian killers in prison had me worried little about the handful of Arab Muslims in the country that might one day try to kill someone somewhere. Are they interested in having TSA profile white Christians since some bad folks were among their group? I told them those Republican, mostly-white-male-run states that ran right into the ground might do better with some more Republican, white males. The ones that caused the problems to begin with. I told them I was confused by their idea that righteous, universally-beneficial businesses might come out of their Bible-bashing theory of capitalism where everyone is as selfish and scheming as possible to build up material wealth at exclusion of others’ well-being. I asked which part of the New Testament they were getting it from since my copy might be a few books short or distorted to favor selflessness.

                                                                Yeah, the victim mindset combined with bullshitting runs strong in the Trump crowd. They stopped bringing up their politics around me since I was driving them crazy with counterpoints. They even had to half agree with me on this stuff but struggled visibly to find the thread that allowed them to continue bashing (targets here) more than themselves. It was sad to watch rather than fun. Especially since I knew he’d win the election. :(

                                                              2. 2

                                                                That is not what they are. That’s a redefinition that was probably created by the same types of people.

                                                                It’s the definition used by basically everyone:

                                                                http://www.urbandictionary.com/define.php?term=SJW

                                                                https://en.wikipedia.org/wiki/Social_justice_warrior

                                                                http://knowyourmeme.com/memes/social-justice-warrior

                                                                http://rationalwiki.org/wiki/Social_justice_warrior

                                                                SJWs and anti-SJWs all use the same exact tactics, fake news, misplaced moral outrage, dog piling, slacktivism, etc. I wasn’t the person who was redefining a term, you are using the term SJW with your own definition of what it is, and that definition could literally apply to anyone.

                                                                But in any case, I am just pointing out that you are being hypocritical. You are complaining about something (dog piling and attacking a person) when that person literally is dog piling and attacking trans people.

                                                                If I said “Christians aren’t accepting reality” would you not say that is a disparaging remark against a group of people? What is the point of even saying such things on a social media account with links back to my projects?

                                                                When other people read it, they are going to think 2 things. One, that I have something against Christians, and two, the projects I am a part of are not friendly to Christians.

                                                                If people then contact the project I am in (one I link to in my social media profiles) and say “hey, this person is being rather hateful against Christians and this makes people not want to contribute, maybe consider not having them in your community”. Would you say this is unreasonable? Maybe we can even change this to white men. Maybe I think all white men aren’t accepting of reality. Suddenly I am making my projects unfriendly to white men because…why…? The only reason I can think that a person would choose to do this is for attention and to intentionally cause drama and disparage others.

                                                                They could have easily choose to keep their remarks in a non-public context or posted anonymously and separately from their projects. They did not do that. Even if they do think this way about trans people, why are they going out of their way to publicly attack a group who hasn’t done anything to them or affected them in any way personally? Someone does this in a pubic venue with links to accomplishments to give their comments more weight, and bring attention to themselves.

                                                                You are defending this person saying they were dog piled when they jumped on the anti-trans dog pile head first.

                                                                I think it was reasonable to make a request. I don’t think its ok for people to make comparisons to hitler, or make death threats, or any other over the top comment, but it was also not ok for people to double down and keep up with the transphobia. If you expect the evil “SJWs” to be rational and respectful, then why do you not hold the other side to this same standard?

                                                                1. 1

                                                                  “It’s the definition used by basically everyone:”

                                                                  It’s possible that the sources I got my definition from were biased or redefining it. I’ll look into it further in case I’m making a mistake on it. I’m primarily focused on the tactics used on a specific kind of politics.

                                                                  “You are complaining about something (dog piling and attacking a person) when that person literally is dog piling and attacking trans people.”

                                                                  You’re redefining dogpiling now and attacking now. Dogpiling is a large number of people hitting someone at once. A person on their own Twitter account or space expressing an opposite position from trans people isn’t a dogpile. I don’t see them as attacking as I have to draw a line somewhere on personal expression. A person mocking something is a person mocking something. I follow numerous trans people on social media seeing them express the same damned things about those that disagree with their claimed identity. There’s no rush of liberals to hit their homepages, Githubs, employer’s emails, and so on asking they be removed from everything. Any comments that disagree with a trans identity or what’s considered discrimination… based solely on the beliefs of one set of people in the U.S…. is considered hate speech by these people and grounds for attacking a project asking for censorship. Doing actual damage that nobody would dispute. Any violation of their group’s claims can be called an “attack” since they’re unquestionable truths like Moses said he got from God or something. A religion. Anything truly negative on a public forum gets more action whereas they wouldn’t defend people in their outgroup from their ingroup doing the same stuff. I watch it all the time. Note that all sides have that bias but most don’t go for ejection from projects or destroying careers. They’re less common to rare but highly active.

                                                                  They’re usually more sublte or passive-aggressive in these attacks. Many happen in private with emails to people. So, as stated before, I used the Opal thread since they were more obvious about it. I’m not endorsing the character of anyone there although the contrast between meh and the attackers is pretty telling. The attackers style of “discussion” is unrelenting, viscious, full of rhetoric, and have no intention of doing the project contributions they hint at. I loved the last one about “burning bridges” as if these people or their political style represent hiring or promotions at any major firm in tech. It was just another lie to push their agenda.

                                                                  “If people then contact the project I am in (one I link to in my social media profiles) and say “hey, this person is being rather hateful against Christians and this makes people not want to contribute, maybe consider not having them in your community”. Would you say this is unreasonable?”

                                                                  I’d do two things. First, I’d ask if they were treating any Christians poorly in the project/community itself or just indifferently versus the others. Remember we’re usually talking about FOSS projects in these discussions. So, are they rejecting Christian’s code, opening up unnecessary issues, or making negative remarks aimed at them? Or is all this talk outside the project/community in their own personal space? If in the project, then they get a warning and/or a ban because they’re causing actual harm by being unfair or negative for personal reasons. They’re not being responsible in terms of what the shared space or work is trying to achieve.

                                                                  Second, if it was outside the project, I’d ask the people complaining if they’ve ever mocked another person’s beliefs or actions. Have they ever cut any jokes about other human beings? And did they do that recently in past week or month? Do they do it regularly? If so, then they’re being hypocritical mocking folks they disagree with then telling me someone else should be banned for doing the same thing. I’ll also note that some disagreements push emotional buttons. They should just probably avoid reading or listening to anything that really bothers them. My parents taught me that trick in elementary school maybe. Then, I’d remind them that First Amendment is there to protect unpopular speech. Things people have a problem with and want censored. That varies over time a lot where stuff you’re complaining about might have been socially acceptable to people like you a few decades ago. It took people saying or doing things that others found offensive for some time before change happened. So, I’d say I’m not eliminating a person for unpopular speech so long as they aren’t doing it here directed at people it might piss off. That’s disallowed in shared space on principles of being courteous and respectful of others’ preferences while working together.

                                                                  So, there you go. That’s the “Be a grown adult, accept people say things you don’t like in their spare time, and defend yourself only when they’re starting something with you” take on the situation modified with the First Amendment. However, I could’ve readily dismissed it since your example, although it happens, makes no sense to me as a former, devout Christian. We’re taught to strive for fruit of the Spirit: love, joy, peace, patience, kindness, goodness, faithfulness, gentleness, and self-control (Galatians 5:22-23). We attempt to love, forgive, and pray for our enemies instead of ban or destroy them. If they did the opposite, I’d remind them of that gently at first escalating if they do to calling out their sin or Graham talking about how 90% of Christians actions don’t match their claim of faith. Hypocrisy always infuriated me more than anything. I’d tell them to be patient and not take it personally unless verbal or physical attacks within the project/community where I’d step in myself.

                                                                  “Maybe I think all white men aren’t accepting of reality. Suddenly I am making my projects unfriendly to white men because…why…?”

                                                                  Change all to most and you have the actual belief of most people that would join Coraline on an attack. They know some acknowledge their magic privilege and support the cause. The rest aren’t accepting reality by implication since such people say our view of it is incorrect. Yet, we’re still on Lobsters, Hacker News, sub-Reddit’s with different types of people, some still contribute to places with CoC’s just watching what they say, going to liberal Universities even if they weren’t as liberal, having friends in BLM, and so on. Without ever asking that those that disagree with or annoy them be removed from those places. I’m guessing we were all collectively taught to have thick skin not caring what others say, let them be them while we be us, keep stuff civil as possible, or standing our ground on our beliefs. It’s work but it makes us collectively stronger. Your side acts like it’s impossible or entirely too hard for such a thing to have happened whereas mine just thinks it’s a difference in upbringing and what the social circle reinforces. Your side reinforces victim mindset, shaming, and ostracism. Mine reinforces what I just described, acceptance of differences, helping everyone I can, and fighting all structural oppression with fair methods whether it’s minority or otherwise.

                                                                  “I think it was reasonable to make a request. I don’t think its ok for people to make comparisons to hitler, or make death threats, or any other over the top comment, but it was also not ok for people to double down and keep up with the transphobia. “

                                                                  I appreciate that you personally won’t go for personal attacks or ridiculous comparisons. Although you share beliefs with them, you’ve been much more civil than the people I was refering to. Your Christian and white comparisons were much more fair. I’ve already said I’ll let people believe whatever they want in their personal time but stop any attacks in shared space or directed at a person. That this can work out isn’t hypothetical: it’s how most businesses run down here with different people mostly getting along. Some times there’s moments of racism or sexism where people say what they have to say. A bit of bickering that stresses us out. Next day, they usually apologize to each other and we get along fine. That’s in and around a murder captial with high, racial tensions. BLM seizing the bridge/airport and the KKK marches are basically the worst things I’ve seen with overt, racial targeting at a large scale. It’s usually just verbal disputes people get past or learn to avoid such people where possible. We get along pretty well without a liberal Code of Conduct plus censorship and ejection.

                                                                  That’s people just arguing with politics based on their biases. Attacks aren’t tolerated by decent folks. In my business especially, we’ll fire someone for verbal harassment, sexual harassment, or physically attacking someone. That’s because there’s a consensus across groups that these are evil and won’t be tolerated. If no consensus, we go back to being patient or making spot decisions saying “That’s not cool. Seriously don’t do that because I’m not comfortable with it.” Respecting boundaries leans more like a CoC but we’re free by default with each individual deciding for themselves what they will or won’t tolerate. Nothing forced on people by external parties.

                                                        3. 7

                                                          These people are terrifying and I’m not surprised they were pushed out over “communication” and that people rushed to look for poor coding. I suspect you can’t open internal issues at github asking people to be removed for being aggressively illiberal identity politicians who might try to get you fired if you’ve got opinions they don’t like.

                                                          1. 4

                                                            Also, a huge number of people in groups they claim to benefit disagree with them, have no say in the matter, and will be censored too.

                                                            I believe they dismiss that class of people with a term of their own invention.

                                                          1. 8

                                                            When I need to break up a big changeset into several commits, my workflow usually looks something like this:

                                                            git add -p   # stage relevant chunks
                                                            git stash -k # stash all non-staged chunks
                                                            ...          # run tests, verify nothing is broken or forgotten
                                                            git commit
                                                            

                                                            That ability to stash non-staged chunks was a game-changer for the way I use git add -p.

                                                            1. 3

                                                              I’ve done something similar in the past: created diferents users and used a main account to sudo(instead of ssh)into those dedicated accounts (one for browsing, one for email, another for IM, etc). One of steps was that I allowed xhost access to any client so the other users could access my X.

                                                              Also I’ve found program that automates most of this but can’t remember the name (something jail?)

                                                              1. 4

                                                                I believe you’re referring to Firejail; it uses Linux kernel namespaces and seccomp to sandbox applications. I’ve been using it for a while, mainly to sandbox web browsers, and it works like a charm.

                                                                1. 2

                                                                  Unfortunately it seems to have caught fire ? Firejail local root exploit http://www.openwall.com/lists/oss-security/2017/01/04/1

                                                              1. 6

                                                                I have mixed feelings about Mozilla turning into an EFF-like organization, especially since their browser is one of the only things between us and further homogenizaton of web browsers/rendering engines (WebKit and Trident). Obviously more of this political activism would be good, but I’m afraid that the focus on mantaining Firefox and competing with Chrome would be weakened as more resources are put into activism.

                                                                1. 12

                                                                  Mozilla plans to ship WebRender (written in Rust for Servo) for Firefox in 2017, which will be amazing. Google created an entire site of articles and developer tools dedicated to fight jank, but all of them won’t be necessary for new Firefox. (They will be still necessary for Chrome.) I am not worrying about tech side of Firefox.

                                                                  On the other hand, market share of Firefox is continuing to decline, and I worry about marketing side of Firefox. Initial success of Firefox was marketing success as much as design success (and not tech success). But then I really don’t have any idea how to market Firefox. Would just letting people know about great tech behind Firefox be enough?

                                                                  1. 6

                                                                    Actually Firefox market share has increased by around 4% since August: http://www.trymodern.com/article/1249/browser-market-share-november-2016

                                                                    Since the start of 2016 we’ve been heavily re-investing in Firefox and I think the fruits of that labour are starting to pay off (helped of course by IE’s plummet).

                                                                    1. 2

                                                                      It is still declining on StatCounter: http://gs.statcounter.com/

                                                                      1. 2

                                                                        NetMarketShare measures active daily users while Statcounter measures total web traffic. Both data points are valuable for different reasons. The statcounter decline (looks more like a flatline the past 3 months) could indicate Firefox is attracting more “regular” users as opposed to power users.

                                                                        Also there was a fair bit of controversy a couple years back about Statcounter’s methodologies.. not sure if they’ve addressed them or not since then.

                                                                  2. 6

                                                                    We need more folks than EFF carrying the banner, this is true. But, that shouldn’t fall to Mozilla.

                                                                    This may be a slight to the folks at Mozilla, but I am increasingly concerned that they are losing their way. I haven’t worked there, I don’t know their internal structure or funding, but they’ve made some public decisions that make me uncomfortable:

                                                                    Mozilla deciding to sell out their users to monied publishers. What else would you call their final cave to support DRM? What else would that be? What about the introduction of paid ads based on your history in the new tab page (which you can remove, but how many do that one wonders)? Whatever the case may be, perhaps worse is that this seems to be working. Do you really trust an organization with almost half a billion in revenue to not sell you out?

                                                                    The entire Firefox OS and phone debacle. It is baffling to me that Mozilla would waste resources and engineering time making an operating system–one of the great tarpits of software engineering–especially when there were not one, not two, but three other companies with gigantic warchests trying to saturate the market. There was never any realistic hope that that project was going anywhere, and even its value as research seems questionable when it seemed to be “let’s just bolt a browser we already have onto a linux we already have”. What sort of innovation is that, really?

                                                                    The failure to make Firefox as good a browser as it could be. How long has it taken Firefox to get proper per-tab process sandboxing? How long has Chrome had it? What about HTML5 feature compliance? What about SVG rendering (compared to, of all things, IE)? I know there are a lot of good engineers there, but I kinda wonder if they’re getting brought into other non-Firefox projects or if they’re just stymied because the new Servo stuff is landing any time now so bugfixes and performance enhancements aren’t seen as fruitful to work on.

                                                                    Dropping official development support for Thunderbird. There’s the copout that the “community” is the one doing development now, but for key pieces of infrastructure and dependable basic tools that’s usually a good way to lose a nice thing. Worse, it’s a bellwether in my eyes about what’s going on over there: you see, Thunderbird isn’t a sexy piece of software, and it’s pretty gnarly between the inherent madness of everything involving email and the cruft of the windowing toolkit used to make it. It’s not easy to work on, probably, and it’s not nearly as fun as playing CADT with new programming languages or clever UI/UX or silly new HTML APIs. And so the fact that Mozilla isn’t able to field enough engineers who have either the competency or the interest in supporting it suggests that their priorities lie elsewhere.

                                                                    Lastly, the big elephant. The absolutely yuuuuge fuckup was the entire railroading of Eich, by both employees and the company leadership itself. For me–and I make no claims I’m correct or fair here, just that this is my opinion on the matter–that showed that the Mozilla had finally put politics over technical aptitude or competence. That showed to me that they had either brought in too many folks who were comfortable backstabbing their own or that they had brought in folks too willing to take up a witchhunt instead of ship good code. And for all that, what is Eich doing now? Hint: it’s not making the Web less commercial. Good going on that Mozillans.

                                                                    ~

                                                                    I have incomplete and doubtless at least slightly inaccurate information, but I’d much rather see Mozilla acting like stewards or doing novel R&D instead of chasing political objectives and funding, especially when they’ve already shown themselves to be willing to compromise on their mission.

                                                                    1. 9

                                                                      We’ve definitely made a lot of mistakes in the past couple years. You have some valid points, while others I would not agree with at all. Some of your points I’ve written rebuttals for more times than I care to admit and have grown a bit tired of them, so I apologize if my replies seem terse.

                                                                      Mozilla deciding to sell out their users to monied publishers. What else would you call their final cave to support DRM? What else would that be? What about the introduction of paid ads based on your history in the new tab page (which you can remove, but how many do that one wonders)? Whatever the case may be, perhaps worse is that this seems to be working. Do you really trust an organization with almost half a billion in revenue to not sell you out?

                                                                      The point of directory tiles (ads) was to see if we could build a profitable ad network that didn’t rely on tracking anyone. It was meant to be an experiment, and the experiment failed (and even backfired). But fear not, directory tiles are no more.

                                                                      I think supporting DRM is a necessary evil. I’ll just link to a previous thread where I discussed this before: https://lobste.rs/s/jqxdc0/firefox_v46_security_hardening_some/comments/3ueanv#c_3ueanv

                                                                      I also want to specifically call out that one of Mozilla’s tenants is:
                                                                      Commercial involvement in the development of the Internet brings many benefits; a balance between commercial profit and public benefit is critical.

                                                                      From the Mozilla Manifesto.

                                                                      The entire Firefox OS and phone debacle. It is baffling to me that Mozilla would waste resources and engineering time making an operating system–one of the great tarpits of software engineering–especially when there were not one, not two, but three other companies with gigantic warchests trying to saturate the market. There was never any realistic hope that that project was going anywhere, and even its value as research seems questionable when it seemed to be “let’s just bolt a browser we already have onto a linux we already have”. What sort of innovation is that, really?

                                                                      The failure to make Firefox as good a browser as it could be. How long has it taken Firefox to get proper per-tab process sandboxing? How long has Chrome had it? What about HTML5 feature compliance? What about SVG rendering (compared to, of all things, IE)? I know there are a lot of good engineers there, but I kinda wonder if they’re getting brought into other non-Firefox projects or if they’re just stymied because the new Servo stuff is landing any time now so bugfixes and performance enhancements aren’t seen as fruitful to work on.

                                                                      I think these two points are related and I agree they are valid. In hindsight Firefox OS was a mistake, and instead we should have focused more on Firefox. But hindsight is 20/20. The good news is that Mozilla has admitted that, and now we are focusing on Firefox. I’ll direct you to a previous post I made on this topic: https://lobste.rs/s/t9kvj2/choose_firefox_now_later_you_wont_get/comments/c4ky8p#c_c4ky8p

                                                                      Dropping official development support for Thunderbird. There’s the copout that the “community” is the one doing development now, but for key pieces of infrastructure and dependable basic tools that’s usually a good way to lose a nice thing. Worse, it’s a bellwether in my eyes about what’s going on over there: you see, Thunderbird isn’t a sexy piece of software, and it’s pretty gnarly between the inherent madness of everything involving email and the cruft of the windowing toolkit used to make it. It’s not easy to work on, probably, and it’s not nearly as fun as playing CADT with new programming languages or clever UI/UX or silly new HTML APIs. And so the fact that Mozilla isn’t able to field enough engineers who have either the competency or the interest in supporting it suggests that their priorities lie elsewhere.

                                                                      I agree with the decision to drop Thunderbird, and yes our priorities absolutely lie elsewhere. It does not provide much benefit to Mozilla’s stated mission. I think any innovation in the space of desktop mail clients is not something Mozilla has any business being involved in. Fwiw, I still use Thunderbird as my daily mail client and have no complaints.

                                                                      Lastly, the big elephant. The absolutely yuuuuge fuckup was the entire railroading of Eich, by both employees and the company leadership itself. For me–and I make no claims I’m correct or fair here, just that this is my opinion on the matter–that showed that the Mozilla had finally put politics over technical aptitude or competence. That showed to me that they had either brought in too many folks who were comfortable backstabbing their own or that they had brought in folks too willing to take up a witchhunt instead of ship good code. And for all that, what is Eich doing now? Hint: it’s not making the Web less commercial. Good going on that Mozillans.

                                                                      While I was not present at any board meetings, I certainly got no sense that Mozilla leadership forced him out. While there were a handful of Mozilla employees that spoke out against him, what makes Mozilla such an awesome place to work is the ability to do that. I’d be much more concerned if employees weren’t allowed to speak their minds. At the end of the day neither of us know exactly what happened and we can choose to believe what we will. All I can say is that based on my view from the inside, I have no reason to disbelieve the fact that Eich left Mozilla under his own volition.

                                                                      1. 2

                                                                        Thank you for your reply, and especially for the other things you’d linked.

                                                                        Part of the issue I think is also that, from where I’m sitting, it’s kinda hard to see beyond the Mozilla marketing and propaganda and the coverage of what you all do–least of all because the “Mozilla is the EFF of the Web! Libre software and freedom and rights and ponies and magic dust woohoo!” message that people seems to be receiving from you folks (or from your cheerleaders outside the org, more likely) kinda directly conflicts with things like having near half a billion in revenue or saying that you need to compromise the public benefit for commercial profit. We get the wrong impression about what you all do, and then when you don’t measure up to that impression folks grouse.

                                                                        Anyways, would you mind talking about what working at Mozilla is like? How large is it, where is it, how are projects decided and moved around on, that sort of thing. It’d be interesting to hear from somebody who actually works there.

                                                                        (for what it’s worth, I’d rather see Mozilla be more like the OpenBSD foundation than Canonical, but we live in an imperfect world)

                                                                      2. 2

                                                                        Firefox OS actually made some sense to me. Google made the initial bet: the way the web is growing into an all-encompassing platform where people increasingly run most things as webapps (e.g. Gmail, not Outlook), why not just go all the way, and turn Chrome into Chrome OS? If Mozilla thought this had a chance of success, responding with Firefox OS makes sense to me. It’d not do that much good for Firefox to be an alternative to Chrome on Windows, macOS, or Linux, if the future of Chrome was ChromeOS, where Firefox had no alternative. So they looked into building one.

                                                                        In retrospect ChromeOS hasn’t taken off that much, but I’m not sure that was obvious, and I could easily imagine an alternate world where Mozilla ignored ChromeOS and then was caught flat-footed with no similar product (much like Microsoft missed the smartphone boat).

                                                                        1. 2

                                                                          where Mozilla ignored ChromeOS and then was caught flat-footed with no similar product

                                                                          That’s the thing, though…other than perceived opportunities to dick-measure with other engineering companies, there’s no market pressure on Mozilla in the same sense that there is with a more standard company releasing a product. They don’t have to have their fingers in every pie that might come up, and should focus more. They don’t need to try and outgoogle Google.

                                                                          For what it’s worth, I think Microsoft “missing the smartphone boat” is similarly off-base thinking.

                                                                          1. 2

                                                                            They don’t have to compete in a proper sense, right, but if somehow BrowserOS really did become the wave of the future, then imo it’d be important to have an alternative to the Chrome monoculture there too, just like it is on the desktop. Mostly I’m finding it not that hard to imagine them getting exactly the opposite criticism if a few things had turned out differently. If this had happened, I think people would be attacking Mozilla with the benefit of hindsight as being old-fashioned and backwards thinking: here they are still shipping only a desktop browser like some kind of last-decade chumps while everyone has moved to ChromeOS, and Mozilla can’t provide them an open-web alternative because the org was too old-fashioned and conservative to understand that they needed to make a FirefoxOS.

                                                                      3. 3

                                                                        Worth noting Trident got turned into EdgeHTML, which will follow what WebKit does.

                                                                        […] Microsoft Edge matches ‘WebKit’ behaviors, not IE11 behaviors (any Edge-WebKit differences are bugs that we’re interested in fixing).

                                                                        1. [Comment removed by author]

                                                                          1. 5

                                                                            It’s on “us” to make sure that doesn’t happen, though. Make sure your code works in both Firefox and WebKit (i.e. Edge), and refuse to compromise when making estimates and delivering. That’s the least we can do as developers, and at least it leaves the door open for Firefox – if sites start rendering incorrectly in the browser, it won’t stand a chance at (re)gaining any of the market share.

                                                                      1. 12

                                                                        Gitless has no staging area

                                                                        I frequently use git add -p to stage chunks of diffs, so that I can make separate commits of unrelated changes in a single file. I would miss that feature greatly.

                                                                        1. 9

                                                                          Gitless has a --partial flag that can be used to interactively select segments of a file to commit.

                                                                          1. 6

                                                                            As durin42 mentioned elsewhere, hg gets arround this (without having a staging area) by having support for interactive commit selection with hg commit --interactive.

                                                                            1. 3

                                                                              For non-trivial changes, how do you know for sure that your code still compiles afterwards? Is this not a problem in practice?

                                                                              1. 7

                                                                                For non-trivial changes, I don’t know. But if it gets to the point where I have non-trivial changes in my working copy, I’ve already lost.

                                                                                In my experience, a common pattern is:

                                                                                • start editing some function
                                                                                • realise this function would be easier/safer/simpler with a change to the helper function it’s based on.
                                                                                • go off and edit the helper function, write some tests, make sure it’s solid
                                                                                • come back and finish the outer function, to make sure that the changes to the helper function actually accomplish the thing I needed
                                                                                • git add -p the changes to the helper function and the tests, which I’m confident can stand alone because the existing tests still pass, plus my new ones
                                                                                • commit the changes to the outer function

                                                                                …times as many stack-levels of yak-shaving as you can stand.

                                                                                1. 1

                                                                                  Once you have made small commits, you can do an interactive rebase to build every version and make edits if necessary. With e.g. Gerrit and Jenkins you can automatically get feedback whether each commit builds/passes tests.

                                                                                  1. 1

                                                                                    You can use git stash -k to stash unstaged changes, run your compiler / test suite, and commit them if they all pass.

                                                                                  2. 1

                                                                                    I think I could make do with their --partial flag, but the lack of git rebase -i is a bit of a deal-breaker for me.

                                                                                  1. 3

                                                                                    I use Pocket Casts to listen on my phone - I usually listen to podcasts on the move anyway, and the UI is pretty slick.

                                                                                    As far as podcasts go, non-tech-wise:

                                                                                    • 99 Percent Invisible, a great show on architecture, design, urban planning, and much more. I love their focus on the wider (sociological, political) implications of the topic discussed.
                                                                                    • Thinking Allowed, a BBC 4 show mostly on sociology.

                                                                                    Tech-wise:

                                                                                    • Cognicast, the Cognitect podcast on Clojure,
                                                                                    • Functional Geekery, a cool all-around show interviewing interesting folks from the functional world.
                                                                                    1. 2

                                                                                      good link, if you like Functional Geekery, check out The Type Theory Podcast: http://typetheorypodcast.com/ Same idea, interviews with big names in functional programming.

                                                                                      1. 1

                                                                                        Thanks! I really liked the Type Theory Podcast, but they seem rather inactive – I’d love to hear more episodes.

                                                                                    1. 4

                                                                                      How many of these languages offer enough visibility into what the environment and libraries are doing for pledge to be truly useful/reliable?

                                                                                      I don’t know that I’d trust myself to shut off access to a big part of the system for, eg, the Haskell runtime, or the Go runtime. I’d be worried that some innocent looking function call would lead to something disallowed happening, and killing the program.

                                                                                      This feels like a bad enough problem in C or C++ with deep dependency stacks. Adding in thick runtimes, lots of third party dependencies that tend to get updated frequently, would make me feel a bit uneasy about this.

                                                                                      1. 4

                                                                                        A few off the cuff answers.

                                                                                        somebody knows. Ask them.

                                                                                        Or somehow this community knowledge will emerge.

                                                                                        Or guess and check.

                                                                                        The runtime probably isn’t doing that much crazy stuff. Allowing it to allocate memory may be sufficient. Maybe create threads.

                                                                                        1. 2

                                                                                          I see this as a reasonable trade-off, and (sort of) the point of “pledge” - by using it, you are trading your convenience as a developer for the safety of your end-users. You will spend a substantial amount of your time exploring and testing all different code paths of your library or app, yet in return, your users have a solid guarantee your application does only the things listed in the pledge.

                                                                                          1. 1

                                                                                            A tool which converts a ktrace log to a minimal pledge set might be interesting.

                                                                                            1. 3

                                                                                              But probably a bad idea. It usually only takes a little thought to determine what a program does. Exhaustive black box testing would take longer. More importantly, the thought process may reveal a better program design.

                                                                                              Pledge has always been a simple framework for program experts. Quite different from many alternatives, which are expert frameworks for simple programs. :)

                                                                                          1. 11

                                                                                            Reading! I’ve tired of reading technical books on my ereader, the formatting is all screwed up, so I’ve ordered a bunch of physical books.

                                                                                            I just received The little schemer and I’m also waiting for The seasoned schemer, sicp, the c programming book and modern operating systems.

                                                                                            I’m also revamping my cv.

                                                                                            1. 1

                                                                                              There are tools to fix pdfs that make them e-reader friendly. In any case, I was thinking of doing the same…Still debating.

                                                                                              1. 3

                                                                                                E-Readers work great for novels since you’re generally always reading forward. With technical books you’re often changing the pages, to check on the annex or a previous chapter or just looking at specific pages and unfortunately, e-readers just arent fluid enough to make this work without overhead.

                                                                                                1. 2

                                                                                                  What tools do you speak of???

                                                                                                  1. 3

                                                                                                    I’ve been able to get very solid results with k2pdfopt.

                                                                                                    1. 1

                                                                                                      I sincerely hope that this changes my life as much as I think that it will!

                                                                                              1. 2

                                                                                                Does anyone know what he means by “able to speak French with a teacher accent”? Teacher’s speak differently? Are they taught that in teacher school?

                                                                                                1. 6

                                                                                                  Teachers tend to speak with an accent and a vocabulary from the “standard” language. Since spoken languages usually have a number of different dialects which can differ quite a bit, there is usually one “standard” form used in literature, official correspondence, TV broadcasts, business communication etc. In French, that would probably be Parisian French, in German Hochdeutsch etc. Being able to speak the standard dialect is sometimes seen as a sign of good education.

                                                                                                  1. 4

                                                                                                    I think he just means a prestige accent, as in, “good enough” to teach French to foreigners.

                                                                                                    1. 2

                                                                                                      After a fair bit of research and some luck, I found for American speakers its the “Mid Atlantic” accent. For the record my English sounds nothing like this.

                                                                                                      https://en.wikipedia.org/wiki/Mid-Atlantic_accent