"Toward the Year 2018", a speculative book from 1968 - <AUTHOR> https://www.newyorker.com/culture/culture-desk/the-1968-book-that-tried-to-predict-the-world-of-2018 <comment><USER3> "Life X years in the future" has been a popular topic for books and other media for some time now.

The predictors are usually quite wrong. However, in a few cases, they seem to hit the nail right on the head (cell phones). What I'd like to do is reverse engineer the insights or mindset the people who made accurate predictions so that they could be emulated.

At the same time, I want to identify the prejudices or logic errors of the people who are wrong (anti-gravity belts) to help avoid making the same mistakes.

Does anyone have any insight as to why some predictions turn out right? Is it just luck, or is there some greater principle that can help us find out what's ahead?

<comment><USER4> I think a lot of what people get wrong in these predictions is the _social_ element. Dad's telecommuting to work in the study and smoking Lucky Strikes while Mom - aproned and barefoot - cooks in the kitchen, that sort of thing.

What this misses - aside from the basic incorrectness itself - is that shifts in social perception and overall conscientiousness are major drivers of innovation. So, look at the intersection of what's feasible (with improvements in materials, design, miniaturization, understanding of the human body, etc) and what's wanted (convenience in daily life, improvement of self-image, etc) and you can get things like e-cigarettes, self-driving cars, boner pills, hair loss treatment, yadda yadda.

<comment><USER5> That's what I was thinking too.

When I think about failed predictions, the flying car almost immediately comes to mind. You could see them regularly on 50s-60s pop-science and SF magazines covers.

Back then there was the idea that flying machines would soon become affordable on an individual level, and that most people would want to buy their own helicopter or small plane. Quite a few SF novels assumed it was a definite possibility, with the inevitable abandon of cities.

And it made a lot of sense at the time. I remember reading City by Clifford Simak as a kid, which is based on this premise, and thinking that it would soon come. The concept was very tempting.

<comment><USER6> Simak was a terrible predictor (if "prediction" is even what he was trying to do, vs just writing science fantasy), but his "pastoral scifi" is such a treat to read even today.

It's possible that he was predicting, and that those ideas were common at that time - Clarke's Childhood's End came out just one year after City (1953) and also features personal flying transport and lots of rural life (even though cities still exist).

</comment></comment></comment></comment><comment><USER7> Interesting that the article lists global warming from carbon dioxide as one "unnervingly close to the mark". The first public written record we have of that possibility dates to 1912: [https://qz.com/817354/scientists-have-been- forecasting-that-...](https://qz.com/817354/scientists-have-been-forecasting- that-burning-fossil-fuels-will-cause-climate-change-as-early-as-1882/)

<comment><USER8> The initial public record is not that relevant. More importantly, during the 50s scientists had already begun to agree global warming is a serious, occurring issue.

Compared to other issues, however, like the depletion of the ozone layer later on, measures against climate change have had to deal with the oil industry the entire world is still relying on.

<comment><USER7> My points being is if it comes 56 years after it's first publicly raised as an issue, it's not particularly prescient.

</comment></comment></comment><comment><USER9> Does anyone know of a recently written book that tries to predict the world fifty years from now?

<comment><USER10> Copyright 2009

The Next 100 Years: A Forecast for the 21st Century [https://www.amazon.com/dp/0767923057/ref=cm_sw_r_cp_api_e-6u...](https://www.amazon.com/dp/0767923057/ref=cm_sw_r_cp_api_e-6uAbS0GVYB3)

<comment><USER11> "2020: China Fragments"?

<comment><USER12> He also predicted the new cold war with Russia, at the time where such sentiments were dismissed as out of touch with reality.

</comment></comment></comment></comment><comment><USER13> In 1968 you looked back 50 years to 1918 and realized how much incredible change took place.

Extrapolate out 50 years and the future probably looked close to the movie 2001: A Space Odyssey, released in 1968

Any chance we can get that future?

<comment><USER14> I'd like to back this up and I am going to use a really bad example - <USER2> movie "Back to the Future". When they went from the present back to 1955, the world looked a little different. When the went back to 1885 in "Back to the Future 3", it was a different world. People were running around in dirt streets shooting each other.

Granted these dates are a little different. I would consider the 100 years more from 1900 to 1950 to 2000. In the earlier half century the got the widespread use to electricity, radio, TV, automobiles, airplanes, and in the healthcare we got antibiotics and vaccines. I'm sure someone else could make a much more impressive list than that. Someone from 1900 transported to 1950 would not recognize the world.

We didn't have nearly the same advances from 1950 to 2000. Cell phones and the internet are huge, but that didn't come until the very tail end. Those areas would look like science fiction. Other than that, when you place someone from 1950 in 2000, it just looks like everything got a little better.

Maybe starting with the computers and the internet we will start another big change, particularly with artificial intelligence and automation. But for a big part of those 50 years, a lot less happened than in the previous 50 years.

<comment><USER15> > We didn't have nearly the same advances from 1950 to 2000.

You couldn't be more wrong!

[https://en.wikipedia.org/wiki/Accelerating_change](https://en.wikipedia.org/wiki/Accelerating_change) [https://www.yaabot.com/12800/how-far-are-we-from-the- singula...](https://www.yaabot.com/12800/how-far-are-we-from-the-singularity/)

<comment><USER14> I understand the singularity and I am not arguing against it. It is reasonable to expect exponential development as a rule, but that doesn't mean development happens smoothly. The intended point was about how foreign the world would look to an average person transplanted 50 years in the future. The original comment asserted the first half of the century had a more dramatic change than the second half, and there is a good argument for this.

The links you provided are very good but they deal more with theory than actual observations by a normal person.

There is one specific concrete example given in those articles - Moore's law. This is a very good example of exponential development, but only to a point. Someone correct me if I am wrong, but Moore's law was helped because its very existence affected the result. To some extent industry even scheduled their advances. If someone lied to Intel and said a competitor was getting much better speeds, I bet you we would have seen some faster improvements.

</comment></comment></comment></comment><comment><USER16> Hey neat, I've had a copy of this book on my shelf for a few years now, but I'd forgotten all about it. Very interesting to read about the background behind the text. Maybe I should print out the article and store it with the book for future readers.

<comment><USER17> And this comment thread! You want your time capsule to be thorough, right? c:

Hey, nerds in 2068! Today, we think mobile devices, IoT creep, the cloud, and machine learning are the future of computing while lamenting an erosion of privacy and security; were we silly geese, or is that your guys' reality? Also, have you contacted aliens or become digital consciousnesses yet?

Yours, someone who's hopefully still alive (as a digital consciousness aware of how weird aliens are)

<comment><USER15> Nobody will understand what "IoT creep" and "cloud" mean (at least not the meaning you imply) in 50 years :D

So, for their benefit: \- IoT creep - Internet of Things is a movement towards adding tiny computers into all things (light switches, plant watering systems, fridges, toasters ...) so they can communicate and be controlled from mobile phones. \- Cloud - refers to cloud computing, which is just the way we call when you put information or code to run on a company's server instead of on your own computer.

<comment><USER12> We understand the general trends in tech that happened 50 years ago, I fail to see why people in the future would be different.

</comment></comment></comment></comment><comment><USER18> Once intentionally designed organisms become commonplace, the subsequent future becomes hard to predict. What comes after human germline modification?

<comment><USER19> That's unlikely to be a fast change. We don't hand much power to 25 year olds and we are unlikely to alter anything close to 100% of babies in year zero, or even be making significant positive changes. So, it's really going to be a very slow transition all things considered.

</comment></comment><comment><USER20> Cf hàng ltflt Tuy v E t có gì thì g vc ro,

ttl

tltltl vâu</comment>


User agent overrides for top Japanese Sites - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=1177298 <comment><USER2> Fennec dev here. Figured I'd address some of these comments.

UA overrides are not the only tool in our toolbox. They're deployed in concert with outreach from webcompat.

UA overrides are a way of _breaking_ a cycle, not preserving it.

They make it feasible for Japanese users to use Firefox without manually messing around with UA overrides (e.g., using Phony). And that gives us leverage. And with leverage our excellent webcompat team can get sites to make changes.

</comment><comment><USER3> This is certainly unmaintainable. There are two aspects I find especially interesting.

The first is how many different ways sites are determining the browser corresponding to the user agent. You know that they're all based on "guess and test": come up with an idea for an if condition, open up the code in the 5 browsers you care about, see if the result works. It almost reminds me of the output from a fuzzer: it's a valid answer, but you can tell a random number generator and a lot of tries is what got you there.

The second is how many web developers seem fine writing the same website many times; once for mobile, once for IE, once for Chrome, once for Firefox. I've always taken the approach of doing exactly one site, and using whatever features are available in the worst browser the client wants supported. If extensive workarounds are needed to make the feature work in every browser, I say skip it. (I was always happy with what IE6 could do.) Of course, when I did web development, it was mostly boring corporate applications, not public websites that face pressure from competitors that are willing to write a codebase from scratch for every browser back to NSCA Mosaic. I consider myself very lucky.

</comment><comment><USER4> I guess this then contributes to a feedback loop. People will check their stats, see that Firefox isn't used, and pay less attention. Sucky position to be in.

</comment><comment><USER5> I really wish that all phone/tablet/mobile OSes would simply include an X-Screen-Size (Xpx, Xpx, Xcm) and X-Touch-Enabled header.

I've used the detectmobilebrowsers.com as a baseline in the past, and only tweaked slightly so that fallbacks with "phone" will be xs (extra small), otherwise common mobile OSes would get "sm" (small), while desktops get "md" (medium) ... if you use adaptive CSS, and JS you can/should of course adapt if the pre-rendered environment doesn't match.

There are other modules written to predetermine a lot more, but it's all kind of a bit sad.

</comment><comment><USER6> There is a lot of websites like this unfortunately, Gmail, Google Maps, Youtube, Office 365... Just try to browse a bit with Firefox for Android and you will see...

</comment><comment><USER7> Things like Modernizr and feature detection are great, but I'm excited to see what happens when coeffects [1] have some more research behind them, and end up being supported by a mainstream programming language.

The idea is that you're able to encode information about the execution environment into the type system, so that you can do things like write functions that depend on having access to GPS coordinates, or an audio output device, and so on.

The theory is that this will make it easier to target a wide variety of platforms, or devices which may restrict access to information through permissions systems, like those offered by Android or iOS. If, at compile time, you know you've handled all of the cases of an environmental constraint either being met, or not being met, then you have a much stronger guarantee that your code isn't going to unexpectedly fail spectacularly on a platform you haven't tested against.

[1] [http://tomasp.net/blog/2014/why-coeffects- matter/](http://tomasp.net/blog/2014/why-coeffects-matter/)

</comment><comment><USER8> UA overrides are enabling the poor web design that necessitates them. If web sites aren't punished for doing the wrong thing they'll keep doing, requiring more overrides, which hides the bugs, etc.

Stop this feedback loop. The client is not responsible for the server's bugs.

<comment><USER9> Hi, I disagree (not just because I authored the patch linked here). Web sites are never punished. Our users are.

</comment></comment><comment><AUTHOR> It's an unfortunate state of affairs when a modern browser has to spoof another browser just to get the right content. The user agent in Microsoft's new browser does this by default [1][2]. As a user, I'd love to see a day when browsers don't reveal their user agents and web developers rely on feature detection instead. I admit, though, that I haven't fully considered the collateral damage that might come with that.

[1]: [http://stackoverflow.com/a/31279980](http://stackoverflow.com/a/31279980)

[2]: [http://blogs.windows.com/msedgedev/2015/06/17/building-a- mor...](http://blogs.windows.com/msedgedev/2015/06/17/building-a-more- interoperable-web-with-microsoft-edge/)

<comment><USER10> Sniffing User-Agent has been poor practice since 2011 , in favour of feature detection using a library like Modernizr.

I used to advocate using something like Modernizr and then writing your code against the results, but now I think an even more straightforward approach is to just do the feature detection you wish to use directly in your code. No sense in loading in a library and testing for things you don't need, still only to have those tests totally decoupled from the parts of your codebase that depend on the feature detection.

It makes more sense to do only the feature detection you need right in your codebase adjacent to the code which relies on the results.

<comment><USER11> Testing for features over platforms was known to be a good idea since the early days of autoconf (1991-1992, according to the history in its info file). Why did the web folk take so long to figure this out?

<comment><USER10> For the most part it didn't _matter_ until recently.

Netscape versus IE (late 90's) - features didn't matter, they just rendered HTML and CSS differently

Firefox versus IE (early 00's) - Firefox added a bunch of great CSS support and things like rounded corners and PNG transparency, so once we could use those we could just supply a polyfill for the specific IE version that needed it. Opera could handle it already, Netscape _was_ Firefox rebranded. Only IE (which announced itself as IE) needed extra help

Mobile vs Desktop (late 00's) iPhone! Android! Tablets! Now is where things start to get a little crazy, IE will be IE but a bigger concern is the separation between tiny little touchscreen devices browsing a website, and a massive desktop computer

Mobile versus Mobile (early 10's) - IE never says it's IE, we have smart watches, phones, phablets, tablets, netbooks, notebooks, and still desktops. There is Firefox, and Chrome that run on Mac, Windows, Linux, iOs, and Android, there's Safari which runs on OS X, Windows (old version), and iOS, there's IE, of which there are 8,9,10,11 and the new ones in circulation, and a handful of other browsers like Android browser that kind of gave up a long time ago but are still used.

I'm sure backend software was rife with feature-detection for the OS's it ran on (Redhat versus CentOS, special support for IIS, etc) but until things exploded after the iPhone was released in 2007 the web had very predictable deficiencies that could be addressed more directly than feature detection.

I can remember as a Linux user, there were plenty of websites that would only let 'approved' User-Agents in, because they would rather you NOT see their site than see a site in a browser they didn't support. When using Linux I often didn't have access to IE or Netscape, so I would use Firefox or Konqueuror to spoof a different User-Agent. Nintendo.com used to be like this, plus others.</comment></comment></comment></comment>


Ask HN: iPhone friendly Hacker News? - <AUTHOR>

I would love if HN had an iPhone version of the site. Anyone else feel the same way? <comment><USER2> To be honest, I don't mind the site as it is on the iPhone. The pages themselves are simple, so it renders quickly and it's quick to navigate.

Not sure why - But a lot of iPhone versions seem to cut the number of articles/elements back quite considerably. Of the iPhone-friendly news sites that I use, most of them only display a dozen or so articles (rather than the 40-50 that are usually on the normal site).

I prefer to zoom around a page then be stuck with navigating through smaller pages.

</comment><comment><USER3> <http://buxfer.com/yc/> \- this one is the fully featured one, but it has been down for a while.

<http://code.seedlessmedia.com/iCombinator/#_home> \- this one works.

</comment><comment><USER4> VenueM.com makes a great RSS to iPhone-friendly web site interface. Check out their Hacker News site (ideally on an iPhone/iPod Touch) at:

<http://i.venuem.net/ychn>

<comment><USER5> this site/service is exactly what i was looking for when checking the latest posts on my iphone

</comment></comment><comment><USER6> Works pretty well through Google Reader.

</comment><comment><USER7> I use Google or Skweezer to "mobilize" any website :)

<http://www.google.com/gwt/n?u=news.ycombinator.com>

<http://skweezer.com/s.aspx?q=news.ycombinator.com>

</comment><comment><USER8> Hey, I think just being away from HN for a while is good for me. I haven't been here in a week or so and I'm pretty sure my productivity rose. Though it's fun to come back and read some of the stuff here when I feel burnt out :)

</comment><comment><USER9> I think buxfer makes one. I forget the URL though.

</comment><comment><USER10> looking for this as well.</comment>


Way Cooler Post Mortem - <AUTHOR> http://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html <comment><USER2> This is a really great read with a lot of insights on oss development. Pity it's about such a sad subject.</comment>


Deep learning is too expensive for most developers - <AUTHOR> http://www.somatic.io/blog/how-to-make-deep-learning-affordable-for-all <comment><USER2> It isn't that it is too expensive, it's the the value isn't there.

Of course it is expensive to run Hinton's digits over and over again because there is no value in doing so.

Frankly I wonder if it would work if you ran anything other than the NIST digits because (1) nobody has tried, and (2) getting training sets is expensive... MUCH more expensive than running the model.</comment>


A thought: disposable realtime notifications for webapps - <AUTHOR> http://blog.dustincurtis.com/crazy-idea-create-a-link-from-webapps-to-grow

<comment><USER2> It's a great idea (well, a great extension of Growl's concept), but the infrastructure isn't there — not entirely.

For real-time notifications to happen (and be reasonably lightweight), you need to have hooks into your monitored services. Growl works because its clients send messages to the Growl server on your machine when something interesting happens.

Web services will need to have a similar mechanism for (securely) telling your notification service that "something happened." Weblogs are already most of the way there: modern blogging engines can send HTTP "pings" when new entries are posted. Apache sends its errors to a file, so it would need to be extended to post errors to your notification service.

I'm rambling now, but if anyone wants to start a working group or somethin', props. It's going to need some intelligent design to take the weight of the whole internet flowing through it and to ensure that private notifications (your web server, Facebook) don't get into the wrong hands.

</comment><comment> matthew-wegner Sounds like a good use for web hooks: <http://webhooks.org/>

</comment><comment><USER3> In a similar vein, I'm noticing more and more social sites implement their own site-specific chat frameworks, as well as notifications (I'm looking at _you_ facebook and gmail).

We went through this once with icq/aim/msn, and it would be nice if browser vendors got together and worked out something that unified 'push' messaging before everyone implemented it separately.

<comment><USER4> I think competition here is pretty healthy. It's a new area, with lots of innovation.

The WebSocket in HTML5 looks pretty good, hopefully that'll be implemented soon.

</comment></comment><comment><USER5> This would essentially be Push RSS; you could accomplish the same thing via RSS but with polling. A push-based solution would be much cooler though, and would make more sense for notifications or events.

<comment><USER6> Yes, but that's the easy part, isn't it. Anyone can write a quick polling app based on RSS.

The hard part is (off the top of my head ...):

o Putting together a UI that people can use and will like. Notifications should be quick and easy to set up. They should be noticeable enough to work, but they should not cause problems with existing workflows. And the whole system needs to be easy for the user to understand.

o If a new protocol: get sites all over to use it. If an existing one, figure out how to wrap around it nicely (extract and display the right info, etc.).

o Integrate this with non-RSS stuff, like the things that Growl does.

</comment></comment><comment><USER7> Please please just use Java. It's open source and runs cross platform. Then you can get all those valuable Windows / IE users and not just Mac 5%

\---

From my previous post :: <http://news.ycombinator.com/item?id=552633>

* Desktop Notifications - This is solved, I wrote one myself[1]

Try using existing Java/Browser technology.

I would suggest this:

Each compatible web page has a signed applet which can also run resident on the remote machine via Webstart. If the server is not listening yet, start it.

If it is listening, send it a message. The Webstart remote applet then displays the message in the GUI.

My server just bound to a range of well known sockets, and the clients tried each one in turn. Try to keep it simple. I just wrote a string with a carriage return to the socket. No XML, no heaviweight protocol.

</comment><comment><USER8> I thought about doing this, but Growl running on one system (e.g. desktop) can accept notifications generated by a different system (e.g. server), but unfortunately the client library is Cocoa only, so you can't compile it on your Linux host, etc. (I think this is all correct.) Has anyone "fixed" this?

<comment><USER9> Netgrowl is a Python library: <http://the.taoofmac.com/space/Projects/netgrowl>

Here's an example I threw together: [http://tlrobinson.net/blog/2008/09/01/adding-growl- notificat...](http://tlrobinson.net/blog/2008/09/01/adding-growl- notifications-to-facebook/)

</comment></comment><comment><USER10> Adobe is working on something like this. It's growl for web apps. Basically, your web service pushes notifications to this app. It's exactly what you're talking about. Once I dig more info up, I'll try to post it here.

</comment><comment><USER9> I hacked together a Greasemonkey script + Python script that forwards Facebook feed notifications to Growl a few months ago.

[http://tlrobinson.net/blog/2008/09/01/adding-growl- notificat...](http://tlrobinson.net/blog/2008/09/01/adding-growl- notifications-to-facebook/)

It's rather cumbersome to setup though, and I haven't used it since the day I wrote it...

A nice centralized service that would connect users and web services would be great.

</comment><comment><USER11> 1\. Growl allows network connections, if you enable it. There are Windows and Linux clients that implement the protocol, too.

2\. Scalable "Disposable realtime notifications" from server to clients/other servers was implemented over 20 years ago, with IRC.

Some green Web 2.0 guy thinks he has a great idea, is actually reinventing wheel, more news coming up at the top of the hour.

</comment><comment><USER12> Really interesting project I came across the other day. Juggernaut (<http://juggernaut.rubyforge.org/>) esentially a lightweight push server. I am using it for a simple realtime web-chat client. Although you can use it for for notifications. This would be sweet.

</comment><comment><USER13> <http://imified.com> enables web applications to be IM enabled

<comment><USER14> That's a bad idea, because you end up piggybacking on top of another service, unless you do something like.. individual users run their own jabber servers.

<comment><USER15> Or you could provide a jabber server that uses your web app's authentication mechanism so users just need to add another IM account to the IM account they are already using. Or things like growl could take an jabber server as a configuration option to receive notifications from. Desktop notification is mainly just a reformatting of the UI on technologies that already exist, are in use, and are pervasive.

<comment><USER15> Er, I meant "need to add another IM account to the IM application they are already using".

</comment></comment></comment></comment><comment><USER16> There are three platforms that are doing this totally differently: Apple, Palm, and Google. They're doing it in the mobile space, but if one of them "wins" (ie, the others start supporting their push API), I can see the browser vendors picking up on it too.

</comment><comment><USER17> I don't see why twitter isn't appropriate for this.

The reason given is that "Twitter facilitates user <=> user communication". But he gives no explanation for why Twitter couldn't also be used for the sorts of communication he discusses.

<comment><USER18> Just because twitter CAN do it does not mean it's the most appropriate. For one the character limit kind of kills it if you want to send a really long CallBackURL.

</comment></comment><comment><USER19> I use XMPP for this sort of thing.

</comment><comment><USER20> My startup is using Juggernaut[1] for this purpose. The only drawback is it only supports flash-ed browsers.

And, it is not polling.

[1] <http://juggernaut.rubyforge.org/>

</comment><comment><USER21> <http://github.com/ssoper/jquery-bosh/tree/master>

</comment><comment><USER22> Divvyshot has a system like this -- it's pretty cool!

</comment><comment><USER23> Superb idea. Wish I'd had it.</comment>


Ask HN: Are there any tutorials for intermediate/advanced users about anything? - <AUTHOR> I am tired of seeing the same thing over and over. If I see another "Introduction to Deep Learning" i'm gonna snap. The only blog posts I see that are pretty advanced are from the Haskell community. Or should I just stick to books and research papers? <comment><USER2> As someone who writes this stuff, the money so far has been in expository content for beginners. You could call that writing for the lowest common denominator, but I don't think of it that way. Frequently, I am able to develop an interesting project or idea over the course of an article, but to make the content accessible to readers of all backgrounds the first bit of the article does have to provide the absolute basics. I hope this perspective helps.

There are a couple places that I recommend (disclaimer: I have written for these sites) that publish work targeting intermediate/advanced readers in addition to more introductory tutorials. Floydhub's blog for AI/ML and Smashing Magazine for frontend/web dev are good resources.

</comment><comment><USER3> If you want high quality content, go for the kind where the creator puts in a lot of time.

</comment><comment><USER4> I too have been seeing this problem lately. I am hoping for a aggregator on this front. SOmebody who aggregates all tutorials and then rates them by (perceived) audience. I would gladly pay them. Happy to build something like this but do not know how to do the rating part!</comment>