1. 3

    Yesterday, I wrapped up the first version of cargo-cdo, a tiny utility that checks dependencies in the members of a Cargo workspace and reports any version conflicts. Our workspace is growing, and this should hopefully help keep the dependencies in sync. This week, I’d like to improve its docs a tiny bit, push it to crates.io, and perhaps write a nix expression for the build.

    Otherwise, I’ve been reading about the Rust macro system, and I think I’m becoming more and more comfortable with its ways. I find macros neat for abstracting away some repetitive pieces of code, although I’m wondering how much they impact its comprehensibility. Anyone with a bit more Rust experience to shed some light on the limits of use and abuse?

    1. 3

      This seems terribly misleading. The README says

      You can add a contact form in your static website like site hosted on Github and able to get response from user.

      …only to require you to deploy a (very dynamic) node.js app… somewhere.

      Of course it would be difficult to send an email from a purely static website without firing up an email client or some SaaS-like thingy, but this seems to be falling short of its promise on a very basic level. I suggest updating the description accordingly.

      1. 3

        I went to a state technical school as a young man, majoring in CS, and dropped out two years in due to the tech boom of the early 2000’s when I was offered a job making more money than anyone in my family had ever seen.

        Years later, I decided to go back and finish my degree. A buddy of mine ended up going to WGU and recommended it for busy professionals, and that’s where I ended up.

        Pros:

        • Nonprofit
        • Accredited
        • Competency-based, meaning you can test out of any class whenever you feel you’re ready (or, for some classes, submit a project)
        • Inexpensive (around $3000 per six-month-term, for however many courses you can pack into those six months)

        Cons:

        • The selection of majors is somewhat restricted
        • There’s not a lot of contact with faculty; you definitely need to be self-motivated (there are chats and cohorts and course mentors you can talk to and such, but it’s up to you to reach out to them)
        • The quality of the materials ranges from poor to okay
        • I feel like it didn’t really each me all that much

        So that last point deserves some elaboration: the courses seem very simple. Now, that was looking at them through the lens of decades of practical experience and (arguably obsessive) self-teaching. If I think back to when I was 18-22, they might not have seemed so simple then.

        Also, that second-to-last point should be talked about a bit. The primary learning resources are all fine; they’re the same textbooks and such that you’d get at any university. The lectures are often just video series from one or another professional education organization (that is, not a university/professor, but a professional). There are occasional videos from professors at the university, but (like anything) they vary widely in quality.

        There’s a heavy focus on practice and less on theory: as part of your degree you get various certifications; the certification is, in effect, your “final exam” for the course.

        The fact that most (but not all) classes have a “final exam” that you can take at any time and be done with is a double-edged sword. I remember the “introduction to programming” class that I was required to take didn’t actually require that you write any code: it was just a final exam where you read some Python code and said what it would do or find errors in it, etc. (There are other courses where you do have to submit relatively large programs as your final project; these were all in Java IIRC.)

        All-in-all, I’m not super-duper-satisfied. I didn’t need a degree for my career; it was almost entirely just to check a box. If you just “need a degree” for whatever reason, and you’ve got a busy life, WGU is a good bet. It’s cheap, it’s fast, it’s accredited, and it’s non-profit. In terms of return on investment, well…it’s cheap and it’s accredited so it’s great bang-for-buck. In terms of education, it’s…well, I didn’t learn anything.

        (I’m in the process of deciding if I want to go get a second bachelor’s from a more prestigious school, treating the WGU bachelor’s as essentially just “getting the last of my pre-reqs out of the way,” but it’s a lot of time and effort.)

        1. 2

          Thank you, that was most helpful! I believe we’re in a similar position: I don’t require a degree for my career, but I would love to have some sort of academic credentials since they do give you some options that would be very hard to get otherwise (academia, many research positions, the warm and fuzzy feeling of completion etc.).

          Unfortunately, WGU doesn’t seem to admit people who don’t live in the US or Canada. Intuitively, I’m aware that the lack of contact means a lot of the success depends on the amount of work of the student, and that motivation is the key. Regarding the variation in quality, I’ve found that to be the case with my brick-and-mortar university as well; certain teachers are simply bad and certain classes are simply not well thought out, and I guess that just becomes much more visible with distance learning.

          I appreciate you sharing your experience!

        1. 2

          Unfortunately I don’t have any experience with distance learning, but I do have experience with a degree in physics.

          I got my MPhys 4 years ago and the contact hours were high (for the UK, compared to people doing softer sciences) at around 25 - 27 hours a week. This was pretty valuable time, with a lecturer to ask questions and explain the concepts that I had trouble with.

          I don’t know how much “contact” time you get with distance learning courses, but I found it very useful / vital for me personally. Plus the lab based modules were pretty useful.

          As for how people look at it - I’m just about to finish a PhD and start a postdoc - I’m pretty sure if you have the grade (2:1 or higher) and have the experience / do well in the interview it would count the same.

          1. 1

            Thanks a bunch! My previous studies have been towards an MEd in Physics and Computer Science. Going back to that would be an option, but since the studies don’t affect my work and my interests lie elsewhere, I am considering alternatives.

            I’ve done a fair amount of lab work, and I do agree it’s really useful! I’ll certainly miss that, but I’m hoping I’ll still remember a thing or two from my labs a few years back. :) As far as other contact time is concerned, from what I could gather, you usually get assigned a tutor who you can contact in case you get stuck or need further clarification, which sounds like a reasonable compromise.

          1. 4

            I used to write a fair amount; there’s one advice I remember reading that resonated with me, and one I try to keep in mind whenever I write a non-trivial amount of text: clearly and religiously separate the writing and editing phases of your work. Unfortunately, I can’t remember the source, but I believe it’s a fairly common pattern among writers.

            During the writing phase, the idea is to get as much of one’s thoughts out on the paper, regardless of style, grammar, vocabulary and miscellaneous nitpicking. If you, the writer can understand it, it’s good enough: get the general idea out of your system, and move on. You can start with an outline, as this article helpfully suggests, but at the end, you should have complete sentences staring at you, and probably have a slight panic attack because you think they completely suck.

            After the writing phase is done, go back through the text and try to look at it through the eyes of an editor. Is it interesting to read through? Is it well balanced? Are the paragraphs of approximately equal length? Are you repeating certain words too much, and can you replace those with a decent alternative? Are there any issues with grammar or spelling? Fix all of those meticulously, and repeat the process.

            I used to start writing, and then obsess over every sentence as I wrote it, which led to spending hours in front of a text editor only to barely write a paragraph of text. This helped a lot, and it works (on my machine(tm)) equally well for both technical and non-technical writing.

            1. 2

              I have a bunch of org files which are synced to my phone with SyncThing. These cover everything from my personal & work projects to chores like apartment cleaning & shopping. Most of these files are loaded into the agenda view, which is the primary way I consume these lists.

              On my phone, I use Orgzly to read and, to a lesser extent, write to the files. I also export my agenda to an ICS file which is loaded into my Google Calendar for reminders.

              I keep a reasonably detailed plan of my days in Google Calendar. I usually divide my day into a few slots for gym, work, and meals, as well as a few unallotted slots for downtime, reading, music & co. I find this helps me avoid procrastination, and keeps me focused on the task at hand.

              One of the things on my meta-to-do list is replacing Google Calendar with a self-hosted solution.

              1. 5

                I guess it’s not much use after-the-fact, but I believe we have reasonable solutions for these issues nowadays:

                • Docker, and the official GCC image. If clang is a hard requirement, it should be fairly easy to find an image based on a distribution with a fairly recent version of LLVM in its repositories and quickly build on top of it.
                • the Nix package manager, which seems to have a working build of Clang 6 for Darwin.

                Nix has particularly helped me keep my dev dependencies out of my base system, and is a nifty tool to have under your belt.

                1. 3

                  Hey, I should check out Nix. I keep hearing about it. Thanks!

                  The docker solution I’m pretty skeptical about. First, this would require me to run my application inside docker (right?) Secondly, docker for mac keeps eating up disk space. It’s SO annoying and last time I checked it was a won’t fix. I #deletedocker from my mac.

                  1. 2

                    If you build your binary through Docker, you either have to run it in a container, or you can link it statically, assuming you run Linux on your host OS. I understand how both options aren’t very appealing to you.

                    Nix is a really useful collection of software. I have no first hand experience with it on OS X, but anecdotally, it works fine. Do check it out!

                1. 13

                  Here’s the full text for anyone that doesn’t have an account: https://i.imgur.com/6iUWOzf.png


                  Saying goodbye to Slack’s IRC and XMPP gateways

                  As Slack has evolved over the years, we’ve built features and capabilities — like Shared Channels, Threads, and emoji reactions (to name a few) — that the IRC and XMPP gateways aren’t able to handle. Our priority is to provide a secure and high-quality experience across all platforms, and so the time has come to close the gateways.

                  We know this may affect your workflow in ways that are frustrating or disruptive, and we’re here to help and answer questions. Thank you in advance for making this transition with us.

                  Please note that the gateways will be closed according to the following schedule:

                  • March 6, 2018: No longer available to newly-created workspaces
                  • April 3, 2018: Removed from workspaces where they’re not in use
                  • May 15, 2018: Closed for all remaining workspaces

                  If your workspace currently uses gateways, your experience won’t change until May 15th. But we encourage you to prepare for the transition soon. Feel free to contact our support team for help.

                  Accessibility & screen reading

                  We are focused on making Slack accessible to all people. Over the past year, we’ve made great progress in improving both the keyboard and screen reading experiences in Slack. We know many users have been relying on IRC and XMPP clients for a more accessible experience — but our goal is to build all of the accessibility features you need directly into Slack.

                  Navigating Slack by keyboard: In addition to Slack’s keyboard shortcuts and basic keyboard accessibility, you can now work in Slack using our new, more efficient navigation model.

                  Using a screen reader in Slack: We’ve also been improving the screen reader experience. Here’s what you’ll find:

                  All UI elements are accessible by keyboard and functional with a screen reader We’ve improved our UI labeling & naming, including ARIA landmarks Interactions like the message input autocomplete have also been enhanced with ARIA We’ve improved the virtual and focus navigation experience for reading messages Message content, states (e.g. stars, pins, etc.) and actions (e.g. reply, react) are fully perceivable These changes are just the beginning of our accessibility journey. We’ll be releasing further improvements in the near future!

                  Creative uses of gateways

                  Although the gateways were never supported as a developer feature, many of you have built useful and creative integrations that rely on them. We recognize removing these gateways may disrupt your work, but we’re hopeful that our Real Time Messaging and Events APIs will meet the majority of your integration & bot needs.

                  Many other creative uses of gateways are now supported with full-fledged features right in Slack, like setting per-channel notifications, searching logs, sending email straight to Slack, and more. A quick search in our Help Center is an easy way to see if Slack’s capabilities now cover your use case, or you can reach out to our support team.

                  XMPP and IRC Disabled

                  Guest accounts are not permitted to use the XMPP and IRC gateways.

                  1. 24

                    We are focused on making Slack accessible to all people. Over the past year, we’ve made great progress in improving both the keyboard and screen reading experiences in Slack. We know many users have been relying on IRC and XMPP clients for a more accessible experience — but our goal is to build all of the accessibility features you need directly into Slack.

                    What if your accessibility reason is because the client is crap?

                    1. 17

                      One of my secret powers, using the IRC gateway, was a complete log history. I gather the free tier expires messages after some time or message limit. Twice I’ve gone in to my own logs to recover a conversation we needed to reference.

                      1. 5

                        I’m a big fan of this feature as well. Even though my company has a paid account with access to the entire history through the UI, it’s still way faster and more flexible to just grep through the folder. However, you don’t have to use the IRC gateway – wee-slack will take care of this as well (assuming you use WeeChat, of course).

                  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. 2

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

                                            1. 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.”

                                          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. 63

                                                              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. 11

                                                                    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.