The biggest objection to switching to 3 has been that library support hasn't been there. It's pretty clear that despite reservations about 3, the support is there now. Getting major libraries in the scientific community to focus attention at three can only be good for improvements in support, performance, and adoption.
Even sub-communites don't solve the problem. There are certain subreddits notorious for dogpiling on posts in other subreddits. The article mentions this indirectly by observing that what starts out on one platform can easily migrate across communities, even to communities you're not aware of.
There's a mismatch in scale: the number and diversity of members on platforms like Twitter is huge, but the ability to moderate is tiny. It would be interesting to see if a system could detect the dogpile effect, by looking at common phrases, checking if many users messaging one user all follow a common user, etc. and offer some sort of temporary relief until a controversy dies down. On the other hand, that's not actually solving the root of the problem.
A string is an abstract bit of text. You need to encode this into a particular memory representation of the text.
Bytes hold a bunch of data in some encoding. It could be an image, UTF-8 or LZMA compressed ASCII. Once you know the encoding, to reconstruct the data you decode into a semantically meaningful form.
To put it another way, imagine the terms were "serialize" and "deserialize". Of course one serializes to and deserializes from binary data. Just replace "{,de}serialize" with "{en,de}code" and you're done.
Encode and Decode are slightly subjective... why not something like to_bytes and from_bytes? Maybe not the best names, but definitely clearer on the meaning.
Veedrac had a good analogy, think of text as something abstract, for example imagine text is an image or sound, if you want to store it in bytes you need to encode it, and to read back you decode it.
As to_bytes/from_bytes, actually python provides it too:
I think that reveals that the names really do have a problem. The problem is that "encode" sounds like "make this Unicode" to people who aren't familiar with Unicode.
HgFlow already exists and is actively developed: https://bitbucket.org/yujiewu/hgflow/wiki/Home. It even goes above and beyond GitFlow and adds generalized streams and sub-streams. I've never had to use those extra features, but the core model works well.
> People walk away from a game of Cards Against Humanity thinking that they’re hilarious.
Which people? My friends and I walk away from a game of Cards Against Humanity thinking we had a fun time coming up with stupid combinations for an hour. I can also turn the author's previous sentence around and state that there are probably many people that get too invested in elves and orcs as well.
> ... this passes once you’re more familiar with the language and are using it for real things
> ... a large enough subset of the community never reaches that stage
This is true about pretty much every programming language (and probably generalizable to most non-programming things too). The author just happened to apply it to Ruby and Haskell for some reason.
If there's a message such as "programmers should be more aware of the language's strengths and weaknesses and shouldn't feel overconfident", it's lost in the paragraphs of vague complaints.
HN discussion: https://news.ycombinator.com/item?id=5204967