The original ending is reflective of how England was changed by the war and how the innocence was taken away. It goes along with how Frodo was permanently affected by his "war injuries".
"At some point, the cheerleaders—and yes, amazingly, they’re out there—are going to have to face reality: Windows 8 is selling slowly."
Paul Thurrott is one of those cheerleaders. Now he is negative about Windows 8, but when his Windows 8 book was coming out, he was enthusiastic and even antagonistic toward critics.
Well, look at one of my examples: RPL_NAMREPLY, which returns a list of nicknames in the channel, prefixed by channel privilege. One privilege is returned at a time according to the protocol, despite the fact that a user can have multiple privileges at once, such as +vo. If such a user is deopped, your tool won't know that they are +v unless you have taken the steps to gather this state previously (this also means there is a period of time after joining a channel in which you're not in sync with the channel modes the server is seeing).
There are extensions to the protocol to support returning multiple privileges in RPL_NAMREPLY, but now your tool has to support both modes of operation. Additionally, the usual medium for discovering these extensions, RPL_ISUPPORT, slightly differs between networks, and today there are now multiple ways to query a server's capabilities, so you have to support RPL_ISUPPORT, PROTOCTL, CAP, and possibly others I haven't seen, and their features overlap. Also, none of these are officially standardized.
All this adds up to needless hassle when you're trying to implement a full-featured framework or tool. These are problems that should have been officially addressed years ago so that everyone is on the same page.
Having also written a client, I have to disagree that the protocol is simple. The lack of standardized text encoding, the 512 message limit, the desync issue of RPL_NAMREPLY, the hundreds of differences between each network's server behavior, and more make it quite a pain to write a competitive client. It's so bad that the CAP/ACK was protocol was drafted to query the behavior of a server in a standardized way, in addition to RPL_ISUPPORT (which uses the 005 numeric in a way that conflicts with the protocol standard).
That's another problem: all the subprotocols grafted onto IRC, especially CTCP which is such a mess that most clients don't implement it completely. Then there's mIRC colors which has parsing ambiguities. Also, the multiple passive DCC request formats.
It's a complete mess, and there desperately needs to be a standards body of some sort at the very least collecting all this info in one place for client developers.
Nearly every interesting and popular question on StackExchange gets closed for not following rules. When I see a posted link to a question, I assume it will be closed, and it is.
> This is wrong. How the hell did we learn "pinch to zoom" on the iPhone/iPad was a thing? We were shown!
Pinch-to-zoom is intuitive functionality common to almost all scroll views on the platform. It's quite different from application-specific functionality like "swipe left to toggle an alarm", which requires a tutorial (which means the interface blows).
It's not "utter nonsense". If your interface is so confusing that you need to bombard users with a startup tutorial, your interface sucks.
Standing next to someone and showing them how something works is exactly what the visual cues described in the article do, but in a non-intrusive way that doesn't require users to memorize esoteric gestures for common functionality.
> - Write and distribute apps easily. If something's missing from your console, just go ahead and write it. Hopefully they follow Google's model here - low registration fee, no reviews.
This fantasy that customers will write all the software that's missing from a product and end up canceling out criticism of a lacking software library simply never comes true.
It's all subjective, but that comment could be expanded to, for example, explain where the XML is assumed to be coming from or what kind of XML is expected. If the code makes no assumptions about those things, that is also something to write a comment about.
When people have experiences like yours, where the Nexus 7 looks so much like an iPad that it is confused for one by the general public, it becomes clearer why Apple is so protective of its hardware designs. People don't often mistake Windows laptops for MacBooks, for example, because their designs are so different, but the same is not true for smartphones and tablets.
"Every Apple user" didn't downplay 7-inch Android devices. You already didn't like Apple and needed a justification to complain about Apple and their fans, like some tablet platform warrior.
Most Apple fans are the opposite of how they're portrayed. Rather than accept everything Apple does, they over-analyze and complain about nearly everything. If Apple slightly mismatches the color of a button, it will get mentioned in a whiny thread on the Apple support forums.