University Recruiting for Your Startup - <AUTHOR> https://medium.com/convoy-tech/university-recruiting-for-your-startup-929545c0ddcd <comment><USER3> I know my university has startup career fairs and the like, and I certainly hope our graduates are good talent, but I wonder if it is actually as good a return on investment for series a/b companies as the article claims it is - <USER2> dont think it's a granted that you want fresh out of college grads that early. I know a lot (majority of the ones I know) of students use startup internships as a launching pad to get jobs at bigger brand tech companies, and that particular type of attrition could be a devastating blow to the teams that spent all the time and energy training them over their internship. And inevitably, the quality of new grads is going to be highly variable (getting all As does not necessarily make for a good programmer). Obviously both of these issues exist with non university hiring, but the (at least seeming) increased prevalence of those issues and the more fragile nature of young startups seem could make this a poor idea. Does anyone have specific experience with startup university recruiting? I'm curious if my perceptions line up with real experiences.</comment>


TSMC to build 2nm fab in Hsinchu - <AUTHOR> https://www.digitimes.com/news/a20200825PD210.html <comment><USER2> Hsinchu, it turns out, is also on Taiwan. Pop 1/2M.

It seemed like building it on the mainland would be a mistake. I guess they agree.

<comment><USER3> Majority of TSMC operations are in Hsinchu. The only TSMC fabs in mainland china are a few generations old (14nm process). Nothing state-of-the-art will ever be made there, the joint-venture just serves some cost efficiencies for low-end chips (otherwise they wouldn't be competitive).

2nm, 3nm, 5nm fabs are all in Hsinchu. 5nm fab could come to the US (AZ) eventually, but basically only if it fits in to specific supply chains (Apple). It was only announced to curry favor with the government (focus on jobs, not IP), and may not even ever be completed.

3nm is the next area of focus for competition between TSMC and Samsung (2021-2022). 2nm is just aimed at refining the technique for future production lines (2023-2025). This isn't production capacity yet.

</comment></comment><comment><USER4> That is a really tiny fab

</comment><comment><USER5> [https://www.taiwannews.com.tw/en/news/3995404](https://www.taiwannews.com.tw/en/news/3995404)</comment>


Spectrum valuation and a case for Verizon vs. Sprint - <AUTHOR> http://brontecapital.blogspot.com/2014/10/spectrum-valuation-and-case-for-verizon.html

<comment><AUTHOR> Some background: the author (John Hempton) is a smallish long-short hedgefund investor. His main expertise is accountancy and analysing companies' cashflows - he occasionally contracts experts to advise him on tech or local issues.

I found this article interesting as it shows the value/importance of technology & physics as seen from 'the other side' (i.e. from the point of view of investors).</comment>


Top free and paid Photoshop alternatives - <AUTHOR> http://best-alternative-software.blogspot.com/2017/12/top-free-and-paid-photoshop-alternatives.html <comment><USER2> Those were the best PS alternatives four years ago. They should mention modern software, too, like [https://www.Photopea.com](https://www.Photopea.com)

<comment><USER3> IvanK is the author of photopea ([https://news.ycombinator.com/item?id=6396593](https://news.ycombinator.com/item?id=6396593)). Great tool, just wanted to add that as disclaimer.

</comment></comment><comment><USER4> Crap list, They should mention [https://krita.org/en/](https://krita.org/en/)</comment>


A Tale of Two Markers (2019) - <AUTHOR> https://viorel.me/2018/a-tale-of-two-markers/ <comment><AUTHOR> This article seems like a good story of bug hunting and resolution.

I found it when I was looking at the website from another thread:

[https://news.ycombinator.com/item?id=20828296](https://news.ycombinator.com/item?id=20828296)</comment>


Build Your Own Web Framework in Go - <AUTHOR> http://nicolasmerouze.com/build-web-framework-golang/ <comment><USER2> A framework calls your code, a library is called by your code.

In the long run, when you start a web application using packages like "net/http" and the gorilla toolkit, sooner or later it becomes framework-like, because you start to group your code together, you refactor it and make it easiliy extendable _for the app you are writing_. So, every app becomes a framework on it's own. And what I like about Go is the fact, that building such mini framworks is easy, and does not take much time - but the most important aspect is, that you don't need a huge framework that does all the things.

<comment><USER3> > A framework calls your code

That's not a bad thing. Delegation is a very useful composition pattern.

<comment><USER4> A colleague of mine has often said, "Regardless of whether you choose to use a framework or not, eventually you'll be regretting your decision."

</comment></comment></comment><comment><USER5> I kind of disagree with this article. With go its so easy to get started with http that most of the time you dont even need a framework. If you do, most good frameworks use the following function as a common basis:

      func(http.ResponseWriter, *http.Request)

I started with barebones http, then used gorilla, and later started using negrioni.

Any new library with uses this function helps me.

So in the end: you dont need a framework, but libraries are nice.

Note: My api is a simple json based rest service.

<comment><USER6> I created a small starter Go Web Server from a website that I'm building:

GitHub: [https://github.com/melling/GoWebServer](https://github.com/melling/GoWebServer)

I'm not sure that I like embedding html in fmt.Print() methods, along with templates. A lot of my page handlers look something like this:

[https://github.com/melling/GoWebServer/blob/master/src/webse...](https://github.com/melling/GoWebServer/blob/master/src/webserver/HomeView.go)

My site is about 4000-5000 lines of Go, with a bit of "repeating myself". I'd like to hear from devs who've built larger sites.

Btw, here's my site:

[http://thespanishsite.com](http://thespanishsite.com)

And the usually "hidden" admin pages where I've done most of my work:

[http://thespanishsite.com/admin/summary?language=chinese&pic...](http://thespanishsite.com/admin/summary?language=chinese&pics=2&pos=0#)

<comment><USER7> Just looking at your fmt.Print link, you could be wrapping everything requiring a template in functions handling the html/template stuff, i.e. have code specifically interfacing templating for you that you can just pass a command "render this template". I had a lot of problems with working through templating and ended up with my own wrappers around html/template in Djinn([https://github.com/thrisp/djinn](https://github.com/thrisp/djinn)).

</comment></comment></comment><comment><USER8> As someone learning Go and coming from scripting languages this is a great introductory course. I want my APIs to be fast and Go seems to be the best language for that. Finding a middleware solution (negroni) was key for me to feeling productive.

</comment><comment><USER9> Yes, do make your own framework. And don't leave any documentation either. Hell, invent your own language while you're at it.

It'll make the "should we throw this code out" discussion WAAAAY easier in five years.

<comment><USER10> I wrote plenty of things nobody but me will ever use, and I'm happy I reinvented lots of wheels along the way. I learned, I had fun, and I still like the results. Not all programming has to take place in a corporate cog- style environment, and not all articles about programming have to justify themselves in that environment, or for sites with millions of visitors. If it's not good for your job, don't use it for your job, and let me do what I want in my free time. If I was a better programmer, I would insert a snarky question about who will program the frameworks of the future if nobody knows how to do anything from "scratch" anymore. I'm just glad we're not that stuck up about HTML and CSS: sure semantic clean things are nice, but nobody would honestly say "god no, don't EVER Write your own CSS, use Bootstrap and tweak the options! It's just too hard, too many things can go wrong." I can see that with crypto, but a "web framework"? Nah. It's more a hello world thing, nothing to freak out over.

<comment><USER11> Writing a custom framework is cruel to the maintenance programmers down the line. Whoever works the project after you is stuck with a buggy undocumented framework.

<comment><USER10> Maintenance programmers solely dictating what is cool or allowed is cruel to all programmers everywhere. This is right at the start of my post:

> things nobody but me will ever use

Plus, I imagine I'll rewrite for example my CMS from scratch and/or in a different language every 5-10 years either way, taking a good hard look at what I _really_ ended up needing, and how to best structure it. If I ever used a framework for that, I'd end up forking it and throwing out the 90% things it has which I don't need, cutting out redundant layers of indirection etc., and then what? The next version of the framework comes out, and I do it again? Or I just give up and just take on the bloat? Nah. Not worth it for me.

</comment></comment></comment></comment><comment><USER12> One of the values in a framework, particularly in Go's case at the moment, is a curated set of libraries and middleware. Since this doesn't exist the cost/effort is high for people looking to enter. It is likely too high for many.

Put it another way, Django and Rails would never have gotten as popular were it not for their 'batteries included' approach. Sure, Sinatra and Flask came, but they came after.

IMV, Go needs a Django/Rails if it is going to be a webframework. If not, if Go is destined for the API layer, it is probably fine with what it has now.

</comment><comment><USER13> The question is: Should you build a web framework in Go?

<comment><USER14> In my opinion, Go is great to make REST APIs, but for full-fledged frameworks (with server-generated HTML views) Rails will always be light years ahead for the developer productivity and happiness. That's why the article focus on a web framework to make REST APIs.

<comment><USER7> That is why Go frameworks need to be made though, the process of evolution will produce varying and improved frameworks. Flotilla([https://github.com/thrisp/flotilla/tree/develop](https://github.com/thrisp/flotilla/tree/develop)) was started bring something Flask-like to the workflow at Thrisp. Its not rails and intended to be a micro framework, but aims for full-fledged.

</comment></comment></comment><comment><USER15> And as expected there's no mention of interacting with a database. The lack of a decent orm is the only thing keeping me from using Go for some side projects.

<comment><USER16> My work is mostly spent in JVM and .NET world and I am not a big fan of Go's design, so I am already biased.

However I am the first voice against ORMs in any project I work on.

If you care about performance, nothing beats tuned prepared stated going through the wire and stored procedures for heavy duty work.

In a few projects we improved batch processing times by a few hours just by throwing the ORM into the garbage can.

<comment><USER17> ORM works great for basic CRUD stuff like typical web applications. You don't have to use it in every part of your application.

<comment><USER16> Until you have the whole world banging into your site.

<comment><USER18> Not a problem that most people will have. If for some reason you do then hopefully you'll be able to monetize that popularity and hire someone who's actually really good it. ORM's are not optimal but they do let you make something quickly if you're not well versed in writing optimized queries, stored procedures, etc. For people like me dropping ORM's seem like a premature optimization.

</comment></comment></comment></comment></comment><comment><USER19> Do we need another framework? For learning, sure. But for production, it's better if we contribute to existing framework instead. Relevant XKCD: [http://xkcd.com/927/](http://xkcd.com/927/)

</comment><comment><USER20> The original source talks at length about why you shouldn't use the Martini web framework, and links to another post where Jeremy Saenz (Martini's author) more or less disavows his creation ([http://blog.codegangsta.io/blog/2014/05/19/my-thoughts-on- ma...](http://blog.codegangsta.io/blog/2014/05/19/my-thoughts-on-martini/)). That's an interesting read, I'm surprised that I missed it earlier this year.

I'm also surprised to read that Jeremy has written a more idiomatic successor framework... and named it "Negroni" ([http://negroni.codegangsta.io](http://negroni.codegangsta.io)). I don't know if I'm being too hyper-sensitive as a contemporary American, but is this just absolutely _cringe-worthy_ to anyone else? I don't think I could evangelize this at work for that simple reason.

 _" Oh hey, go check out the 'Negro' framework! It's written by the guy who goes by 'Code Gangsta', and you can read about it on his blog in between YouTube clips of him rapping."_ (yes, seriously)

<comment><USER21> Maybe the author enjoys Italian cocktails. It certainly fits considering the 'Martini' name.</comment></comment>


NetBeans 7.0 released - <AUTHOR> http://netbeans.org/downloads/index.html

<comment><USER2> Those doing Android dev and stuck with Eclipse should also check out nbandroid: <http://wiki.netbeans.org/IntroAndroidDevNetBeans>

It's such a breath of fresh air having a responsive IDE... now all I need is a responsive phone ;-)

<comment><USER3> Funnily enough, I gave up on Netbeans 6.9 because it was soooo slow to react to input !

It is a really well-thought-out, user friendly IDE (much better usability curve than Eclipse imho), but I couldn't stand the constant scanning it does for some reason or the other, and slows the world down.

Have to check if there are improvements ..

<comment><USER4> You can turn of "Enable auto-scanning of sources" which makes it loads better.

But netbeans will still have to scan projects from time to time. I've had to keep just a small number active at any time to prevent it from scanning too much and slowing down.

Those two steps do help a lot though.

</comment></comment></comment><comment><USER5> I can't stand Netbeans on Linux because of the awful Swing font rendering. Eclipse respects the font settings of my desktop environment. Netbeans looks terrible no matter what.

<comment><USER6> Netbean's text looks fine to me on my ubuntu box which i use every day at job.

<comment><USER5> I get that response sometimes, and it almost always turns out the person that thinks the text "looks fine" is not using AA, subpixel rendering, etc.

I snapped a picture of a GNOME menu overlayed on top of Netbeans, so Netbeans' complete failure to match the fonts of the GNOME desktop is made crystal clear: <http://bit.ly/eSQy3d>

<comment><USER7> I'm running KDE/Fedora as my main machine, and Netbean fonts made my eyes bleed. This precipitated a flurry of searches as to how to fix the problem -- my desktop fonts are pretty, but the Netbean ones are awful.

Rather quickly you'll find that there are two tracks, one is to change the config/command line parameter to launch it (I believe it's: -J-Dswing.aatext=true), the other is to use the official Oracle JVM/JDK, and version 6, along with ensure Netbeans is launching with that (see JAVA_HOME). It has better font rendering/handling. I've done the former, but haven't bothered with the latter, as I prefer Fedora managing my packages.

I hope that helps.

<comment><USER8> It's a hack of of course, but you can set `swing.aatext=true system-wide`. Run:

       sudo java -jar jpui.jar

and set that property under System. `jpui.jar` can be get from <http://jpui.sourceforge.net/>

The other related property is `awt.useSystemAAFontSettings=on`

</comment></comment></comment></comment></comment><comment><USER9> Release Notes: <http://netbeans.org/community/releases/70/relnotes.html>

</comment><comment><USER10> Looks like they've dropped Ruby support. That is too bad. Netbeans was a pretty good IDE for ruby development. I wonder what motivated the decision to drop ruby.

<comment><USER11> <http://wiki.netbeans.org/RubySupport>

Edit: <http://news.ycombinator.com/item?id=2466938>

</comment></comment><comment><USER12> I use NetBeans 6.9 currently at my corporate job to edit PHP, and some of the enhancements have me excited. Notably:

\- It uses native file listeners to detect filesystem updates. Awesome. I often use some other mechanism to create files and it's lame how slow NetBeans picks them up.

\- Rename refactoring now works in PHP... I always wondered why it gave me the error that "rename refactoring won't work in this context". Now I know "this context" was PHP.

\- HTML5! Cool.

</comment><comment><USER13> Any news on the community driven Ruby plugin?

<comment><AUTHOR> I tried this here: [http://blog.enebo.com/2011/02/installing-ruby-support-in- net...](http://blog.enebo.com/2011/02/installing-ruby-support-in- netbeans-70.html)

it installed and open my project but didn't work with the latest rails and project scanner crashes somewhen ...

<comment><USER14> The ruby plugin is available on the netbeans plugin site, <http://plugins.netbeans.org/plugin/38549/ruby-and-rails> , it has not been verified for 7.0 yet, but it does install. Once its verified I guess it will show up in the plugin manager.

</comment></comment></comment><comment><USER15> Can anyone who has been running the beta for a while comment about how NetBeans 7 stacks up to IntelliJ IDEA 10? I am trying both out, but I'm new to IDEs and some opinions from those with more experience would be helpful.

<comment><USER16> I haven't used Netbeans, but IntelliJ is fantastic. The editor is fast and responsive, and features such as completion, inspections and refactoring work very well. Most of the professional Java developers I know use IntelliJ.

<comment><USER17> '...professional Java developers I know use IntelliJ' And how many do you know?

</comment></comment></comment><comment><USER18> Where is my Python support?

<comment><USER19> I would pay for a nice Python plugin with Django/Jinja2 etc template support.

<comment><USER20> PyCharm supports Django (1.3) at least. I see there is a ticket open for jinja support 2 though.

I've no experience with pycharm, but if it has some of the qualities of intellij (and to some extent rubymine) it should be usable.

<comment><USER21> I purchased it. I really like it. The Jetbrains folks are really responsive to requests for features and bug fixes. Happy so far.

</comment></comment></comment></comment><comment><USER22> What's wrong with IntelliJ?

<comment><USER23> Its newest version wasn't released today. Netbeans is also open-source.

<comment><USER24> <http://www.jetbrains.org/display/IJOS/Home>

'This is the home for the open-source project IntelliJ IDEA Community Edition − the leading Java and Groovy IDE built on the IntelliJ Platform.'

<comment><USER23> Oops... My bad.

Still, half the argument still stands. There is no major IntelliJ IDEA CE release today. ;-)</comment></comment></comment></comment>


Sputnik virophage - <AUTHOR> https://en.wikipedia.org/wiki/Sputnik_virophage <comment><USER2> Oh no, a satellite virus! [https://en.wikipedia.org/wiki/The_Andromeda_Strain](https://en.wikipedia.org/wiki/The_Andromeda_Strain)

</comment><comment><USER3> Love that they named it Sputnik because it's a satellite virus.

<comment><USER4> I don't speak Russian, but the article (and Google Translate) claims that Sputnik is just Russian for "satellite".

I couldn't find out if the word had that meaning before the Sputnik program (besides the original "companion"), or if this is a case of genericization (think how we now say "to Google something").

<comment><USER5> It existed in 19th century Russian lit.

</comment></comment></comment><comment><USER6> Parasites of virus... (8^.)

what will be the next form of life?</comment>


Google sued for $10B after refusal to advertise divine cure for cancer - a-smith https://www.theregister.co.uk/2017/04/07/google_sued_refusal_to_advertise_cancer_cure/ <comment><AUTHOR> Is he using religion as a protected class here? I'm struggling to see how he can force any ad agency to show his ads, let alone claim they are responsible for lost revenue for not letting him use their platform.</comment>


React Native on the Universal Windows Platform - <AUTHOR> https://blogs.windows.com/buildingapps/2016/04/13/react-native-on-the-universal-windows-platform/ <comment><AUTHOR> I am on the team at Microsoft that helped bring UWP to React Native. If there are questions, feel free to AMA.

PS. Many thanks to the Facebook team for building a great platform in React Native and their critical help in helping us bring Windows to the platform.

<comment><USER2> Why does this generate C# instead of C++?

<comment><USER3> Because it's 2016 and the notion of pinning to C++ is sort of antiquated. C++ can deliver better performance in some cases, but it also brings about a great deal more risk of security issues involving arbitrary code execution and data corruption.

You have to have VERY tight performance requirements to make C++ worth the risk it entails, in my opinion. If the only thing standing between you and a code injection exploit is developer discipline and best practices, then you're in a strictly worse place than managed code.

<comment><USER4> This is such a concise and informed comment. Why has it been voted down to being barely dim on my screen? These are good arguments. Please reply to stuff like this instead of knee-jerk downvoting.

<comment> V-2 Agreed. I would actually be curious to read some counterarguments. Alas, noone has offered any

<comment><USER3> I think the community has a prevailing opionion that C# is part of a UWP lock- in and they're concerned about that.

I'm sure at least some people think C++ is helpful as a hedge against this.

<comment><USER5> Surely _writing to the Windows Platform API_ is where the lock-in is, not the choice of language?

<comment><USER3> ¯\\_(ツ)_/¯

But that argument revolves around the growing importance of the Microsoft software store. Its actually an argument between ISVs and Microsoft about how much control MS can have in software distribution and security.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER6> This is a huge game changer. We have OS X support with React Native Desktop [0], so that means only Linux support is missing!

I've wondered why we haven't seen a React Native Qt, React Native Gtk+, or React Native Elementary yet. But I guess those communities just aren't very interested in what JS people are up to.

[0] [https://github.com/ptmt/react-native- desktop](https://github.com/ptmt/react-native-desktop)

<comment><USER7> The react-native-desktop author is working on it [1].

[1] [https://github.com/ptmt/react-native- desktop/issues/59](https://github.com/ptmt/react-native-desktop/issues/59)

<comment><USER8> Thanks, I'm working on it full-time. If you are an everyday Linux user (especially not Ubuntu) and willing to test and/or answer to some questions please reach me out on email@example.com.

</comment></comment></comment><comment><USER9> I hate to be a naysayer because this is great work and all, but frankly, managing all these platforms is going to be a nightmare. In a traditional engine, the code for each platform is embedded at the lowest level of abstraction. That is the way it works for iOS and android at the moment, but adding new platform support via extensions will make the code harder to manage and reason about. I don't want a separate extension for OSX, Windows, and Linux. I want all the code about, say, filesystem handling to be in a single place (in neatly separated platform specific files). This applies to networking code, rendering, input, etc. I know at the bottom of the article there is hope of integrating it with the original project, but given that we are starting literally on the opposite end of the spectrum, I'm worried we will never reach this hypothetical nirvana. The original react native team needs to prioritize getting other platforms in the original codebase, and I may be mistaken, but I have not yet observed this, and so have some cause to worry.

</comment><comment><USER10> Also see: [https://ericroz.wordpress.com/2016/04/11/f8-app-on- windows-1...](https://ericroz.wordpress.com/2016/04/11/f8-app-on- windows-10-mobile/)

> Excluding all the work on core and third party module parity, and store > preparation, there was certainly less than 1 week of 1 developers time > dedicated to platform customization and style tweaks in JavaScript.

This is huge! Fantastic work everyone.

</comment><comment><USER11> Wow - great news! We were launching our relatively complex app iOS only, but had some downtime and decided to see how the Android implementation fared: it worked really well (much better than I expected) and hasn't taken much effort to have something that feels really nice.

Now I'm excited to try this project out!

</comment><comment><USER12> For those interested, the GitHub repo is here: [https://github.com/ReactWindows/react- native](https://github.com/ReactWindows/react-native)

<comment><USER13> How many organizations does Microsoft have on GitHub, I wonder?

Seems like every project they publish is under a different account.

<comment><USER14> They built a meta-tracking site at [http://microsoft.github.io/](http://microsoft.github.io/) and it has a list of Other GitHub orgs at the bottom of that page as well as the repository README. Currently missing ReactWindows, but it's just a PR away to fix: [https://github.com/Microsoft/microsoft.github.io](https://github.com/Microsoft/microsoft.github.io)

</comment></comment></comment><comment><USER15> This was somewhat expected after Microsoft released a first-party React Native plugin for their Visual Studio Code IDE a couple weeks ago:

[https://github.com/Microsoft/vscode-react- native](https://github.com/Microsoft/vscode-react-native)

</comment><comment><USER16> I have to expect that a framework like this will not work exactly as well as 'True Native' (to coin a phrase), and and as there are now a number of platforms it needs to work across that all functionality exposed by React Native will not work equally well across all platforms.

Is there a resource that compares React Native's functionalities across the platforms ( performance characteristics, behaviors, appearance, and so forth?)

</comment><comment><USER17> Cordova, Xamarin and React Native...oh my! Which one are you all going to choose?

<comment><USER12> Well, Corvoda and Xamarin are only for mobile apps. If React Native begins officially supporting desktop platforms, it'll be the only (popular) framework of its kind.

<comment><USER18> Xamarin does OSX apps as well, Not sure about Linux

<comment><USER19> Xamarin is Monodevelop (plus some mobile and Mac stuff). Apparently monodevelop can be used to build apps for Linux using GTK#

</comment></comment></comment></comment><comment><USER20> Wait, so will the "jsx" files be HTML or XAML? If written in JS, where does C# come in?

<comment><USER2> [https://github.com/ReactWindows/react- native/blob/ReactWindo...](https://github.com/ReactWindows/react- native/blob/ReactWindows/ReactWindows/Playground/index.windows.js)

Looks like it evaluates the JS and creates XAML elements programmatically using C#.

</comment></comment><comment><USER21> Only works with Visual Studio 2015 Enterprise?

<comment><USER22> It works on anything since it's just for platform support and unrelated to tooling. But on the tooling side, they also have a companion extension for (the free, multi-platform) Visual Studio Code. From the article:

> In addition to this work on the core framework support, Microsoft is also > providing open source tools and services to help developers create React > Native apps. The React Native extension for Visual Studio Code > ([https://code.visualstudio.com/](https://code.visualstudio.com/)) brings an > intuitive, productive environment to author and debug React Native apps.

<comment><USER21> So, I can build the repo with community? Because I found this statement "Assuming you have Visual Studio 2015 Enterprise installed" at [https://github.com/ReactWindows/react- native/tree/ReactWindo...](https://github.com/ReactWindows/react- native/tree/ReactWindows/ReactWindows)

<comment><USER23> Fixed: [https://github.com/ReactWindows/react- native/issues/345](https://github.com/ReactWindows/react-native/issues/345)</comment></comment></comment></comment>


Help - I'm drowning in Gmail - <AUTHOR>

I use Google apps.  Have so much work-related emails coming through (founder in startup) from so many sources, am drowning in keeping track, responding, creating to-dos.  Have a Mac.  Any suggestions, best-practices, or tools? Thanks. <comment><USER2> I have a set of roughly two dozen labels, color coded for groups (i.e. mailing list, financial mail, online services, etc) and a set of filters that redirects all mail to their respective label, skipping the Inbox. I usually filter based on the 'From' field. (Partial screen shot: [http://img98.imageshack.us/img98/2189/screenshot20091003at62...](http://img98.imageshack.us/img98/2189/screenshot20091003at625.png))

Enable Gmail shortcuts, learn them and love to use them. Also, enable the 'gl' shortcut in the Labs page again (gl = go label.). They will make your life a lot easier, and I can't stress this enough. E.g., to go to label 'llvm-dev' and mark everything read, I just type: "glvm-d" (it maches on substrings) and then just "*uI" (select unread, mark read).

For to-dos, I use Gmail's Tasks feature (look for it in Labs settings). Shortcut "gk" goes to it and I can quickly add a to-do.

The idea is, only personal email should ever reach your Inbox. And once it does, I usually Archive it as soon as I'm done tending to it. I'm sure there are more things that I don't consciously think about and are muscle memory by now, but those features I find myself unable to live without.

<comment><USER3> Yes, I second making extensive use of labels and filters. It's hard to do initially, because you feel like you're spending time without immediate payoff, but it's wonderful to have your email sort itself.

Also, I was trying to wrangle my email a bit earlier this week, and discovered that going from 50 message on the front list to 25, and eliminating the multiple inboxes feature, really made my mailbox a lot less intimidating.

</comment></comment><comment><USER4> I'm not much of a GTD person, at least not as far as all the core principles go. I guess I follow them in some way, but I've never read any book or blog post and went and restructured how I'm organized.

 _What I do:_

I personally use Things.app with a dozen or so various "Projects". Each Project in Things is its own areas; a particular class I'm in or something that I'm hacking on.

When something that I need to do for any of these Projects comes up, it goes right into Things. If I'm in class, I'll add it to my iPod and then sync up with my computer later that day. I add an artificial deadline to complete the task, if there isn't a real deadline.

 _What my roommate does:_

My roommmate has another, simpler approach that I like: He just has a giant pad hanging on his door and writes down what he needs to do on there. So he sees it whenever he leaves his room as a reminder.

When he finishes something, it puts a giant X over the item. He doesn't have dates written down, but tries to have everything he has written down finished by the end whatever the time period is when he removed the page.

However, you're not me or my roommate. So, here's some other things to look into: OmniFocus, TheHitList, Anxiety (<http://www.anxietyapp.com>), TaskPaper (<http://www.hogbaysoftware.com/products/taskpaper>) and a bunch of other very nicely done apps whos name escapes me at the moment to look into, if you want a program to help you manage things. And of course, theres always non- electronic things (datebook, moleskine/generic notebook, post-its, etc) that you could use if it helps you work.

</comment><comment><USER5> GTD principles and [http://lifehacker.com/5321180/turn-gmail-into-your- ultimate-...](http://lifehacker.com/5321180/turn-gmail-into-your-ultimate-gtd- inbox) saved my life.

Plus lots of sensible email filters, of course. (But that's something you gotta figure out for yourself, sadly!)

<comment><USER6> I second the suggestions for using GTD. It really saved me from dealing with school emails the previous year. Now spam isn't allowed, but before students at my university used the email system for basically everything; like finding rides, announcing club events, and selling things. I have over 4800 emails sitting in my trash can going back from September 2007.

And one-touch handling really helped me deal with the flood of emails. After I started doing it regularly, I was usually able to clear out my inbox whenever I logged in. But it also helped that most of it was junk and I could immediately trash.

</comment></comment><comment><USER7> The number one most useful piece of advice to dealing with email has been to respond quickly.

So I read a lot of things on GTD but didn't end up adopting most of them. What I did adopt was their rule that if you can respond to or deal with something in less than X minutes (2? 3? forget the number) then do it immediately.

This made things so much more manageable and has kept my inbox size down tremendously. Before I found that it had filled up with lots of emails that I knew I should respond to or had to do something to follow up on, but just hadn't yet.

</comment><comment><USER8> Check out The Web Startup Success Guide [<http://www.apress.com/book/view/1430219858>]. There's a good section on productivity tools & an interview with David Allen [<http://en.wikipedia.org/wiki/Getting_Things_Done>]...

</comment><comment><USER9> I hear alot of people saying good things about Things on the mac, haven't played with it in awhile. I use a crap load of filters in GMail to make my life sane, but I too am running into the "how do we keep track of all this stuff" when it comes to biz/app. Just started using Google Sites to at it wiki style. Debating on something like Pivotal Tracker but I dont think we're that organized yet. I hate introducing a tool/process/app that is more work than what problem its trying to resolve.

Deep down, can't beat a good moleskin these days really.

</comment><comment><USER10> Key: Ignore the inbox. Your labels define what is important. I have a label !!!Priority, color red. I've trained myself to focus first on that label. Everything else is secondary.

</comment><comment><USER11> GTD is life changing. 1+ for that.

</comment><comment><USER12> Time to get some help. Hire someoone to work 5 hours per week for you. Set up an email for them, and have them answer the low level emails for your company.

<comment><AUTHOR> Thought about that - but hard because when you're suddenly growing, all emails seem high-level :)

<comment><USER13> That's only an illusion. The more you grow, the more you should delegate and free up your time for the high value issues - I mean that in real money terms.

</comment></comment></comment><comment><USER14> put all todo-related e-mails in a seperate todo list - don't keep it in e-mail (whatever you use as a todo list) - and then archive that mail... and the rest: deligate..

</comment><comment><USER15> Are you a GTD guy?

<comment><AUTHOR> A recovering one.</comment></comment>


A Smart City for 10K? - <AUTHOR> https://twitter.com/thethingsntwrk/status/666222878271143936 <comment><USER2> And, "an open resource for Groningen iot innovation."

</comment><comment><AUTHOR> Groningen, who would have thought?

</comment><comment><USER3> Great city, great people</comment>


Learning to Love the AI Bubble - <AUTHOR> https://sloanreview.mit.edu/article/learning-to-love-the-ai-bubble/ <comment><USER2> The interesting thing (to me) about the dotcom bubble, pointed out in one of pg's essays, is how much it got right.

It was right about the economic potential of the www. 20 years later and it is as big a deal as 1999 pundits predicted. It was right that the big winners would be very big, very fast. Google, FB Alibaba, amazon... Bigger than _any_ tech company in 99. It was right about winning early and establishing dominant position... letting network effects and the scaling power of software and the web go to work.

Unfortunately for binary outcomes.. getting 4/5 things right is still a wipeout.

The bubble was slightly off about timing. More big winners were founded/determined in the 5 years after the bubble than during it. It slightly overestimated early mover advantage.. closely related to the timing mistake.

If that bubble is the model for this one... interesting times ahead.

<comment><USER3> And the reason why the dotcom timing was off was because the internet hadn't already permeated everyday life. That's when the network effect paid off and consolidation merged startups into giants.

Will the same happen to AI? Uses of AI and "AI" seem to take very well to today's world. Everybody wants a piece of the action be it in ad networks, big data, surveillance, cat ear filters or fake nude pics. People are much more technologically literate and the concept in any form will not land in barren land. It's sometimes even frustrating the way people expect a certain level of intelligence from basic applications (eg. try to implement a search function that is not error-flexible and you'll get angry comments).

Internet paved the way to having lots of redundant data we don't know what to do with. I think the world is all too ready to welcome advances in AI, and it's in fact ignored what it will do to financial systems or personal lives.

<comment><USER2> At least in terms of zeitgeist, it feels like a turning point of some sort when the main conversations around "what does ai even mean?" started to go in a more concrete "can we get it to do this?" direction. It's increasingly becoming a part of of life, even mundane.^ A camera becomes obviously expected to understand who or what it's taking pictures of.

^great example, btw. auto complete and search captures it.

</comment></comment></comment><comment><USER4> I think this bubble's a weird one in that it's a very different size depending on your point of view. Everything is getting rebranded as AI. Taking averages, grouped by something? That's AI now. Using algorithms to do different things for different people? That's AI now. At least it will be in your press coverage.

One thing is AI to the press and public, another thing is AI to investors, yet another thing for nontechnical workers, and not even a single cohesive thing to people building it all. Wherever you personally draw your lines between AI and not AI, the boundaries do keep expanding. Does that mean the bubble is growing? There are undoubtably more people doing machine learning, and there are more people doing statistics, and more people solving optimization problems, and each other thing that we call AI, but the "AI" label is growing faster than all that. It's a weird bubble. If it pops, does that mean there will be fewer jobs for people like me, or does it just mean people will just stop calling it AI? Or is this just a word's meaning changing and not a large bubble?

This story comes to mind: [http://web.archive.org/web/20190626012618/https://gen.medium...](http://web.archive.org/web/20190626012618/https://gen.medium.com/the- bs-industrial-complex-of-phony-a-i-44bf1c0c60f8)

<comment><USER5> Well said, AI in practice is just stats rebranded.

Neural networks are shiny and new, but they are just an implementation for solutions from stats that have been around for decades.

Regression? MSE loss. Now with a neural network trained on MSE loss.

Classification? Logistic regression with cross entropy loss.

Anomaly detection? Feature extraction? Plenty of people still use PCA, which is nothing new. Autoencoders may get you more mileage, but conceptually work very similarly to PCA for these use cases.

Image data? Use methods from signal processing, also decades old. Convolutions are nothing new, you're just now implementing them with neural networks, and adding a loss function based on what you're trying to predict.

Time series data? You could be better off just sticking to ARIMA. Depends on your use case, but using RNNs may not even work here.

Reinforcement learning is more exciting, and is solving _new_ problems that weren't even being approached before. Same goes for GANs, and unsupervised learning in general stays exciting and fresh.

But most of the applications of AI are ho hum. Just use decades old methods, now implemented with neural networks. At least, sometimes. What has really changed is the amount of data available now, and the ability to process it. Not necessarily the approaches to analyzing it.

<comment><USER6> Neural networks add computational depth. So I would disagree with the statement that AI is just "stats rebranded". That's about as useful an analogy as saying that statistics in practice is just applied linear algebra.

<comment><USER5> Define computational depth. Non linearity? Parallelizable? Computational depth sounds like hyperbole.

You're still approaching stats problems with the same methodologies. Your just using NNs as your optimizer.

<comment><USER6> If you are interested, I would suggest reading up on the [https://en.wikipedia.org/wiki/Universal_approximation_theore...](https://en.wikipedia.org/wiki/Universal_approximation_theorem)

<comment><USER4> There are theorems like that for polynomials and fourier series and all sorts of other function classes too. They are just as practically relevant (or irrelevant).

<comment><USER6> Sure... I mean it is matrices all the way down but the claim that AI (e.g. deep learning) is just applied statistics is disingenuous.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Right now there are 5 comments on this post, and all 5 focus on the issue of how to invest in AI. That suggests something about how Hacker News has changed over the years. There is a larger focus on "what stock can I buy" and somewhat less focus on working with the actual tech.

<comment><USER8> If I wanted to get started learning about machine learning/AI, where is the best place to do that? I'm a functional programmer who's learned mostly everything about software engineering on the job, and I feel like I don't have the background I need to get started on it; I struggle immensely with math, but have had no problem with my career in software yet thus.

I am going to be traveling for a machine learning convention in two weeks as well, but I'd love for a good place to find some background on this so I can maybe be successful in competing there.

<comment><USER9> If you want to learn Deep Learning without all the math - I'm currently releasing a free video per week for something I'm calling the "Summer of AI": [https://summerofai.com/](https://summerofai.com/)

It walks you through all the basics of deep learning (with PyTorch) with a concept video, code video, and then suggested project for each week.

<comment><USER10> Thank you Chris! Seemed like a super effective course on a glance. Will be looking through this!

<comment><USER8> I've gone through a few of the modules, and I can say it's been really effective so far.

</comment></comment></comment></comment></comment><comment><USER11> > Not all bubbles have negative consequences for the economy

Unless we are using a different definition of "bubble" than it would seem (to me) most people intend when they use that word, this is a factually incorrect statement.

If widespread misallocation of investment capital does not "hurt" the economy, then what does? If capital is invested with a positive outcome for the wrong reasons, then that certainly would not fit the definition.

First applicable definition from a google search:

Bubble: used to refer to a significant, usually rapid, increase in asset prices that is soon followed by a collapse in prices and typically arises from speculation or enthusiasm rather than intrinsic increases in value.

<comment><USER12> Some economists argued the dot com bubble was a net positive for the economy. While tanking dot coms lost money for their investors the positive externalities like funding broadband networks outweighed that.

Along the lines that Webvan may have tanked but we ended up with Google and Wikipedia. I imagine likewise that most of the present AI startups will tank but we'll end up with useful AI of serious value.

<comment><USER11> > Some economists argued the dot com bubble was a net positive for the > economy.

I am no economist, but virtually any economist I have read would respond to that statement with:

Compared to what?

<comment><USER12> I guess it would be compared to normal levels of investment and valuations of dot com businesses. Though I'll give you it's a little vague. I read something a while back but can't find it.

</comment></comment></comment></comment><comment><USER12> I'm a bit skeptical there is a bubble as defined in the article as "when the market value of assets decouple from their intrinsic value and expectations of rising valuations generate investor demand." As a speculator where are these soaring AI stocks for me to punt on?

By the way you can read the article with a trial account from O'Rilley but there's not much too it beyond what's in the summary [https://learning.oreilly.com/library/view/learning-to- love/5...](https://learning.oreilly.com/library/view/learning-to- love/53863MIT60439/)

<comment><USER13> Isn't the lack of stocks to punt on a dysfunction of the investment system? The VC market is doing the speculation, and you are locked out - not because they don't want your money, but because they don't want you to have a chance of getting theirs!

<comment><USER14> If the bubble is only VC money as you suggest, then I don't see it having very strong negative effects outside of Silicon Valley.

I'm more worried about global economic crises than VCs losing their money.

<comment><USER15> I've said this many times when I watch VCs invest in some damn fool thing: there should be a market for selling such investments short. Maybe I should ask a VC for backing for this idea.

<comment><USER14> There's probably some betting shop for this.

</comment></comment></comment></comment></comment><comment><USER16> "This time it's different" sentiment is necessary ingredient of any bubble.

<comment><USER17> Sometimes it really is different. And sometimes it isn't.

<comment><USER12> This is the first 'bubble' where I've felt it really may be different. Along the lines of this stuff [https://twitter.com/paulg/status/1130133801403858954](https://twitter.com/paulg/status/1130133801403858954)

</comment></comment></comment><comment><USER18> AI bubble can have negative effects:

Misallocation of limited human resources. Good people go from doing long term fundamental research into developing applications in startups.

Overinvestment and misallocation of capital resources during the bubble can lead to long period of underinvestment once the bubble bursts.

</comment><comment><USER3> I want to create an AI startup that automatically bids for tulips in the crypto market.

</comment><comment><USER19> i feel bad for everyone chasing the AI education bubble ...

</comment><comment><USER20> There are ups and downs as the tide rises. I'm not sure I would call the crests "bubbles".

</comment><comment><USER21> That´s why: F*uck AI (halisback.com) ;)</comment>


I'm in Adwords Hell - <AUTHOR> http://tachophobia.com/detail.asp?c=298264

<comment><USER3> Could it be because your Tortola travel guide site is itself dominated by Google Ads? And it links to your other sites which themselves are dominated by Google Ads?

For example the font size for ads on the site appears to be greater than the font size of your content (in chrome).

<comment><USER4> It could be, but given the relative opacity of AdWords, it's hard to know for sure. If Google just said what the problem was clearly and give him a chance to fix it, he just might.

<comment><USER5> Except his intent seems to be to put up the minimum amount of content allowed and make money off of ads. For example, when poking around his site, I confused ads with site navigation. His other ads are also not distinguished from the rest of the site's content - seemingly to trick people into clicking them.

<comment><USER4> Maybe that's what the problem was, but the refusal from Google is very vague. He has no way to verify and correct problems.

It also gets more confusing when one can find so many sites that are far worse, consistently getting top spots for apparently no reason.

<comment><USER5> The refusal is vague because if they were specific, people would find ways to follow the letter but the spirit of the regulations.

</comment></comment></comment></comment></comment><comment><USER6> I said it before, but it's worth repeating. The Achilles' heel of Google is their customer care (or lack thereof).

<comment><USER7> How could they feasibly provide this? They would need to provide for essentially everyone that has a computer, and anything they did provide would be filled with people asking things like "my mouse is broken, how do I fix it?"

<comment><USER8> There is an automated reason why this guy's having trouble. Google could easily look up a text string they've stored, based on that reason, and tack it on to the guy's account. Something more specific than the unhelpful low quality message he's getting.

Anyone who uses spamassassin, look at the X-Spam-Status header in a message, it could be that terse:

X-Spam-Status: No, hits=-100.7 required=3.0 tests=BAYES_20,HTML_MESSAGE,USER_IN_WHITELIST autolearn=ham version=3.002005

Which is much better than "too many points".

<comment><USER9> Google intentionally doesn't do this because it would help spammers game the system better.

</comment></comment></comment></comment><comment><USER10> what is the business model on this guy's Tortola travel guide site?

It seems like he isn't selling anything. Is he paying .07$ for adwords clicks hoping those people click on the ads on his site, he must have a crazy ctr to get that to work out?

<comment><USER11> There are some categories of ads that pay extremely high rates. Real estate and rental properties in high demand areas are among those categories.

Basically, the guy builds spam sites devoted to categories that he has found to provide high ad rates. He brings in as much qualified traffic as he can via lower price keywords and SEO, and then bombards them with those high rate ads. He is attempting to arbitrage the lack of knowledge the advertisers have of what keywords people are searching for, and their ability to garner traffic.

It's not a particularly high paying business on the scale of one site...but he builds many such sites, and then focus on the ones that pay. If you read up on SEO forums and such, this is incredibly common. It's what people with very low skills, a lot of free time, and a strong desire to "beat the system", do when they want to have an "Internet business". They provide no, or negative value, and make a few bucks a day per site.

If Google didn't have their very own version of this business (Google Syndication is a network of similar spam sites operated by Google), he'd probably get away with it. But, I guess Google doesn't want to share the profits.

<comment><USER12> That is the best explanation of the system that I have heard yet. I'll just add one thing. For many of such sites the content is scraped automatically from other site's feeds.

In that case it is even more borderline illegal. I'm not sure if that is what he did with his travel site, but if that is the case he has no business complaining about being banned.

</comment></comment></comment><comment><USER13> You have a bunch of web sites with the same poor-quality layout that are dominated by ads, that's pretty much the definition of a spam ring, and I don't see why it's so surprising that google would want to limit clickthroughs to your sites.

I'd say the best way to improve you're score would be to get a good design that looks legitimate, and content-focused, and try to vary the designs of your other sites to look more like you are actually providing something other than the same ad links people were looking at when they clicked through to your site.

<comment><USER14> Just a quick note on the poor quality layout - I have an info resource site that was put up with a mediocre design. One time, I upgraded the design, only to have CTR cut in half. Left it for a week and switched back - CTR doubled straight away. Might be one reason the layout is the way it is - <USER2> deceiving/confusing is often a different issue though.

<comment><USER13> I guess that's kind of the dilemma. On the one hand, you could totally re-do these sites to be appealing and useful to their users, but if you're focus is on getting ad revenue more than actually being useful to people, that's doing the opposite of what you want. There's no reason for the owner to be dishonest here either, even if he provides "decent content", it's easy to see that's not why he made these websites.

But on the other hand, optimizing your design for clickthroughs is also a pretty good way to get blacklisted, so the design that works best for making money off of visitors, is also a long ways from being the best layout for getting more visitors to your site.

</comment></comment></comment><comment><USER15> This is but a single voice among a sea of unhappy AdWords customers. I wish I could say this is the first time I've heard of someone suddenly getting hosed by both the AdWords 'system' and their customer support.

</comment><comment><USER16> Give them a call. You can find the adwords support phone number on the web. I've called before and actually got really good support from them.

email doesn't get you anywhere though.

<comment><AUTHOR> I could not find a phone number for them in my account. There are different levels of Adwords with different levels of support.

<comment><USER16> 1.866.2google for US, There's an ireland one I use also but I forget it atm.

</comment></comment></comment><comment><USER17> What can you do? I don't know, post your problem on a blog to get Google's attention? Maybe even cross-post into HN?

It has worked before (can't find a link right now).

</comment><comment><AUTHOR> Good replies guys, thanks for the points.

Click farms for the sake of click farms are one thing... but it shouldn't matter if you provide decent content.

<comment><USER18> I hate to be rude, but...you don't do that. you really need to rethink the balance between original and commercial content, not to mention your linking and so on. you list 6 or 7 hotels, but only provide a link to one of them, for example. Some really simple (and ethical) SEO would increase the value of your site a lot more than your current policy of buying ads in order to show (mostly) ads.

</comment></comment><comment><USER19> I have no sympathy for you after viewing your site. It's these kind of sites that create higher click prices for legitimate retailers.

</comment><comment><AUTHOR> I'm actually a little fearful that worse will happen to me (from Google) after posting this on my blog and on HN.

<comment><USER20> Coining the term 'Google mafia'?

</comment></comment><comment><USER21> Google just doesn't do "support" thing in general. It doesn't look like they need to either - what can you do?</comment>


Small solar powered printer that doesn't require the use of ink cartridges - <AUTHOR> http://www.tranqila.com/2014/10/amazing-tanning-printer.html

<comment><USER2> The concept is already three year old and needed further development. Seems that did not happen.

[http://www.yankodesign.com/2011/09/29/the-art-of-solar- print...](http://www.yankodesign.com/2011/09/29/the-art-of-solar-printing/) [http://prezi.com/8wrq27o_xise/tanning- printer/](http://prezi.com/8wrq27o_xise/tanning-printer/)

</comment><comment><USER3> This is not a printer, this is an idea for a printer that has not been developed and may or may not be practical.</comment>


Classic Mistakes in Software Development - <AUTHOR> http://www.stevemcconnell.com.nyud.net/rdenum.htm <comment><USER2> _> "#6: Noisy, crowded offices. Most developers rate their working conditions as unsatisfactory. About 60 percent report that they are neither sufficiently quiet nor sufficiently private (DeMarco and Lister 1987). Workers who occupy quiet, private offices tend to perform significantly better than workers who occupy noisy, crowded work bays or cubicles. Noisy, crowded work environments lengthen development schedules."_

The problem with private offices for developers, which is how I read #6 as advocating, is that it separates developers and cuts down communication. If you're a developer you're generally working with a team, and this has no team component. Joel got it right IMO: <http://www.joelonsoftware.com/items/2008/12/29.html>

EDIT: Something came up and I didn't get to finish my thoughts on this topic. You need to be able to strike a compromise between privacy and for focus, and openness for communication and making sure that the team has a single, unified vision. Joel does that well by giving each developer an office with glass walls. Everyone is approachable, and you can see what they are doing, pop in and ask a question, etc... But the distractions of office noise and chatter are cut out.

<comment><USER3> Communication between developers should happen asynchronously, because synchronous communication destroys mental state. That means IMs, not speech, should be the preferred mode of developer communication. That can happen just as well in private offices.

<comment><USER4> IM's are too synchronous if the developer doesn't manage them properly, or if the software makes itself obnoxious enough. Email is a better example of asynchronous communication.

</comment></comment></comment><comment><USER5> In defense of the link it does give a point by point summary of all the points in the book. However, most of the problem are those you encounter in a large company with poorly managed development. Even there a lot has changed since 1996. If you find a company with heavy front end requirements and no source control, just walk away.

I did find #16: Contractor Failure to be relevant in HN land. I have personally dealt with several startups started by business types who contracted all of the product development offshore, only to receive a product that just didn't quite make it, particularly in infrastructure. If you are going to do offshore work, you need a resident expert to manage it.

</comment><comment><USER6> Nothing new here. Looks like some guy trying to promote his book.

<comment><USER7> How millennial of you. It's from 1996.

<comment><USER8> And it's actually a pretty good book if you are going into software development.</comment></comment></comment>


Nokia's iPhone wannabee vs. the real thing - <AUTHOR> http://technologizer.com/2008/10/02/nokia5800-vs-iphone/

<comment><USER2> Why is the title of the blog post not as stupid as your HN submission's?

</comment><comment><USER3> Why does it seem that this 'wannabee' is more advanced than the 'real thing'?

<comment><USER4> Cheaper too. Also the title is made up too. No relation to the original by far.</comment></comment>


No BART terminals were hacked in the making of this ad - <AUTHOR> https://mux.com/blog/no-bart-terminals-were-hacked-in-the-making-of-this-ad <comment><AUTHOR> Author here! This was our first attempt at a BART ad (metro train in San Francisco) and it turns out what we had in our design was banned. Happy to answer any questions!</comment>


Taag- Article sharing made more personal - <AUTHOR> http://www.taag.co

<comment><AUTHOR> Looking for genuine feedback - much appreciated!</comment>


History of the browser user-agent string (2008) - <AUTHOR> http://webaim.org/blog/user-agent-string-history/ <comment><USER2> It gets one better...

And Chrome was good, and MSIE wasn't, so webmasters served bad pages to MSIE. Microsoft was not happy. So they created Edge. Edge was good, but Microsoft feared webmasters would treat it like MSIE. So Microsoft Edge pretended to be Chrome to get the good pages.

Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0

<comment><USER3> I always feel like these timelines miss an era. The era where Netscape stagnated and MS came in with a superior, free, non-standards compliant browser that actually pushed the evolution of HTML/JS forward. IE 4.0-IE 6.0 pretty much pioneered features that would become HTML 4. For example: dynamically modifying the DOM and XML async requests.

IE pretty much ushered in the era of truly dynamic websites. Granted, IE 6 sucked (eventually), and thus began the era of IE stagnation. MS got the market share they wanted, then basically sat on their hands for a decade (as the other browsers started innovating again and W3C got off its ass).

Shit on IE all you want, but there was a forgotten era when it was the pioneer.

Also, I'm generally finding Edge on Android a better experience than Chrome on Android after having played with it for a month or so. I still prefer Chrome vs Edge on my Windows desktop.

Obviously, YMMV, but these are my personal observations and experiences.

<comment><USER4> Netscape Navigator had layers ([https://en.wikipedia.org/wiki/Layer_element](https://en.wikipedia.org/wiki/Layer_element)) long before Internet Explorer made the innerHTML property mutable. And unlike layers, IE's innerHTML was unusable for dynamic updates because it leaked memory like a sieve and after dynamically reloading content a few times IE would grind to a halt.[1]

Layers lost out and innerHTML won the day, but it's a stretch to say IE was more innovative than Netscape. Arguably innerHTML won because this was the era where Microsoft was throwing its monopoly weight around to push IE and kill Netscape.

[1] People were building amazing DHTML games using JavaScript and layers in Navigator 4. IE 4's innerHTML seemed more powerful but it was just plain unusable in practice. Using the DHTML games as a model, I built a timesheet entry and management application for Navigator (layers) and IE (innerHTML) that never reloaded the page. This was circa early 2001. With Navigator you could reload timesheets all day long; with IE the application became unusable after just a few timesheet changes. IE 4 dominated the landscape so long that, in truth, you couldn't build real dynamic web applications until many years later. From my perspective, IE _delayed_ the emergence of the modern web.

<comment><USER4> Looking at Wikipedia I see that IE 6 came out in 2001, so I must be misremembering some context. But I know I left that job not long after 9/11, and I know that whatever version of IE we had to target was unusable for serious DHTML work.

<comment><USER5> windows only had ie4 and then 6. mac had a great version of ie5 (really)

but ie crashed if you used xmlhttprequest or innerhtml too much. so despite them forcing it on the world since ie4, it only became usable on later ie6 versions (windows service pack ftw), a little later than 2001.

</comment></comment></comment></comment></comment><comment><USER6> And Alan Kay saw this coming from a mile away and said: "What a total stone age BS this is. We already did it better in the PARC". Instead of sending shitty text files to rendering engines to parse all their own way, we should send objects. Every object should have an URL and the users should interact with these objects. And he teamed with David A. Smith and six others and they made it happen... aand it had 2d objects and it had 3d virtual reality where objects from different servers interacted and everybody saw it was cool as hell, but nothing came out of it because the world is path dependent and network effects rule.

[http://wiki.c2.com/?OpenCroquet](http://wiki.c2.com/?OpenCroquet)

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

[https://www.youtube.com/watch?v=XMk9IGwuRmU](https://www.youtube.com/watch?v=XMk9IGwuRmU)

TL;DR: Future was already here, but it could not communicate with the present.

<comment><USER7> > 3d virtual reality

3D skeuomorphic interfaces were always good _in theory._ I think the problem with them is the keyboard. The mouse is capable of recording velocity (which is why it is used for aiming), whereas the keyboard is binary. This distinction is crucially important for navigating quickly through interfaces. If I want to switch apps or tabs, I can typically do it with a very quick flick of my mouse. In 3D I would have to walk over to my new task which could take a significant amount of time depending on how far away it is from me.

Nobody wants to explore a 100 story virtual mall when they can just type in exactly what they are looking for. It could maybe work for Ikea, but the markets where this could work are so incredibly niche.

The advantage that computers bring is that they don't have to work like the real world. I am sure that our current approach to VR interfaces (which is 3d skeuomorphic) is a dead-end; there exists a more productive method that works nothing like our reality.

Regardless, the 2D browser was the better approach. Cool does not equate to usable.

<comment><USER8> There are plenty of situations where cool is better than fast. Anything entertainment based, maybe even social media. It is hard to match the immersion and engagement of a 3d interface. Get someone hooked on 3d (e.g. FPS gaming) and there is no going back.

<comment><USER9> Correct! But then you're actually seeking out coolness or entertainment. Otherwise you just want to do the job and get on with it, in which case fast > cool.

Of course there will be exceptions, but generally the rule applies.

</comment></comment></comment></comment><comment><USER10> This is interesting, because at every step along the way, each actor took the locally optimal step -- webmasters wanted to serve up working pages to their users, and new browser vendors wanted their users to get pages with all the supported features.

Yet, in the end, we end up with a mess for everybody. What could have been done differently to end up at a good solution? I guess having universally defined and complied with standards would have helped, so a browser could just say "I support HTML 1.3".

<comment><USER11> _> What could have been done differently to end up at a good solution?_

Something like a standardized API for feature-detection, possibly.

<comment><USER12> That existed: see DOMImplementation.hasFeature.

Turned out, there were cases where browsers returned "true" while their implementation of the feature did not do what the authors wanted. There were various reasons for this: the feature detection being decoupled from the feature implementation, bugs in the feature that could not be captured by the implementation, the detection not being fine-grained enough, etc. And there were cases where hasFeature returned "false" while the feature was usable, for similar reasons.

Long story short, at this point the implementation of hasFeature per spec, and in browsers, is "return true".

</comment></comment></comment><comment><USER13> I remember that in the very early days of Firefox, some websites would refuse to serve pages to anything that wasn't Internet Explorer. I did not see the point to that and I was not amused.

Firefox didn't have a problem displaying those pages, so I had to install a plugin so that Firefox could pretend to be Internet Explorer so that I could just see the web page.

I'm glad those days are over.

<comment><USER14> > _I 'm glad those days are over._

Those days aren't over yet.

Google Earth says "Google Chrome is required to run the new Google Earth" or "Oh no! Google Earth isn't supported by your browser yet" if you try to use another browser:

[https://www.google.com/earth/](https://www.google.com/earth/)

<comment> m-p-3 Or trying to access the web-based version of Remote Desktop in something else than Google Chrome [https://remotedesktop.google.com/access](https://remotedesktop.google.com/access)

But switching the user-agent isn't enough in other browsers, Google must be using some fuckery in the background.

<comment><USER15> Switching the user agent isn't enough because it's not blindly relying on the user agent. It's actually doing feature detection so if your browser doesn't support whatever features used for remote desktop it'll give you an error message without relying on whitelisting a particular browser. This is exactly how web applications that need to use non-universal features should work, sure, look at the user agent for blacklisted browsers but use feature detection for what you can so that a new web browser that supports it will work without needing to modify the whitelisted user agents.

</comment></comment></comment></comment><comment><USER16> Anyone doing anything with user agents should use ua-parser[0]. Don't even bother trying to do any of this yourself.

If ua-parser doesn't exist in your language, just pull the yaml file out of ua-core. That defines the regexes you should use and how they translate to browser versions (and os versions and devices).

[0] [https://github.com/ua-parser](https://github.com/ua-parser)

<comment><USER17> Are you encouraging people to do browser sniffing accurately? Aren't we supposed to discourage such sniffing instead?

<comment><USER18> Ideally, you would not care at all. You would simply develop HTML 4/5/6 a user has a browser that supports that spec.

In reality, browsers have known bugs that last for years, you need to collect stats to figure out support policies, and you need to reproduce customer bugs.

Example: old versions of Firefox have an RCE vulnerability if you use third party jsonp apis. If you use these apis but don't block these ff versions, your users will be vulnerable.

<comment><USER16> Exactly. I had to deal with this due to Chrome 45 blocking flash[0]. While that might not seem like something worth targeting specific browsers, Chrome's implementation of blocking flash was an advertiser's worst nightmare. In order to render the page properly, the page would load with flash enabled on all content. It would then pause the flash runtime on all content not deemed "important". This had the wonderful effect of giving a video ad enough time to start playing a few frames and to fire the impression that results in the advertiser getting billed for showing the ad. This would be flat out fraud on our part (a major video ad exchange), so we had to aggressively avoid allowing flash ads to buy spots from chrome 45 and later.

We used ua-parser and everything went very smoothly.

[0] [https://www.infoq.com/news/2015/08/chrome-45-flash](https://www.infoq.com/news/2015/08/chrome-45-flash)

</comment></comment></comment></comment><comment><USER19> It's quite interesting how user agent stings have changed and become more bloated with time.

Other fun facts:

\- Chrome on iOS reports its chrome version (eg 64.0.36), with no way to get the underlying Safari engine version.

\- Android webviews have replaced one UA string pattern with another close to three times (pre-Kitkat, Kitkat till Marshmallow, and one for marshmallow and above)

\- Chrome continues to add a "Webkit" version to its UA, even after having forked to Blink. Though since Chrome 27, the webkit version always says "537.36".

Src - I wrote a library that generates user agent strings programatically - [https://github.com/pastelsky/useragent- generator](https://github.com/pastelsky/useragent-generator)

</comment><comment><USER20> I need to bookmark this for the next time I hear "oh let's just encode the params as a string" from a coworker.

<comment><USER21> Surely, THIS TIME, it won't balloon out of control! And who will ever need more than 255 characters of PATH?!

File under: Problems that require a time machine to fix. [https://blogs.msdn.microsoft.com/oldnewthing/20110131-00/?p=...](https://blogs.msdn.microsoft.com/oldnewthing/20110131-00/?p=11633)

<comment><USER20> The road to hell is paved with one off exceptions that are temporary until we get a better implementation in place anyway. :-)

</comment></comment></comment><comment><USER22> Some more fun tidbits:

> ProductSub returns 20030107 for Chrome and Safari, because that's the > release date for Safari which used an Apple fork of WebKit. Chrome also uses > this fork. For Firefox, it's 20100101. I don't know why.

> Vendor returns "Google Inc." for Chrome, but undefined for everything else.

> Navigator can tell if your device has a touch screen

> Navigator can tell how many logical cores you have

> appCodeName always returns "Mozilla" and appName always "Netscape"

> Navigator can tell if you're using: Wi-Fi, Ethernet, cellular, Bluetooth, or > WiMAX

> Navigator knows how much RAM you have

> And the exact plugins you're using. A Firefox useragent won't hide > 'type':'application/x-google-chrome-pdf'

> Your screen can be shared through navigator -- without your permission

> Languages are set as either `US-en` or `en` to differentiate between > Americans and British

> Your battery can be acpi'd by Navigator

> File permissions can be read, revealing usernames

And this is just navigator, wait till you see all the fun things you can do with Javascript and canvas.

<comment><USER23> > For Firefox, it's 20100101. I don't know why.

At some point in time, that date was Firefox's build date. Then, some concerns were raised about that date allowing sites to track users based on that date so it was set to 20100101.

</comment></comment><comment><USER24> Should be "Why every _browser_ user agent string"... Non-browser agents usually don't (and shouldn't) do the Mozilla tricks.

<comment><USER25> Actually, we've had to add "Mozilla" in the user agent of one of our program because users have been complaining being blocked by some proxy.

<comment><USER24> I can get per-browser content switching, but blocking by proxy is a malpractice. Probably driven by some bot abuse, but certainly a very wrong way to deal with it.

</comment></comment></comment><comment><USER26> I learned from that article what Mozilla means: Mosaic Killer.

</comment><comment><USER27> > What's your favorite web browser?

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13

<comment><USER28> One thing I wish were explained is where the 'U' came from; it first shows up when Mozilla was born with Gecko

<comment><USER29> It was about encryption ciphers, when the US had export restrictions on key lengths. U = USA = 128bit, I = International = 40bit, N = None. Nowadays the U is another vestigal piece of the UA string.

</comment></comment></comment><comment><USER30> Great history lesson for people my age who might not have known this back story (I was born in the 90s).

</comment><comment><USER11> The OP is from 2010. For those wondering what sort of user-agent a brand-new browser engine would adopt in this era, see this discussion regarding inventing a UA for Servo, which involved collecting data from popular sites in the wild to see how they treat UAs: [https://github.com/servo/servo/issues/4331](https://github.com/servo/servo/issues/4331)

TL;DR: you can see end result for each platform here: [https://github.com/servo/servo/blob/2d3771daab84709a6152c9b5...](https://github.com/servo/servo/blob/2d3771daab84709a6152c9b56c43bad2b280b2ab/components/config/opts.rs#L456), and it looks like "Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:55.0) Servo/1.0 Firefox/55.0"

<comment><USER31> Good to see that building Servo on ARM will return "i686" as the cpu architecture. Because there are plenty of sites that will just match /arm/ in the user agent string and redirect you to the mobile version, regardless of what your user agent actually is. Which is supremely annoying to those of use with ARM desktops (a tiny minority, I admit).

</comment></comment><comment><USER32> My user agent starts with "Wget" :)

<comment><USER33> The ol Stallman-oroo

</comment></comment><comment><USER34> Similar story for every animated gifs to have "Netscape 2.0" app extension.

</comment><comment><USER35> saying "... and used KHTML" glosses over the entire Konqueror project and existence of Konqueror long before the first release of Safari. I was using Konqueror on a KDE 2.0 desktop quite happily for a while.

</comment><comment><USER36> The userAgent property has been aptly described as "an ever-growing pack of lies" by Patrick H. Lauke in W3C discussions. ("or rather, a balancing act of adding enough legacy keywords that won't immediately have old UA-sniffing code falling over, while still trying to convey a little bit of actually useful and accurate information.") [[https://superuser.com/questions/1174028/microsoft- edge-user-...](https://superuser.com/questions/1174028/microsoft-edge-user- agent-string)]

</comment><comment><USER37> I once created a similar problem. I built a tracking and split testing system designed around a list of features activated during a page load. So a single page load might be described like:

root,signin,bluebutton

Where bluebutton was a design we were testing for our signin page. Of course once bluebutton worked and had run for a while everyone was afraid to change it in case there was a dependency of some kind. So the Facebook login that replaced the old signin would look like:

root,signin,bluebutton,fbookredirect

Even though no sign in page was shown let alone a bluebutton.

</comment><comment><USER38> For me, the page isn't loading. Here's a Google cache of it:

Text-only cache: [http://webcache.googleusercontent.com/search?q=cache:maxiNwj...](http://webcache.googleusercontent.com/search?q=cache:maxiNwj6M34J:https://webaim.org/blog/user- agent-string-history/&num=1&client=safari&hl=en&gl=us&strip=1&vwsrc=0)

Edit: The full-version cache is broken for me as well!

<comment><USER39> More cache urls

[http://web.archive.org/web/20180306011516/https://webaim.org...](http://web.archive.org/web/20180306011516/https://webaim.org/blog/user- agent-string-history/)

[https://cc.bingj.com/cache.aspx?q=http://webaim.org/blog/use...](https://cc.bingj.com/cache.aspx?q=http://webaim.org/blog/user- agent-string-history/&d=4917026296366068&w=IDh6bxIIUwy8ASvaLhADIqZ5inWgsqxQ)

[https://archive.is/mJg8G](https://archive.is/mJg8G)

[https://88h6obas83.execute-api.us- east-1.amazonaws.com/dev/p...](https://88h6obas83.execute-api.us- east-1.amazonaws.com/dev/parse_article?source_url=http://webaim.org/blog/user- agent-string-history/)

The last one returns JSON

</comment></comment><comment><USER40> Wow. What a mess!

Super interesting read though! :)

</comment><comment><USER41> I'm guessing that today, in the current age of the modern web, user agents strings are no longer so relevant, and can be basically set to anything?

<comment><USER42> Some servers feed different pages depending on whether they think a request is coming from a browser or a bot based on user agent string. Sure it's easy enough for a bot to pretend to be anything, but some servers are still set up to consider the user agent string.

<comment><USER43> Still useful, because of stark differences like "flash works" or "css grid works".

</comment></comment></comment><comment><USER44> Can Mozilla/5.0 be eliminated these days?

<comment><USER45> New pages aren't the problem - pages written 20 years ago still exist and might depend on the Mozilla/5.0 being there to render properly.

</comment></comment><comment><USER46> MIRROR: [http://archive.is/u22lH](http://archive.is/u22lH)

</comment><comment><USER47> what should the user agent be if you have to plug in the internet throw a plug behind your head, in the coming soon 20 years later

</comment><comment><USER48> The whole thing should be deprecated altogether.

</comment><comment><USER49> Thanks for the history lesson

</comment><comment><USER50> Great article. Could we get [2008] added to the title please?

</comment><comment><USER51> Actual article title: "History of the browser user-agent string"

</comment><comment><USER52> s/start/starts/

</comment><comment><USER53> The title is simply false. I read the article and it does present interesting history from the browser wars. However, any cursory glance of web server logs will show that sometimes the user agent string is blank, or it starts with "MobileSafari" or "UrlTest." The user agent string is client generated and can be anything the client wants.

<comment><USER54> Ah. Which browsers ship with those settings?

</comment></comment><comment><USER55> I wonder if the author of this text is religious at all..

<comment><USER56> Judging by his verbiage such as "In the beginning", and "behold", I would say yes. I rather enjoyed the tone.

<comment><USER45> I thought that was just alluding to the Book of Mozilla [https://en.wikipedia.org/wiki/The_Book_of_Mozilla](https://en.wikipedia.org/wiki/The_Book_of_Mozilla)</comment></comment></comment>


What Time Is It? - <AUTHOR> https://shkspr.mobi/blog/2016/08/what-time-is-it/ <comment><USER2> > There are 11 missing days in 1752.

There aren't 11 missing days in 1752 though, there are 11 missing days in 1752 _in the british calendar_. As the original source notes, different countries switched to the gregorian calendar at different times, thus the "missed days" vary wildly even if you ignore Sweden (tried to switch gradually by skipping leap days, forgot to skip some, then switched back to julian, then switched to gregorian at once) and many Orthodox countries remained on Julian well into the 20th century (hence the October Revolution starting early November 1918, it was October julian) and had to skip 13 days.

<comment><USER3> Sweden is a great case. To resync after their failed attempt to switch, they included a February 30th in one year, so that is actually a valid date, in one year, in one place.

Alaska is another fun case. They switched calendars and simultaneously switched which side of the date line they were on, with the effect that Friday October 6th was followed by Friday October 18th.

</comment></comment><comment><USER4> One tidbit I didn't know yet, but was linked from this article: Britain wasn't actually on GMT at 1 January 1970: [http://markfrimston.co.uk/articles/34/epoch- zero](http://markfrimston.co.uk/articles/34/epoch-zero)

</comment><comment><USER5> To continue the thought... What about time on different planets? Our time is based on solar revolutions (mostly). If Mars had the same, their time would be different from ours very quickly.

<comment><USER6> Computers don't care much, since they will just keep using seconds since 1970, which is the same everywhere.

However, if you start regularly traveling quickly though space, the question of aligning offsets caused by relativity could get problematic.

<comment><USER4> _> seconds since 1970_

In UTC or TAI? (I.e., with or without leap seconds?)

<comment><USER2> UTC.

You can use TAI as the base for your system, but it'll be non-conformant (and you'll drift out of sync with the rest of the world obviously).

<comment><USER4> ...but if you use UTC, as is standard, it's not exactly "seconds since 1970", as kazagistar claimed (and as you explain in a nearby comment), which was my point.

</comment></comment></comment></comment></comment><comment><USER7> I was about to mention that the DDHHMMZ format is used to stamp aviation weather reports and forecasts too, but I see the article beat me to it. :) Anyway here's the current (as of this comment) report from SFO if you're curious about what they look like:

      KSFO 301656Z 29011KT 10SM FEW008 SCT160 19/13 A3002 RMK AO2 SLP165 T01890128

You can see the timestamp in the second element. Once you learn the format it's second nature, really.

</comment><comment><USER8> I'm no astronomer, but as to the article's closing question, I imagine there's _some_ unambiguous solution based on the relative locations of celestial bodies. For example, supply the angle between earth -> sun -> Mars, and however other many data points are needed. With enough angles, I think this would _also_ establish location, due to the propagation velocity of information.

<comment><USER9> Calendar time, when it is done truly right, is a complicated topic. There's a nice book that has way more detail on this than most people actually would want (Calendrical Calculations, [https://www.amazon.com/Calendrical- Calculations-Nachum-Dersh...](https://www.amazon.com/Calendrical-Calculations- Nachum-Dershowitz/dp/0521702380)).

<comment><AUTHOR> Ooh, that book looks great. Thanks, will add it to the post.

</comment></comment></comment><comment><USER10> It hasn't even been 100 years since US congress had the standard time act of 1918. Visiting Golden Spike NP taught me the railroads created standard time from a good exhibit at the park's museum. In 1883 if I recall. Until then time in town A did not need to be the same as time in town AA.

But my favorite answer still is, "Time to get a watch."

</comment><comment><USER11> The article could have been better citing RFC 2550 "Y10K and Beyond" which despite being a joke (April 1st) RFC provides a completely universal date format (can describe any date present and future, with as much precision as you want), that are orderable by their lexical sort order.

Yet present day time representation are easily parsed by regular humans.</comment>


Parler Is Banning Users It Doesn't Like - <AUTHOR> https://www.techdirt.com/articles/20200627/23551144803/as-predicted-parler-is-banning-users-it-doesnt-like.shtml <comment><USER2> I love the fact that this thread is empty while the one about deplatforming white supremacists is chock-full of people screaming about free speech. Really makes the whole thing a bit blatant.

<comment><AUTHOR> I have to say I expected it, but I had no idea of the magnitude of the effect.

</comment></comment><comment><USER3> Parler, the free [ _to agree with our_ ] speech platform.

</comment><comment><USER4> Whose the bigger jerk? A self described leftist, or self described conservative? I say ban em both.

</comment><comment><USER5> Let's see, how does the line go? "Parler needs to decide if they're going to be a platform or a publisher, and if they're going to start censoring speech that they don't like, they need to be held responsible for—" haha sorry, it's too ridiculous to even satirize</comment>


Study finds "unequivocal link" between lack of sleep and early death - <AUTHOR> http://www.guardian.co.uk/society/2010/may/05/sleep-study-premature-death

<comment><USER2> Link to the actual paper [http://www2.warwick.ac.uk/fac/med/staff/cappuccio/publicatio...](http://www2.warwick.ac.uk/fac/med/staff/cappuccio/publications/sleep_2010_mortality_meta.pdf)

</comment><comment><AUTHOR> Well, this should put the polyphasic sleep debate to rest.

<comment><USER2> From my reading, the research only looks at monophasic sleeping patterns and so gives no real useful information on the effects of polyphasic sleep on health.

<comment><AUTHOR> Agreed in principle, but in practice I think the argument goes as follows:

1) There is evidence that prolonged lack of sleep (6h/night or less) leads to an early death

2) Many polyphasic sleep methods involve dramatically less sleep than 6h a night

3) There is no implied correlation between those two statements, but a cautious person who wants to maximise their chance of living as long as possible would infer that:

\- Given the lack of data, it is probably a better idea to avoid polyphasic sleep altogether until proper studies are conducted.

Previously, the argument was that there is no evidence linking lack of sleep with death, therefore why not give polyphasic sleep a go. I think that argument is not valid anymore.

<comment><USER3> Not necessarily. Perhaps it's staying awake for more than 18 hours consecutively that causes early death.

<comment><AUTHOR> Read my comment more carefully. I didn't say there's conclusive evidence of a link - just that a cautious individual who wants to maximise their lifespan will probably assume that it's best to sleep 6-8 hours a night.

Edit: Of course, that's assuming the study results are actually correct, which according to ajkirwin's comments, they're possibly not.

</comment></comment></comment></comment></comment><comment><USER4> Having read the article and the abstract of the paper in question, it seems a little.. off. For a start, it's a meta-analysis pulling from a simply massive pool. And it asks people about areas of their life from a few years upto two and a half decades.

Do YOU know how often you slept under six hours a night in the last year? 2 years? 5? 10?

Did all these people keep detailed sleep diaries every single night?

This just raises too many questions. Meta-analysis is most useful when restricted to much smaller sample sizes where a greater amount of data can be obtained and analyzed.

\-- Edit for More Info:

It seems that this paper is a meta-study of OTHER papers. And that 80% of the data used came from a single study by Daniel F. Kripke of UCSD.

The conclusions of Kripke study, which were meta-analysed, were notably different than Cappuccio's, namely:

"The best survival rates were found among those who slept 7 hours per night. The study showed that a group sleeping 8 hours were 12 percent more likely to die within the six-year period than those sleeping 7 hours, other factors being equal. Even those with as little as 5 hours sleep lived longer than participants with 8 hours or more per night."</comment>