Facebook is Blocking Connections from Tor Network - <AUTHOR> http://arabcrunch.com/2013/06/facebook-blocks-log-ins-from-tor-browser-putting-thousands-of-political-activist-at-risk.html <comment><USER2> The privatized 'public' space makes an inevitable move.

Facebook can no longer stake any preposterous claim to "help people connect better". It is a business entity - always has been - and does not give half a damn about "making the world a better place", or whatever corporate marketing catchphrase they use right now.

Related to recent events or not, the privatized internet is continuing to backlash with severe consequences for anyone dependent on Tor to ensure that their tyrant government doesn't come knocking on their door just for speaking their mind.

<comment><USER3> It's a lot more than just a business entity, unfortunately.

The government tends to look out for and protect its biggest corporate partners, particularly those that play a strategic role (think: Boeing). The major Internet services companies are now protected government sponsored entities, just like Verizon and AT&T.

The Feds can never risk the potential that the massive orgy of data that Facebook makes possible - both domestically and globally - might unravel or be challenged by competitors that might threaten the 'total information awareness' system they've built. I would argue Facebook's well being is now considered a national security interest for the US Government, as there are few other sources that provide easy access to the lives of a billion people around the world.

I wish Facebook were merely a business.

<comment><USER4> > just like Verizon and AT&T.

As an European I never understood what is the "strategic" interest of Washington to protect the telecom companies. This might have made sense 20 years ago, but now that these companies tend to become like any other utility companies I don't see why the Government would care if they break up or if new (possibly foreign) competitors appear.

<comment><USER5> Because I think yashkadakia's Google link was too oblique a response, here's my answer: the concerns are that A) a foreign owned U.S. telecom might refuse to provide the data NSA or other government agencies want (or reveal that they had been asked) and B) a foreign owned U.S. telecom might do the same sort of spying on behalf of their "home" country.

<comment><USER3> To add to this, the value of the duopoly of AT&T and Verizon, is also the ease of having two targets that make up the extreme majority of all telephone calls / wireless data / and a lot of broadband access. If you're the government and you want to spy on domestic calls and data, it sure beats having to deal with a market in which dozens of companies split the marketshare. This last point is also one of the reasons why the former telecom monopoly of the old AT&T was allowed to be recombined after having been split into pieces.

</comment></comment></comment></comment></comment><comment><USER6> It is not deliberate from Facebook. See: [https://blog.torproject.org/blog/facebook-and- tor](https://blog.torproject.org/blog/facebook-and-tor)

<comment><USER7> This needs to be the top comment. Way too many wacko conspiracy theorists in this thread.

<comment><USER8> Your definition of "conspiracy theory" is way too low. Many sites block Tor, it is not even remotely out of the possibility that they could have blocked Tor exit nodes, or will in the future. I run a Tor exit node on a static IP address, I have firsthand experience with this.

<comment><USER7> That is a perfectly reasonable explanation, and not what I'm calling conspiracy theory. I'll quote one from a reply to the current top comment.

>Google and Facebook are part of the military surveillance complex, it's as simple as that. They are privatized surveillance companies who serve the US government.

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

<comment><USER8> Ok, thanks for the clarification, I missed the context. As a side note I think functionally they serve that purpose, but were never created to be so; they simply cannot resist the compelling power of the state under which they have been licensed as a taxable entity and are subject to its laws and leaders...

</comment></comment></comment></comment></comment><comment><USER9> Has anybody tried asking Facebook why they've done this?

Possible reasons:

1\. One or more governments (which ones?) have told Facebook to block Tor or else. (Or else what?)

2\. A manual security review revealed more hacking attempts via Tor than legitimate use, so Facebook decided to block Tor.

3\. After a sustained hacking attack via Tor, an automated Facebook security system automatically blocked Facebook access from Tor.

Further questions: When did Facebook start blocking Tor? Any idea when they might stop?

It's a pitifully poor article.

<comment><USER10> The article simply states the issue. Its not up to the writer to come up with excuses for facebook, which if you are really hot on bad journalists you would rightly write off a mere speculation. Its up to facebook to explain their position. If their excuse turns out to be a reasonable reason, then lets hear it.

<comment> k-mcgrady It's up to the journalist to investigate and find out why Facebook is doing this so he can write a more complete story.

<comment><USER11> Not necessarily - if their goal is to get Facebook to reverse the change (which I imagine it is based on the fact that the website is based in an area with a lot of civil unrest), then providing reasonable rationalization in the article isn't what you want to do.

<comment><USER12> In that case this isn't journalism but propaganda (even if its the good kind). Lobbyists do the same thing yet we all hate them for it, these guys shouldn't get a free pass and get to call it journalism if they aren't portraying both sides.

Edit: fixed mobile typos

<comment><USER5> I've now been able to reach the page to read is myself. How is this propaganda? What's the other side to exposing activists to observation by oppressive regimes?

</comment></comment></comment></comment></comment></comment><comment><USER13> news.ycombinator does this too.

edit: at least for me, it's impossible to log in to HN and when I occasionally succesfully log im, everything I post while being on Tor is instantly dead.

<comment><USER14> This point might be more important than anyone gives it credit for. Six days ago PG said that someone was running an "abusive distributed crawler" through Tor. Quite possible that Facebook would ban for the exact same reasons.

</comment></comment><comment><USER15> When I worked for Netscape.com (the social news site) and later Propeller.com, we made a conscious decision NOT to ban known TOR IP addresses, even though a metric shit-ton of spammers used it.

</comment><comment><USER16> "Activist" \+ brains != relying on middleman's platform

<comment><USER17> Wrong. If the majority of potential supporters are on Facebook, an activist needs to be on Facebook.

<comment><USER16> Then VPN access paid for by bitcoins will do. Tor is not the only game in town.

<comment><USER17> Yes, because a public record of all transactions could not _possibly_ be used to track anyone down.

</comment></comment></comment></comment><comment><USER18> Slightly off topic, but I discovered yesterday Tor provides AMIs for running bridge nodes on EC2: [https://cloud.torproject.org](https://cloud.torproject.org)

It's really easy to set up, and only costs ~$3 a month if you have your free tier available.

</comment><comment><USER19> Just tried loggin in to Facebook with TOR and it works (from the UK). Is this a region only thing?

</comment><comment><USER20> kind of pointless using Tor to access a site that has all your personal information on it.

<comment><USER21> What personal information exists in facebook?

<comment><USER22> Associates. Thoughts. Articles you liked. Articles you didn't like. Private messages. Contact information. Photos. Location check-ins. Causes you support.

The whole _point_ of Facebook is to share some private information with a selected group of friends.

<comment><USER23> That might be the "whole point" but that is not how everyone uses it. I have a facebook account myself which contains nothing but a username, a generic artsy avatar and a list of popular facebook pages I like to keep tabs on. I dont share any personal information and I dont have "friends" on facebook.

This is all purely out of convenience. If I wanted to go full on stealth mode I could have used Tor at which point my account would not give facebook any information apart from a couple of "like" clicks from a super generic gray faced account.

Activists can create these accounts and have a place where they can tell the world about their experiences without risk of being found out. They dont need to give out their IP addresses, they dont need to give out addresses. All they need is a cause and a way to speak and, given luck, people will start listening.

Now at least one small avenue of communication has been closed.

</comment></comment></comment></comment><comment><USER24> I find this a bit ironic because the future of the web is a free self- organizing darknet. Someday data that users wish to share will be stored cryptographically in a true "cloud" sort of like bitcoin, and I'm not really sure what the value of facebook will be in an environment like that. Maybe the ability to store things temporarily or delete them somehow?

Facebook seems to connect you to anything except the future..

<comment><USER25> On what do you base this speculation? To me, the trend seems to be just the opposite. Internet use for the average person is increasingly non-anonymous. Only techies use Tor, PGP, etc.

<comment><USER26> Yep, your parent presupposes people get better at computers. Moore's law does not apply to people.

<comment><USER27> I disagree. Only 20 years ago the GP would be saying "Only techies use email, web, etc."

People get better at this stuff, but slowly. The current privacy issue is growing in the public consciousness, spurring action from "techies". Maybe 20 years from now easy to use encryption will be the norm, even among regular people.

<comment><USER26> That's a fair point. However, I still see the contraction of skills being greater as the web caters to those without them, and people's skill atrophying.

For instance, Facebook messaging vs instant messaging. For most standard users I know, they have literally lost any reason to use an alternate client, and many of them will probably never become familiar with one as a result.

Anyway, its a wait and see situation, hopefully we are both around to see!

</comment></comment></comment></comment></comment><comment><USER28> Isn't HTTPS connection enough to protect from snooping regimes? If the foreign government won't block FB access completely, user can go to [https://www.facebook.com](https://www.facebook.com) and will know that their data can only be seen by Facebook? Of course if government is blocking FB access, then I understand the need of TOR.

<comment><USER29> You're missing the point TOR isn't about encryption, it's about anonymity.

If you're in a situation which can threaten your life, the latter is clearly more important.

<comment><USER14> But in that context, using Tor to sign into Facebook kind of removes that 'anonymity' angle.

<comment><USER30> Yes, unless the Facebook account has only ever been accessed via Tor, and the personal information (name, age etc) faked.

I'm unsure if Facebook blocked signups from Tor however.

</comment></comment></comment></comment><comment><USER31> If this isn't political, the timing of this is terrible for Facebook.

</comment><comment><USER32> It's probably a government request. But let's give them benefit of doubt. My guess is that there's a business reason behind it. Probably they want to track you.

<comment><USER33> I really doubt they care about tracking you _that_ much. Tor is so infrequently used that it's not worth the trouble to force you to log in without it just to track you. Maybe if teenage girls were using Tor I might be inclined to agree but right now it's just not worth the effort for a few nerds.

</comment></comment><comment><USER34> How about using TOR to connect to a VPN and then to Facebook, so Facebook only sees the VPN but you still "protected" by TOR.

Is this possible/practical?

<comment><USER35> well facebook won't be able to see you(your IP loc), but VPN is not completely safe as they are required to keep logs + there's also Money trail(credit card) leading directly to you, negating the effect of Tor whatsoever.

</comment></comment><comment><USER36> Why the hell would someone using TOR use Facebook?

<comment><USER37> Before the downvote brigade comes out in full force, stop and think a second. The US government is building its own map of all our social connections for everyone worldwide, not just suspects but everyone. It will know the names of everyone you know, how well you know them, even down to the date that you met them and dates that you were in the same location together.

Why WOULD anyone who cares about their anonymity use Facebook? I am wondering why I use Facebook even.

<comment><USER38> > I am wondering why I use Facebook even.

Because, as much as you shout and holler about your privacy being violated, and as much as you act like you value said privacy, you're more than willing to give it up for a modicum of convenience.

You, me, and everyone else. Anyone who still uses a 3rd party to handle unencrypted data they expect to remain private is simply uninformed. Period.

<comment><USER37> There needs to be a way to have a foot in each world. Total online privacy and anonymity when you want it, and ability to use facebook, twitter, hacker news, and other sites where you know and expect to be tracked.

Like Chrome's "incognito mode" that extends beyond cookies to an anonymous network identity. Like using Tor through a VPN tunnel, I guess.

<comment><USER38> I think we should separate the things which aren't so important to protect (FB conversations, Reddit comments, Netflix traffic, etc.) from the things which MUST be private and secure (bank data, classified data, misc. data which you want guarantees about security on). Different sandboxes for different things. There's no reason my Pinterest account needs to be as secure as my government's troop deployments.

</comment></comment></comment></comment></comment><comment><USER39> Are there better ways to retain network integrity that don't use ip address logging/monitoring ?

</comment><comment><USER40> Has everyone made certain they're running the most current version of Tor?

</comment><comment><USER41> Sometimes I have issues with ycombinator from tor. Am I only one?

<comment><USER42> Someone is aggressively crawling HN with TOR ips so they've banned TOR ips.

</comment></comment><comment><USER43> is it possible that fb got some heat from above, and forced to do that?

</comment><comment><AUTHOR> this means that facebook do not care about the fat of its users, as now thousands of activists in tyrant regimes might risk their identities be found and that means they will go to jail.

<comment><USER44> what exactly forces them to use Facebook instead of something remotely private and secure?

<comment><USER10> Popularity.

If activists want a potential mass audience, facebook is an essential part of of that. Something private will not get to most people. Its the exact same reason it is hard to compete with facebook. Its is a virtual monopoly.

"Force"? No. But by using that word you are in the same disingenuous camp the "what have you got to hide" people. I mean, why bother about privacy at all, no one is "forced" to use the internet. Why bother about anything facebook does, no one is forced to use it.

I could go on, but I'm not forced to....

<comment><USER45> _If activists want a potential mass audience, facebook is an essential part of of that._

Well, why not clear it through an individual that will put it up there so that the private dealings of everyone else won't leak?

<comment><USER25> This is a good idea. Perhaps an individual in a state that values freedom of expression more highly.

</comment></comment></comment></comment></comment><comment><USER46> Google, IIRC, does not let you search from TOR either. If they can't track you, you're no good to them.

<comment><USER47> That's not true. It redirects to [https://encrypted.google.com/](https://encrypted.google.com/) and works just fine.

<comment><USER48> True, sorta.

In my past experiences, if you're on tor (or proxy'd through a known portal), and have Javascript disabled entirely, Google will sometimes (not always) give you an error stating that your IP is a known abuser. If you DO have JS enabled, I have encountered the "Your IP is known to be abusive, so type in this captcha in order to continue" and then it forwards to encrypted.google.com.

I get similiar behaviour with VPNs & Google.

<comment><USER49> To be fair it's quite likely your IP _has_ been abusive. There aren't that many exit nodes and it doesn't seem unlikely that a lot of Tor users have suspicious or malicious behavior.

<comment><USER50> Though to the point, the IPs of all exit nodes are publicly available and presented by the Tor project itself.</comment></comment></comment></comment></comment>


"Snowcrash" to be HBO series, compete with actual early Metaverses for viewers - <AUTHOR> https://nwn.blogs.com/nwn/2019/12/neal-stephenson-snowcrash-metaverse-magic-leap-hbo-series.html <comment><USER2> My fear with any Snowcrash adaptation is that it will feel like John Carter of Mars (or Warhammer Online [1]). John Carter was a groundbreaking novel, but its ideas became so adapted and universally understood that revisiting them in a movie felt ironically like derivative work.

If I have to endure years of my non-cyberpunk friends talking about how Snowcrash feels like a rip-off of Ready Player One, then I will flip tables.

[1] [https://www.penny-arcade.com/comic/2006/04/10/i-hope-you- lik...](https://www.penny-arcade.com/comic/2006/04/10/i-hope-you-like-text)

<comment><USER3> But of course it's HBO so it'll have plenty of softcore porn embedded within the plot.

Despite the jokes, HBO tend to do a decent job of this stuff. Ignoring the shitshow that was GoT after season 4. The Wire, The Sopranos, Westworld... probably better in their hands than, say, Netflix.

<comment><USER4> I wish they'd spend more time on sub-plots, character development, etc. If HBO removes all the sex scenes, they could probably squeeze in an extra episode of actual content per season (I'm being slightly sarcastic).

<comment><USER3> They should really branch out into proper porn spinoffs considering how masterfully they mix story and titillation. The production value would be immense.

Game of Boners - Aiden Gillen returns to his brothel to make use of his Littlefinger namesake.

The Sopranals: Gandolfini enters Bada Bing! through the back door

etc. etc.

Which is to say, HBO actually seem to be quite tasteful with this while also being gratuitous.

</comment></comment></comment></comment><comment><USER5> I'm glad to see this happen. Suspect that a network exec somewhere said: "Sci- fi! Dystopia! Rogue AI! Cyberpunk!" and then HBO went through the list of books meeting that criteria (copying the Game of Thrones formula) and picked a best-seller to make a screen play out of. The subject matter seems to fit quite well with the tech malaise we are feeling at the end of the 2010's.

<comment><USER6> Disney has _Mandalorian_. Amazon has _The Expanse_ and recently picked up _Ringworld_ for a tv-series too.

Another unnamed network is supposedly currently considering _Red Rising_ series as well.

Sci-Fi dystopia is hot right now.

<comment><USER7> Is Ringworld really dystopian? I mean the ring world civilization(s) did fall, but Known Space and the puppeteers were pretty much doing OK.

<comment><USER8> Sort of a problem with a lot of Niven's novels more generally, but they became travelogues to a large degree. I agree not especially dystopian (or interesting).

I liked his short stories a lot more.

<comment><USER9> I always loved that about them. Not all sci-fi needs to crawl into its own navel and reveal the condition of Man. Sometimes it can just create and explore a fantastic universe.

<comment><USER8> I thought it worked better in shorter formats though. (And I was a huge Niven fan.)

<comment><USER9> Sure, I can see how that style could drag a little in long-form.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Wow, so exciting. This has got to be one of my favourite books of all time.

The first time I read around the year 2000, I enjoyed but I essentially thought "That was neat, and funny, but man did he miss how things would turn out! haha". If you read it today, you might be shocked by how many things it has gotten right.

<comment><USER11> I had the same reaction. I first read "Snow Crash" and "Brave New World" around the same time (circa-2000), and was happy that both missed the mark. Looking back at them now I feel like the modern world has become a blend of the worst parts of both.

</comment></comment><comment><USER12> Nearly thirty years on, any adaptation will have to lose some of the book's charming elements that made sense at the time, such as an America dealing with the fallout of specifically the Reagan administration, or a conspicuous amount of immigrants from early post-Soviet Tajikistan. Still, the theme of everything being privatized has held up well.

The one downside of bringing _Snow Crash_ back into the public consciousness, though, is that uninformed viewers may well take Stephenson's use of Sumerian as the "original human language" seriously, and Julian Jaynes' work will be probably be accepted as a valid thing when in fact it is extremely controversial.

<comment><USER13> > such an as America dealing with the fallout of specifically the Reagan > administration

I mean, Snowcrash's view of income inequality, limitless corporate power, the value of the human life vs capital... I don't think they have to tone that down at all. In fact, my money is they play that up pretty significantly as the essential Neoliberal endgame.

<comment> blaser-waffle Ditto, I think that'll sell well in a world where millennial are killing $THINGS

</comment></comment></comment><comment><USER14> While Snow Crash is one of the all time great sci fi novels, it famously has a huge plot hole: although Stephenson saw a lot of things about the future with remarkable accuracy, he did not foresee the ubiquity of the cell phone. A simple cell phone would have undercut the main plot.

Now that we know what we know, how will they account for it?

<comment><USER15> L. Bob Rife is a telecom mogul; presumably there will be some handwave about how he's manipulating the phone network to keep anyone from interfering with his plans.

<comment><USER14> I bet some variant of this will be their solution.

<comment><USER16> Spoiler alert:

"Insert integer"g

</comment></comment></comment></comment><comment><USER17> This book featured adversarial inputs to the human neural network long before deep learning was cool.

<comment><USER18> Epileptic seizures can be triggered, that's the only actual adversarial attack on the human neural network that I'm aware of that actually works, and is more common than you might think:

[https://www.epilepsysociety.org.uk/photosensitive- epilepsy](https://www.epilepsysociety.org.uk/photosensitive-epilepsy)

<comment><USER19> You could say that all perceptual illusions are adversarial inputs for the human senses. They're just not damaging ones.

In a lot of adversarial input stuff for AI, you're trying to get the AI to misclassify something, not necessarily to damage the AI or even change its learning at all. In _Snow Crash_ the perceptions were definitely damaging to the perceivers, but I don't think you have to go nearly that far to have adversarial inputs!

<comment><USER18> True, but it was just the Snow Crash like ones that I had in mind. There are also adversarial attacks possible on all the other senses once you understand how they work at a physical or pre-processing level. You can make something cold feel hot, trigger speech patterns to go off by pre-setting them with auditory patterns, cause people to hear sounds that aren't there and so on. Given how many of these pathways are buggy it is quite impressive how well the brain can make sense of its surroundings. Mimicry in the animal kingdom is another 'adversarial input' that has potentially damaging effects on the perceivers (hunger!) but it is very much a defensive mechanism so that probably should not count either.

<comment><USER16> True nothing like snowcrash has yet to be created to any of our knowledges. Of course... if it was... how would we be able to respond to this thread! But this is whole other rabbit hole to go down that in light of some recents posts on the front page today doesn't seem too fun.

</comment></comment></comment></comment></comment><comment><USER20> I'm so excited for this. Snowcrash is one of the best pieces of Science Fiction I've read. It's up there with Permutation City and Stories of Your Life and Others.

<comment><USER21> I haven't finished it... I started to listen Whool, but yeah it's a really great book. Geek, nerd piece of art.

</comment></comment><comment><USER22> Interesting, didn't know HBO was going to be doing online only shows now like Netflix, Apple and Amazon.

Snowcrash is the book that inspired Philip to create Second Life. Then he moved on to create High Fidelity, but they are now pivoting more for virtual meetings and business use it looks. One thing I kinda don't like about the new virtual worlds, they are disconnected spaces while Second Life tried to have a sense of continued space, but never seemed to get as popular as Facebook and a region can't hold more than 100 avatars at once but even 50 is a limit in some places.

I feel SL was early for it's time though, they started working on it in the late 90s and opened in 2003. High Fidelity seemed more focus on HMDs then keyboard and mouse but I feel that is still a bit early too but it's an interesting space. I have some ideas on my own too I've been thinking about exploring, but still a lot to learn and then getting funding at some point when a more solid plan.

<comment><USER23> I used to play a lot of second life when I was younger. It was interesting to see what happened to everyone I used to play with.

Everyone became a programmer,or a 3d modeler. Something about having a programming language and the ability to make things strapped to what was essentially a chatroom.

I wonder if your comparisons to Facebook are really fair. I always assumed Secondlife was trying to be something closer to IRC or Discord today then something like Facebook. It's not just a series of events to read but something active to engage with.

<comment><AUTHOR> The co-founder of Second Life eventually became a VP at Facebook, where he drove the acquisition of Oculus:

[https://nwn.blogs.com/nwn/2014/08/confirmed-facebook- purchas...](https://nwn.blogs.com/nwn/2014/08/confirmed-facebook-purchase-of- oculus-rift-second-life-cory-ondrejka.html)

</comment></comment></comment><comment><USER24> I support any network taking on more Sci Fi. I'd give almost anything to see a proper Foundation series done by HBO. Or culture series, or a Dune series, or you name it. Imagine a gritty interpretation of Fire Upon The Deep done by Christopher Nolan. There's not nearly enough Sci Fi movies.

<comment><USER25> Amazon is adapting Consider Phlebas, the first book in the Culture series:

[https://variety.com/2018/tv/news/consider-phlebas-iain-m- ban...](https://variety.com/2018/tv/news/consider-phlebas-iain-m-banks-amazon- novel-dennis-kelly-1202706327/)

</comment></comment><comment><USER26> I'm curious if they'll remember that Hiro Protagonist is multiracial (Black and Asian) and that this plays a role in the plot.

<comment> munk-a As played by Scarlett Johansson[1]?

1\. Please do recall the casting in the live action GitS movie.

</comment></comment><comment><USER27> I hope it doesn't suck. It seems like every few years a network tries to make a sci-fi series, it bombs and then it's years before anyone tries again. I would love to see Revelation Space (by Alastair Reynolds) get the budget of the mandalorian or huge big screen budget, but alas, that will never happen.

</comment><comment><USER28> So far Ghost in the Shell: Standalone Complex is still my favourite cyberpunk TV series. I really want something to dethrone it. If HBO gives Snowcrash the Westworld treatment then I am hopeful but I'm still uncertain.

</comment><comment><USER29> Blogspam of [https://www.engadget.com/2019/12/14/snow-crash-tv-series- hbo...](https://www.engadget.com/2019/12/14/snow-crash-tv-series-hbo-max/) which is itself blogspam of [https://deadline.com/2019/12/snow-crash-sci-fi- drama-series-...](https://deadline.com/2019/12/snow-crash-sci-fi-drama-series- hbo-max-michael-bacall-joe-cornish-paramount-tv-1202809103/)

</comment><comment><USER30> Science fiction is my favorite genre and have enjoyed a lot of Stephenson. I think that Snow Crash could be great as an HBO production and when it does well we can see Cryptonomicon, the Diamond Age, and others follow.

I can't wait to see the Raven character..

</comment><comment><USER31> I wonder how well this will work. While the book exists on several levels, it worked really well in the 90s as the logical, but absurd, conclusion to cyberpunk. The cyberpunk aesthetic feels very dated today though.

<comment><USER32> Uh oh, don't tell CD Projekt Red

<comment><USER31> _The Witcher_ series was very much not my type of game (I didn't like the _Elder Scrolls_ series either), so I'm unlikely to try _Cyberpunk 2077_. I think it has a good chance for success though because while cyberpunk is not necessarily big right now, it _is_ a subgenre of dystopian SF, which seems to be on the upswing.

However, while HBO's _Watchmen_ is well timed because of the huge popularity of the MCU, there's not currently any similarly well-known cyberpunk body of fiction right now.

It will be interesting to see how they adapt it though. It's probably one of the more "ready for screen" books that Stephenson has written, but even there it relies heavily on internal-monologue and brute writing style more than it does on great plotting.

Of course if you are going by my theory of dystopian SF being the thing right now, _The Diamond Age_ is probably a better fit, plus it's already populated with a few orgy scenes, which seems to be a plus for HBO. I suppose there are casting issues with the plot centering so much around a young girl though.

</comment></comment></comment><comment><USER33> Anyone adapting Snowcrash needs to have a sense of the absurd and OTT along with the ability to play it completely deadpan. Angela Robinson brought us D.E.B.S., so I have some hope.

<comment> blaser-waffle Yeah I imagine something along the lines of Transmetropolitan, but without obviously alien stuff.

But like, odd, goofy, punk rock, etc.

</comment></comment><comment><USER34> My hope is just that a a Baroque cycle series makes it to the screen.

</comment><comment><USER35> Watch them ruin it.

<comment><USER13> The book is a lot of fun, but it's also not a sacred text. It's a story about a pizza delivery driver who will be murdered if he delivers pizza too late and is also a hacker getting bound up in a story of Sumerian brain programmers run amok. (And somehow these brain programmers also can infect someone's blood?)

For all of its foresight, the book is goofy and dated as hell. If it's going to come to screen there's no way the adaption doesn't either:

1) Update some of the goofier stuff (upsetting the fans)

or

2) Leave it all in, in all its 80s action movie glory. (Which won't look all that great in the modern zeitgeist.)

I'm already expecting people will be disappointed with whoever they cast for Hiro, for either being not Black enough (or too Black) or not Korean enough (or too Korean). Similarly, do they outfit Y.T. with a retrofuturist 80s interpretation of what it means to be a skater punk? Or do they update it to be a 2020s interpretation of what it means to be a future skater punk? There's no answers to these that satisfies everyone. Someone will inevitably say it was 'ruined' no matter what the show runner does.

<comment><USER36> Any book that names is hero/protagonist Hiro Protagonist doesn't take itself too seriously. I think both the producers of this adaptation and the fans would be well served to do the same.

<comment><USER37> And don't forget that the female lead character is Yours Truly!</comment></comment></comment></comment>


Ask HN: What's the best book you've read that nobody talks about? - <AUTHOR> <comment><USER2> Montaigne - Essays</comment>


Show HN: reimagined digital magazine, using Backbone and GSAP - <AUTHOR> http://www.lonny.com/mag/osWdLZXQXc7/May+2014

<comment><AUTHOR> My team was granted a couple of months to explore creating a new magazine-like medium for our home decor website, Lonny. A major goal of the project was to preserve ideas that make magazines what they are (rich layouts, big imagery, editorial driven pacing) and to accent them with technology.

This is our v1. We have a lot of updates planned and are excited about the upcoming months.

We would mostly classify ourselves as backend engineers, so for us the majority of the technical difficulty came from developing the front end. We used Backbone as our MVC framework and GSAP as our animation platform. It was our first large project with either library and we really enjoyed both of them.

All in all, it was a great project to work on and we thought you guys might enjoy seeing it, even if you don't have any interest in home decor. We'd love to hear any feedback you have to offer!

</comment><comment><USER2> Hitting the start button does nothing on Chrome version 34.0.1847.131m. I don't know if this is due to AdBlock Pro, Chrome's popup blocker, Ghostery, or Disconnect, but I didn't feel like testing them one-by-one. Obviously it's a commercial offering, but I think it needs to fail mroe elegantly than just hanging. It opened fine in an incognito window.

I opened it up in IE with no problems, and was surprised to find it a little faster than Chrome - but IE is my fallback browser and I don't have any extensions or addons loading there for that reason.

I didn't especially care for the 'start' tab. I would let the titles fly in behind the image as before, but on touching the image anywhere I'd then shrink the cover photo down to its tile and have the others fade in.

As for the project itself, once I could get access I was impressed - it did a good job of bridging the gap between magazine and web presentation. I _really_ liked the simple but effective page navigator buttons which are presumably optimized for tablet use but also saved me from tedious scrolling on the desktop. The ToC was good too, although I would have liked an easier way to get back to the initial tiled layout, which I preferred. I did _not_ like that different tiles took me to the same articles on some occasions. I didn't always read the captions before clicking, and was confused to find myself going back to articles I had already read.

Overall I would give it 7 out of 10 (overlooking the access problems mentioned above, which I think need to be fixed as a priority). Although I'm not the target reader and found the writing a bit gushy, there was a good balance between visual and textual content that was well realized in the interactive context. The only negative I felt while reading the magazine was the sense of being constrained by the vertical page orientation on a desktop monitor, resulting in a lot of empty space on the sides, a pet peeve of mine.

If there was some way to show two pages side by side (like an actual magazine) I would give 9 out of 10. to me one of the great joys of magazines and books is being able to open them wide and feast one's eyes on well-balanced horizontal layout - I've never understood why some people like to fold the spine over and only do this very occasionally. I feel like the single-page paradigm is a path-dependent one that has been driven by the screen size limitations of devices like Kindle and various tablets, but which leaves me feeling like I've lost an eye. I hope you could explore this in future iterations; given the subject matter of eh magazine it seems like a natural candidate to try out these ideas. I felt a bit sad that nothing inside the magazine matched the powerful visual impression of the frame-filling intro photo. Browsing the photo stack that was in some articles was an inferior substitute and didn't take full advantage of available screen space.

<comment><AUTHOR> Thanks for the thorough feedback! We will look into the Chrome issue immediately. We all use Chrome as our preferred browser, so I'm a bit shocked that it completely choked. I suspect one of the add ons, but you are right, it should absolutely fail elegantly.

The multiple index photos pointing to the same stories was an editorial decision, as they wanted a location to show off all of their favorite imagery from the issue, even if some of the links were duplicative. This is similar to a magazine's ToC, where they will occasionally have multiple items referencing the same page number, however point taken that this creates an annoying experience if you accidentally hop to the same story multiple times. Perhaps we'll explore some sort of visual indicator for already visited stories.

Side by side pages forming a spread is a tricky issue. We wanted to allow our editors the freedom to create magazine-like layouts with text interacting with other elements such as images, videos, and lists, but building layouts which conform to the dimensions of all devices is difficult. In print, designers only have to deal with one canvas size when laying out their spreads. On the web, text will wrap in different places and you need to dynamically resize elements so that text is readable and images are suitably sized. This results in inconsistent page breaks, which makes side by side viewing difficult to achieve cleanly. Some products have attempted to achieve this affect on the web, but we ultimately thought the tradeoffs necessary to implement those techniques were not worth it and that we would have a richer product with entirely vertical layouts. There is an additional UX consideration there as well, but I'm droning on.

I agree on the slideshows lacking the gravitas of the cover. We have already begun product planning to improve that feature.

Thanks again!</comment></comment>


Science has found a way to extend the shelf life of cold milk 300% - <AUTHOR> http://qz.com/740959/science-has-found-a-way-to-extend-the-shelf-life-of-cold-milk-300/ <comment><USER2> tl;dr sprayed pasteurized milk into a high pressure vessel with an oscillating, sub-pasteurization temperature, for a fraction of a second. Kills most bacteria, preserves taste. Milk lasts for 5 weeks, unopened.

<comment><USER3> Much much more concise then the article. Thank you.

</comment></comment><comment><USER4> Filtered milk already solved this problem, and sounds much easier and cheaper than this new process. In UK normal filtered milk easy to find, but organic filtered milk impossible to find, is v annoying. I always wonder why UK milk tastes so much fresher and better than supposedly fresh milk in Southern or Eastern Europe, anyone know why?</comment>


Tough Planting Decisions Take Emotional Toll on Farmers in 2019 - <AUTHOR> https://www.agweb.com/article/tough-planting-decisions-take-emotional-toll-on-farmers-in-2019/ <comment><AUTHOR> Ohio wasn't hit so hard by rain as it was in other places yet field after field is left fallow and the old saying knee high by July doesn't seem to be keeping this year. Last year and many others, by July corn could be waist high or higher. 11 days to go and the corn is just a few inches tall.</comment>


Better than a hologram: BYU study produces 3D images that float in 'thin air' - <AUTHOR> https://news.byu.edu/news/better-hologram-byu-study-produces-3d-images-float-thin-air <comment><USER2> I'm a former student of his. He's a very visionary man, as you can see.</comment>


Ask HN:How to be Anonymous? - <AUTHOR>

In this digital world where everything seems to be vulnerable, how can one be quiet a bit anonymous? Well facebook is of US intelligence, a spy machine (according to Julian Assange). Google has backdoor access to its systems (remember the chinese hackers article?) Tor is again of the US intelligence (some article on HN). Intelligence agencies can easily map ip addresses on google database with those same ip address used for accessing facebook. Just a curious thought! <comment><USER2> Read up on Evan Ratliff's project:

[http://www.wired.com/vanish/2009/08/author-evan-ratliff- is-o...](http://www.wired.com/vanish/2009/08/author-evan-ratliff-is-on-the- lam-locate-him-and-win-5000/)

He was found on ~day 25, even though he used some pretty high-level tactics to try to remain anonymous. If no one's specifically looking for you, these might work. However, the less on that I took away was that if someone's incentivized enough to find you, you will be found eventually. No matter what. He's done some talks regarding the project; they're entertaining, and may be of interest to you.

<comment><USER3> Well, I mean he also dropped hints about his location on Twitter and Facebook during the project. Anyone looking for anonymity would stay away from those.

</comment></comment><comment><USER4>
      Tor is again of the US intelligence

Thats news to me. I remember hearing some rumor that turned out to be completely baseless. Are you referring to that or something else?

<comment><USER5> The program was originally developed by the US Navy to help them protect their own communications, as part of their onion routing project: <http://www.onion- router.net/> I have no idea what kind of involvement they have right now, but if a 'backdoor' was introduced by the US Government (I assume this is what conspiracy-theorists are scared of), people would know about it. After all, Tor is open source.

</comment></comment><comment><USER6> It depends entirely on your threat model. From a simple proxy service to a TOR-enabled livecd on a diskless laptop from a different McDonald's or Starbucks location each day to everything in between, it totally pretends on what you want to read and/or publish and who you want to remain hidden from.

</comment><comment><USER7> This is not advertising but related to the question: if you want to express yourself anonymously, you can use us. We erase or never capture whatever may link the creator with the posting. Every posting is heavily moderated before publishing.

</comment><comment><USER8> I'd suggest looking at Freenet. But that's a walled garden, not the open internet.

<comment><USER9> Or GNUnet, as it matures.

</comment></comment><comment><USER10> Pretty sure any time a guy with an Arabic name posts on a forum asking how to avoid being detected by "US intelligence" he just about ruined his chances :-)

<comment><AUTHOR> lol But hey it just was a curious question !

</comment></comment><comment><USER11> Communications: Never communicate more than once under the same identity. Do not use a cell phone. Borrow other people's phones, Skype, or use public phones if you need to make or receive a call. Never communicate with anyone whose inbound calls may be monitored. Use one time pad encryption where possible. Otherwise, fall back to public/private key.

Finance: Cash is king. Use prepaid disposable credit cards or stolen credit cards if you need to make a credit card transaction. If you have access, use an informal exchange system such as the much famed Islamic system. To move money internationally, buy and sell expensive items such as art or jewellery that you can carry on your person as you travel.

Travel: Boats still seem a very good option for international movement across oceans. If no ocean is involved, catch public transport that does not require leaving your identity and movements on databases (eg: unreserved trains, buses). Stolen vehicles are preferable to registered ones, obviously.

Other: You can also assume other people's identities by stealing their identity papers/other documents. It seems these days this is getting much harder as 'identity theft' countermeasures are put in place.</comment>


How we got a 3-letter domain on a startup budget - <AUTHOR> https://mux.com/blog/3-letter-domain/ <comment><USER2> "Don't be afraid of a high purchase price in 5 to 10 years in a lease-to-own arrangement. At the risk of sounding stoic, it's likely that it won't matter in the end, no matter which direction your companies goes."

Only for VC funded companies. The scenarios described are failure, huge success and acquisition.

For non-VC funded companies there's also mild success (profitable, just not hugely profitable) in which case the yearly cost of lease of the domain is a burden.</comment>


Calendar Versioning - <AUTHOR> https://calver.org/ <comment><USER2> I was interested to see a more formal definition of calendar versioning than I've come across before, until I saw that it refers to `DD` for short day while `0D` is zero padded - which goes against all date formatting specifications ever... `DD` should be zero-padded and a single `D` unpadded...

<comment><USER3> Or how about `d` vs `D`?

IEEE standard.

[http://pubs.opengroup.org/onlinepubs/009695399/functions/str...](http://pubs.opengroup.org/onlinepubs/009695399/functions/strptime.html)

</comment></comment><comment><USER4> Are they trying to make this as obscure as possible? After reading the top of the scrollable page, I still couldn't understand what a CalVer version string looks like.

Also, I think version strings should contain information about compatibility, not just about time.

<comment><USER5> > Also, I think version strings should contain information about > compatibility, not just about time.

I find semver useful for libraries but mostly meaningless for projects that have no dependents like a web server or a website.

<comment><USER6> Web server version may talk about supported config syntax, supported out of the box features and modules. Anything not backward compatible should bump major version.

Not much project would benefit from this kind of versioning. Only websites, desktop apps with no config files, etc.

</comment></comment></comment><comment><USER7> I decided to use calendar versioning for our companies internal ERP system since it makes it explicit to end users when a new release has been rolled out (2018-06-06.1 is more human than #9b867341 or 27.1.321.1).

No reason other than that.

I also change the background image of the login page on 'major' releases where significant new features are added as a subtle visual cue that users should go check out the change log.

It's often the little touches that have a disproportionate impact on user engagement.

<comment><USER8> > 2018-06-06.1

What is the trailing 1? Are you doing multiple releases per day? Is an emergency bug fix release on June 8th 2018-06-08.1 or 2018-06-06.2?

<comment><USER7> Yep, multiple releases per day if there is a nasty bug/regression.

It's rare but it happens.

I chose to start at .1 and not .0 because users don't really get 0-based releases (at least mine don't).

</comment></comment></comment><comment><USER9> I'm surprised to see some of the most popular software of all time not be mentioned: Windows and Microsoft Office.

Also, for a more technical audience, the C, C++, and EcmaScript specifications.

<comment><USER10> Windows goes something like this (there's no real straight line, feel free to add your own progression):

3.11, 95, 98, ME, 2000, XP, Vista, 7, 8, 10

I wouldn't call that a pattern.

<comment><USER11> Windows 10 versions are CalVer. The most recent release was 1803. Previous versions were 1709, 1703, 1609, etc.

</comment></comment></comment><comment><USER12> At GitLab we just bump the minor version every month. And when there is a breaking change we bump the major version. The advantage is that semver is well understood and we can communicate breaking changes. The disadvantage is that you need to look up what version was released when.

<comment><USER13> Do subcomponents ie Gitaly have their own versions? Or does it match GitLab proper?

</comment></comment><comment><USER14> > _0Y - Zero-padded year - 06, 16, 106_

It seems very odd, to me, to make this a variable-length field. If you're planning out to 2106, why would you not use a full length year? This particular bike shed should clearly be blue.

<comment><USER15> Added by user request 1 hour ago: [https://github.com/mahmoud/calver/issues/5](https://github.com/mahmoud/calver/issues/5)

It's more for the past (06) than for the future.

</comment></comment><comment><USER16> CalVer is also nice for mature projects that don't get new groundbreaking features because they don't need them.

I wrote a small piece of code in my project's setup.py [1] that computes the version number from the timestamp of the last git commit. It's very useful because it removes the need to make a commit for the sole purpose of updating the version number. (I also had issues at the time there were multiple forks of this software, merging each other, causing conflicts on the version number.)

[1]: [https://github.com/ProgVal/Limnoria/blob/testing/setup.py#L5...](https://github.com/ProgVal/Limnoria/blob/testing/setup.py#L54-L64)

</comment><comment><USER17> I like versioning schemes that imply something about the amount of change in that specific version, not just its position on a timeline.

<comment><USER16> For some projects, "amount of change" is either hard to quantify, or mostly constant between two versions (eg. Ubuntu, Firefox, Chromium)

</comment></comment><comment><USER18> Where i work, most of our libraries have a version number with a single component, which we increment with each release. So i recently released a new version of AdminTools, taking it from 37 to 38. Should i go and register SerVer.org so i can tell the world about this incredibly trivial scheme?

<comment><USER19> Yes. I've got some questions about your incredibly trivial scheme:

* Do users declare a dependency on "= 37", or ">= 37"? (Or do they have the option of either?)

* How do you push backwards-compatible changes like bugfixes? Is the rule that every new release is a new version number?

* If you do the >= thing, do you automatically take the newest compatible dependency or the oldest possible one (vgo-style)? Do you run tests on reverse dependencies when dependencies are updated?

* Are you allowed to have diamond dependencies, e.g., A depends on B and C, B depends on AdminTools 37, and C depends on AdminTools 38? Do you resolve that with a single copy of AdminTools, or two?

<comment><USER20> I have one single question: how does calver solve any of these problems?

<comment><USER19> Differently in different projects, but usually adopting CalVer is a sign that, unlike with SemVer, you're not using the version number to connote backwards compatibility. Code that continues to be accessible via the same path/name/etc. is _always_ backwards-compatible (i.e., if a consumer application would compile or run fine on a newer version without errors, there aren't hidden semantic changes). If you need to make a backwards-incompatible change, you handle it in some means other than the version number, usually either by renaming the project, the import path, or the function.

Looking at the example CalVer projects: Ubuntu follows this model because it's the model of basically all UNIX distributions, that a particular command name doesn't change meaning / API without either a deprecation cycle or an explicit action from the sysadmin. If a command changes incompatibly (e.g., Python 2 to Python 3), it gets a different name (e.g., /usr/bin/python to /usr/bin/python3). If a library changes incompatibly, it either uses symbol versioning infrastructure to provide old and new versions of the function (e.g., fmemopen@GLIBC_2.2.5 is now provided by libio/oldfmemopen.c, and the fmemopen@GLIBC_2.22 implementation, which fixes tons of bugs and drops questionable features, is only visible to programs compiled on a system with glibc 2.22 or newer), or the library itself has a new filename (e.g., at some point libcurl.so.3 became libcurl.so.4). Therefore, code that compiled and ran fine on, say, Ubuntu 16.04 should generally be expected to compile and run fine on Ubuntu 18.04, or less commonly, not run at all with a clear error up front about the specific missing functionality.

Twisted, youtube-dl, and pytz follow a similar model. Code written against them years ago should generally continue to work; the version number provides information on _new_ features, not on deprecations.

Teradata UDA is different, but it follows the underlying CalVer philosophy of breaking changes being something to avoid. (But it uses a year and month to indicate an API compatibility level, which isn't how the rest of the CalVer projects use dates.)

So the answers to my bullet points for CalVer are generally ">=", "Rename the functionality, do not ever redefine an existing name", "Newest compatible dependency is fine and you should definitely have integration tests," and "Diamond dependencies to different versions aren't a problem, diamond dependencies to different names e.g. libcurl.so.3 and libcurl.so.4 are discouraged but should work".

</comment></comment></comment></comment><comment><USER21> For a mature program (not a library) I like using a combination year.counter. No semantic meaning at all apart from monotonous improvement, and you can tell how old a version is.

2017.75, 2018.76, 2018.77, 2019.78 etc

</comment><comment><USER22> Has anyone successfully transitioned from SemVer to CalVer? Especially with a large customer base who is familiar with the the major product versions but gets confused with the minor/patch variants and what's included ?

I'm interested in your war stories, pm me.

<comment><USER15> Here was a recent high-profile but somewhat contentious transition: [https://github.com/pypa/pipenv/issues/2191](https://github.com/pypa/pipenv/issues/2191)

The key here was that the rapid pace of the project kept breaking various user segments' expectations about semantic versioning.

</comment></comment><comment><USER23> A version number which includes the date it is released is more common for development or "snapshot" releases, so you should only use this versioning scheme if you are fine with people assuming it is in fact that kind of interim or unofficial release.

<comment><USER24> This is opinion masquerading as fact.

Take for instance Ubuntu - should those releases be considered unofficial? [no]

How about the python-attrs library - should those be considered interim? [no]

All versioning schemes fail somewhere and CalVer and SemVer (and certainly others) are not exceptions to this rule. The problem is you're reducing a ton of metadata into a human-readable, compact label - and that's inherently lossy.

</comment></comment><comment><USER25> The bikeshedding is strong in this one.</comment>


Paranoid Programming – Techniques for Constructing Robust Software [ps] - <AUTHOR> http://ftp.stratus.com/vos/doc/papers/RobustProgramming.ps <comment><USER2> This sounds interesting. Alas, I cannot read it right now, since my iPhone lacks native support for viewing PostScript files (something which macOS has.) If only there was a PDF or HTML version, or if my iPhone could display .ps (there probably is some app, I haven't looked.)

UPDATE: found a free web based service to convert it to PDF for me, docspal.com

<comment><USER3> [https://klibert.pl/statics/RobustProgramming.pdf](https://klibert.pl/statics/RobustProgramming.pdf)

(Just trying to be helpful, I hope I'm not infringing anything?)

</comment></comment><comment><USER4> It is quite interesting to look how some of those recommendations change in the industry over time (to a degree you can make such general statements). For example in Clean Code, Robert Martin argues against the idea of encoding type information into names (e.g., Hungarian notation suggested here) given that this can readily provided by IDE instead and enforced by strongly and static type system. Though, he _does_ recommend encoding information about arguments into function names.

It seems that this recommendation to a large degree is a reflection of tools used. Nowadays it wouldn't be completely unusual for an IDE to show formal parameter name along with actual argument values passed, thus obviating the need to encode this information into the function name in the first place.

Idea of robust data structures is very interesting. While storing additional information to detect potential misuse of API, like concurrent modification or iterator invalidation is common in other context, the idea of using it to correct the data structure is not the first thing that comes to mind.

<comment><USER5> And at the same time everyone in the JavaScript world is comfortable with using some hungarian-ish notation. $ is for jquery objects, Capitals are for classes, lowercase for instances, camelCase for methods and properties, UPPERCASE for constants, underscore_case for API values, snake-case for CSS classes. To name a few common conventions.

None of this is enforced at the tools level.

<comment><USER6> Hungarian notation IIRC is _specifically_ a 1-char-prefix of an _argument names_ indicating type, ie. `goToWork (bTrth, sTxt, iCnt)` -- ie to reinforce type expectations -- rather than such casing conventions..

[http://foldoc.org/hungarian%20notation](http://foldoc.org/hungarian%20notation)

<comment><USER7> Yes, that's more-or-less correct.

The prefix wouldn't necessarily be only a single character. For example, using a "p" prefix for pointer values was a common convention in Microsoft ecosystem projects where Hungarian notation was probably most popular. Thus a pointer- to-char (char*) parameter might be prefixed with "pc".

But yes, the fundamental idea was to convey information about the type of the variable as part of its name. That convention has mostly died out today, probably due to a combination of IDEs being used routinely in the ecosystem where the notation was most popular, and more recently due to modern languages having better type systems that enforce the rules objectively instead of relying on a convention.

Ironically, with the popularity of dynamically typed languages today, we sometimes seem to have regressed to a point where interfaces to functions aren't always clear, and lots of avoidable bugs creep in due to passing incorrect types of data around. The emphasis on rapid evolution and ad- hoc/organic design we see with a lot of "agile" development processes isn't always helpful either. Put those together, and you almost have the complete opposite of the systematic design and robust processes advocated in the slides here.

<comment><USER8> > But yes, the fundamental idea was to convey information about the type of > the variable as part of its name.

No.

There are two types of Hungarian Notation.

The original one ("apps hungarian"), which _made sense_ and sometimes still makes sense. Here you would assign a meaning to a prefix. For example, if you're writing MS Word a variable named "sWidth" might be the width of something in pixels on the screen (s), while "pWidth" might be the same width, but in logical units (say pt) on the page. Then you could have a function ptos, and it's easy to see whether variables were used correctly in computations - you can't mix screen-space and page-space coordinates without conversion.

This made a lot of sense, because either variable would likely just be an "int".

Similarly in a Python Webapp one might write "us_name" where us means UnSanitized. So before passing that anywhere else you know you need to sanitize it. See a "us_" variable somewhere that isn't a call to a sanitizer? Probably a bug!

Then there's that other one, "system hungarian", which is the stupid thing everyone knows with stuff like lpcstrWindowName.

<comment><USER7> All of your examples are still type information. They are more specific than the types provided by a basic C-style type system, but that's the point.

<comment><USER9> We can easily distinguish between the two by calling them units.

<comment><USER7> It's not necessarily just units, though that's one useful example. Types could also include things like whether a text string has been escaped in a certain way, whether data has come from a trusted or untrusted source, and countless other reasons you might want to ensure you don't use a value with a certain property in the wrong way.

In modern languages where defining custom types and enforcing their use is easier, there is less need to distinguish these properties by convention. Twenty years ago, when we were doing more development with languages in the C family that don't have very powerful systems, it was a different story, and so naming conventions went some way to helping keep track of what data you were really passing around beyond just "It's an int" and the like.

<comment><USER10> I would also add that even in modern C++ it's possible to have the compiler check your usage of page and screen widths by creating separate types, ScreenWidth and PageWidth. You would then generate compiler errors on assignment, or provide single-argument constructors for implicit conversion.

It's just that nobody ever actually does that in C++.

<comment><USER11> The people that want to do this just use Haskell :)

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> This is a fascinating set of slides, particularly when you think it was produced almost 20 years ago. A few of the ideas are slightly dated now as we've developed better tools and techniques to achieve the same ends, but most of the material is fundamentally sound and has stood the test of time.

For anyone who's only ever worked on projects where the emphasis is more on shipping something fast than shipping something correct, like most of the startups and web apps we discuss here on HN, these slides give a decent overview of the "alternate reality" when you're working on projects where reliability really matters and more of an engineering mindset is needed.

If nothing else, it's worth reading for the Ariane 501 case study on slides 19-22 that demonstrates just how expensive a simple programming error can be if you don't design your system defensively enough and do proper housekeeping on your code.

</comment><comment><USER12> At page 7, in the table "Causes of outages", the numbers for "Fault tolerant systems" only add up to 90%, not 100% - don't know if the source "Dependable Computing: Concepts, Limits, Challenges," by J. C. Laprie, FTCS-25. has the same error.

</comment><comment><USER13> It's funny to see how well this has stood the test of time; these concepts are still perfectly valid today (although wuch is right that Hungarian has fallen out of favour.)

<comment><USER14> More than valid: much of it is implemented in both NonStop and Stratus servers with amazing levels of uptime. Been waiting forever for FOSS OS's to copy some of these techniques with a limited config of HW redundancy. Now you can even get inexpensive, PowerPC boards that support lockstep with 1+GHz processors. That's for embedded use.

<comment><USER13> Embedded and FLOSS appear to be rather different worlds, I'm afraid. There's a gcc toolchain running through both, but...

<comment><USER14> Well, yeah, but people do a lot with old computers, Rasp Pi's, etc. I guess I was thinking those crowds. Esp if it was a monitoring, backup, or authentication solution where uptime meant more than throughput.

</comment></comment></comment></comment><comment><USER15> There's also a research paradigm about mathematically derived programs.</comment>


Grubhub CEO says Trump email 'misconstrued' - <AUTHOR> http://www.usatoday.com/story/tech/2016/11/10/grubhub-ceos-advice-employees-who-support-hateful-trump-policies----resign/93621498/ <comment><AUTHOR> It's not being misconstrued. Full Email Text:

SUBJECT: So... that happened... what's next?

I'm still trying to reconcile my own worldview with the overwhelming message that was delivered last night. Clearly there are a lot of people angry and scared as the antithesis of every modern presidential candidate won and will be our next president.

While demeaning, insulting and ridiculing minorities, immigrants and the physically/mentally disabled worked for Mr. Trump, I want to be clear that this behavior - and these views, have no place at Grubhub. Had he worked here, many of his comments would have resulted in his immediate termination.

We have worked for years cultivating a culture of support and inclusiveness. I firmly believe that we must bring together different perspectives to continue innovating - including all genders, races, ethnicities and sexual, cultural or ideological preferences. We are better, faster and stronger together.

Further I absolutely reject the nationalist, anti-immigrant and hateful politics of Donald Trump and will work to shield our community from this movement as best as I can.

As we all try to understand what this vote means to us, I want to affirm to anyone on our team that is scared or feels personally exposed, that I and everyone else here at Grubhub will fight for your dignity and your right to make a better life for yourself and your family here in the United States.

If you do not agree with this statement then please reply to this email with your resignation because you have no place here. We do not tolerate hateful attitudes on our team.I want to repeat what Hillary said this morning, that the new administration deserves our open minds and a chance to lead, but never stop believing that the fight for what's right is worth it.

Stay strong, Matt

<comment><USER2> > Some workers at the online food-delivery company said they were left with > the impression they weren't welcome if they supported Trump.

That's misconstrued - "We do not tolerate hateful attitudes on our team" is the key to the "please reply to this email with your resignation" part, not "[if you voted for Trump]" (which isn't even in his last two paragraphs anyway!)

</comment></comment><comment><USER3> Virtue signaling and finger-in-the-face waving like a High School Principal (no offense to High School principals) is not being misconstrued, Matt.

You put on your CEO shoes, shot from the emotional hip, and promptly (and justly) hit yourself in the foot.

Now that you are getting called out you wont apologize? A simple, mea culpa -- "I got emotionally charged and acted in a manner unbefitting a CEO" would smooth this over.

You shat your emotions in a company-wide email, and now the stink is on your brand. Both as a consumer and as a potential employee I will say, "no thanks."

</comment><comment><USER4> It's kind of funny because a lot of what Trump said would get you fired at most work places. Look at poor Billy Bush, he just laughed at it and egged him on and got fired.</comment>


Ask HN: Any open problems in PHP that need solving? - <AUTHOR> I've have a decade of PHP development under my belt and have been reflecting on why PHP, despite recent improvements to language, is still problematic. One side of me says that the community should just let PHP be "PHP"; if a Typescript for PHP were made, would the community embrace it or lament it? The other side of me says that it's not PHP, the language, that is problematic, it's simply _how_ it is used; for example, PHP frameworks—although useful and serve a purpose—don't really result in less debugging time nor do they make code more literate or smaller in scope.
So the question I pose is: A. Should PHP as a language be augmented, like TS does for JS, or B. Should the community focus on the methodology of PHP to make development simpler? What are some concrete propositions you can imagine that argue for either case?
I think any PHP developer can propose more than one new feature they would like to see. As for A, I personally would like to see an actual native module system. As for B, I would like to see less MVC frameworks and more macro systems within the ecosystem. <comment><USER2> I used to write php apps and wordpress plugins. Php always felt messy and weird to me. But i think strength of php lies in its vast available free scripts and ability quickly stitch up server side rendering, but probably now, node would be better for that now.

it feels like certain style which was popular a decade ago, now seems not so exciting or new. Probably that vibe is what lost with php.

But then if you like to find try out other language like Kotlin, Haskell, Elixir or even Ruby.

I think there are other language communities are much more vibrant than php. For example python, ruby, java. Also these language have expanded their beyond just web development that also kind of fueled that adoption.

</comment><comment><USER3> no. php is perfect as it is and always was. php got bad name because it was the first language most programmers started with..before javascript became the language of the web browser. so with larger user base you will get more bad programmers, hence the language will get bashed more. since php is not stirngly typed you can end up with really bacode, but it will work so the bad programmer syndrome is constantly fueled by bad code written by bad programmers :D .... to this day it is the most used and most performant interpreted languge and it is still de facto the languge of the web. in other words, php became a victim of its own success. remember before type script how people hated javascript, and still do to this day? well, php is not typed language so amateurs that cannot write a good code if their life would depend on it and the ivory tower armchair java/c#/.. warriors will be always bashing it. but php itself is great. absolutely nothing wrong with it. if you don't like it, don't use it. the language is not the problem, the people are, as usual. there is plenty of alternatives so instead of complaining, people should just stfu and move on.

personally i have moved to GO some years ago after over a decade with php. not because i had enough of it. no, i love php. but there is no money in web development anymore. so i moved to a compiled languge and do purely backend and less web/front oriented stuff, which i always preferred anyway.

though before i left php i remember that i was getting interested in parallel computing and Go had goriutines which served me well. php was getting the reactphp, swoole and other projects at that time but i decided to change the direction so even if it would work for me at that time, now i do more lower level stuff that php would not be suitable for anymore anyway.

<comment><AUTHOR> The thing I dislike about PHP these days is composer. It turned it to Java and I certainly had my Java days. OOP is great but I feel like a ES7 like module system or even Rust's module system would be better suited in most cases. So I agree with most of what you said, bad programmers make bad code no matter what and most moved on to Golang.

</comment></comment><comment><USER4> What problems does PHP as a language solve better than other languages?

<comment><AUTHOR> Good question. Mostly html templating since that is how it began. So you could argue improving that aspect would be a good idea. The major challenge for most is debugging because it is hard to separate the server from the PHP. I may toy around with Lua and see if that can be fixed.

<comment><USER5> I agree with you on PHP doing html templating well, however it just seems not big enough of a strength, if you will.

I also had a decade of PHP experience before transitioning to nodejs in the last few years. I first transitioned for my day job, and then also started using node for hobby projects. For hobby projects I like to keep things as simple and quick as possible (translation: so no React frontend and all that stuff), so I was trying to emulate how PHP does things and just have my node server render html from the server. I've found that almost any way I try to do it, it's a little bit more awkward in node and you end up having to choose from one of the dozen of templating libraries and learn their syntax (no-go for me).

In PHP one of my favorite things is, say you pick up a super simple routing lib like ToroPHP. In your route handlers you could skip all templating libraries altogether and simply require() a .php file that is your view html. It would simply be a file that contains HTML where you could sprinkle php statements anywhere. It's just about the the best/easiest way to template HTML output from the server for hobby projects (and I argue even for larger projects too in many cases).

What I end up doing for hobby projects in node now is usually going JAM stack. Build my frontend in Svelte (which is as close to no framework as possible), and build API server in node with Fastify. I guess where I'm going with that is that a setup like that isn't much more hassles than doing PHP and html templating for these small projects.

</comment></comment></comment><comment><USER6> a) no

b) yes

I'm pretty happy with what php has become. Don't really understand the typescript benefit here.

I would like to see a popular async framework.

<comment><AUTHOR> Check out ReactPHP.

<comment><USER6> I like ReactPHP I've been using a really small project that has a good implementation of workman.

[https://github.com/walkor/phpsocket.io](https://github.com/walkor/phpsocket.io)</comment></comment></comment>


Show HN: Laravel 3.1 PHP Framework. Includes awesome ORM. - <AUTHOR> http://laravel.com/docs/routing#the-basics

<comment><USER2> The link should probably have gone to <http://laravel.com/docs> instead of the Routing page.

The ORM looks better than PHP ActiveRecord, though it's kind of weird that validations live outside of the database models.

<comment><USER3> Agreed that validations outside the models is a bit weird. There are times when you have 'business logic' validation rules that aren't 'data validation' rules, but we almost always have data validation rules that match up with a particular model/table. Forcing those to be developed and documented apart from each other is odd.

I'm assuming you could put a static $validationRules on a model and grab it in a controller for validation, but that it's not described/recommended/defaulting to that behaviour is a bit disappointing.

<comment><USER4> Laravel isn't the kind of framework to lock you into a specific way of doing things. It's different than what you may expect if you're coming from Symfony, Kohana, CodeIgniter, or Fuel.

There's no reason to tie a validation system into a model. That's enough justification for it not to be done. You have the flexibility to implement it easily in whatever way you see fit.

<comment><USER3> You can get reductionist and say there's no reason to do anything. The fact is, most of the time when people have models that represent things, there are going to be basic validation rules to represent standard constraints ("email has to be valid", "fields x/y/z can't be null", etc). Those constraints are specific to the concept of the model itself, outside of any relations it may have, or uses it may have in the rest of the app. To me, that's reason enough to provide for a validation system in a model in framework.

Hell - why have models? There's no reason to tie a model in to a framework - just be flexible and do it however you want, right?

</comment></comment></comment></comment><comment><USER5> This framework looks nice and very well documented. I'll probably try it out next time I need to write something in PHP. The code bits I've seen in the docs look nearly elegant. At last, PHP's ecosystem starts to look a bit more enjoyable.

</comment><comment><USER6> I've looked at Laravel before, and I'm confused as to why Laravel is so tightly coupled internally. Unlike something like Silex, which uses dependency injection, I can't override the Route class in your application without rewriting a large chunk of the stack or replacing the file.

In addition, the idiom of static calls for everything seems strange. Why was that pattern (or anti-pattern) chosen above other, more OO options?

</comment><comment><USER7> This is an excellent example of good documentation. And for some reason it is refreshing to not see a twitter bootstrap site as well.

This looks to be a very nice php framework. I used to be all over codeigniter or fuelphp, but since moving to ruby (rails & sinatra) I am happy to see php frameworks like this springing up.

great work.

<comment><USER8> Actually it is using bootstrap. Just heavily modified ;)

</comment></comment><comment><USER9> Odd choice of link - the basics of routing?</comment>


Finding the unjustly homeless and teaching them to code - <AUTHOR> https://medium.com/architecting-a-life/fee8f3ee97a0

<comment><USER2> This is blogpost demonstrates everything wrong with the Silicon Valley mentality and is actually quite insulting. I hope it's sarcasm.

Programming is not a magical cure to all of life's problems. In time, it will be just as necessary a skill as writing is today, and it will pay just as much (which is to say, very little for most, and very well for a few). The $100 means more to the homeless guy than 3 javascript textooks he can't sell, and probably can't read once night hits, and which he almost certainly can't put into practice because _he lacks a computer_.

Most homeless folks' biggest problem is not their lack of employment, but that they usually suffer from severe mental disorders or substance dependencies. If they weren't sick, they amost certainly _wouldn 't_ be homeless.

Every time I see an inane blogpost like this, I feel like smacking some sense into the overprivileged idiot who wrote it.

<comment><USER3> It's really quite unbelievable. I was expecting the article to at least be about how the author actually helped someone learn to code. Even then, the title and presentation would seem smug and self-serving to me, but I could overlook that for the feel-good story. However, what's actually written is far worse: this post is being written without the author having approached the man or knowing anything about him at all aside from a superficial judgement of "drive". Then there's the straight-from-a-reality-show choice of $100 versus books and a laptop; but it's okay, because this choice will be offered "without disrespecting him".

I'm all for philanthropy, and it's always great that someone's willing to put their time and money into helping others, but this really comes across as more of an art performance than genuine help. Isn't it basic courtesy to talk to someone before writing a blog post about how you're going to reform their sorry life with your programming teaching skill?

</comment></comment><comment><USER4> I'm so glad that Mr. McConlogue can tell the justly homeless from the unjustly homeless.

</comment><comment><USER5> The "unjustly" homeless? WTF? What justifies someone being homeless? The only justification in a reasonable society is that they actively choose to live that lifestyle. Poor life-choices, lack of planning, exposure to addictive substances are not justifications, just excuses for society to dispense with it's duty to care for fellow humans.

</comment><comment><USER6> I would be curious to know the results of this. There needs to be meetups set up for this purpose. Nowadays in the bay area, there are too many useless networking events, there needs to be more initiatives that actually make a difference.</comment>


Base64 decoding with SIMD instructions - <AUTHOR> http://0x80.pl/notesen/2016-01-17-sse-base64-decoding.html <comment><USER2> Have you considered using pcmpistrm in Ranges mode with bit 6 of imm8 set to avoid the pcmpgtb/pcmpgtb/pand sequence? I think that would save 6 instructions in your main loop (though pcmpxstrx are slow).

Reference: [https://en.wikibooks.org/wiki/X86_Assembly/SSE#The_Four_Inst...](https://en.wikibooks.org/wiki/X86_Assembly/SSE#The_Four_Instructions)

<comment><USER3> I'd forgotten that these exist, but I'm not sure they are going to help here. You save something doing 2 ranges at once, but Agner says each pcmpistrm takes 3 µops that must be on P0, while the pcmpgtb can go on P01, and the pand goes on P015. Certainly worth trying, though.

My instinct was that switching to AVX2 was going to be a big win, but doesn't help as much as I hoped. Part of this is that we're coming reading and writing to memory (that is, it gets faster if I make the buffers fit in L1) but still not astounding. Not sure what the limiting factor is.

Here's what I see on Skylake i7-6700 3.40GHz:

      nate@skylake:~/git/WojciechMula-toys/base64/decode/sse$ ./speed
      input size: 67108864
         improved scalar... 0.024
                  scalar... 0.041 (speed up: 0.59)
                     SSE... 0.018 (speed up: 1.30)
              SSE & BMI2... 0.016 (speed up: 1.47)
              AVX & BMI2... 0.015 (speed up: 1.63)

<comment><USER3> The straight 256-bit AVX solution (no pext) goes a bit faster out of memory:

                     AVX... 0.013 (speed up: 1.80)

And even better out of L1:

      nate@skylake:~/git/WojciechMula-toys/base64/decode/sse$ ./speed
      input size: 8192
         improved scalar... 2.481
                  scalar... 4.839 (speed up: 0.51)
                     SSE... 1.918 (speed up: 1.29)
              SSE & BMI2... 1.668 (speed up: 1.49)
                     AVX... 1.127 (speed up: 2.20)
              AVX & BMI2... 1.290 (speed up: 1.92)

(Absolute times aren't comparable between Mem and L1, just the ratios within each)

</comment></comment></comment><comment><USER4>
        // 1. lookup and build output word at the same time
        const uint32_t dword = lookup32[0][input[i + 0]]
                             | lookup32[0][input[i + 1]]
                             | lookup32[0][input[i + 2]]
                             | lookup32[0][input[i + 3]];

        // 2. save 32 bits
        reinterpret_cast<uint32_t*>(out) = dword;
        out += 3;

Do you mean lookup32[0]... | lookup32[1] ... | ..[2] | [3], instead?

<comment><USER5> Indeed my mistake, thanks for pointing it out. Being own proofreader is not an easy job. :)

<comment><USER4> Nice article, thank you for sharing. Great intro to SSE :)

</comment></comment></comment><comment><USER6> Core i5 and Core i7 are really meaningless descriptions of processors since those names span many generations with different performance characteristics.

<comment><USER5> You're right, I haven't aware of that. I'll fix it.

</comment></comment><comment><USER7> I like how getting 46% gain over already optimized C code is considered "insignificant". Moore's law is over, folks, 46% is a pretty decent gain in my book, especially in GCC where facilities are available to you to keep your code portable. Just use function multi versioning and define a canonical fallback.

<comment><USER8> I thought about trying to measure the input on the real-world code that I have to use it in (specifically, decoding email messages). The challenge of trying to do base64 decoding fast there is that you generally have to ignore whitespace characters (and possibly other junk as well).

The code implementation here clearly requires that all the extraneous stuff get kicked out and the resulting string be compacted, an operation whose overhead by itself could easily negate merely a 46% gain; it's hard to see how it could be modified to make the stateful decisions while still keeping the tight gain. I also have a sneaking suspicion that the improved scalar version might turn out to be worse in real-world systems because the 4KiB table would cause L1 cache thrashing if you're doing lots of small base64 decodings followed by later processing (e.g., string conversion).

So the real problem is that the measurement is done in a way which is different enough from real-world scenarios that it's questionable if any speedup is actually achievable in those scenarios, let alone one as significant as a 46% gain. It's easy to be fast if you ignore having to do it correctly.

<comment><USER8> To follow up: I did do a quick modification of the test harness using a gigantic mbox file I had and some really crappy MIME parsing code. $ ./email input size: 86023056 (that's only base64-encoded text, this is a ~562MB file). improved scalar... 1.528 scalar... 1.564 (speed up: 0.98) SSE... 1.533 (speed up: 1.00) Null... 1.447 (speed up: 1.06)

So about 5% of the test was spent doing base64 decoding, and the improved scalar had a 48% over regular scalar and SSE had a speedup of 40% over regular scalar on just the base64 section. So the short conclusion is that SSE doesn't really get any speedup on short strings.

The additional test code, for full disclosure (yes, it's not correct, but this is easier to code and get some numbers rather than nothing. A more correct solution would really hurt the SSE bit more than other ones.):

        template <typename T>
        void run_email(T callback) {
          static std::string cte{"content-transfer-encoding"};
          std::ifstream mbox("/tmp/test.mbox");
          std::string line;
          bool inHeader = true;
          bool base64Body = false;
          while (std::getline(mbox, line)) {
            if (line[line.length() - 1] == '\r')
              line.pop_back();
            if (inHeader) {
              std::transform(line.begin(), line.end(), line.begin(), ::tolower);
              if (line.find(cte) == 0 && line.find("base64") != std::string::npos)
                base64Body = true;
              if (line.empty())
                inHeader = false;
            } else {
              if (line.substr(0, 5) == "From " || line.substr(0, 2) == "--") {
                inHeader = true;
                base64Body = false;
                continue;
              }
              if (base64Body) {
                while (line[line.size() - 1] == '=')
                  line.pop_back();
                while (line.size() % 16 != 0)
                  line.push_back('A');
                uint8_t *text = (uint8_t*)&line[0];
                callback(text, line.size(), text);
              }
            }
          }
        }

</comment></comment></comment><comment><USER9> A curious result: Using four-wide SIMD instructions gives a mere 40% speed-up compared to the scaler case. I wonder if this is actually a net loss.

\- CPU's are power limited today (high-confidence)

\- Using the SIMD units vice scalar units increases power consumption (medium confidence - certainly some arithmetic-limited algorithms consume much more power with SSE)

Conclusion - the incremental impact on total system throughput is negative for this speed boost? I wonder how much of a raw throughput improvement is needed to justfiy using the SSE units' increased power consuption.

<comment><USER3> _Using the SIMD units vs scalar units increases power consumption_

True, but only slightly. If SIMD works for the problem, the overall efficiency can be much greater. This paper has some good numbers: [http://kentcz.com/downloads/P149-ISCA14-Preprint.pdf](http://kentcz.com/downloads/P149-ISCA14-Preprint.pdf)

 _I wonder if this is actually a net loss._

No, on modern processors SIMD is usually a big win. The basic summary is that "fixed costs dominate variable costs". Increasing vector width (if the problem allows it) translates almost directly to increased efficiency: "Doubling the SIMD width with AVX instructions doubles performance and only increases total power by 4.3%, which results in a 1.9x improvement in energy efficiency." (quotes from the paper)

More generally, higher Instructions Per Cycle (IPC) means higher efficiency. The overhead of the processor is a big factor. For computationally intense problems, working faster and finishing in fewer cycles makes for higher energy efficiency.

<comment><USER9> Good reference. This is a sign that the power consumed by instruction decoding and OoO processing is much greater than the arithmetic done by each instruction in general-purpose processors.

<comment><USER10> This is something that the Mill processor folks refer to frequently, by comparing DSP power usage against general-purpose CPU power usage. The power consumption of your ALUs is nothing compared to the bag of tricks CPUs use to keep them busy: register renaming, instruction reordering, multiple kinds of speculation, etc.

</comment></comment></comment></comment><comment><USER11> It's kind of unfortunate that the i5 basepoint is the "scalar" implementation but the i7 basepoint is the "improved scalar" one.

<comment><USER5> Right, I'll fix it.</comment></comment>


Open Source Codebase for project SixthSense by Pranav Mistry - <AUTHOR> https://github.com/sixthsense/sixthsense

<comment><USER2> This has been open source for quite some time now.

This is probably what inspired the latest Microsoft Research demo <http://research.microsoft.com/apps/video/?id=160684>

For those who don't know, Pranav Mistry worked in MS as a UX researcher.</comment>


I want to teach Online Marketing for free - <AUTHOR>

Marcademy.com is thinking about creating a Fellowship program to teach for free Online Marketing and Growth Hacking to 20 - 40 SFO/Bay Area college Seniors during their senior year. Program would be 8 months (Sept '13 - April '14) and include monthly in-person weekend immersion events teaching them to become a Growth Hacker and Online Marketer. There would be no cost to the students. We'd get paid by an employer if we got them a job when they graduated. There would be no obligation that students would have to take a job from one of our sources. So for the student it would be entirely free. Would like thoughts on this. <comment><AUTHOR> BTW this post is about a new program, not the one on our website. The one on the website is about an 8-week paid program. What I am looking for is feedback on creating a new 8 month free Fellowship for college seniors to help them build skills to increase their chance of getting a job.

</comment><comment><USER2> You mention it takes 8 months in this post, yet in the website it says 8 weeks. Which one is it? It also is an awful short time to learn of the subjects you mention. Copywriting itself takes years to learn properly.

<comment><AUTHOR> The current website is about our 8 week program. What this post is about is getting feedback on creating a longer Fellowship program for seniors in college to help increase their chances of getting a good job upon graduating, and making the fellowships free. Totally agree to become a world class marketer and in your example a world class copywriter takes years. But what I am thinking about is giving these students a jump start since what they learn in College isn't skills. So you could say we are wanting to create world class beginners. Does that make sense? Would like your thoughts.

<comment><USER2> Oh ok. It was a bit confusing. I think this looks like a good project for people to check out. By no way was I being pedantic. It is good to have informed beginners. It does make. Big improvement. Marketing is a lot about testing.</comment></comment></comment>


Is Recent Earthquake Activity Unusual? Scientists Say No.  - <AUTHOR> http://www.usgs.gov/newsroom/article.asp?ID=2439

<comment><USER2> That headline is a thing of beauty.</comment>


Instagram launches IGTV (vertical videos platform) - <AUTHOR> https://techcrunch.com/2018/06/20/igtv/ <comment><USER2> Well...I didn't this one coming. As a person working in professional TV production, there was a lot of eye-rolling, WTF looks and "I'm done" statements today.

<comment><USER3> I don't get it either. This will be super niche unless they also allow landscape video, or people just rotate their videos and post. All successful Influencers have crews shooting for them with professional gear. None that shoots vertical.

<comment><USER4> All succesful influencers also have pro photo gear and yet post vertical photographs on Instagram.

<comment><USER2> I follow mostly professional photographers on Instagram and vertical is extremely rare orientation for a classically trained photographer. Portraits and sports are probably the exception. Newspaper photographers too, based on the assignment and layout of the paper.

Somewhere in the least year or two, social media "experts" and influencers started ranting about how "vertical gets more interaction and clicks on Facebook because of mobile viewers" and that spread over to Instagram. I don't buy it.

Maybe when the iPhone was tiny the real estate had a bigger impact. But social media stats are starting to seem more and more like a sham to me.

Paper is a vertical format by default, yet we choose to change it's orientation to match the camera for print, not make the camera match paper (in most cases).

It's extremely interesting to me though. An entire market of people that want less of a sense of place, more of their own torso, by using a camera in a way it wasn't designed so they can publish to a temporary medium in a low resolution that will probably be gone in X years time.</comment></comment></comment></comment>