Introducing Libscore: A PageRank for JavaScript Libraries - <AUTHOR> https://medium.com/@Shapiro/introducing-libscore-com-be93165fa497

<comment><USER3> It is not PageRank, it is Altavista for JavaScript libraries. PageRank would be computing PageRank on JavaScript library dependency graph.

<comment><USER4> I was thinking actual PageRank would be interesting, ranking libraries by who uses what, transitively.

Might be nice to include weightings of app usage by users and downloads (because apps aren't used by other libraries), but just sticking to _code- used-by-code_ could be interesting:

So, "one lib/app, one vote" (weighted by how much it is used by other libs/apps), measures coders' evaluation, not app-users'.

And not have the search part (which PageRank ranks), just the ranking - e.g. a top 10

</comment></comment><comment><USER5> > The end result is that developers contribute to open source in a vacuum; > they develop, hoping — but never knowing — whether their library is being > used at-large.

Is popularity is the main reason behind releasing and maintaining open source software?

<comment><USER6> Unlike celebrity culture, popularity in the open source world translates to actual impact on the web. As an author of a popular library, your code plays a direct part in how other developers structure their codebase, and -- depending on the library -- the end user experience.

And, yeah, impact/change/popularity (whatever you want to call it) is certainly a main reason behind releasing and maintaining open source software. Perhaps other dominant reasons include giving users differently opionionated alternatives that better suit their workflow, advancing the technical know-how of a field, and simply experimenting for expressiveness' sake.

</comment></comment><comment><USER7> I've been using the [http://www.ruby-toolbox.com](http://www.ruby-toolbox.com) popularity score as a similar type of proxy to usefulness, reliability and desirability for ruby gems.

It attempts to sum up how widely used and active a particular gem is. Plus the site categorizes gems, so when looking for a solution to a new problem you don't have particular expertise in, you can see at a glance which gems may not only help you out, but also those you can trust will be maintained for awhile.

</comment><comment><USER8> Related: [https://github.com/ElbertF/Wappalyzer](https://github.com/ElbertF/Wappalyzer)

Open source, regularly updated detections.

</comment><comment><USER9> We've added Libscore badges to Cdnjs library pages -> [http://cdnjs.com/libraries/jQuery](http://cdnjs.com/libraries/jQuery)

You can also see where cdnjs is used -> [http://libscore.com/#script:cdnjs.cloudflare.com](http://libscore.com/#script:cdnjs.cloudflare.com)

</comment><comment><USER10> The score simply being the number of top sites feels pretty difficult to understand in isolation. For instance, knowing that React has a libscore of 203 doesn't mean much if I don't know both that this is out of one million sites polled and the score of some other library that I might already have a vague mental picture of its popularity (i.e. compared to jQuery's 600k+).

Other than that, very interesting information to sift through.

<comment><USER6> Exactly. That's why we removed any mention of a "score" from the copywriting before launching. We realized how vague a score could be. We focus on site counts now, since they're raw/unfiltered data.

</comment></comment><comment><USER11> This is awesome! Thank you for your work and Stripe and DigitalOcean for the sponsorship

I've just noticed that the search is not very good, a part the requirement of having to write exactly the correct name. Even writing "Angular" (which is the name showed in the global data) doesn't work.

A fuzzy, case insensitive and autocompleted search would be much more useful

<comment><USER6> Good points :)

The problem was that fuzzy search would have been technically overwhelming to implement due to the size of our data sets (1 million sites * avg. # of leaked global variables). Also, it would have resulted in a lot of confusing matches because of how arbitrary JavaScript variable names are.

Keeping it to one-for-one case sensitive lookups was the only way to clearly express searching behavior and return accurate data every time. The downside is that we force people to read our homepage how-to to learn how to use it :)

</comment></comment><comment><USER12> Is there a way to filter out the jquery scripts?

</comment><comment><USER13> "Before Libscore, front-end developers only had Github star counts as a proxy for their library's success."

Uhhh no. Before Libscore, we only had Wapanalyzer and BuiltWith and Alexa and Ghostry and countless other "crawl and aggregate stats data" services.

Cool idea and all, but kinda silly to make claims like this.

<comment><USER6> builtwith doesn't show all js libs. it just whitelists the top 20 i believe. looks like Wapanalyzer might be similar.

alexa is also unrelated to broad js penetration detection.

not sure how ghostery is relevant.

the novelty of libscore is that it detects all js libs (even brand new ones with only 20 sites using it); doesn't use a dumb whitelist filter.

<comment><USER14> Great example is to look at Microsoft.com and see a bunch of tiny "MS" prefixed libraries that probably only exist on their web properties.

</comment></comment></comment><comment><USER15> Not very functional at the moment. Especially if you don't use jQuery - <USER2> top 200 are practically useless IMO.

That being said, being able to search for a library im already using, and seeing what are the top libraries that are used in conjunction with it would probably help.

</comment><comment><USER16> This sounds pretty similar to [http://nerdydata.com](http://nerdydata.com) which lets you search the source code of webpages. Does this only look at the window variable on webpages?

</comment><comment><USER17> It's not working at the moment. All of my searches ended with no results, and it took me a while to notice that the request to the web service is returning a 502. Better error messages would be helpful.

</comment><comment><USER18> FYI: Your SSL is broken. As a result, the links on the Github repo are as well.

Would it be possible to do this for CSS frameworks as well? Some CSS frameworks have no Javascript component and are thus undetectable. Thanks!

<comment><USER9> SSL will be on later tonight, we didn't have the time to make the change before launching today and worried that there might be a bit of down time.

I imagine we can programatically pick up on CSS namespaces though...you should create an issue over here -> [https://github.com/julianshapiro/libscore](https://github.com/julianshapiro/libscore) it's a good idea

</comment></comment><comment><USER19> A pagerank for npm would be interesting, arguably more so than just the "most depended on" lists. anyone know if it's been done yet?

<comment><USER6> npm actually publishes its own top lists.

what's interesting about the work we've done on libscore is that it shows the _end result_ \-- whether a lib was actually ultimately used on a site. npm can tell you download stats, but that's where its data ends.

</comment></comment><comment><USER20> I really like the Wappalyser chrome extension, it tells you with which technologies the site you browse uses.

</comment><comment><USER21> I noticed that you actually had the source code in the repository, and later removed it. The commits history still contains all the code.

Question: Why did you decide to go private? You might have your reasons, care to share? Otherwise it is worrying: helping open source community, yet not being open source.

<comment><USER6> Cleaning a few things up first :) Star the repo and stay tuned for an update.

</comment></comment><comment><USER22> Where's ReactJS?

<comment><USER6> Search for "React", which is the variable name React exposes itself under. It's also on the trending data page.</comment></comment>


Show HN: TWGL – A tiny WebGL helper library - <AUTHOR> http://twgljs.org

<comment><USER2> Nice! I'm happy to see low-level wrappers around webgl. It does have a really verbose interface. And there's room for a level of abstraction above webgl but below three.js.

Everyone uses three.js, but if you want to write shaders (a big part of the point of webgl IMO), three.js can be difficult to work with. It has a fairly involved system for building its shaders from a big library of shader snippets. Last I looked, it seemed pretty complicated to hook your own shaders into that system.

If you don't want to write shaders, three.js is great, but if you do, it may be more than you want.

There's another library I've used, also a low-level webgl wrapper, called GLOW: [https://github.com/empaempa/GLOW](https://github.com/empaempa/GLOW)

Development on it has slowed, but I think it has a really nice approach.

</comment><comment><USER3> Thanks so much for this! I was looking for some nice helpers that weren't keeping me away from shaders the way that three.js does.

One minor nitpick: not sure how best to contribute to this based on your github. Do you prefer pull requests or the like?

<comment><AUTHOR> Of course pull requests are great!

</comment></comment><comment><USER4> Very nice! Please x-post to [http://www.reddit.com/r/webgl/](http://www.reddit.com/r/webgl/) :)</comment>


A web application completely in Rust - <AUTHOR> https://medium.com/@saschagrunert/a-web-application-completely-in-rust-6f6bdb6c4471 <comment><AUTHOR> This is not my post. I came across it today. I definitely need to go check out yew now (and apparently learn how front end dev works for real).</comment>


Ask HN: I'm going on an internetless vacation today. Any book recommendations? - <AUTHOR>

In about 6 hours I am heading south to an all inclusive resort for a week. There's no internet, and not much for TV, so we plan on doing a lot of reading on the beach.
Does anyone have book suggestions?
So far I'm taking down Deadhouse Gates by Steven Erickson, Walden by Thoreau, and a book on the Philosophy of Language to mess with my brain.
Any kind of book will do, but bonus points for books that I can learn something from but aren't ridiculously difficult, are travel friendly, and I can probably find at a university library.
Let me know some of your favourites.
Thanks! <comment><USER2> How about:

[http://www.amazon.com/TCP-Guide-Comprehensive-Illustrated- Pr...](http://www.amazon.com/TCP-Guide-Comprehensive-Illustrated- Protocols/dp/159327047X/)

;)

</comment><comment><USER3> The entire magicians trilogy by Lev Grossman - also anything by Jon Ronson (particularly 'the Men Who Stare at Goats' or 'Them'). You'll learn from any of these - and have a great time!

</comment><comment><USER4> I'm enjoying The Martian by Andy Weir.</comment>


Facebook Chat Plugin, an Intercom Alternative - <AUTHOR> https://developers.facebook.com/docs/messenger-platform/discovery/customer-chat-plugin/ <comment><USER2> Yeah, no thanks. If your product is using Facebook for customer support (with no e-mail fallback) there's no way I'm using it.</comment>


Western govts turn a blind eye as Arab allies keep massacring protesters - <AUTHOR> http://www.dailymail.co.uk/news/article-2075683/The-brave-women-Middle-East-Female-protesters-brutally-beaten-metal-poles-vicious-soldiers-drag-girls-streets-hair-day-shame.html

<comment><AUTHOR> Video footage from that article: <http://youtu.be/4iboFV-yeTE>

Of course you have to remember - only a fraction of all incidents get filmed and posted on the web. For every such event there are ten you'll never see.</comment>


Samsung lawyer couldn't tell iPad and Galaxy Tab apart from 10 feet away - <AUTHOR> http://www.appleinsider.com/articles/11/10/14/samsung_lawyer_couldnt_tell_ipad_and_galaxy_tab_apart_from_10_feet_away.html <comment><USER2> WTF is a 10 foot test?

I cannot tell who made what TV when I look at them at Walmart from 10 feet away. What does that mean?

Also, from the article:

      "Can any of Samsung's lawyers tell me which one is Samsung and which one is Apple?" Koh asked.

      A moment later, one of the lawyers supplied the right answer."

So they did identify it.

<comment><USER3> >I cannot tell who made what TV when I look at them at Walmart from 10 feet away.

That made me laugh and it's definitely true but a TV is just a box that shows a picture. With computer it is different because there are so many paths one can choose to create an individual UX.

>So they did identify it.

True but the neither the judge or lead council really knew which goes to the point of the average user being confused. I could, as you and others, spot the difference.

I'm not a lawyer, so I won't pretend to understand patent law, but I will say that I'm disappointed by other tablet UI designs with the lone exception being the Metro UI. There is a great chance to explore instead of playing it safe. To me it is offensive since you are literally being given a blank slate with which to create.

<comment><USER4> This lawsuit has nothing to do with the software UI.

This is about the physical design of the iPad being patented. That's why being able to distinguish between a Tab and and iPad from 3 feet away can be seen as somewhat relevant.

This is the European version of the patent: <http://www.scribd.com/fullscreen/61944044>

<comment><USER3> >This lawsuit has nothing to do with the software UI.

I never said this was about software in regards to the lawsuit. I only said I was disappointed in the software creativity. User experience, in terms of software and hardware for a tablet, is different from a TV.</comment></comment></comment></comment>


2.2 seconds to insert a million rows in the browser with WebAssembly+Web Workers - <AUTHOR> https://hackernoon.com/execute-millions-of-sql-statements-in-milliseconds-in-the-browser-with-webassembly-and-web-workers-3e0b25c3f1a6 <comment><AUTHOR> Posting this mainly for the "fused VM" idea that I have seen floating around here:

Having the language and the systems it talks to fused by a JIT that eliminates the communication overhead; which is something that (does?|can?|could?|will?) happen in this case.

This is in the browser, but could apply to Node.

In the JVM land we have the Truffle+Graal "one VM to rule them (languages) all" initiative which does this overhead elimination. wasm could be a serious contender with the JVM bytecode in the server space in this regard. On top of it, its platform offers more options for having the client look like the server, development-wise.

Here is another item I have seen go around about this idea: Experiment with Python + SQLite in PyPy inlines the PL / DBMS boundary [1]

[1] [https://arxiv.org/pdf/1512.03207.pdf](https://arxiv.org/pdf/1512.03207.pdf)</comment>


U.S. Carriers Sail in Western Pacific, Hoping China Takes Notice - <AUTHOR> http://www.nytimes.com/2016/06/19/world/asia/us-carriers-sail-in-western-pacific-hoping-china-takes-notice.html?ref=world <comment><USER2> Dick Waving Contest Gets Serious. Headlines at 8.</comment>


Offical Soylent: Should it be producing Mustard Gas? - <AUTHOR> http://discourse.soylent.me/t/offical-soylent-should-it-be-producing-mustard-gas/12660 <comment><USER2> The problem of Soylent is the oversimplification and premise that our nutrition science has figured it all out (yes, the same science that was vilifying saturated fat, salt, alcohol, etc.). I can understand using Soylent as a meal replacement occasionally, but doing this regularly is too risky. I mean, people can definitely survive on it, but thrive - I don't think so. Also, every ingredient of it is poor quality. Canola oil vs olive oil, rice protein vs organic grass-fed whey concentrate, worst form of magnesium (oxide vs citrate/malate/glycinate/orotate), soy lecithin vs sunflower lecithin, vitamin d2 vs d3, etc. Every single ingredient is the cheapest form. Some are proven to be detrimental for health - alpha tocopherol vs mixed tocopherols and tocotrienols, vitamin A vs mixed carotenoids, folic acid vs folate, and so on. I won't even mention sucralose, artificial flavors, and the Chinese origin of some of the ingredients. Again, this is not biohacking, this is amateur hour.

<comment><USER3> Rather than "is this perfect?", the important question for me is "is this better or worse than my current diet of instant noodles and baked beans, with the occasional delivery pizza when I'm too lazy for instant noodles?"

<comment><USER4> Better, but you've got a problem.

<comment><USER5> Does it imply that you are perfect? Go fix all your problems before complaining on our problems.

<comment><USER4> Chill out dude, I wasn´t implying anything but, using your words here, being "too lazy for instant noodles" seems like a problem to me.

And yes, eating properly is fixing some of my health problems. And no, I am not talking about obesity or high blood pressure. I mean some serious health problems.

<comment><USER5> I'm not the same guy, theses were not my words.

I don't think you understood my point. The issue is that you can't compare yourself and you can't take decision for other. There's always a better way, whatever you decide, there's always an healthier way. I'm pretty sure there's a dozen stuff you had in your meal during the last week that was bad for your health in a way of another. That was your choice and only yours.

</comment></comment></comment></comment></comment></comment><comment><USER6> I had the same problem, and Soylent told me this:

I think you might be having a reaction to the high soluble fiber content of Soylent. The best thing you can do is restrict yourself to 12 oz (which you drink slowly, sipping every few minutes) of Soylent for a meal, and intermingle with other foods throughout the day (use Soylent for no more than 1-2 meals per day).

If that helps, you can probably ease into more after your digestion is stable for a couple of weeks.

We're working on our next formulation of Soylent which will hopefully address people like yourself that are experiencing more severe effects, at least in part, so I hope that you'll stay tuned. I can't guarantee that the product will be 100% gluten-free at that time (we won't know until it passes certification), though that is something we are aiming for.

</comment><comment><USER7> It's amazing to me that we don't talk more about the microbiome today. We all the various bacteria populating the gut and all the various things we eat, the bacteria change and so affect how we feel after we eat. Hopefully soon we'll understand when it's a good time for yogurt and when it's a fecal transplant!

<comment><USER8> "We" talk plenty about it (everyone from phd friends to the NYT), but it's not actually terribly well understood yet, and nearly impossible to diagnose at the individual level. I'm pretty sure there aren't even solid guidelines yet like if X reaction then eat Y [yogurt|notyogurt|whatever].

The soylent community is pretty clear on the point this impatient guy is asking about: yes, the problem that arises when you had shitty nutrition before goes away inside a week or two, and just eat some Beano in the mean time. Haven't seen _anyone_ who has presented evidence otherwise.

For me personally, there was zero issue; I had lots of fiber before, and soylent doesn't make me gassy at all.

<comment><USER7> I forgot about uBiome:

[http://techcrunch.com/2014/08/18/ubiome-raises-4-5m-from- ang...](http://techcrunch.com/2014/08/18/ubiome-raises-4-5m-from-angel- investors-andreessen-horowitz-to-crowdsource-microbiome-research/)

</comment></comment></comment><comment><USER9> High content of protein. It is a known problem among people who consume protein for weightlifting.

A redditor claims Activia Yogurt helps ([http://www.reddit.com/r/Fitness/comments/2056nq/finally_foun...](http://www.reddit.com/r/Fitness/comments/2056nq/finally_found_a_cure_for_protein_farts/))

</comment><comment><USER10> Just a note, obviously an exaggerated "review" meant to be funny, not serious. There were minor problems with gas that have been fixed in the new recipes. (Note the date on this.)

</comment><comment><USER11> I almost died laughing.

<comment><USER12> Try this: [http://www.amazon.com/Haribo-Sugar-Free-Gummy- Bears/product-...](http://www.amazon.com/Haribo-Sugar-Free-Gummy- Bears/product-reviews/B008JELLCA/)

</comment></comment><comment><USER13> Adding beano helped me with this, just FYI</comment>


Are talent acquisitions better with symmetric product acquisitions? - <AUTHOR>

Today's talent acquisitions (and the death of some great apps) got me thinking - would it make sense to put out a standing offer to purchase and continue work on discontinued products who's teams are being acquired? <comment><AUTHOR> It seems like it would help the team to monetize a soon-to-be defunct product, and help their user base by providing continuity and updates beyond maintenance. I'd assume that any team geting acqui-hired probably has some traction in their product. Thoughts?</comment>


Reactive Extensions v2.0 Beta available now [Functional-ish C#] - <AUTHOR> http://blogs.msdn.com/b/rxteam/archive/2012/03/12/reactive-extensions-v2-0-beta-available-now.aspx

<comment><AUTHOR> Two interesting side-topics included in this post:

1) How the Cloud Programmability Team is dealing with the impact of .NET 4.5 on supporting multiple .NET versions. (There is a lot of "they said it won't break much" hand-waving on other blogs.)

2) Relying on a test suite when implementing performance enhancements.</comment>


Ask HN: Courses on non-tech startup/bootstrap aspects? - <AUTHOR> At the moment, it's very easy to find quality online courses/video tuts on almost everything tech. Even curriculums on what should be learnt and how.
However, when it comes to other aspects, i.e finance, business models, product, marketing, etc, there's nothing really 'structured', it's more about random posts or talks...
So, do you know of any courses that are not just about "how cool it is to start something" and general advise, but more down to technicalities, i.e what's CAC, LTV, CSat, NPC,...?
YC's Stanford course on "How to Start a Startup" was really interesting because it covers several topics, but I'd like to find something more specific. <comment><USER2> Have you looked at Coursera's catalog and found it wanting? They seem to have specializations (sets of 5-6 classes) in Finance, Marketing, Human Resources and other topics under "Business".

</comment><comment><USER3> There are a lot less business-focussed resources for sure. You can check this free business course on Udemy that seems decent (I have not taken it myself) [https://www.udemy.com/basics-of-starting-an-online- business/](https://www.udemy.com/basics-of-starting-an-online-business/)

There are a lot of resources for marketing, but you have to look for the ones that are relative to what you want to achieve.</comment>


Let's review Docker - <AUTHOR> http://iops.io/blog/docker-hype/

<comment><USER2> While there are some important criticisms in here, there are some misunderstandings of OS-based virtualization with respect to HW-based virtualization in terms of both history and implementation. Certainly, anyone who thinks that "we have reached the point that [hardware virtualized] performance is almost as fast as bare metal" is either cooking their numbers or deliberately limiting the scope of what they are evaluating to purely CPU- bound work; when it comes to anything interacting with the outside world (which is to say, I/O), OS-based virtualization crushes HW-based virtualization.[1] That said, the security criticisms are entirely fair (though they are criticisms of Linux more than of Docker); taken together with the performance win of OS-based virtualization, they form our motivation for Docker containers running as LX-branded zones.[2][3]

[1] [http://dtrace.org/blogs/brendan/2013/01/11/virtualization- pe...](http://dtrace.org/blogs/brendan/2013/01/11/virtualization-performance- zones-kvm-xen/)

[2] [http://www.slideshare.net/bcantrill/docker-and-the-future- of...](http://www.slideshare.net/bcantrill/docker-and-the-future-of- containers-in-production)

[3] [https://www.joyent.com/developers/videos/docker-and-the- futu...](https://www.joyent.com/developers/videos/docker-and-the-future-of- containers-in-production)

<comment><AUTHOR> Thank you for the detailed feedback and links, much appreciated. Your comments regarding performance are absolutely correct and I'll update the article to reflect this. LX branded zones, and indeed Solaris in general, is something I haven't looked into so I'll certainly watch that video/deck tomorrow. Thanks again

<comment><USER3> A nitpick: LX zones are _not_ in Solaris (they were removed years ago). They are in SmartOS and will eventually be in other Illumos distributions.

<comment><AUTHOR> Thanks, my bad. SmartOS has been in my todo list for a while now, along with CoreOS, they both look very interesting.

</comment></comment></comment></comment><comment><USER4> Some of your points seems valid (although the writing style is hostile), but calling it "unnecessary" is over assumption. You think Docker is only used in deployment, but you are wrong. I use it do grade programming assignments, I distribute Dockerfiles to students, and it is very useful. I believe it is very useful in other aspects as well, just because you are unhappy does not make it unnecessary. I ran almost 30.000 containers on a single machine and it saved me many hours.

I also had a incident with Docker in 0.6, when creating a new container it used to traverse all the containers metadata and when the container count reaches thousands it froze my server and I had to manually reboot it on 3AM, but hey that's okay, it can be fixed, I reported it on Github and it does not happen anymore. It is still useful to me, and still necessary.

<comment><AUTHOR> Thank you for the feedback, that's actually quite an interesting use case of the Docker ecosystem. I've already updated the article to reflect this, as you raise the same point that many others made.

(copy) "However it's important to note that this article focuses on the daily, long term usage of Docker, both locally and in production"

</comment></comment><comment><USER5> I fundamentally disagree.

Flawed? sure.. useless hype?? yeah well are all the people loving it just stupid.. or is it just placebo?

The author makes a lot of conjecture with very, very little backing.

I love docker. I'm a programmer more than a systems engineer. I've used Linux as my sole computing environment for 6+ years. I've deployed countless LAMP stacks; and countable Haskell/postgres stacks.

For both having an extremely portable development/building environment; and dead-simple disbursement of binaries-with-prereqs, Docker has been INCREDIBLY useful to me.

For actual deployment of single-server apps; it might be a bit more trouble than it's worth, in some cases. I have a couple places where I develop and build in Docker; but actually deploy "raw"; because it is easier/fine.

But when you start considering Coreos clusters and docker containers to utilize them; deployment again is made congitively simpler (to us mere mortals) thinking in terms of containers.

I guess this is click-bait; but even as a passive user of Docker, I find it quite offensive; and not well-grounded.

I opened the article with an open mind; thinking someone smarter than me knew something terrible about docker that was going to bite me in the ass some day.. only to instead get the impression of, either being trolled, or that the author is my favorite type of neck-beard elitist.

<comment><AUTHOR> I'd be inclined to agree that my story was incomplete, something which I addressed in another comment [2], and I have made some amendments over the last few hours which give fair reference to the positives of the Docker ecosystem. However I would disagree that I have failed to provide sufficient backing for the argument being presented, and has also been addressed in another comment [2].

I'm sorry to hear the article gave you the impression of being trolled, as I certainly did not intend this. If there are specific areas which you feel I did not justify, rather than an overall dismissal of the argument being put forward, then please call me out on it. If you read my other comments, you will see I am a reasonable person and happy to admit when I'm wrong. Though despite these corrections, I'm standing strongly by my conclusion.

PS) I have recently grown a neck beard, but it's going soon, itching the crap out of me.

[1]: [https://news.ycombinator.com/item?id=9015952](https://news.ycombinator.com/item?id=9015952)

[2]: [https://news.ycombinator.com/item?id=9016286](https://news.ycombinator.com/item?id=9016286)

<comment><USER6> I applaud you for your consistently civil and restrained answered to any and all comments, even those that are so offensive...

</comment></comment></comment><comment><USER7> I can only speak for myself. I find docker to be immensely useful. Sure, there were always VMs, but I was very frustrated with multi-vm setups before discovering docker.

At the very least it let me iterate on system configuration / installation procedures more quickly. I have learned a lot just due to tweaking Dockerfiles and rebuilding them. Virtual machines are much slower in this regard.

In Data Science Docker is becoming revolutionary. People tried distributing virtual machines to let others reproduce their work. Dockerfiles are much more reproducible, and don't need a few gigabyte of seperately hosted VM images. Also these VM images usually contain tons of undocumented "state", whereas a Dockerfile is easier to reverse engineer and ultimately very reproducible.

You can include Dockerfiles in all your projects. Other developers can then go in and get started with a minimal amount of guesswork. Turns out "sane" development environments, which probably means one supposedly optimal configuration/setup/framework for all your projects, is the exception rather than then the norm.

<comment><AUTHOR> > Also these VM images usually contain tons of undocumented "state"

Although I agree this approach is absolutely flawed, and anyone doing so needs to re-evaluate their workflow, I feel this comment is more an argument of doing things properly, rather than a positive of Docker. Everything you mentioned above can be easily achieved by using Vagrant and a provisioner. But as discussed in other comments, the Docker ecosystem helps you get started quicker.

<comment><USER7> I have used vagrant and I don't think that it is in any way better except when bridging operating systems. Typically, vagrant based workflows are slow and resource hungry, compared to Docker. I have Python projects where I can run test suites on multiple separate, fresh, containers on Python 2 and 3 in several combinations of dependencies, in a few seconds on a weak Netbook. Try that with vagrant sometime...

You seem to assume that everyone should be doing everything the "right way". Turns out they don't. I found it easier to deal with stuff not being done "perfectly" than to try and argue other developers into doing stuff "right".

<comment><AUTHOR> Vagrant certainly has it's own problems and frustrating bugs, in fact I outright refused to use it in the early days. There is differing opinion on "the right way", depending on what your priorities are. Mine are based on precision, perfection and beauty.

<comment><USER8> > _Mine are based on precision, perfection and beauty._

As opposed to those who prefer imprecise, flawed and ugly solutions? Jesus dude, could you possibly come up with a more arrogant sentence?

<comment><AUTHOR> I'm glad you replied, as it wasn't intended to be arrogant. Some people care about the end result, not worrying about how it gets done, as long as it's done. Others care about the journey, perfecting their art at every stage, with little consideration for the end goal. And some people are able to balance these things.

Have you ever looked at the source code of a dependant library, followed by an overpowering and compelling urge to write your own from scratch? Suppressing the urge to rage quit because your tools are fighting against you, not with you. For me, it is a constant daily fight to force myself not to do things "properly", for it's mostly an unrealistic and unachievable goal.

Believe me when I say that being a perfectionist is nothing to be arrogant about, and despite it being one of my major strengths in some ways, it's also one of my biggest flaws.

(I'm taking it on faith that you're not trolling, and have taken time to give an honest reply)

<comment><USER9> did you just say being a perfectionist is one of your biggest flaws ugh dude

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> "If you expect anything positive from Docker, or its maintainers, then you're shit outta luck.[..]If your development workflow is sane, then you will already understand that Docker is unnecessary[..]Docker would have been a cute idea 8 years ago, but it's pretty much useless today"

Umm ok? Judgement, jumping to conclusions. Take out some of that kind of tone and you have some legitimate criticisms of docker that might be taken more seriously.

There are some real warts in the docker core & community, and a high barrier of entry for multi-node deployments and isolated networks, but on the flipside, deterministic image build & deployment is a big win compared to many other ways of doing this stuff (at scale).

IMO, one of the biggest positives that Docker-like provisioning encourages is clustered-by-default architectures. When you build around failure by assuming nodes come and go (as easily as Docker makes it) your platform availability is likely to be more resilient to some types of failure.

<comment><AUTHOR> Thank you for your honesty. Although I stand by my comments of Docker being unnecessary, I would agree that my "If you expect anything positive" comment is wrong. This has been pointed out by other people as well, and I'm going to be amending the article shortly to reflect this.

</comment></comment><comment><USER11> I would agree that Docker has some flawed fundamentals, that it has many implementation flaws, and that is over-hyped. Out-of-the-box it is even almost useless for real-world production usage.

But - despite agreeing with your words - I wouldn't put them together to reach the same conclusion. The container model with managed images seems to be a big step forwards vs the VM model: it encourages having immutable 'machines' that are disposable, which works very well for cloud architectures.

I would check out the kubernetes project and where it is heading: containers orchestrated across a cluster of machines, with seamless/automatic networking between the containers.

<comment><USER12> Well you could have managed images in a VM, many do that, incl. ppl just using ec2. you could also do that using lxc, or what not, not necessarily with docker.

So basically, ocker adds nothing to these other solutions except complication, bugs, etc. (which is also my experience).

Moreover, and to push it a little further, if anything, it's a better idea to call some container library so that you use namespace for your very use case, inside a VM. That VM being an image that you manage and deploy of course (ie that you dont tweak when its running unless its for debugging)

<comment><USER13> For me the biggest win with Docker is how composable it makes containers. Building new images only takes moments because of how fast containers can be downloaded, started and modified.

It's certainly possible to do all of the same things with virtual machines, but the difference is the process is really cumbersome. No one has made an equivalent service of Docker Hub for virtual machine images and snapshot deltas.

<comment><USER14> Exactly this. Also in my experience Docker wraps LXC much more nicely then raw LXC, which on my current work machine with Ubuntu 14.04 doesn't work at all (whereas I've got a great chain of Docker images set up for web dev right now which gives me a complete overview of what I'm building).

<comment><USER15> Docker doesn't wrap LXC any more; they re-implemented that stuff in libcontainer. Well, the code to call LXC is in there somewhere as a backwards- compatibility option, but you won't be using it unless you really try.

</comment></comment></comment></comment></comment><comment><USER16> I strongly prefer hardware-assisted virtualization wherever possible. I'd like to see more super lightweight OSes like MirageOS, as well as sane trusted computing functionality all the way up the stack, but that might be asking for a bit much.

<comment><AUTHOR> I'll check out MirageOS, I've also heard some interesting things around CoreOS, which I'm hoping to get some lab time for soon. Finding time to review everything properly is difficult, this article was the summary of 6 months work and 18 hours writing.

</comment></comment><comment><USER17> The author is viewing/reviewing Docker through a very myopic lens.

I work at a company that leverages Hadoop, and on each developer machine we each have a baby Hadoop cluster (3 nodes) running in VMs at the moment, in addition to a master controller. Hence, at any given time, my machine is actively running 5 OS's (if we include the native OS) and all their associated background tasks. My computer generally idles at 25% CPU usage. Keeps my legs warm in the winter.

We're finally going to dockerize the project and I couldn't be happier. Granted, Mac OSX doesn't natively support the LXC's docker uses (c'mon Apple!), so we'll still be running 1 VM, but that's a huge improvement over our existing implementation. My CPU wouldn't be idling nearly as high, I'm going to recover a ton of RAM, and the boot sequence is going to be substantially faster.

Being that these are developer machines, and simply understanding our use case, we're not worried about malicious tenants breaking out of their environments. It's just not a factor in our situation.

If anything I feel the "article" was a waste of time. I thought I was going to read a great summary on the state of Docker, and instead I got this unexpectedly aggressive piece from developer that couldn't conceive how to fit this particular tool into his toolbelt.

<comment><USER18> Why is the company providing you with machines that run OS X instead of Linux, given your work requirements?

<comment><USER19> They do run Linux...in a VM. What's wrong with that?

</comment></comment></comment><comment><USER20> I partially agree with you, except for one very important point: Despite its flaws and hype, it is still incredibly useful.

I just wish it were easier for people to read the contents on the label. Right now everyone thinks it is good for everyone. It isn't, and there are some sharp edges that require RTFM'ing.

<comment><USER21> I am really enjoying it for daemons that don't need to save any state locally (via volumes). For us, it's a great fit for web app servers, background workers, and other things that don't need any guarantee of local persistence.

I feel like these sorts of usage cases are the sweet spot right now. I have zero desire to run something like Postgres in Docker in a production environment. On the flipside, a Postgres Docker container is great for a local dev environment.

</comment></comment><comment><USER22> I like it for quickly spawning up fresh places to test during development, or for a fresh environment since so many package managers gems, bundler, npm, etc fuck themselves up and install conflicting packages.

So I find this article to be the same as the hype around Docker, useful information surrounded by hyperbole that ruins it?

I don't need a full VM usually, and being just local dev the security isn't an issue, but used Vagrant before Docker for this.

Is there anything else similar?

<comment><AUTHOR> Thanks for your honesty, I'm drafting a follow up article which explains the pros/cons of each alternative that I've reviewed so far (packer.io, heroku and ec2). However people have been posting some interesting alternatives which I didn't know about, so it'll be a month or so.

<comment><USER22> Great, I look forward to it!

</comment></comment></comment><comment><USER23> Look, if you're going to submit your own blog posts to Hacker News --- I assume sleepycal is the same Cal as the Cal who wrote the blog post --- then take the time to polish them up a little, and tone down the flameshow.

Would you like it if I told people your blog post was useless because you buried your thesis in the third-last paragraph and led off with an either astounding or false assertion that you tested docker (which you had previously disliked) by putting it _in production_ for _six months_? That sort of needs some explanation and story telling. If Docker induced so much bile in you, then how and why did you end up stuck using it in production for six months?

<comment><AUTHOR> Thank you for your honest thoughts, I respect that. I've updated the article to reflect the comments that yourself and many others have made, and you're right to call me out on it.

You are right that I've failed to justify my testing, other than stating that it was used in prod for 6 months, and in hindsight this was a mistake. I'll amend the article to reflect this, naturally it will be of limited use without reproducible code snippets, but it will at least complete the story.

As for polishing, I'd spent around 18 hours writing this article, with 4 full cleanups. I had considered putting a job out on fiverr to perfect the grammar, but that felt wrong.

</comment></comment><comment><USER24> I came across a few of the issues mentioned in that article while using docker in the last 4 months but I have to say I will never look back.

What I like the most personally is how easy it is to install and experiment with 3d party tools. You want an elastic search stack? In one command you have a webserver hosting Kibana with Elastic Search and Logstash properly configured on your local. Jenkins, Elastic Search, Redis, Postgres, etc: they all have their dockerfiles and can be installed as one liners. Removing them is equally as easy.

Oh and I don't know why it is written that running a Docker registry is "extremely complex". Just like any Dockerized app it is a one-liner.

This new ease-of-install just by itself is worth of my gratitude to the guys that build it.

<comment><USER25> Can you show me how you setup Kibana with ES & Logstash? I've tried setting them up separetely before but it got too convuluted for me. With Docker, I might actually get it going finally. I administer a few servers and checking logs has always been an issue for me. Usually, I end up doing it after the fact because I wasn't warned of issues.

<comment><USER24> This is a great post that goes through the setup (mea-culpa it is actually 3 one-liners, 1 for E,L, and K :) ): [http://evanhazlett.com/2014/11/Logging- with-ELK-and-Docker/](http://evanhazlett.com/2014/11/Logging-with-ELK-and- Docker/)

Good luck!

<comment><USER25> Thank you so much!

</comment></comment></comment></comment><comment><USER26> If you're renting VMs from a provider like DigitalOcean or Linode, a VM per service can get expensive compared to running multiple containers within a single VM. So, if not Docker, some system for deploying containers in production can still be useful.

<comment><USER27> If you're renting VMs for your own use, the answer is not to get more VMs, but to deploy multiple services onto one VM.

The challenges of doing this are less than many claim - the trick is to use a CM so you have a repeatable build process.

<comment><USER28> What does CM stand for? Also can you recommend some CMs that you've had success with?

<comment><USER29> Configuration Management - e.g. Puppet, Saltstack, Ansible, Chef; or if you're old school cfengine.

They are good at bringing systems to a known state; but not as good for cleaning systems up.

If not watched carefully, all of the cruft in your /etc directory will be ported to your CM because someone needs it.

</comment></comment></comment></comment><comment><USER30> >All of the features which it claims to be helpful are

>either useless or poorly implemented, and it's primary

>benefits can be easily achieved using namespaces directly.

any tutorial ? For me the docker is very easy.

and there are some new alternatives:

\- LXD : [https://lists.linuxcontainers.org/pipermail/lxc- devel/2014-N...](https://lists.linuxcontainers.org/pipermail/lxc- devel/2014-November/010817.html)

\- Rocket: [https://coreos.com/blog/rocket/](https://coreos.com/blog/rocket/)

\- Flockport : [http://www.flockport.com/faqs/](http://www.flockport.com/faqs/)

\- Spoon : [https://spoon.net/docs/getting-started/spoon-and- docker](https://spoon.net/docs/getting-started/spoon-and-docker)

<comment><AUTHOR> Thanks for the feedback and alternatives, I hadn't seen Spoon or LXD yet so I'll check those out. Namespaces are sometimes supported directly by the application itself, for example uWSGI, and anything lacking native support you can use firejail [1]. There is also an article [2] by an OVH employee about using namespaces directly in C.

[1]: [https://l3net.wordpress.com/projects/firejail/](https://l3net.wordpress.com/projects/firejail/)

[2]: [https://blog.jtlebi.fr/2013/12/22/introduction-to-linux- name...](https://blog.jtlebi.fr/2013/12/22/introduction-to-linux-namespaces- part-1-uts/)

</comment></comment><comment><AUTHOR> Just wanted to say a huge thank you to everyone who has taken time to reply, the response has been overwhelming! There's still many comments I'm yet to reply to, and will finish replying to these tomorrow evening, but it's now 5am and sleep is required.

</comment><comment><USER31> I think docker is really successful in term of marketing (no offense), I guess they've learnt a lot from the nodejs/golang's camp :)

Just like few years ago, everyone here on the front page is talking about nosql and seems like everyday, there's a new webscale nosql database being born...but now, I often see more people here inclined toward traditional technologies such as Postgres as it has been greatly improved. (Yes, a lot of aged software are still improving, e.g. MySQL, Apache, PHP or even Perl5)

I am not saying Docker is just a hype, I also don't think it is completely unnecessary, but it is not for me to solve my immediate problems and therefore I would rather review Docker..maybe few years later.

</comment><comment><USER32> What should the ideal process for building a container look like?

Say I have my python app, how do I transform that into a working container? If a Dockerfile is flawed, whats better?

<comment><AUTHOR> An excellent question, and I'm drafting a follow-up article which answers this, due to be published in the next month or so.

</comment></comment><comment><USER33> I always saw Docker as a fast, cheap way to test out deployments. I never considered it for production.

For production I'd use kvm or vmware.

Lastly, you might consider systemd-nspawn. It has gained snapshotting recently (on top of btrfs)

[https://plus.google.com/115547683951727699051/posts/W2itNERX...](https://plus.google.com/115547683951727699051/posts/W2itNERXvMh)

<comment><USER6> btrfs sounds like a _GREAT_ idea right now: [https://news.ycombinator.com/item?id=8765088](https://news.ycombinator.com/item?id=8765088)

<comment><AUTHOR> Heh, I wasn't aware of that. Thanks for the heads up, I'll digest properly tomorrow!

</comment></comment></comment><comment><AUTHOR> Feedback and constructive criticism welcome

<comment><USER21> There's a lot of helpful information in the article, much of which I didn't know about. I'm glad that you took the time to link to specific issues, that's very helpful. However, the article is so incredibly negative in tone, and so thoroughly dismissive of Docker that I have a hard time taking it to heart.

Docker is not a silver bullet, and it is definitely being over-hyped right now. But it _does_ have some great usage cases, and it _has_ got a lot of people working together on re-thinking how we build and deploy applications. I think you'd be more likely to bring about positive change by adjusting tone and trying to point out some usage cases where Docker excels. I can't speak for everyone else, but I'm a lot more likely to take someone to heart who shows some balance while criticizing.

Unless you just wanted to get lots of page views with an hyper-critical (though well-researched) article. If that is the case, carry on and disregard this.

<comment><AUTHOR> Thanks for the reply, it actually made me smile. Typically my articles are a representation of the emotions that the subject makes me feel, in this case 6 months of rage inducing frustration. I do try and balance out my criticisms with positive thinking, which can be seen in a recent review I did of swampdragon [1].

However you're quite right to point out that this article fails to represent the positive impact of the Docker ecosystem, something which several other people have also commented. I'm going to amend the article to reflect this.

[1]: [https://groups.google.com/d/msg/django- users/5xIYUrEFfUs/KAI...](https://groups.google.com/d/msg/django- users/5xIYUrEFfUs/KAIXOJ1gQ50J)

</comment></comment></comment><comment><USER34> My favourite gotcha for Docker right now is the lack of ssh agent forwarding support with Dockerfile. The only solution appears to be to give the Dockerfile a passwordless build key, which is sorta okay for CI but a total hassle for individual developers.

</comment><comment><USER35> I find it bewildering that you ran docker in production for 6 months and yet you find that running your own docker registry a "complex" operation. Docker has its flaws, like any other technology, but running a registry took me all of 2 minutes on an EC2 instance. Kinda makes me wonder how much you really understand about a real docker workflow.

<comment><AUTHOR> Although this comment seems to be more focused on baiting, rather than constructive criticism, it points out that I have failed to justify my comments about Docker registry being overly complex, though I addressed this in another comment [1]. Either way, thanks for taking time to give your thoughts.

[1]: [https://news.ycombinator.com/item?id=9015752](https://news.ycombinator.com/item?id=9015752)

<comment><USER35> I've been using Docker in an end-to-end development to production environment for over 6 months now and was hoping to get some valid insight from your review. However mentioning something like that makes the article seem less credible (even though the rest of the article might have some valid points).

</comment></comment></comment><comment><USER36> Ignoring the obviously opinionated cruft and hyper-aggressive uber geek disdain, which appears to make up about 70% of this post, there are still one or two actual statements worth examining. Fwiw I run a small site, fifteen or so instances, and we've been using Docker in our deployment for about a year now.

> Lets say you want to build multiple images of a single repo, for example a > second image which contains debugging tools, but both using the same base > requirements. Docker does not support this.

Of course it does. It appears that it doesn't support it the way you think it should, but to say that you can't do it is misleading. A base image, and two images that pull from it with the different requirements will solve the problem. You apparently don't like that solution, but that is not the same thing as not having a solution.

> there is no ability to extend a Dockerfile

Yeah, this would be nice. Maybe they will add it. But it is hardly... not even close to... a make-or-break feature. Honestly I think you might just need to refactor your stuff, or perhaps Docker just isn't a fit for what you're doing.

> using sub directories will break build context and prevent you using > ADD/COPY

You mean if you include a bunch of stuff in subdirectories that you don't want uploaded to the demon. Again, man, not even close to make or break. You really need to log gigabytes to a subdirectory in your build context? There's _no other way_ you could set that up? We create gigs of logs too, but most of them are events that go to logstash and get indexed into ES. Our file-based logs go to mount points outside the container. We do have images we build using context, where we ADD or COPY multi-gigabyte static data files. Seems to work fine.

> and you cannot use env vars at build time to conditionally change > instructions

No, you can't. I'm not sure I would want to. I like the fact that the Dockerfile is a declarative and static description of the dependencies for a deployment. I don't think I want to have to debug conditional evaluation at build time. There are other ways to solve those problems, like refactoring your images.

> Our hacky workaround was to create a base image, two environment specific > images and some Makefile automation which involved renaming and sed > replacement. There are also some unexpected "features" which lead to env > $HOME disappearing, resulting in unhelpful error messages. Absolutely > disgusting.

First of all, what exactly is hacky about having a base image and two environment-specific images? I don't know what sort of makefile automation you're talking about, but we do some environment specific sed manipulation of configs at build time, and in some cases at container launch time. Sometimes that makes more sense than having two different versions of the container just to have a very slight change to the config.

Secondly... absolutely disgusting? Is that the sort of language you regularly use in technical writing? Oh, hey, look at the third paragraph: "If you expect anything positive from Docker, or its maintainers, then you're shit outta luck." I guess it is. The strike-out font was a nice touch, man. "I don't really mean this, but you can't help reading it!" Nobody's ever done that before.

> These problems are caused by the poor architectural design of Docker as a > whole, enforcing linear instruction execution even in situations where it is > entirely inappropriate

You're not talking about linear instruction execution. You're talking about grouping instructions into commited layers. I would much prefer the proposed LAYER command to conditional execution or branching, which is what I assume you mean by non-linear in your comment. But I don't find this to be a serious problem either. That seems to be a pattern with this post: in a year of using Docker to containerize all our services - in-house python code, Django, redis, logstash, elasticsearch, postgresql - I haven't run into these issues that are deal breakers for you. Again, you might want to try to refactor and simplify some of your image builds. It's better to have a few simpler containers talking to each other than to try to cram a complex multi-service deployment into one. But then, I don't know what you're doing, and maybe it's just not suited for containers. You seem to have a strong preference for VMs anyway, so do that.

> However the Docker Hub implementation is flawed for several reasons. > Dockerfile does not support multiple FROM instructions (per #3378, #5714 and > #5726), meaning you can only inherit from a single image.

This whole post is like a laundry list of Absolutely Critical Things Nobody Ever Needed. I can't imagine a situation in which you'd absolutely have to be able to inherit from multiple images. If you have that situation I would agree it's an indicator Docker won't work the way you currently want to do things. I do agree with you about the occasional speed issues on the hub. But they're giving it to lots of people for free, and to me for a ridiculously low price. If I need better performance I can always run my own registry.

> There are some specific use cases in which containerisation is the correct > approach, but unless you can explain precisely why in your use case, then > you should probably be using a hypervisor instead.

There are some specific use cases in which virtualization is the correct approach, but unless you can explain precisely why in your use case, then you should probably be using containers instead.

See what I did there?

> If your development workflow is sane, then you will already understand that > Docker is unnecessary.

I do like to read even-handed, unbiased reviews of technologies like Docker, even when I already use them. I like to have my world view challenged with an exposition of solid critical points. Maybe someone will write an article like that.

<comment><AUTHOR> Thank you for the honest feedback, this is the first post I've seen arguing the technical aspects of the article, thank you.

> The strike-out font was a nice touch, man

I've made it clear in other replies [1] that the comment was of poor taste, the strikethrough was intended to show that I was wrong to make the statement, but also not attempt to hide it from history. I have since moved it to the bottom of the article to draw attention away. To be absolutely clear, I admit I was wrong to make that comment.

You hold the opinion that most of the technical frustrations I mentioned are not deal breakers, for you these things don't matter, but to me they do. As I explained in other comments [2], my priorities are based on precision, perfection and beauty, not "getting the job done".

In my use case, Docker worked in production for 6 months and got the job done, but it left me feeling frustrated and dirty. As such, I'll refrain from responding to your individual technical arguments because we have a fundamentally different view on priorities and importance, and will result in both of us wasting our time.

However I've added a link to this reply in the article, as other users might find this rebuttal helpful. (If you would rather I remove your handle, let me know).

Thank you again for spending time writing this detailed reply.

[1]: [http://www.reddit.com/r/sysadmin/comments/2v4fqe/docker_is_f...](http://www.reddit.com/r/sysadmin/comments/2v4fqe/docker_is_fundamentally_flawed_useless_hype/cof88r8) [2]: [https://news.ycombinator.com/item?id=9015816](https://news.ycombinator.com/item?id=9015816)

</comment></comment><comment><USER37> Who knows better, has the field to himself! says this guy [https://www.youtube.com/watch?feature=player_detailpage&v=zO...](https://www.youtube.com/watch?feature=player_detailpage&v=zOpFCf3GWzg#t=206) translation here [http://www.rastko.org.rs/knjizevnost/njegos/njegos- mountain_...](http://www.rastko.org.rs/knjizevnost/njegos/njegos- mountain_wreath.html)</comment>


Morality and Abstract Thinking – How Africans May Differ from Westerners - <AUTHOR> http://www.amren.com/ar/2009/02/index.html <comment><USER2> That he just uses the term 'blacks' does give the article a more disturbing undertone than it should have.

Also I would like to hear an argument for this so called 'universal morality'.

</comment><comment><USER3> So this is how Hitler convinced that rest of Germany that it was okay to gas Jews. I guess anything is possible after you dehumanise your subject.</comment>


Help analyze Donald Rumsfeld's memos - <AUTHOR> https://www.muckrock.com/news/archives/2018/may/02/rumsfeld-snowflakes-crowdsource/ <comment><USER2> It seems they are all images - not OCR'd, and the task requested is to manually read and type summaries. That's useful but it seems like a good place to start would be to OCR it and provide a searchable copy.

<comment><AUTHOR> The call-to-action [0] in the submitted article is meant more for serendipitous crowdsourcing, so the image/scan is presumably enough for that usecase. The actual dump (i.e. "tranche") of memos is hosted on DocumentCloud, which has the underlying OCR data per page, and is searchable:

[https://www.documentcloud.org/documents/4357755-11-L-0559-Fi...](https://www.documentcloud.org/documents/4357755-11-L-0559-First- Release-Bates-1-912.html)

You can directly download the PDF (913 pages) here:

[https://assets.documentcloud.org/documents/4357755/11-L-0559...](https://assets.documentcloud.org/documents/4357755/11-L-0559-First- Release-Bates-1-912.pdf)

[0] [https://www.muckrock.com/assignment/help-explore-donald- rums...](https://www.muckrock.com/assignment/help-explore-donald-rumsfelds- snowflakes-30/form/)

<comment><USER2> Excellent, much more interesting! Thanks!

<comment><USER3> Oh thanks for pointing this out. I'll hit the Muckrock team up and see if we can get the text button in there.

</comment></comment></comment></comment><comment><USER4> The date submission form is broken in Chrome and won't let me type in anything that it perceives as valid.

Which is a shame because the one I found was really interesting!

<comment><USER5> Thanks for trying to help, and yes date picker needs work! Should accept typed dates in this format: 05/31/2018

To pick older dates you can scroll back to the oldest year, pick a random date, and then open it again and it will let you go back further. Very rough but it's a newly launched tool we're working quickly to improve.</comment></comment>


Ask HN: California highest possible income tax rate at 13.3%. - <AUTHOR>

I saw on news that the highest possible income tax rate in California is now 13.3%. That is huge and highest in the country. How will this impact startups/businesses specifically silicon valley ? <comment><USER2> As an international tax lawyer based in California, I can tell you the obvious: it is chasing people and capital away from the State of California.

This apparently is not obvious to our fine friends in Sacramento. Or the people who vote for them.

They seem to have a static model of human behavior: humans do not react to economic stimuli under their model, so if taxes are raised the humans glumly accept their lot and pay more.

Except of course when it is time to hand out government cookies. Then the model of expected human behavior is active. We expect humans to respond to handouts and subsidies. (I'm looking directly at the junk that our local and State governments do to entice the movie industry to shoot on location in California).

You get less of what you tax. If you don't like rich people, tax them. They will go away. (They will not be less rich). If you don't like corporations, tax them. They, their capital, and their jobs will go away.

You get more of what you reward. Insert your favorite examples here.

"We're California! Everyone wants/has to be here!" This works until it doesn't. Then it craters amazingly fast. Kind of like RIMM.

</comment><comment><USER3> It's one reason I left for Washington many years ago. It's great getting 10% more money in an area with lower Cost of Living.

<comment><USER4> Yeah, right... By the way, how is all that rain and gloomy weather working out for you?

<comment><USER5> _Yeah, right..._

Do you not believe that darkxanthos moved to Washington?

Do you not believe that darkxanthos moved to Washington (partially) because of the tax situation in California?

Do you not believe that darkxanthos enjoys getting keeping 10% more of their money in an area with lower cost of living?

</comment></comment></comment><comment><USER6> I'm getting the hell out of California. Flying to Austin next weekend with the GF to go house hunting.</comment>


A Near-Ultrasound (NUS) Data Link - <AUTHOR> https://www.bunniestudios.com/blog/?p=5847 <comment><USER2> In almost ten years of research and experiments I have developed a data-link that uses a single LED for both reception and transmission: [https://github.com/gioblu/PJON/tree/master/src/strategies/An...](https://github.com/gioblu/PJON/tree/master/src/strategies/AnalogSampling)

2 devices with a single LED on each can establish half-duplex wireless communication based on light impulses. I think that is a much more efficient and cheap way to transport configuration settings or even an entire program.

<comment><USER3> I suppose the LED flash on the phone could be modulated for this. Eliminating the configurator-hardware is important for this kind of application.

</comment></comment><comment><USER4> I remember seeing an app once that was used in stadiums and other public venues that could be used to create a distributed and coordinated lightshow with the audience smartphones. How it worked is that the audience would activate an app, put their phones up in the air, and a loudspeaker in the stadium would emit ultrasonics that the phones would pick up. The phones would then turn their screens on or off, and by using different frequencies, you could switch up their colors or selectively turn on only a couple of phones.

Ultrasonics are a really cool and easy way to have short range transmission of data, or even broadcasting with a loudspeaker. The data rate may be low, but it's perfectly fine for stuff like toggles, or transmission of commands.

<comment><USER5> There are hearing aids which use ultrasonics to send settings from a smartphone app. I thought that was a pretty neat solution given the device has strict constraints on size, weight and battery life. Traditional hearing aids can be fiddly to adjust even for users with good vision and fine motor skills.

</comment></comment><comment><USER3> The use of this for setting configuration options is absolutely brilliant. I've been looking at cheap ways of doing this for years. That you would publish this patent-free is fantastic. Thanks!</comment>


Show HN: cereal – a cross-platform C++11 serialization library – 1.0 released - <AUTHOR> http://uscilab.github.io/cereal/

<comment><AUTHOR> cereal is a serialization library much like Boost serialization, but written in modern C++ (C++11) with an emphasis on being easy to extend. It currently supports binary, XML, and JSON serialization and works with GCC 4.7.3, clang 3.3, or MSVC 2013 (or newer).

cereal natively supports pretty much everything in the standard library, so getting started with it is fairly easy. If you have been using Boost and want to give it a try, in many cases you can do so by only changing a few lines of code.

The full release notes can be found on GitHub.

[https://github.com/USCiLab/cereal/releases/tag/v1.0.0](https://github.com/USCiLab/cereal/releases/tag/v1.0.0)

<comment><USER2> I have to admit I haven't done much serialization in the last large number of years but I am working on a game design and was thinking that serializing the levels would be a good way to store it until they are loaded. Then after the user plays, save the level so they could go back and play it again, but pick up where they left off.

This looks like a clean implementation.</comment></comment>


Nutrition - <AUTHOR> http://blog.zacharyvoase.com/2010/07/03/nutrition/

<comment><USER2> Has there ever been reasonable research done for the whole "paleo diet" hullabaloo? I know that nutritional science generally is a bit patchwork (hard to do rigorous long-time studies), but isn't the cave man diet still a bit of a fringe topic? Last time I checked this, it seems that the general opinion was that it's eating too much that's most of the problem, not eating the wrong stuff (gross simplification, of course).

That's my main problem with nutritional advice, once it goes beyond "don't eat too much": Not enough scientists. If the author of your specific diet is a doctor or dietist at all, it's mostly the work/opinion of a singular person.

I sometimes despair at the continuing growth of the self-help section(s)…

</comment><comment><USER3> Disagree that peanut butter is to be considered "shit." It's high in calories, yes, but contains plenty of protein and good fats plus a bunch of useful micronutrients. As long as you buy a brand without added sugar + vegetable oils, it's quite healthy.

</comment><comment><USER4> I don't completely agree with you on the fruit side, as I think most of your vitamins should come from fresh fruits, but the rest puts the basics in nicely!</comment>


Ceramic – Turn Lisp web applications into desktop apps - <AUTHOR> http://ceramic.github.io/ <comment><USER3> This certainly looks interesting, but it might help generate interest if the landing page addressed two questions: what is the application size overhead (how large is a hello world app) and what is the app startup overhead.

I used to make standalone apps from SBCL Common Lisp, and they were not too large (even though SBCL has no tree shaker unused code remover).

<comment><USER4> I agree final app size would be a further selling point for me too. I am glad to see Lisp, CL, in the headlines other than clojure. I guess the ubiquity of JS has lead to the possibility Ceramic offers due to Electron. Slightly, OT, but I am reading 'The Handbook of Neuroevolution Through Erlang', and I am waiting to learn enough Erlang to jump over to using LFE (Lisp flavored Erlang) mid-book. @mark_l_watson, I started with your 'Common Lisp Modules:..' book, and now I am hooked on AI, NN and Lisp. Thanks!

Rob

<comment><USER3> Thanks! Richard Stallman asked me several years ago about releasing my old Lisp book under a FSF documentation license, but I can't find my old manuscript files. Maybe I will ask my wife to re-type it all.

<comment><USER5> What about crowdsourcing the job? I'm sure people would be willing to help.

</comment></comment></comment></comment><comment><USER6> Can we PLEASE just work on writing a decent native GUI library for lisp? Making QT work better? Something?

<comment><USER7> You are more than welcome to work on it and submit it to HN. However, please refrain from being gratuitously negative in this forum; someone just spent a lot of time and effort into making something, and your comment - which took less than a minute to write - is purely negative and adds nothing to the discussion.

<comment><USER8> It is entirely legitimate to point out that somebody the submission is going in the wrong direction, yes they spend a bunch of time on it, but that is sunk cost and better they not waste any more.

GP was to the point, but not mean and added something to the discussion (even if you disagree with it). You, however, were rude.

</comment></comment></comment><comment><USER9> Heh weird. 15 years ago my job was porting apps the other way. Turning lisp desktop apps into lisp web apps with cl-http. Of course that was hard. Turning a web app into a desktop app is just a matter of embedding a browser. The other way around requires work.

</comment><comment><USER10> This is a really cool/interesting way of packaging an entire app. I never even thought to have a CL backend in a separate process that you could communicate with via HTTP. I've done the same thing (browser, embedded lisp) using nanomsg, but this seems a lot more straightforward.

Good work =]! I also really need to look more into Electron. I've only used node-webkit (before it was NW.js).

</comment><comment><USER11> If a given language you enjoy can run a web server, you could potentially take advantage of Electron. This of course includes Go, D, C#, Java, Clojure and plenty of other languages everyone loves. Not telling everyone to do this for every type of application though, but it is definitely not impossible to approach making a desktop application with web technologies.

</comment><comment><USER12> Is there any reason that this wouldn't be able to work with another language? If the interface is an HTTP port, it seems like this isn't necessarily tied to Common Lisp.

<comment><USER10> Yes, you could rebuild the project in any language if you wanted.

Ceramic opens an HTTP server (in lisp), starts electron (using a shell command), communicates to the electron process via streaming, then electron sends back HTTP requests to the lisp process.

However this is tied to Common Lisp because the containing project itself is built in Common Lisp and can't be switched out without completely rebuilding in another language.

</comment></comment><comment><USER13> The links to Electron and Atom point to this page. Can someone provide correct links please?

<comment><USER14> [http://electron.atom.io/](http://electron.atom.io/)

</comment></comment><comment><USER15> Why don't use haxe and openfl/nme and transpiling lisp code in haxe?

<comment><USER16> What do you reckon the benefits would be over this solution?

</comment></comment><comment><USER17> How much work it is to extend Electron to create the same thing but for a different language i.e. "Turn Haskell/Python web applications into native desktop apps"?

<comment><USER18> Along the same lines - how hard would it be to let Electron create more native widgets instead of just Window, Menu and BrowserWindow.

<comment><USER16> I'd be stoked if something like React Native (or indeed, React Native itself) landed for desktop development.

I guess I'm not alone in thinking so: [https://github.com/facebook/react- native/issues/247](https://github.com/facebook/react-native/issues/247)

</comment></comment></comment><comment><USER19> A "app" running in a webview on a desktop is NOT "native". A Swing app is not native nevermind these web apps running in chrome.

<comment><USER8> A native app is one you download and execute on your computer. In reality it doesn't matter much what gui toolkit you write it in, there is nearly always going to be some xml and styling involved - GTK is native on Ubuntu (I hope you will grant me that), but programs written in it typically uses glade files to design the gui and load and bind event handlers at runtime. Glade is XML.

.net uses the native win32 gui toolkit - but you typically build it WPF, which is XML, styled with XML.

On mac? plists - which is you guess it XML (I have no idea what, if anything, you style a mac app with).

So basically the three biggest platforms use XML to bind their guis with - <USER2> there isn't much difference between XML and HTML. Granted when you design XML for guis it tends to be nicer than if you wrangle HTML into that role but this is a programmer, not a user, issue.

<comment><USER20> as JayVanguard already pointed out native means another thing. but putting that aside.

You are confusing what HTML and XML are if you think they are similar. XML is a way to encode data, validate it conforms to a schema, query it, etc. HTML is more than the surface syntax. It includes an schema and semantics (the DOM, the CSS OM, the boxing model, etc). Using XML as a declarative layer on top of their UI, as android does _, does not make it similar to writing HTML because of the completely different semantics associated with it.

_ Android takes all the xml layouts and compile them and expose them through the R(esource) class.

<comment><USER14> I see more than one person on this thread who thinks native means "runs native machine code" and more than one person who thinks it means "looks like it was built with the native GUI library" so the term is ambiguous. Before iOS app store, I think it was more common to mean the former, so it may be related to that.</comment></comment></comment></comment>


Investigating counterfeit MicroSDs - <AUTHOR> http://www.bunniestudios.com/blog/?p=918 <comment><USER2> Reminds me of the scene from Blade Runner where Deckard checks a snake scale.

</comment><comment><USER3> I first ran into this issue when I bought my PSP. The counterfeits work just fine but most of the time don't have the advertised storage and also sometimes don't format correctly.

</comment><comment><USER4> When some friends come back from China, they bought a bunch of kingston pen drives that were all the have. 8Gb was the largest one at the time... they got the 8Gb for like $5 each.

of course it could only store 256mb... playing later with it i noticed that the chip would max out on the number of sectors when asked. so i had a bunch of pen drives with 9.9TB partitions, which was the maximum i could partition with my kernels.

<comment><USER4> :s/all the have/all the rave back then/

</comment></comment><comment><USER5> Reposting a story form 02/2010? Why?

<comment><USER6> Was there an original posting (you call this a 'repost')?

I enjoyed it a lot, actually. Not that I've had much dealings with counterfeit hardware but I can imagine that anybody that is into hardware hacking on a slightly larger scale has to worry about this.

<comment><USER7> It was posted at least once, about a year and a half ago: <http://news.ycombinator.com/item?id=1128711>

Personally I don't mind reposts -- submitters usually have the best of intentions, and this story didn't get much play on HN the first time. But with older stories, a date in the title is a nice touch. I ended up reading this thinking it was an update on Bunnie's original post.</comment></comment></comment>


Pirates? Hollywood Sets $10+ Billion Box Office Record  - <AUTHOR> http://torrentfreak.com/pirates-hollywood-sets-10-billion-box-office-record-121231/

<comment><USER2> This same pattern plays out in so many different places.

1\. Massive concentration of power (in this case, the entertainment industry. I think 5 corporations control 96% of commercial media [2] - TV/Movie/etc.)

2\. Artificially powerful threat (in this case "pirates") always JUST about to destroy/harm/impact/irreparably damage #1.

3\. #1 is justified in fighting a war on #2 -- physically, legally, financially, whatever.

4\. For all intents and purposes, the stronger #2 (the "threat") seems, the easier job #1 has justifying ANY recourse. If #2 (the threat) isn't that strong on its own, I would imagine it be in the best interest of #1 to make it appear so and even help bolster it if necessary.

5\. There is so much rhetoric, confusion, mix-facts, misreporting and fuzzy data being seeded and organically produced on the topic of "#1 vs #2" that it is impossible to cleanly and clearly make heads or tales of any of it -- well #1 has a point, but so does #2, but #2 is doing something illegal, but #1 is also doing illegal things... ad infinitum.

6\. #1 continues to pump energy and complexity into #5 which engages, exhausts and overwhelms us until it becomes noise and we learn to tune it out. Think of a person standing in the middle of New York as opposed to the middle of a corn field -- our brains are wired to tune out repetitive audio and visual queues -- we are tuned to spot differentiation. #1 doesn't have to _hide_ anything per se, it just needs to amplify it and muddy the noise enough that it becomes repetitive.

There are examples of this same strategy played out over and over and over again all over the world in all nooks and crannies of our lives - oil, pharmaceuticals, electronics, governments, publishers, music, farming/food, etc.

I would expect this strategy is as old as mud, probably starting with its roots in false-flag[1] campaigns in the annals of history, but it works and it has been refined and continues to work -- just like the format for romantic comedy movies continues to work even though we've seen it 100,000 times and the format for super-hero movies works.

We are incredibly manipulatable. Our convictions are disturbingly fragile and the worst part of it is that most of us are lead to believe exactly the opposite and completely reject the possibility that they are.

I think _that_ is what makes us so susceptible to this type engineering and why it is so successful.

[1] <http://en.wikipedia.org/wiki/False_flag>

[2] [http://www.fastcodesign.com/multisite_files/codesign//post-i...](http://www.fastcodesign.com/multisite_files/codesign//post- inline/IllusionofChoice-1.jpeg)

<comment><USER3> You're buying into and regurgitating the myth that the world reduces into "good vs. evil" and that the difficulty involved in making sense of what's going on is not because the world is inherently complex but because somebody is pulling the wool over your eyes. "Wake up, sheeple!"

I mean, really: if you're going to come so close to having a clue, why not just take that one extra step? Why does it always have to come back to declaring indifference a sin foist upon people by the Great Satan of the week?

<comment><USER2> It's a good point and unfortunately one I figured would get confused with what I wrote so I hummed and hawed about writing anything.

I don't think you can distill the world down into "Good vs Evil" -- it would be easier if you could.

What I _do_ think is that power has an innate tendency to protect itself and concentrate and the mechanisms by which it does this _anywhere_ are all strikingly similar -- i.e. if you put them all in a pot and boiled off the water, you would maybe 3-5 different ways for doing this.

</comment></comment></comment><comment><USER4> The problem with film piracy isn't box office records- blockbusters will always generate great revenue, and this year was one full of blockbusters.

The problem is that independent filmmakers are hit harder by piracy than the blockbusters. And piracy causes Hollywood studios to be less likely to back indie films, causing them to instead favor low hanging fruit, projects with mass appeal that will generate the most revenue regardless of piracy, instead of independent projects that may be more bold and creative, but would have more to lose from piracy. See here:

[http://articles.latimes.com/2010/sep/28/business/la-fi-ct- fi...](http://articles.latimes.com/2010/sep/28/business/la-fi-ct-film- pirate-20100928)

<comment><USER5> That's not always the case. For example, the independent movie "The Man From Earth", gained a lot of attention that it otherwise wouldn't have, due to piracy, leading to the producer thanking the pirates:

[http://torrentfreak.com/producer-thanks-pirates-for- stealing...](http://torrentfreak.com/producer-thanks-pirates-for-stealing-his- film-071113/)

<comment><USER6> That's one movie really worth watching :)

</comment></comment></comment><comment><USER7> I'd love to know why movies are so incredibly expensive on iTunes, and whether anyone's experimented with pricing movies at €5 rather than the current price of €12+.

At 5 Euro, for me the price is an instant purchase, no thinking necessary. Not so at €12 or more.

I hope it's not the case, but I wonder whether there are so few people that pay for movies at _any_ price that the studios have concluded it's just not worth it, and so keep the higher prices. Or, alternatively, there are enough people that _do_ buy at the €12 point, again not making it worth the time to lower the price.

In conclusion: trying to work out pricing points hurts my head.

<comment><USER8> I agree.

I "rent" 3-4 movies using Amazon Instant Video every month at ~$5 per pop. Every time I do, I think "do I _really_ want to spend $5 on this?" and I'll often just go watch whatever is recommended on Netflix (or if it's just me, SportsCenter) instead. $2 is definitely the "instant rental" price point for me.

And please none of this "Rent for $3.99 or rent for $4.99 in HD". Just give me one price and the best quality version that you can.

(For reference, I use a Roku)

<comment><USER9> > _And please none of this "Rent for $3.99 or rent for $4.99 in HD". Just give > me one price and the best quality version that you can._

Why not? Are you happier if they instead say "Rent for $4.99" and nothing else?

Most products come in multiple price points, do you also dislike the fact that there are cheap/expensive models of computers, cars, TVs...

<comment><USER8> I would, yes. As it stands, I only see the lowest price for each movie (and I'm not interested in this lower price). I'm only interested in the "HD" price, and getting to that info takes an extra click to the movie's info screen (and then I need to go back to the listing screen once I've seen it).

This might sound like "white people problems" but it's annoying and hurts the experience.

<comment><USER9> The entire subject is somewhat "first world problems", so ignore that.

So really your issue is with UI, maybe they could allow you to change which price point is shown to you? Because reducing down to a single price point, sure it might be good in that they're playing less mind games, but if you end up paying higher prices it surely isn't a good change.

</comment></comment></comment></comment></comment><comment><USER10> If Hollywood wants to make MORE money. Let me watch NEW movies at home.

Why at home?

1) Bathroom breaks

2) People's heads aren't in the way

3) No blurry screens

4) No crappy audio

5) Snacks I want

6) Quieter. No kids crying or cell phones, etc.

I am willing to spend the same price. I hate going to movie theater these days... I just wait for the DVD (or Bluray).

<comment><USER11> The problem with this is they can't enforce the amount of people watching. It could be just you or maybe you and 10 friends.

<comment><USER12> There is a technical solution to that, for example one based on the patent mentioned here:

[http://www.businessinsider.com/microsoft-patent-uses- kinect-...](http://www.businessinsider.com/microsoft-patent-uses-kinect-and- mobile-cameras-to-count-people-in-your-living-room-2012-11)

EDIT: Hey, don't shoot the messenger.

<comment><USER11> Exactly what I want in my life. A way for companies to track me and my friends inside my own home.

</comment></comment></comment></comment><comment><USER13> When the RIAA and MPAA claim that their profits suffer from piracy, one should be skeptical. People have been sharing files on the Internet for decades at this point -- what kind of company can lose money for decades without going bankrupt? There are industries that were bankrupted by the Internet, like the film camera and development industry. The MPAA is just greedy, they always have been; they are the ones stealing from artists:

<https://en.wikipedia.org/wiki/Hollywood_accounting>

<comment><USER14> "When the RIAA and MPAA claim that their profits suffer from piracy, one should be skeptical. People have been sharing files on the Internet for decades at this point -- what kind of company can lose money for decades without going bankrupt?"

Both are not one company. They are multiple companies working together. They didn't go out of business because they mostly changed with the new trends (Songs can now be purchased for 99 cents and streamed, etc).

"The MPAA is just greedy"

Isn't that the pot calling the kettle black. The MPAA may be greedy, but the hordes of people taking music and giving excuse after excuse as to why they shouldn't have to pay for it is pure greed (and entitlement).

"they are the ones stealing from artists:"

Sigh. I'm tired of hearing this. Artists have many ways to promote their stuff online. They don't have to sign a contract, but they choose to.

It's never been easy to make money as an artist...and piracy makes it even more difficult (especially when you don't have the backing of a major label).

I guess they don't deserve to make a living...and instead entertain you to your exact specifications.

<comment><USER15> >the hordes of people taking music and giving excuse after excuse as to why they shouldn't have to pay for it is pure greed (and entitlement)

I don't know. If you want to separate 'greed' and 'entitlement' I would say that someone pirating a dozen movies is certainly full of entitlement but I wouldn't say they're any greedier than the person that buys the same dozen movies.

</comment></comment></comment><comment><USER16> The MPAA & RIAA are blind. They'd make a LOT more money if buying the real thing was easier than 1) spending time hunting for it online; 2) waiting for it to download; and 3) if it weren't overpriced. Same for games. $60 for a damn game? Valve's shown that $5 prices lead to massive increases in sales over $20+.

<comment><USER17> I think you're oversimplifying. Millions of people line up to buy the latest Call of Duty game at $60, but I don't think the market for those games suddenly doubles if you sell it at $30. Especially when many of those $30 buyers were presumably already going to buy it at $30 anyway in a few months.

<comment><USER7> _I don't think the market for those games suddenly doubles if you sell it at $30_

Don't forget the support costs as well; they end up with double the number of people to support, but for the same amount of money.

<comment><USER18> Steam has also shown that if the price is good enough many people will buy it and then never play it.

</comment></comment></comment></comment><comment><USER19> When adjusted for inflation, it's not a box office record; that honor belongs to 2002:

[http://movies.stackexchange.com/questions/2386/annual- revenu...](http://movies.stackexchange.com/questions/2386/annual-revenue-for- film-industry-by-year-adjusted-for-inflation)

</comment><comment><USER20> That's just box office though, the more interesting figure is total revenue including disc sales etc.

<comment><USER21> And legal revenue, I'd love to see that.

</comment></comment><comment><USER22> But think of how much _more_ they'd be making if we couldn't get the movie at home and had to go to a theater to watch it.

I'm not even sure if I'm serious or sarcastic on this one.

</comment><comment><USER23> So, what this is really about is not the destruction of the movie business and western culture, its all about the movie business thinking its not making enough money. It should be making more. Making great profit is not enough. Thay must have more.

Well, me too. Can the government get behind that please?

</comment><comment><USER24> "for the first time in history domestic box office grosses surpassed $10.7 billion"

As the article says, especially when taking inflation into account: The End Is Near for Hollywood. All due to piracy.

<comment><USER25> All due to piracy? If you look at the 10 top grossing films of 2012, we have: 3 comic book movies (The Avengers, The Dark Knight Rises, and The Amazing Spiderman) where the characters have already had several movies, 3 movies that are either the 3rd or 4th in an original series (Madagascar, Ice Age, and MiB), and 4 based on books (Twilight, Skyfall, The Hobbit, and Hunger Games). Maybe people are tired of rehashes of the same IP over and over again, especially when they spread one story over several movies, just to get more money out of you? (I'm looking at you, The Hobbit)

<comment><USER20> If your argument was valid, then the top 10 grossing films would surely _not_ be the ones which are recycled IP.

<comment><USER25> Not necessarily. Only if you assume the people that go to movies are a good representation of people in general, which I doubt is true. Considering how important the teenage demographic is (why fewer movies are release with an R rating nowadays, with some movies getting re-edited to go from an R to PG-13 rating), I'd bet teenagers are over-represented from a few years ago. And you'd have to assume any time someone goes to the theaters they pick the best movie for their tastes, not just the "safe bet" on a sequel or the one they've seen the most advertising for.

Top 10 grossing was probably a bad pick, but I don't know a better way to measure the general output of movie studios without considering every movie released, even those shown in like 2 theaters worldwide.

<comment><USER26> * I'd bet teenagers are over-represented from a few years ago.*

Teenagers are a smaller portion of the moviegoing market than they were 10 years ago. Smartphones, videogames, and various other distractions have cut down on their numbers. [ _See_ Variety, L.A. Times, and any other entertainment-focused news source.]

 _And you'd have to assume any time someone goes to the theaters they pick the best movie for their tastes, not just the "safe bet" on a sequel or the one they've seen the most advertising for._

That has always been true of movies. But as it turns out, many people's tastes align with IP they are already familiar with: they know the characters, the plots, etc., and so it is easier for them to judge whether the movie in question will satisfy their interests.

</comment></comment></comment></comment></comment><comment><USER27> Big box office numbers don't really prove or disprove much.</comment>


Green laser pointers can emit dangerous levels of infrared radiation - <AUTHOR> http://www.technologyreview.com/blog/arxiv/25597/?ref=rss

<comment><USER2> Any laser will damage your eyes irregardless if the infra-red.</comment>


Apple Sees New Money in Old Media - <AUTHOR> http://online.wsj.com/article/SB10001424052748703405704575015362653644260.html?mod=WSJ_hps_LEFTWhatsNews <comment><USER2> "Apple has also been planning a revamp of its iTunes music service by creating a Web-based version of it that could launch as soon as June, say people familiar with the matter. Tentatively called iTunes.com, the service would allow customers to buy music without going through the specialized iTunes program on computers and iPhones."

I was just thinking about this earlier today. If Chrome OS pans out, Apple will almost certainly want iTunes available on it (and other devices that don't have iTunes but do have Internet access).

</comment><comment><USER3> The article is behind a pay wall.

<comment><USER4> ...new money in old media indeed.

</comment></comment><comment><USER5> Full article (via google, click on search result):

[http://www.google.com/search?hl=en&q=Apple+Sees+New+Mone...](http://www.google.com/search?hl=en&q=Apple+Sees+New+Money+in+Old+Media+wall+street+journal&aq=f&aql=&aqi=&oq=)

</comment><comment><USER6> clickable: [http://online.wsj.com/article/SB1000142405274870340570457501...](http://online.wsj.com/article/SB10001424052748703405704575015362653644260.html)</comment>


The Surprising Subtleties of Zeroing a Register - <AUTHOR> http://randomascii.wordpress.com/2012/12/29/the-surprising-subtleties-of-zeroing-a-register/ <comment><USER2> _" You can't make an xor instruction take, say, 0.6 cycles. But feel free to try."_

'Easy': clockless CPUs ([http://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchrono...](http://en.wikipedia.org/wiki/Asynchronous_circuit#Asynchronous_CPU))</comment>