One-Minute Animated Primers on Major Theories of Religion - <AUTHOR> http://www.brainpickings.org/index.php/2012/10/18/60-second-adventures-in-religion/

<comment><USER2> In "Lies We Tell Kids" ([http://paulgraham.com/lies.html](http://paulgraham.com/lies.html), 2008) Paul Graham argues that religions are a combination of 'bizarre lies' and 'useful things/advice': _" The bizarre half is what makes the religion stick, and the useful half is the payload"_.

The example given of 'bizarre customs' are innocuous (snapping your fingers before eating fish) and of the 'useful half' desirable (being honest and industrious).

This view sounds wrong. First, it seems to present religion as a mostly good thing, that simply rests on "tricks", but which is having a positive effect on the world. That view doesn't strike me as particularly accurate.

But secondly, and much more importantly, it supposes religions were fabricated, on conscious purpose, as this curious mix of sticky lies and good payload, _in order to_ help the payload spread. A conscious and benevolent maker made religion? Santa Claus invented Santa Claus!

Religion is either the work of God (if you're a believer) or it doesn't have any purpose or meaning; it can't be a thing built on purpose with clever tricks in order to benefit the world, while at the same time being independent from deity.

That's why "religion as a virus" (4th video) is such an attractive and fascinating hypothesis.

Religion is the work of natural selection of ideas. Religions that survive are the ones that are effective at surviving. It doesn't matter if they harm (or even kill) their host, what matters is that they spread to another host before killing the first one. Some religions are "good" and some are "bad" _but it doesn 't matter_; their goodness or badness is absolutely orthogonal to their success.

</comment><comment><USER3> For 60 second "primers", they waste an awful lot of time with inanity.

I think it would be more accurate to describe these for what they are: advertisements for the open university (and imo, poor ones at that).

</comment><comment><USER4> I kinda miss the videos where the theists and the deists make their case.</comment>


What you can't say - <AUTHOR> http://apenwarr.ca/log/?m=201104 <comment><USER2> When confronted with disagreement, claiming your assertion seems to be "Something you can't say" is incredibly weak. The article does not address any of the counterarguments raised in <http://news.ycombinator.com/item?id=2377109>, but merely restates the assertion. It would be "something you can't say" if all the counterarguments were grasping at straws, showing that people are unwilling or incapable of understanding or accepting the assertion.

It's the same argument every crackpot invokes to explain disagreement. It is the very last line of defense that everyone can invoke, independent of what the other has argued. It's basically equivalent to "I'm right; you just don't understand". But the article hasn't even tried to refute any of the counterarguments and is in no position to make such claims.

<comment><USER3> The difference between merely unpopular and What You Can't Say is how people respond to it. Merely unpopular views are responded to with thoughtful, rational rebuttal. What You Can't Say is responded to with moral outrage, dismissal, and similar responses. Someone who's merely wrong can be corrected with good argument taken in good faith--someone who's broached a taboo is beyond simple argument and faces opposition on a social than a rhetorical level.

<comment><USER4> The discussion also tends to be steered away from the taboo, towards nitpicking. The basic argument here is that ipv6 is less desirable than a series of hacks on top of ipv4, but very few people were arguing that. Instead they refused to even admit that possibility and focused on refuting individual elements of the argument. Every single argument of the article could be refuted, and still the basic tenet could be correct. I've read through the discussion and i still don't know whether ipv6 is a good or bad idea.

Anyway, practicality always wins. If the ipv6 proponents can't make the transition succeed soon enough, hacks+ipv4 will win by virtue of being the only practical solution _right now_.

<comment><USER2> The basic argument that most people responded to was the claim that the ipv6 transition was practically impossible. The central point of the counterarguments is that since djb's article, a lot has changed and there now actually _are_ sensible transition plans. Even djb has acknowledged that fact.

The remainder of the arguments were mostly about taste. He accepts NAT; many others argue that NAT is horrible and he ignores those arguments based on straw men (an edit in the original article) like:

      (Update 2011/04/02: A lot of people have criticized this
      article by talking about how nasty it is to require NAT
      everywhere. If we had too much NAT, the whole world would
      fall apart, [..]

Moreover, his arguments included technical errors that limit their applicability. All in all he was simply far from convincing. Getting into a discussion where you defend the virtues of NAT is not saying something "you can't say". It saying something unpopular that needs good arguments, because there are good reasons it's unpopular.

</comment></comment></comment></comment><comment><USER5> _I was shocked at the time that some people actually think Postel's Law is_ wrong _, but now I understand. Some people believe the world must be_ purified _; hacky workarounds are bad; they must be removed._

 _Parsers that refuse to parse, Internet Protocol versions that don't work with 95% of servers on the Internet, and programming languages that are still niche 50+ years later... sometimes you just have to relax and let it flow._

Just "letting it flow" is what we've been doing, Postel's law is exactly that. And look at the mess that's gotten us into. Letting people off the hook by working around their shitty "interoperable" implementations by being liberal in what we accept doesn't help in the long run, and it, IMO, naively assumes that eventually everyone will come around. It's short term thinking.

It's not about purity, it's about sanity.

And for the record, I'm a proponent of Postel's Law, because it's pragmatic, but not blindly. One must learn from one's mistakes. The problem is when the 800lb Gorilla decides to be liberal in what they generate because they know that everyone else will be liberal in what they accept--Postel's Law being effective pretty much "requires immediate total cooperation from everybody at once" (which you might recognize as one of the possibilities on the "Universal Crackpot Spam Solution Rebuttal"). There's a time and place for Postel's Law, and the hard part is finding the line where on one side it makes sense to be liberal and on the other it makes sense to be conservative.

<comment><USER4> The main problem with "pure" implementations is that they deny a core aspect of humanity: we make mistakes. The problem is not that parsers have to deal with invalid syntax, that's just a given, it's that they have a notion of invalid syntax at all. It's not that hard to design a spec in such a way that all input will be parsed in a predictable way, maximally extracting semantics. This is what i like about the html5 parsing; it doesn't have a concept of unparseable input, yet all parsers can implement the same standardized parsing algorithm.

<comment><USER5> _they deny a core aspect of humanity: we make mistakes_

Exactly. Postel's Law is meant to work around that. One might call it being robust (one might also call "accepting the input and doing something sane rather than trying to guess" robust also). There are two holes in it, however: 1) it doesn't encourage people to actually fix their "mistakes", and 2) it encourages exploitation of those who are liberal with their input.

We must be liberal, but not necessarily too liberal, in what we accept. Postel's Law has specific applications. One shouldn't be liberal in their acceptance of tyrants, for example.

<comment><USER4> 1\. Why do people have to fix their mistakes if automation can solve the problem for them? If we can assume that mistakes will be made, and we can find an automated way to solve those mistakes, then why should we force humans to jump through hoops?

2\. Why can't a parser be strictly standardized and liberal with its input at the same time? If the spec provides error recovery behavior, what is wrong with that?

My point is that there's no such thing as too liberal as long as all parsers implement the same exact kind of liberal parsing. Our low-level communication protocols have no concept of invalid input, they can recover from any random burst of garbage input, and we think this is normal. But then at a higher level of communication, like XML, suddenly error recovery is a bad thing? It makes no sense to me.

<comment><USER5> _1\. Why do people have to fix their mistakes if automation can solve the problem for them?_

Postel's Law isn't about automation, it's about where to apply effort. Automatically fixing mistakes _at the time of their creation_ would be great, but just like real life, there are a million ways something can be interpreted wrong after the fact (and thus the wrong "fix" applied) and only one way to interpret it right.

 _why should we force humans to jump through hoops?_

Humans have to jump through hoops to _create_ the robust error recovery. Rather than the effort being evenly distributed among all parties when everyone is conservative on both the production and acceptance side, the producers can be really lazy and the acceptors have to jump through hoops to accept all the lazy people's output. There is no automation here, _someone_ has to write the code that liberally accepts things, which is often a hard task because of the many different ways things can be interpreted when they are not specific and explicit.

 _2\. Why can't a parser be strictly standardized and liberal with its input at the same time? If the spec provides error recovery behavior, what is wrong with that?_

A parser that is liberal with its input _and_ provides robust error recovery begets tag soup. The only people who like tag soup are those who want to be lazy when producing it. It's more work, over all, to accept _all_ input and try to figure out what was intended than it is to just say "I can't interpret this" and tell the generator that they need to be more conservative in what they generate (the other part of Postel's Law).

 _My point is that there's no such thing as too liberal as long as all parsers implement the same exact kind of liberal parsing._

It's not the liberal parsing that is necessarily the problem, it's the second order effect of liberal interpretation. If people can be liberal in their parsing, then they can be liberal in their interpretation, and if we accept that, we have to, as users, accept very little robust interoperability.

 _Our low-level communication protocols have no concept of invalid input, they can recover from any random burst of garbage input_

"Recover"? If you don't do the TCP handshake in very specific ways, not only does no other server talk to you, but you may end up breaking some of the guarantees that TCP is supposed to provide. Random garbage that sets the RST bit in a TCP packet closes the connection, it doesn't "recover" from that.

Now, obviously, I'm not advocating that things should outright crash when given bad input: that's the worst. They should produce decent error messages as soon as possible so the producer can increase their conservative nature of generation. Consider serving a web page as application/xhtml+xml, which in Firefox (at least back when I was doing a lot of this) would fail to accept the file and would tell you where it was structured wrong. By accepting any old ambiguous format, you'd never see this error and you wouldn't know that you weren't being conservative in your output. And since different browsers treated malformed content differently (either accepting it, or not accepting it, or trying to guess and often getting it wrong or different from what other browsers guessed), you end up with a mess where the "liberal" accepting side gets tagged as deficient if it doesn't jump through all the hoops thrown at it.

</comment></comment></comment></comment></comment><comment><USER6> In many ways, the IPv6 debate is similar to the x86 vs RISC debates. While everyone agrees that the Intel architecture is bad, in practice it doesn't matter all that much on big desktop chips.

Linus Torvalds had a small rant about that when the Itanium was introduced: [http://www.theinquirer.net/inquirer/news/1008015/linus- torva...](http://www.theinquirer.net/inquirer/news/1008015/linus-torvalds- itanium-threw-x86)

The sad fact is that the x86 architecture survived because it was good enough, and there was no incentive to replace it with a "purer" design. Only in the mobile / microcontroller space has there been widespread success for more RISCy designs (ARM/AVR). This wasn't because HTC, Samsung and Apple decided that ARM was "purer", it was mostly because there was no x86 processor that could compete with the speed and power and chip real estate afforded by ARM designs.

Likewise, the incentives for IPv6 aren't there, and in fact, it introduces a host of new problems for most users.

For instance, I spent quite some time trying to figure out why my NTP daemon would not work. The reason? It was IPv6 enabled, as was my operating system. The NTP server was also IPv6 enabled and had an AAAA record. But my ISP didn't route IPv6, so no communication took place.

Now, I could blame the NTPD creators for not thinking about this and writing some specific code for it with an IPv4 fallback (perhaps after 30 seconds just to make life interesting). Or I could blame the ISP for being slow to implement IPv6 (this was in 2004 after all). Or I could blame myself for being incompetent and just using the default config files provided by the operating system.

But the fact is, this is just what happens when you have one protocol that always works, and another new protocol that sometimes works but you really want to make the new one the default, preferred protocol.

<comment><USER7> > Likewise, the incentives for IPv6 aren't there

Maybe IPv4 + hacks works still great in the US and in Europe, evolving nations (think: China, India, Brazil, ...) have lots of incentives to use IPv6.

Just because _you_ have no incentives doesn't mean the rest of the world does not either.

<comment><USER6> Sure, and just because the x86 instruction set works for desktop PCs, it doesn't mean it works well for cellphones. Which was exactly my point: It will spread because of incentives, not because it's the "better" solution. And if another solution works well enough and is cheaper to implement, it will slow the adoption of IPv6.

</comment></comment></comment><comment><USER8> I had a similar feeling with HTTPS [0] in suggesting a transition to making encrypted connections the norm on websites so that networks can't sniff activity. The point was lost on most posters who want absolute security for every website that uses HTTPS despite the unfriendly UI warnings for even a 5 minute expiry despite being valid [1]. Not just banks, but websites like Wikipedia too.

[0] <http://news.ycombinator.com/item?id=2376548>

[1] <http://news.ycombinator.com/item?id=2376183>

<comment><USER9> One could also argue that the point was lost on you that "there is no such thing as partial security".

</comment></comment><comment><USER10> _Internet Protocol versions that don't work with 95% of servers on the Internet, and programming languages that are still niche 50+ years later... sometimes you just have to relax and let it flow_

Progress requires hard work and perseverance. This is like saying that the Wright brothers shouldn't have tried to build an airplane, because people have been trying to fly for as long as human civilization but never managed to. Maybe it was time to relax and let it slide...

Being pragmatic is good, and I agree that not everything can (or needs to be) 'pure' and 'perfect'. Some things are OK as they are now. But I'm happy there are people striving to make things better.

<comment><USER11> IPv6 has been the future for quite a while (2002), and it will probably remain the future for quite a while because we have good partial solutions:

* The HTTP Host: header means that you don't need a public IP address for every site. Heck, it would even be possible to have a single public IP for a load balancer that redistributes requests to a data center full of servers that serve requests for thousands of sites. If you think this can't be done efficiently, think about these Cnoection: and oCnnection: headers that pop up with load balancers that only rewrite part of the header.

* NAT means that we only have one IP per Internet-connected household, not one per computer or other device. With mounting pressure, mobile operators will increasingly put their users behind NAT and maybe some people in address-starved regions of the world will only be able to get NATted connections from their provider. Software like Skype knows how to get around NAT pretty well, and UPnP works pretty well for other server-like programs that people have.

Which means that 99% of the people will be perfectly happy with multiple- occupancy HTTP service and UPnP/firewall piercing and not care at all whether IPv4 addresses run out or not. The remaining 1% will have to push very hard, and pay a significant fraction of the cost, to get IPv6 off the ground all while the incumbents sit in a corner and watch.

<comment><USER12> The problem is that we have fewer IPV4 addresses then we have consumers who wish to consume IPv4 content.

Take our current situation: We still have large swaths of china and india without Internet connectivity, yet we are basically entirely allocated with demand for ipv4 addresses increasing.

V6 used to be hard to implement because older routers/switches implemented their support in software rather then in ASIC. This is now no longer an issue, which is why you see ipv6 connectivity sprouting up around the place. I would expect that when push comes to shove, we will see a fast v6 transition when it becomes a large enough deal for there to be > 0 consumer demand for it.

<comment><USER11> My prediction is that, if large swaths of China and India get Internet connectivity, they, or their internet providers, will have to choose between

* NATted IPv4 connectivity (maybe with one IP per city and not one per household) and

* buggy but non-NATted IPv6 connectivity.

with the former being cheaper to implement. Most likely, IPv6 will only see universal adoption after the old gear that has buggy or too-slow IPv6 support has been thrown out. Then again, if a large government (say, China) puts itself behind IPv6 (say, because having one IP address per citizen is more convenient for keeping tabs on everyone), a fast transition would be more likely.

Don't get me wrong here: I think that the transition to IPv6 will happen eventually, but not as fast as the shrinking number of remaining IPv4 address blocks would suggest.

<comment><USER12> From what i've heard, carrier grade nat is stupidly expensive and rather hard to scale nicely at reasonable speeds.

It would be fairly easy to implement say ipv6 in china, as it would be a closed system with everybody getting new gear and everybody in the same "we have no ips" boat.

To be honest, as the internet ecosystem in places such as china is mostly closed, I'd be surprised if they didn't go ipv6 only internally well before the rest of the world switches (what's the point in having a v4 address if everything you care about is on native v6 and you have a 64 gateway for everything that isn't).

Going to be interesting to see.</comment></comment></comment></comment></comment>


VapourSynth - Avisynth-inspired video processing framework, 21st century rewrite - <AUTHOR> http://www.vapoursynth.com/index.php

<comment><AUTHOR> I just realized that I haven't submitted info about VS at HN when I discovered it back then, so I'm fixing it right now. :)

About page gives good idea what it is and how it differs from Avisynth.

      VapourSynth is an application for video manipulation. Or a plugin. Or a
      library. It's hard to tell because it has a core library written in C++
      and a Python module to allow video scripts to be created.  It came to be
      when I started thinking about alternative designs for Avisynth and most
      of it was written over a 3 month period.  The software has been heavily
      inspired by Avisynth and aims to be a 21st century rewrite, taking
      advantage of the advancements computers have made since the late 90s.
      The main features compared to Avisynth are:

       * Multithreaded - Frame level multithreading that scales well
       * Generalized Colorspaces - New Colorspaces can be specified at runtime
       * Per Frame Properties - Additional metadata can be attached to frames
       * Python Based - The scripting part is implemented as a Python module
         so you don't have to learn a special language
       * Support for video with format changes - Some video just can't stick
         to one format or frame size. VapourSynth can handle any kind of
         change
       * Compatible with a large number of already existing Avisynth plugins

(taken from [https://github.com/vapoursynth/vapoursynth/blob/master/doc/a...](https://github.com/vapoursynth/vapoursynth/blob/master/doc/about.rst))

Mind that it is still WIP. It's not complete Avisynth drop-in replacement, but it's close as possible, yet diverges whenever things can/should be done better. It's mostly ABI-compatible for Windows Avisynth plugins.</comment>


Why Aren't Computer Programming Languages Designed Better? - <AUTHOR> http://www.fastcodesign.com/1665735/are-programming-languages-poorly-designed

<comment><USER2> Around 1981, in the early days of Personal Computer World, one of the very early UK personal computer magazines, there was an article which it seems I will never forget. The journalist excitedly expounded on a new application that was being written, called "The Last One", or TLO. The idea was that the application understood a business requirement expressed in English, thereby making all other application development languages/systems redundant.

Safe to say, we're still not there yet.

P.S. also in PCW, a great magazine in its day, was another article about a program that could keep compressing files repeatedly to make them really small. I haven't see that yet, either.

<comment><USER3> And we will likely never get there. A good place to start reasoning about programming languages is the philosophy of language. Frege, Hume, Wittgenstein, Searle are some interesting figures in this space. Many language philosophers believe there are some basics of language that everyone grasps, and the particulars of a language evolve from necessity. Fortunately there is little agreement on what these basic elements are. This is what makes it interesting.

"Evidence-based programming languages" won't solve anything by finding natural-language equivalents for difficult syntax. What natural language will these equivalents be created in? English, Japanese, Arabic? All languages? Will Japanese programmers share their code with English programmers by means of a Babel fish?

The idea of a poorly designed language is nonsense. All languages that exist or have existed were designed precisely for what and when they were needed.

At its core programming is about appropriate abstraction. To be widely useful the programming language's wheels should tread lightly, just touching the road. If there's too much abstraction, there's no friction and you go nowhere. With too little abstraction you're pegged to the ground and expend enormous amounts of energy to go anywhere.

</comment></comment><comment><USER4> This is an interesting article about how non-programmers see it.

What the author fails to understand is the difference between having a steeper learning curve versus less verbosity. When you read and write code all day long, you don't really pay much attention to syntax, it's just there to shape the logic.

In order to learn, it's okay to have a more familiar pseudo-code to get a feel of what programming is like. But I wouldn't want to write that code all the time.

An english-like syntax has already been introduced: <http://en.wikipedia.org/wiki/COBOL#Verbose_syntax>

<comment><USER5> The article is talking about Perl anyway, which is notorious for its seemingly random syntax, so I don't think its really a good example for how intelligible and random programming language syntax is. When you're a beginner, the languages syntax really does matter and thats one reason why, eg, Python is a better beginner language than Perl. Perl is often jokingly referred to as "line noise" while Python is often referred to as "executable pseudocode".

Having said that, I completely agree with what you say. When spending a lot of time writing code, you really don't care about how intuitive the language is for beginners - much more important is that you can accurately and quickly express your programs. The closer to english a language gets, the more verbose the language gets and if I spend a lot of time programming, I want the language to be succint and straight to the point. (Nevermind that English contains a lot of ambiguous constructs, so an "english" programming language would still be horribly artificial for beginners anyway)

<comment><USER6> > if I spend a lot of time programming, I want the language to be succint and > straight to the point.

When I was a beginner, I -also- wanted that. For some people, verbose == readable, but for many, it's just not so.</comment></comment></comment>


A Story about Losing - <AUTHOR> http://www.ultimaratioregum.co.uk/game/2014/09/07/a-story-about-losing/

<comment><USER2> Recommended read, from a fellow ex-poker player. I was expecting a bad beat story at some point, but you got around it nicely :)

This kind of emotional roller-coaster is your every day life as a poker professional, especially if you play tournament poker which is the highest variance form of them all. Even as you get used to a certain amount of pain, your worst downswing is always ahead, if you play enough hands.

The one way I know to handle it is to train yourself to never think about what could have been. What's in the past is in the past. You decided not to do that and quit though, which is always a sensible decision and I'm glad you wrote about it so beautifully.

</comment><comment><USER3> Poker is a pretty good analogy for entrepreneurship -- you constantly need to re-evaluate your position, re-judge your market and your competitors, calculate probabilities, have a plan, and bluff your ass off =)

And, of course, if you seriously mis-step in either pursuit it can cost you the farm. The trick is not to do that.

<comment><USER4> Bluffing in poker is a strategy that can work from time to time.

In business bluffing is simply very stupid unless you have a once-in-a- lifetime shot at something where the bluff is the only thing that can make it happen. In that situation the future value of your reputation is possibly worth less than the potential gain and you might consider the bluff.

Unlike poker in business we don't get to start another hand or another game or tournament so when your reputation is marked 'bluffer' your credibility drops like a stone. Poker players use bluffing cautiously for that very reason.

So, if you 'bluff your ass off' I don't think you'll be going very far before your balloon is punctured. (And that goes for poker playing too!)

<comment><USER5> I equate bluffing in a startup with the "customer validation" part where it is advised to take preorders or signups for a product you don't have yet.

It's something that many startup gurus advocate, but I've always thought it a bit unethical (it's not like Kickstarter where you know it might not get built).

<comment><USER4> I much prefer the 'pilot customer' myself where you create the product in close collaboration with the first customer. That way you get the benefits of instant validation, a chance to build a lasting relationship, immediate cashflow once some part of what you deliver is ready _and_ you don't have to lie to anybody.

</comment></comment></comment></comment><comment><USER6> If you don't play poker this makes you realize why YC considers poker players to be good founders.</comment>


The history of dual-pane file managers - <AUTHOR> https://fman.io/blog/dual-pane-file-manager-history/ <comment><USER2> I can't enjoy using the default file managers on Windows and macOS. They are too confusing and require too many screen space for advanced tasks. For this reason I started to look for alternatives and (re)discovered dual-pane file managers a couple of decades after their invention.

After some time I chose SpeedCommander for Windows and Path Finder for macOS. Both have many advanced features, are easier to use than Explorer/Finder and I do not reget paying for them.

I really hope that fman will catch up to them and have a similar impact as Sublime Text. Having an unified file management experience across my operating systems while expanding it to my needs with plugins sounds like something that I really want. :) But in its current state I feel like it is too early to ask for money. I never saw Sublime Text 1.x or even Sublime Text 0.x but if we compare it to ST, then fman is nowhere near it.

There are many ST users who don't use any plugins and consider it as feature complete. I doubt that this would be the same for the current state of fman.

<comment><AUTHOR> Well, I'm happy to hear you believe in fman's vision. Sublime Text has been in development for 10 years, fman for 1. So you'll agree it isn't quite fair to compare the two. Let us talk again in 9 years.

Users are already happily paying for fman. But you're right that it is still missing many important features. This will get better with time.

</comment></comment><comment><USER3> You forgot to mention my favorite dual-pane file manager for Windows: [FreeCommander]([http://freecommander.com/](http://freecommander.com/)).

I know fman is still pretty young, so for now I'm sticking with FreeCommander. Also, fman was too slow using Windows network drives which I have to use at work. Local files are fine. Plus, there are a few features of FreeCommander that I can't live without including the tab interface, multi-file renamer, built-in archive handling, and many more. Although fman does look like a cool project, hopefully it will catch up in terms of speed and functionality with user-provided plugins.

<comment><AUTHOR> Yeah I can't mention the 98 others I know of :) Thank you for the kind words and the feedback. I'll take it into account!</comment></comment>


How to verify if the crypto ICO is fake or real? - <AUTHOR> <comment><USER2> There are no safe solutions. The best is to make your own research: look at team members, investors, read carefully the white paper, check if the team already provide a prototype...</comment>


iPhones, Armed Robbery, and Hacking (2018) - jor-el https://manybutfinite.com/post/iphones-armed-robbery-hacking/ <comment> jor-el For me the main takeaway from the article is that the robbers have become sophisticated enough to perform phishing attacks to get iCloud credentials.

Also, the author says using Authy is a good alternative as it provides encrypted backup, but account authentication is via OTP to the registered phone number, so it brings back to the same problem. Is there other alternatives to this?

<comment><AUTHOR> I don't see how it's sophisticated. Seems like an obvious method to get access to someone's login info, and simply enabling 2FA (non SMS preferably), and disabling mobile service would have been the common sense protocol to prevent all of this.

SMS 2FA is always weaker than TOTP, as are touchID and faceID. But you pay for convenience. And sometimes users aren't given the option for TOTP, which is ridiculous in this day and age.

</comment></comment><comment><USER2> Putting the sim in another phone is a nasty trick. Seems to get around 2fa.

If what 2fa is protecting is more important than your phone, I think a SIM PIN is a good idea.

<comment><USER3> The problem with a SIM PIN is that the phone can no longer get data service if rebooted unless the PIN is provided, so Find My iPhone stops working. I once lost a phone like that.

<comment><USER4> As someone who never owned an iPhone and hasn't used a SIM without a PIN ever (18 years now?) this is quite an interesting angle I'd never thought of.</comment></comment></comment>


Hybrid Cloud as Alternative to "Pure" Cloud Computing - <AUTHOR> http://www.softpanorama.org/Admin/Hybrid_cloud/index.shtml <comment><USER2> I always thought edge computing was driven more by IoT applications where wireless access is the bottleneck. For IoT at least, ingress bandwidth is free in most cloud datacenters so I don't see that WAN bandwidth would be an issue? Or are enterprise use cases of edge computing more concerned with 'download heavy' traffic?

<comment><USER3> Note that this article is somewhat crackpot and it doesn't represent any sort of industry consensus.

WAN bandwidth (on the office side, not the data center side) has been a real problem for many enterprises; it spawned the entire WAN Optimization and SD- WAN industries. Some vendors are pushing enterprise edge computing (e.g. Riverbed SteelFusion) but I don't know how much adoption it's getting.

</comment></comment><comment><USER4> As a side note, I am amazed that SoftPanorama still exists. Nothing seems to have changed since I last saw it almost 20 years ago! This website was one of the few fast-loading ones that I had bookmarked as a high schooler trying to teach myself CS on a cheap/flaky dial-up connection back in India.

Good times.</comment>


Show HN: Sheets based Community of Designers who are looking for remote job - <AUTHOR> https://docs.google.com/spreadsheets/d/1G2t2d9xcgX8pcuvU83zAqFryE33OQxfB3CLwJEhXfx0/edit#gid=686395700 <comment><AUTHOR> MEERKAD is the Google Spreadsheet community of designers who are looking for remote ok job positions.

The difference between this list and those that you could see earlier is that vacancies are collected not only from job boards websites but also from companies' websites, Twitter, Facebook, and HackerNews. More quality positions - quickly good people find the job of their dreams.

The table is editable so it's a community. People care about the quality of information, share feedback and post new remote job positions by themselves from all over the world.

Are you a designer and looking for a remote job? Know someone who might be interested? Spread the word!

edit: it's private so you have to have gmail account and request access that I will accept in minutes or two max</comment>


Rod Vagg's statement on the request to be removed from the Node.js CTC - <AUTHOR> https://github.com/nodejs/CTC/issues/165#issuecomment-324798494 <comment><USER3> What I'm completely missing in this discussion of Code of Conduct violation is a specific list of which actions violated which clauses in this Code of Conduct.

I see a list of complaints, but for an outsider it is really hard to follow why these actions are considered to be CoC violations.

Take this, for instance:

"In [moderation repository discussion], Rod's first action was to apologize to a contributor who had been repeatedly moderated. Rod did not discuss the issue with other members of the CTC/TSC first. The result undermined the moderation process as it was occurring. It also undercut the authority as moderators of other CTC/TSC members."

Do you know how this reads? A case is being made against a "toxic" person who "repeatedly breaks CoC" and the first complaint against him is that he _apologized to a contributor_? Really? I just don't get this.

<comment><USER4> This was how I viewed it as well. Especially if what Rod said about not being notified about ANY of these items is true.

This just appears someone compiled a list of things Rod screwed up, most of which he seemed to own and tried to fix. Maybe my impression is wrong but it just comes off as awful.

I tried getting the entire story. I tried reading through the complaints, hunting down tweets and even reading Rod's side. But I eventually had to give it; it was going to take me hours to gain a small amount of context (some appears to be private / offline so I don't see a way to gain all of the necessary context to judge this situation).

I get the feeling people are going to take their biases, one way or another, and run with what their side is because I don't see a quick way of wading through all of this.

<comment><USER5> _it just comes off as awful_

This is why have stopped contributing to OSS in a public fashion over 20 years ago. Nasty backstabbing politics (and in my case, there was actually a business purpose behind it, unlike most of this drama) People online are _awful_ and the veil of anonymity and distance brings out the worst in people.

Fuck that.

<comment><USER6> HAVE YOU EVEN SEEN THE ACCUSATIONS? HERE IT IS:

[https://web.archive.org/web/20170821212745/https://github.co...](https://web.archive.org/web/20170821212745/https://github.com/nodejs/TSC/issues/310)

1\. "Rod's first action was to apologize to a contributor who had been repeatedly moderated"

2\. "Rod did not moderate himself when asked by another foundation director"

3\. "Rod tweeted in support of an inflammatory anti-Code-of-Conduct article"

NOW ASK YOURSELF: Why was those points removed? Supposedly to save Rod from harassment. But right now EVERYONE speculates what serious bad behavior it must have been that leaving it in the public could lead to harassment! NO ONE would EVER imagine that HE'S #1 BAD BEHAVIOR WAS APOLOGIZING!!!

The second one was not removing his comment THAT DIDN'T INCLUDE ANYTHING RUDE, OFFENSIVE or in ANY WAY unacceptable, while NO EVIDENCE was ever provided that would demonstrate that he was even asked to do so!

The third point is DELIBERATELY MISLEADING. In fact Rod tweeted NO MORE NO LESS: "If you've never considered the potential downsides of codes of conduct, here's a good place to start" and posted a link to The Neurodiversity Case for Free Speech ARTICLE by A KNOWN PSYCHOLOGIST Geoffrey Miller - "an American evolutionary psychologist, serving as an associate professor of psychology at the University of New Mexico and known for his expertise in sexual selection in human evolution" (Wikipedia) THAT WAS DESCRIBED AS: "tweeted in support of an inflammatory anti-Code-of-Conduct article"

NOW ASK YOURSELF: was the actual accusations, the 3 worst things that Rod ever did, removed to save Rod from harassment? Or to make us all speculate of what crimes it must have been that he could be harassed if anyone knew what he did? FOOD FOR THOUGHT.

.

REFERENCES:

[https://news.ycombinator.com/item?id=15176562](https://news.ycombinator.com/item?id=15176562)

[https://medium.com/@rvagg/the-truth-about-rod- vagg-f063f6a53...](https://medium.com/@rvagg/the-truth-about-rod- vagg-f063f6a53557)

[https://twitter.com/rvagg/status/887652116524707841](https://twitter.com/rvagg/status/887652116524707841)

[http://quillette.com/2017/07/18/neurodiversity-case-free- spe...](http://quillette.com/2017/07/18/neurodiversity-case-free-speech/)

[https://en.wikipedia.org/wiki/Geoffrey_Miller_(psychologist)](https://en.wikipedia.org/wiki/Geoffrey_Miller_\(psychologist\))

.

SEE ALSO:

[https://news.ycombinator.com/item?id=15176562](https://news.ycombinator.com/item?id=15176562)

<comment><USER6> !!! UPDATE !!!

The Node's Code of Conduct was originally copied from:

[https://www.contributor-covenant.org/](https://www.contributor-covenant.org/)

which has FEMINIST colors and explicitly link to extreme FEMINIST website: the so called Geek Feminism wiki, that fights to introduce 50% women (of course feminists) to every software project, NOT BASED ON SKILLS which is explicitly stated on the website.

If you read more closely you will not only see obvious links to FEMINISM but also to MARXISM. At this point it should be no surprise that they are fighting with "white men" that they hate using their own made-up language like cisheteronormative bias etc.

ONE OF THE FEMINISTS FROM NODE WERE ACCUSED OF MUCH WORST VIOLATIONS THAN ROD VAGG AND THEY ARE ALREADY MAKING EXCUSES:

>>> Multiple CoC violations by Node.js board member Ashley Williams [https://www.reddit.com/r/node/comments/6whs2e/multiple_coc_v...](https://www.reddit.com/r/node/comments/6whs2e/multiple_coc_violations_by_nodejs_board_member/)

WARNING: there is RASIST and SEXIST language quoted in the tweets written by Ashley Williams, promoting GENOCIDE and forced CASTRATION but apparently that is nothing compared to an innocent tweet by Rod Vagg.

Now DON'T BE SURPRISED!

FEMINISM is like MARXISM (and in fact there are very strong links between the two).

This is CLASS CONFLICT. Like MARXISTS don't want EQUAL RIGHTS for the CAPITALIST - they just want to TAKE OVER what they achieved. THE SAME IS HERE.

So PEOPLE!!! Don't be surprised if you let those FEMINIST "CODE OF CONDUCTS" into your projects!!!

</comment></comment></comment></comment></comment><comment><USER7> Having reviewed the relevant tweets/GitHub issues/blog posts, I feel most of the noise is generated by people who make it their mission to find things about which to be outraged.

The NodeJS brand has the momentum necessary to build great things. If they squander it by cry-wolf-forking every time there is an internal disagreement, another JS engine (e.g. Chakra) will take the helm.

<comment><USER8> > The NodeJS brand has the momentum necessary to build great things. If they > squander it by cry-wolf-forking every time there is an internal > disagreement, another JS engine (e.g. Chakra) will take the helm.

Node.js _is not_ an engine, Node.js uses the V8 engine (same engine that powers the Chrome browser). Technically you could use Node.js with the Chakra engine or other JavaScript engines.

<comment><USER9> Didn't Microsoft do that? Created a version of Node using Chakra as proof of concept

<comment><USER4> No, Microsoft modified node to allow drop in replacement of the JavaScript engine and then provided a Chakra backed version of node. It actually seemed to work pretty well and was pretty well received by the community. I believe others were attempting to do the same with the Firefox JS engine (SpiderMonkey? I can't remember what it's called) using the same base of work Microsoft created.

<comment><USER10> > I believe others were attempting to do the same with the Firefox JS engine > (SpiderMonkey? I can't remember what it's called)

You don't mean Rhino? That was years ago when node was just gaining traction.

<comment><USER11> My impression is that Rhino was a separate project entirely.

</comment></comment></comment></comment></comment></comment><comment><USER12> > I have submitted myself to our Code of Conduct as a participant in this > project. I have been involved in the application of our Code of Conduct. But > I do not accept it as a sacred text that is above critique or even > discussion.

This, to me, is one of the most important lines of his response. I feel like critiques of CoCs and other related documents and processes coming from a white male are often interpreted as hostile. I would consider myself an ally, but I am afraid to weigh in on these kinds of discussions because differing opinions are so often manipulated into "hate" and "toxicity."

<comment><USER13> > I feel like critiques of CoCs and other related documents and processes > coming from a white male are often interpreted as hostile.

At what point do we stop ignoring this inconvenient truth?

<comment><USER14> If you want to be taken seriously by these troublemaking outrage addicts as a while male, you need to get a weird haircut and to dye your hair a few different colors. Chunky glasses are a plus.

<comment><USER15> Statements like yours do nothing to help matters.

</comment></comment></comment></comment><comment><USER16> This has echoes of Title IX proceedings. From the account above.

> Some time ago I received notification via email that there are complaints > against me. No details were provided and I was informed that I would neither > receive those details or be involved in the whatever process was to take > place. Further, TSC members were not allowed to speak to me directly about > these matters, including my work colleagues also on the TSC. I was never > provided with an opportunity to understand the specific charges against me > or be involved in any discussions on this topic from that point onward.

From the article below, [1]

> Right away, the accused is cautioned about confidentiality: s/he is warned > not to discuss the pending complaint with colleagues or students. The > accused will only learn of the accusations against them when s/he meets > face-to-face with the local Title IX enforcement squad.

Kangaroo court.

[1] [http://quillette.com/2017/08/24/survived-title-ix-star- chamb...](http://quillette.com/2017/08/24/survived-title-ix-star-chamber/)

</comment><comment><USER17> One of the things that is useful about due process is the right to confront your accusers and cross examine them under oath. Without those rights, it is difficult, if not impossible, to see justice done.

Too often these important elements are missing, and Rod's statement "At no point have I been provided with an opportunity to answer to these complaints, correct the factual errors contained in them (see below), apologize and make amends where possible, or provide additional context that may further explain accusations against me." suggests that this lack of due process is present in this case as well.

When "Somebody complained about you in a serious way, but we can't say who, or the substance of the complaint." is the standard against which the process is measured, then it leaves itself open for abuse.

<comment><USER18> This is, as I see it, an unfortunate side effect of vastly under valuing intent and over valuing individual interpretations and how they make people feel. There needs to be a balance, and when there's not you end up with problems. If that's what happened in this case, it might have resulted in _fault_ being a much more nebulous concept to those people.

It's possible he said some things which ended up hurting people's feelings. It's entirely possibly he had no intention his actions be interpreted as they were. In that case, if you over value intent, he did nothing wrong, and some people were being too sensitive. If you over value interpretation, he should have known better, and it's his responsibility to be on top of how his actions would be interpreted.

Neither extreme is even remotely workable for all situations. The only thing that works in practice is that people accept that their wording sometimes needs changing based on common perceptions of it, and also that people may not have interpreted something as intended and intention matters as well. The only way to do this in practice is to actually communicate intent and interpretation when there's a problem so corrections can be made if they apply, and to both parties being open to accepting those corrections. This is obviously impossible if there is no communication.

<comment><USER19> Four people resigned from the whatever-board when Rob was not asked to leave, and have written elsewhere about their repeated interactions with him. The fact that the four of them basically decided they don't wish to work in an org that Rob works in speaks (imo obviously) to him being a relatively unpleasant person to be around. Also, I'm skeptical that four people all are blowing things out of proportion, but who knows.

<comment><USER18> There are _plenty_ of times I've seen a small group misinterpret something, and then feed off each other, and then reinterpret future events with that new, sometimes incorrect, context. On one side we have people that were apparently so upset they decided to leave. On the other we have someone that professes to not being notified when he made people uncomfortable, and more so, actively kept in the dark to the point that he had to drag minute details out of third parties that weren't supposed to talk about it.

What I'm saying is that it's entirely possible that they are both telling the absolute truth. Even if that's the case, one side _appears_ to be trying to communicate and come to an amicable solution. The other side doesn't appear to be willing to consider that (or have ever really considered it an avenue of addressing the problem), at least from the information presented so far, but that's not necessarily the whole story either.

</comment></comment></comment></comment><comment><USER20> It's insane that we might reach a point where people install different branches of a project based on their political leanings...

I think the main takeaway here is that a Code of Conduct, while valuable, has to be treated carefully. A lot of these projects agreed to a Code of Conduct just to appease a certain faction of their devs, and are now seeing that it can be used against them.

<comment><USER21> There is absolutely no evidence that this fork will gain traction, because it contributes nothing new technically, so it's unlikely we'll reach the point you mention.

<comment><USER20> I'm not an expert, but it seems within the realm of possibility. Despite what hackernews thinks, the forkers have a somewhat reasonable argument, in that Vagg did violate the Code of Conduct (because it is extreme), and the committee voted to ignore it (because he's a valuable contributor). Morality aside, it calls the system into question if someone can violate established rules and get away with it because the judges disagree with the rules.

Also, several members of their ruling committee left to make the fork. So it's not just a bunch of randoms, and they might be able to make some meaningful progress on their own.

<comment><USER22> This is definitely a good experiment to see if a project that is so centered around its CoC will prosper or wither on the vine.

My bet is on cold hard code, but who knows? Time will tell.

<comment><USER23> The political question is whether they can attract via their politics the people who make the cold hard code.

Code hard code matters far more than politics to nodeJS consumers, but nodeJS producers may be influenced by politics.

You want to be the side that attracts the cold hard coders similarly to the way communists defected to the west during the cold war.

<comment><USER24> An important thing to note about that analogy is that defections to the West happened because the West was actually better, not merely more attractive on the surface.

<comment><USER23> Exactly, capitalists pay in cold hard cash. You can't buy a sports car if the state doesn't even allow them to be made.

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> It was pretty hard to discern what happened. A lot of text and veiled insinuations. He is how far I got:

It was this article tweeted by Rod:

[http://quillette.com/2017/07/18/neurodiversity-case-free- spe...](http://quillette.com/2017/07/18/neurodiversity-case-free-speech/)

Which was noticed by a member of the community:

[https://twitter.com/captainsafia/status/887782785221615618](https://twitter.com/captainsafia/status/887782785221615618)

Does that describe it? Maybe someone has a more clear summary

One thing I noticed is that Node.js community seems to be followed by drama. Maybe it's just something I misunderstood, but I have observed Python, Erlang, Elixir, other communities around specific projects and libraries and I just don't see these many scandals there. In fact at one point when I reject Node.js as viable platform, the community scandals and seeming immaturity was one of top factors. What is it about this community that seems to attract this kind of behavior? And note I am not taking any sides in this case, as it is not clear what happened, it is just it looks messy to an outside developer looking in.

<comment><USER26> Disclaimer: I'm a gay male that has been involved with groups run/moderated by the people I mention below.

Several high ranking members of Node / NPM are militant queer feminists. If they smell blood in the water, they tend to pounce hard without much regard for due process. Others glom on either in agreement or to make themselves seem progressive.

<comment><USER26> To give a specific example, I was part of an LGBTQ in Tech Slack group that was admined by several members of the community mentioned above.

Their CoC indicated that anyone considered a majority group (white and male being the worst) would automatically be considered at fault in any/all arguments and they would be resolved in favor of the minority.

That's the mentality at play here that does not give a space for people to defend themselves and resolve conflict. Sweep it under the rug so as to not disturb the more sensitive fringe elements, and condemn those who have not had a chance to even consider repenting.

</comment></comment></comment><comment><USER27> It really makes me sad to think of the amount of hours Rod has spent on this instead of writing free software for all of us to use.

Node got really popular, and with that came a whole group of people who are more interested in social justice instead of actual technical work.

NPM is partially to blame for employing most of the people who are pushing to remove Rod.

<comment> joe-mccann I agree, Marak. To ALL of what you said.

</comment></comment><comment><USER28> Too much drama and polemics. My god he spent a lot of time on that response -- like hours.

If you are writing long emails dealing with responses to drama, you need to move on. Not because you are at fault but the whole situation is screwed up and not worth your time. This is not a win-win situation, but an everyone lose situation.

It means you and others are in the muck. Once you get a bunch of these accusations and long polemical post flying around it is nearly impossible to figure out who is right and who is wrong. The way people try to win here is ultra long polemical posts, secret discussions, accusations, character assassinations, etc. Non of which is at all productive.

Being in the muck is a huge waste of time and energy for everyone. Find something that doesn't involve so much drama, life is short.

I think one rule in software development is that once you are engaging in polemics, especially many hours of it per day, and not technical matters, something is sick about the situation -- get out of it.

<comment><USER29> Was "Polemic" in your word of the day email or something?

Anyways, Rod's character is being assassinated on the internet. Prospective employers could Google his name and all they'll see is one side of things, unless he attempts to defend himself.

Additionally - the people wielding the pitchforks _want_ him to just give up. At some point it's important for people to take a stand if they believe in their principles - or maybe I'm just old fashioned.

<comment><USER28> This is a polemic: [https://en.wikipedia.org/wiki/Polemic](https://en.wikipedia.org/wiki/Polemic)

It is not a means of trying to fix the issue, but rather a strong worded, accusatory, defensive blast at his critics by someone who believes they were wronged and others are at fault.

This is not a "how to get to yes" type response, but rather a response that just inflames a situation, and causes everyone to dig in.

There is going to be no winner going down this path, just losers all around and a lot of wasted energy and time.

Yuk.

<comment><USER29> Sounds like you'd already made up your mind about Rod, and weren't keen to hear the other side.

I, on the other hand, was curious to read his version of things so I'm glad he took the time to offer a detailed reply. After reading his "polemic" I felt he was rational, composed, and defended his actions and character rather well. I came to the conclusion that the pitchfork wielding folks were slinging a lot of unsubstantiated accusations that look a lot like moral authoritarianism.

My read was that he diffused a lot of possible indignation and inflammation with his word choice and tone. He was more conciliatory than I would have been in his position.

<comment><USER28> > Sounds like you'd already made up your mind about Rod, and weren't keen to > hear the other side.

I actually only read his side, although I stopped after a couple screen fulls as I recognized from experience that what I was reading was not a productive response to the situation at hand, but a defensive one.

<comment><USER30> > I recognized from experience that what I was reading was not a productive > response to the situation at hand, but a defensive one.

What would a productive response be? I agree that getting unnecessarily mired in drama is counterproductive, but I don't think that these accusations could have been reasonably ignored, nor do I know what Rod could (or should) have done differently.

<comment><USER28> In real-life, outside of 10,000 word github issues, one should call those you are having problems with and talk about it. That is how you resolve these issues. You show empathy, you show understanding, you take more responsibility that you deserve because you have a strong ego, you focus on the future and how best to achieve joint success, you show some flexibility, you get a mutually beneficial resolution or an agreed plan of action that should lead to a better outcome. This is best done on a one-by-one basis. And people come to your side or at least understand you.

You need to not be accusatory, nor defensive.

This is the age old way of dealing with issues in a productive fashion. Read getting to "Getting to yes" or try getting married.

What I read in this github issue is just immature, very ineffective problem solving from I guess someone who doesn't know better.

<comment><USER31> When people defame you in the public, to talk to people in the private don't solve all the problems. The public need to hear from both sides.

You don't like to hear the defense, all right. Just don't try to stop other people from hearing it.

<comment><USER28> > When people defame you in the public, to talk to people in the private don't > solve all the problems. The public need to hear from both sides.

Only if you want to run a negative sum game for all involved. This is a horrible strategy to engage in. You only end up also wrecking your own reputation and others and wasting a ton of time.

The socially mature thing to do is resolve this behind closed doors and be flexible as I suggested.

He may get some success by playing the martyr, but it will be success that occurs by his aggression, stubbornness and by expending more efforts in polemics than others. In the end he might still be standing but everyone around him will be wounded metaphorically because of this (mostly via huge wastes of time because of difficult conversations and departures of people from the project.)

Anyone who wants to run a company focused on results and to avoid unnecessary drama should avoid this type of character like the plague.

This behavior he is currently engaging in is a huge red flag if you recognize it for what it is.

Again, he is engaging in a strategy that forces everyone into a negative sum game, which is itself a form of aggression -- and it is easy to recognize from this github issue as I've seen this before close up. It is not a smart thing to do and should have been avoided by doing things differently long ago.

He can still pull up by basically retracting all of this and re-engaging in a mature and flexible manner that shows some contrition/empathy -- but that requires a strong ego, social maturity, and flexibility which may not be something that is possible on his part at this time. Everyone he is dealing with would love that I am sure, even at this stage, because it will stop the negative sum game.

<comment><USER32> Once someone drags your name through the mud _in public_ , it's well past the point of having a private chat. His behavior isn't a huge red flag in the slightest; he's responding to what's essentially a public attack of his character. Responding to something like that publicly _when it 's already a public situation_ isn't a form of aggression.

You are projecting WAY too much of your own bias and opinion into what was simply a response. It's telling that you're suggesting he needs to have social maturity when the allegations levied against him are pretty unsubstantiated- see the "evidence" of him retweeting an article discussing free speech concerns on college campuses.

Are you genuinely so obtuse as to scorn a man who's attempting to merely _respond_ to being accused of something?

<comment><USER28> If the allegations were unsubstantiated it would not have gotten this far, especially if he dealt with this in a mature fashion by engaging and showing he is just a reasonable person. If they were totally unsubstantiated the only way it would get to this point is because he dealt with it in the worst ways possiblle.

People wouldn't have quit to make what is essentially a useless fork if it were truly unsubstantiated. Those people are truly angry about what happened. This means there was something to resolve but it wasn't resolved, we just get grandstanding and massive effort into polemical defenses.

He tactically argues like a really smart guy, but his overall strategy is the wrong one.

<comment><USER33> This reads akin to the logic behind a witch hunt - a bunch of people are very upset at a person, therefore the person must be a witch. I disagree with the premise.

The people are indisputibly angry. They may have reason to be angry. I don't see it, but they may have it. But the entire line that "he's accused, therefore he must be guilty" is flawed.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER34> This story actually helped crystallize why I have been quite so knee jerk against things like Codes of Conduct.

The whole point of a Code of Conduct, Homeowner's Association, or anything else which attempts to codify politeness, common sense, respect, etc. is to be used as a bureaucratic bludgeon against _someone_. And, while those may get put in place to get used _against_ a single egregiously bad person, they then stick around to get used _by_ the far more numerous petty political jerks.

<comment><USER35> this. where can i vote a million times?

</comment></comment><comment><USER36> We need an updated Waldorf Statement [1].

 _" Members of the Node.js community deplore the action of the CTC men who have been cited for contempt by the Foundation board. We do not desire to prejudge their legal rights, but their actions have been a disservice to this project and have impaired their usefulness to the industry."_

 _" We will forthwith discharge or suspend without compensation those in our employ, and will not re-employ any of these men until such a time as he is acquitted on Twitter or has purged himself of contempt and declares under oath that he is not a Meritocracist."_

 _" On the broader issue of alleged sexist and non-inclusive elements in Silicon Valley, our members are likewise prepared to take positive action."_

[1] [https://en.wikipedia.org/wiki/Waldorf_Statement](https://en.wikipedia.org/wiki/Waldorf_Statement)

</comment><comment><USER37> I don't particularly understand the claims against this man, but as this organization and its discussions happen (almost) entirely online [is this correct?], surely it must be incredibly obvious whether or not allegations brought against him are true or not?

<comment><USER38> It seems it's not that simple. At least according to him, this wasn't all online, e.g. consider this quote:

> I do not recall being asked to remove the names of the companies involved, I > have only now seen that they have been edited out of my post. I cannot find > any evidence that such a request was even made. This would have been a > trivial matter on my part and I would have done it without argument if I had > have seen such a request.

</comment></comment><comment><USER39> Possibly off-topic: this is why GitHub, and GitLab, are both problematic platforms for online collaboration and community-building.

There was once a list of grievances against this person here [https://github.com/nodejs/TSC/issues/310](https://github.com/nodejs/TSC/issues/310). That list is no longer present; it has been redacted, and a reason for that redaction has been posted.

As someone who has zero context for this issue, this makes it very hard for me to understand.

This redaction is not something that can happen easily with source code. Comments and other "metadata" can be edited, permanently and without a view into history. That makes it very hard to trace the genealogy of discussions.

Sure, you can rewrite git history and push, but that's a) less durable, because someone might have a fork/copy of the repo, and b) much less common by convention.

I really don't like the tendency of GitHub/GitLab as platforms to encourage the "facebook style" of content authorship (what you posted is what you posted . . . until someone edits, it, then it _never was_ that in the eyes of recent arrivals).

Edit: I will probably accidentally type markdown into HN comments until the day I die.

<comment><USER40> Fortunately, somebody already took a snapshot and there's a _way back_ : [https://web.archive.org/web/20170821212745/https://github.co...](https://web.archive.org/web/20170821212745/https://github.com/nodejs/TSC/issues/310)

<comment><USER41> That was my first thought. A lot of people in the last several years have learned the hard way that for all practical purposes, the Internet tends to be forever.

Sure, you may not be able to find that really useful utility you once used to parse regular expressions because the author stopped maintaining it, took the web site down and never released the source code[0], but that _one_ time you[1] drank too much and tweeted something embarrassing will be discoverable on Google next to your name for decades after you die.

[0] That's been a bugger of mine for a while -- if anyone knows where Rad Regular Expression Designer went, I'll e-mail you a soda.

[1] Or when someone who shares your name and got arrested for theft (thank God he lives in a part of the country I have never visited).

</comment></comment></comment><comment><USER42> Shame how such a cool project as node.js can drown in political fingerpointing. The only measurement that counts (in my opinion) is cold hard code contributions.

<comment><USER43> It's a little extreme to say that cold hard code is the _only_ thing that counts. Years ago I worked with someone who contributed more cold hard code than anyone else I've known. A brilliant developer, probably one of those "10X" people they talk about: that rare combination of outstanding technical chops and "get the job done" productivity.

But more than once, he jumped into projects and features that he knew other people on the team were already working on, implemented them himself in a rush without coordinating with the other developers, and pushed his code instead.

Sometimes he would take shortcuts to get it done faster while his teammates were working on a more fully developed version of the feature. And since he was first, that was the code that would be used. The other developers were left with nothing to show for their efforts, less of a feeling that they were valued members of the team, and a significant loss of reputation in the eyes of management.

Cold hard code is important, of course. But it's not the only thing.

<comment><USER44> Who was running that team? Blame should be on leadership for running an inefficient team where team members don't share and coordinate so that common projects, code, libs etc can be flushed out.

</comment></comment></comment><comment><USER45> Are long-winded quarrels and dysfunctions unique to node core, or is node core just transparent in documenting the making of the sausage?

<comment><USER46> See also: all of human history.

</comment></comment><comment><USER47> Node community is going to argue its way into obscurity.

<comment><USER38> While the snark of this comment may push it into obscurity by those who hate snarky comments, I totally agree. I was surprised we could even still have Node.js after the huge Node.js vs io.js debacle. I think all of these arguments are about important issues, but they also can give a very negative impression to outsiders (not to mention how insiders aware of all the facts may feel).

That said, I am at least happy to see a he's going for a middle ground - <USER2> seems to be saying he won't step down, but he also looks like he's apologizing for anything he did wrong. Perhaps that's the best way to end the argument despite it not 100% pleasing either side

<comment><USER48> The Node.js vs io.js fork changed the way many looked at node and probably changed its growth axis.

This is not the same and highlights why a code of conduct focusing on moral issues is not always the best path for a project/language.

<comment><USER38> Perhaps this is because my coffee rush ended and I'm currently in the post- coffee slump, but I don't follow what you're saying. Are you saying this event will/has not change(d) the way many looked at node as well as perhaps its growth axis? Also, when you mention these changes, I'm honestly not familiar with the stats - did they improve or decline? I also don't follow your second paragraph, but that could be simply because I missed what you were saying in your first

<comment><USER48> The first fork drove some away because some felt the ecosystem was fragmenting but many came back after they merged back or understood io.js advantages. Some new developers who might have choosen the language never came back. The growth curve was altered because of those events.

This new split will not drive people away or stop the adoption in the same way. It's may cause some to put there changes in this new fork but this new fork will push changes to the node.js repo and this new fork will keep pulling changes from node.js.

</comment></comment></comment></comment></comment><comment><USER49> It's been quite a journey from a "great babbling bazaar of differing agendas and approaches"[1] to this mess. Bureaucracy always wins in the end.

[1] <[http://www.catb.org/esr/writings/cathedral- bazaar/cathedral-...](http://www.catb.org/esr/writings/cathedral- bazaar/cathedral-bazaar/index.html#catbmain>)

</comment><comment><USER50> A code of conduct without transparency or due process seems more than dangerous to me. It is the stuff of kangaroo courts and star chambers.

<comment><USER51> James Snell's reasoning behind hiding the accusations inside the committee deliberations is theoretically sound: to keep Rod from getting harassed. I mean, under the current circumstances, a public, enumerated list of all your supposed crimes is pretty much guaranteed to bring a mob down on your head, and it would probably rocket to the top of Google searches for your name -- regardless of how the process turned out.

But transparency in the process is also important. I don't have a good answer for this. It seems to be damned-if-you-do, damned-if-you-don't.

<comment><USER52> He makes it sound as if he was unable to even know what he was being accused of in order to defend himself. He should be apart of that process even if it is in private.

Not being allowed to criticize something is the first red flag, for me personally, that the idea is likely to be worthless. There shouldn't be any debate about whether or not an idea can be criticized and the people in this thread who seem to be ok with firing/excluding a person because of their opinion... man that is just bizarro-land to me.

</comment></comment></comment><comment><USER53> It is weird. But a lot of times "toxic" people need real protection. It is easy to get accused but not every one can argue or explain their personal views like Rod. Or even have strength to deal with it and not over react or get panic attack

I am wondering about introvert geeks accused of "toxic behavior" silently sitting in the corner.

</comment><comment><USER54> The Node community seems to have more issues like this than others. This feels similar to the Nodevember drama where Douglas Crockford was uninvited to speak because a small group of people felt uncomfortable. What that community needs to understand is that speaking takes a lot of work and guts to do. Professionals are busy people and it's a privilege to hear experts present. Same goes for contributing time and expertise to open source projects. If it becomes common to force people out for perceived wrong think than all that will be left are codes of conducts instead of codes of systems.

</comment><comment><USER55> A bit of a thought experiment for myself: suppose that Rod were as terrible as the worst possible claims made against him. (I am confident he's not.) Suppose he were actively, consciously hoping to deceive and harm the Node community. (I am also confident he's not.) What sort of statement would he write? How much would it look like this one?

<comment><USER13> Once somebody has decided someone else's guilt, all following stimuli is interpreted through the lens of confirmation bias by default—and it takes an uncommonly truth-seeking mind to see past it. No matter how "heartfelt" or "thoughtful" a written or verbal apology is, it won't change any minds that've already been made up.

This has been happening more and more recently, both online and in geopolitics.

<comment><USER55> Eh, my personal reaction was that I was significantly _more_ sympathetic to him after reading his writeup, so I was wondering if that's actually evidence- based or just emotion-based.

<comment><USER22> Please follow up on what was the supposed evidence against him and you will see his response was reasonable.

<comment><USER55> Oh yeah - his response was definitely reasonable if the facts are that the supposed evidence against him was trumped up and he's in the right.

I'm just trying to figure out if his response is _also_ what I'd expect to see if the facts are that the supposed evidence against him is completely accurate and that he's a toxic contributor who's trying to hurt the project.

<comment><USER22> So he is condemned in your eyes, not matter what evidence is presented?

<comment><USER55> Huh? That's rather the opposite of what I'm saying.

</comment></comment></comment></comment></comment></comment></comment><comment><USER56> I have never understood why open source projects have taken to trying to cargo cult dispute resolution and due process.

They don't have the training, resources, or infrastructure to make it work.

Really, they should just be realistic, and say "we're gonna look at what people say, make a completely arbitrary decision, and stick with it".

Because that's what is really happening.

</comment><comment><USER57> Does anyone have a TLDR about this story? I haven't had the time to follow all the drama.

<comment><USER58> Honestly, GitHub gets more like Tumblr every day.

<comment><USER59> It's been that way for a while. One of the big reasons I up and moved away from it. I only use it to send PRs for Github hosted repos now.

It's amazing how quickly an organization or platform can just die like this. Sure, it isn't _dead_ dead, but it's descended into a pit of political BS and petty drama.

</comment></comment></comment><comment><USER60> Not surprised to see James Snell prominently involved in this. I've had bad feelings about this since the io.js group joined the foundation. This is upsetting having followed (and used) the project for so long.

</comment><comment><USER59> I've tried keeping up with what's been happening with Node, but I'm completely lost here. Could anyone summarize what's been happening or point me to a summarization?

</comment><comment><USER3> As a thought experiment imagine your manager asks you about the new node.js fork and whether you should switch to it. What would you say?

<comment><USER24> If your manager is aware enough of the situation to know there is a fork, but is not aware enough to know that the fork is pure politics, it might be time to change managers. That is such an odd superposition of being simultaneously informed and not that one couldn't help but wonder what other strategic mistakes would happen.

<comment><USER58> News of this has made mainstream tech news sites like El Reg. That's how I originally heard about it, I don't do much Github these days.

<comment><USER24> If your manager is relying on mainstream news to inform decisions regarding _their product 's primary software dependency_, it might be time to change managers.

<comment><USER3> Since it is so serious, I promise I will change the imaginary managery from the thought experiment.

</comment></comment></comment></comment></comment><comment><USER61> I didn't know who Mr. Vagg was or his role in Node before reading his post, and without looking at posts/tweets from the people who opposed him, or having a clear grasp of the controversy, I still appreciated that he put the time toward a lengthy rebuttal. Writing a lot of words, for any reason, is a decent time investment. And it takes significantly more time to make it reasonably accommodating and (at least from my non-informed viewpoint) not obviously antagonistic. Whatever the merit of the arguments/complaints, I can at least appreciate that this is something important to him.

Since the primary complaints against him involve details that he does not specify (and may not be easily findable after a lot of digging), I was interested in the 3rd listed complaint, which was about how he allegedly conducted himself on Twitter:

> _Most recently Rod tweeted in support of an inflammatory anti-Code-of- > Conduct article. As a perceived leader in the project, it can be difficult > for outsiders to separate Rod's opinions from that of the project. Knowing > the space he is participating in and the values of our community, Rod should > have predicted the kind of response this tweet > received.[https://twitter.com/rvagg/status/887652116524707841*](https://twitter.com/rvagg/status/887652116524707841*)

Point 1 of his rebuttal:

> _The post I linked to was absolutely not an anti-Code-of-Conduct article. It > was an article written by an Associate Professor of Evolutionary Psychology > at the University of New Mexico, discussing free speech in general and > suggesting a case against speech codes in American university campuses. In > sharing this, I hoped to encourage meaningful discussion regarding the > possible shortcomings of some standard Code of Conduct language. My intent > was not to suggest that the Node.js project should not have a Code of > Conduct in place.*

Point 4:

> _To re-state for further clarity, I have not made a case against Codes of > Conduct in general, but rather, would like to see ongoing discussion about > how such social guidelines could be improved upon, as they clearly have > impact on open source project health._

Here's his Tweet and its reply chain: [https://twitter.com/rvagg/status/887652116524707841](https://twitter.com/rvagg/status/887652116524707841)

I don't think the tweet rises to the level of demanding his removal. I don't know Vagg or his Twitter account so I don't know what his rhetorical style is (and I tend to give everyone the benefit of the doubt that Twitter is part- performance). But I didn't find his rebuttal to be convincing. It's not just that he tweeted out an article that may have annoyed/offended people. It's the way his tweet replies are what you'd expect from someone who just doesn't like CoC's, but is too politically savvy to say it, e.g.

" _And folks who think there 's a possibility that CoCs may not be achieving their stated aims? No room for discussion on that?_"

" _I accept that, but there are surely valid concerns about their current implementation that could lead to improved solutions_ "

" _If we 're talking evidence, I'd love to see some solid data on the use of CoCs, it doesn't exist, we just have to have faith._"

" _But I have witnessed the negatives, again and again, the most tragic are against those who don 't naturally fit in_"

Even accepting that Twitter is just not ideal for substantive debate, it's hard to not feel he's being less than upfront. He wants an open discussion about CoC's. But every tweet has the tone of _" But maybe CoCs can be bad? Why isn't there data? etc etc"_. For the sake of argument, I'll happily assume his premise -- that CoCs may be inherently flawed and lead to the injustice they purport to fight -- but _why doesn 't he describe an actual example_? Calling for "open discussion" and then just retorting with points so vague that no one can honestly discuss them is one of the most annoying things to see. e.g. _" But there are surely valid concerns about their current implementation that could lead to improved solutions"_ If you think this surely must be the case, _why don 't you kick off the discussion with just one of those things you've considered_?

Back to his posted rebuttal on Github. I'm glad that he pointed out his record for supporting Node.js's CoC and using CoC in his own projects. But when he says:

\- _" I have never made a case against the Node.js Code of Conduct."_

\- But on Twitter, he implies that people aren't skeptical enough of CoC's and that he has "witnessed the negatives, again and again".

Is his lack of criticism of Node.js CoC ("I have never made a case") because Node does _it right_? Or is it because he doesn't think it's worth it for him (in his position) to critique Node.js CoC (which is an understandable position). His rebuttal, when looking at the source material, doesn't feel direct enough to me. How can he claim that "the post I linked to was absolutely not an anti-Code-of-Conduct article" when the article starts off with:

 _" In this article, I'll explore the science of neurodiversity, and how campus speech codes and restrictive speech norms impose impossible expectations on the social sensitivity, cultural awareness, verbal precision, and self-control of many neurodivergent people."_

Concludes with:

 _" Campus speech codes discriminate against neurominorities."

Followed by:

_"In a future article, I'll outline a legal strategy to use the ADA to eliminate campus speech codes that discriminate against neurominorities."*

Reading the entire post a couple times over, if the professor believes that there are code of conducts that are not inherently discriminatory, he doesn't cite any evidence of their existence, or make an attempt to outline what an acceptable CoC looks like.

\----

Putting aside all the other complaints leveled at Vagg -- not because I think they're unimportant, but because there's not enough info for outsiders to have an informed opinion -- I sincerely hope that Vagg and Node.js's governance can come to an amicable and transparent resolution at least on whether Node.js CoC is as good as it can be -- which seems reasonable if Vagg's public record of supporting it comes from his personal principles.

I do believe that CoC's are both well-intentioned and worth fighting for. And I also agree that they are and will always be a hard problem, because they attempt to address and mitigate hard problems. I don't know what the resolution to Node.js's conflict is, but the last thing we need is yet another fucking blowup in which the entire debate gets reduced to the lazy polemic of "Objective programmers yelled at by SJW soft scientists"

<comment><USER62> > But when he says:

>> "I have never made a case against the Node.js Code of Conduct."

> But on Twitter, he implies that people aren't skeptical enough of CoC's and > that he has "witnessed the negatives, again and again".

If you use anything enough times, you'll witness the negatives again and again, even if you feel the positives outweigh the negatives and overall recommend it. Viewing something as a net positive, let alone not making a case against it, does not require you to be blind to it's negatives.

</comment></comment><comment><USER63> What is wrong with Node.js governance (except Rod's case)? Is there any list of such problems?

</comment><comment><USER64> He is clear, logical, and reasonable.

Poor guy, they will eat him alive.

<comment><USER65> Oh stop. "They" who? There was already a vote to remove him and the motion was rejected. He has clearly declined to back down in the matter (I don't mean this negatively, I just mean he's not folding). Somehow I suspect he will be just fine.

</comment></comment><comment><USER66> My momma had a way of dealing with these sorts of arguments. Everyone was punished. Look at these petty people. They all seem to have missed out on that sort of parenting.

"Rod has his opinion on CoC and you have yours. Now play nice or you both go to bed early with no TV."

I believe Rod and his detractors are all earning a different sort of punishment though. Who wants to hire a bunch of drama queens like this? It's too bad salary data isn't public like tweets. It would be interesting to see exactly how much internet drama negatively impacts a person's lifetime earning potential.

</comment><comment><USER22> TLDR: core contributor displeases blue-haired SF nobodies, who fail to evict him from the project.

They proceed to throw a temper-tantrum and create a useless fork which so far has done nothing but bike-shedding.

<comment><USER67> While you most likely made that comment in jest. Stereotyping everyone into a category like "blue-haired SF nobodies" is rather offensive.

Not saying I disagree about the temper-tantrum, but there was no reason to state it in the way you did.

<comment><USER22> Yes, you are right, it was an unnecessary jab...and I apologise if this offends.

The frustrated comment I gave is from the perspective of someone who is not an american; I don't see american californians as the moral authority of how open source software must be developed.

It is a sad day when politics must be paramount when contributing to a foss project. If developers wanted this burden they'd need look no further than working in a soul-crushing multinational mega-corp.

EDIT: please do not downvote the parent comment to this. He/she has commented to continue discussion, if you disagree please discuss, not downvote.

<comment><USER68> > It is a sad day when politics must be paramount when contributing to a foss > project

Politics have always been the reason for me. It depends on what you call politics though.

I got involved with FOSS initially because of the GPL. I then found a project whose aims I agreed with, and also had a welcoming environment.

I might contribute a one off patch here or there to some other projects, but the ones I stay are such as those.</comment></comment></comment></comment>


How David Blaine Held His Breath - <AUTHOR> http://www.time.com/time/health/article/0,8599,1736834,00.html

<comment><USER2> This talk at TED [http://www.ted.com/talks/david_blaine_how_i_held_my_breath_f...](http://www.ted.com/talks/david_blaine_how_i_held_my_breath_for_17_min.html) is interesting. Like the moment when he talk that his ex-gf used time that he spent underwater to read SMSes on his phone.

<comment><USER3> Just a note: if you do watch this, watch it until the very last second.

<comment><USER4> Why? I don't see anything.

<comment><USER5> He tears up at the end, just barely losing composure, as he explains what magic--and, I imagine, life--means to him. I was certainly touched.

<comment><USER4> Oh, I took your comment literally and thought the guy on the stage was someone to note. I did see the end of the speech, yes.

</comment></comment></comment></comment></comment><comment><USER6> I know a lot of people here aren't fans of Tim Ferriss but this is relevant.

[http://www.fourhourworkweek.com/blog/2009/10/30/how-to- hold-...](http://www.fourhourworkweek.com/blog/2009/10/30/how-to-hold-your- breath/)

<comment><USER7> I've tried this, and it worked very well; but it's dangerous from what I understand - you can kill some brain cells.

</comment></comment><comment><USER8> > free divers, who descend to scuba-diving depths without the aid of equipment

Freediving is one of those sports that seem to deify and defy rational explanation.

<http://www.cdnn.info/news/article/a040709.html>

</comment><comment><USER9> It should be pointed out that the unassisted static apnea record is 11.5 minutes. Making noise about Blaine's times sound a little silly.

<comment><USER10> Citation, please.

The article claims that the record without oxygen assistance is 8:58. Your 11.5 claim would beat that by quite a bit.

<comment><USER9> [http://en.wikipedia.org/wiki/Free- diving#AIDA_recognized_wor...](http://en.wikipedia.org/wiki/Free- diving#AIDA_recognized_world_records)

I guess to be fair at the time of the article AIDA's record was only 9:08. But if the article is worth reading today it's worth comparing to today. The point really is that holding your breath for 8 minutes was/is not the achievement Blaine('s publicist) wanted it to be.

</comment></comment></comment><comment><USER11> <http://en.wikipedia.org/wiki/Mammalian_diving_reflex>

</comment><comment><USER12> Anyone else struck by what a bad speaker he is?

<comment><USER13> Starting off, I thought he sounded like he had just taken a bong hit while pinching a loaf. As he went on, I became more and more engaged. Each minute of the speech made me want to hear the next minute, and finally the conclusion. So you have to ask yourself, what makes a good speaker - having polished elocution or relating an engaging story?

<comment><USER5> Agreed. He's a great example of how successful storytelling can come from charisma and passion as well as diction and articulateness.</comment></comment></comment>