The Statistical Dominance of Dr. Seuss - <AUTHOR> http://priceonomics.com/the-statistical-dominance-of-dr-seuss/ <comment><USER2> I know it's not very scientific, and therefore I can understand the article leaving it out, but a big reason for this dominance could be attributed to consistency of _quality_.

I have a 5 year old daughter and an 8 month old son. We read at least 20 minutes a day with them and sometimes more. That adds up to a _lot_ of books over 5 years, especially when you consider that some of these books only take 5-10 minutes to read.

The truth is most children's books are "bad" from an adult perspective (not that the kids care). The art is amateurish, bland, or uninspired. The stories are cliche and boring. I know it sounds silly to say such things about children's literature...

Until you pick up some of the best work by Dr. Seuss. It's like comparing Pixar to Saturday morning cartoons. Seuss' illustration is original and engaging. The Wordplay is fantastic. The stories' morals are layered and complex (Every entrepreneur and consumer on this board should read The Star Belly Sneetches immediately, if it's been more than a handful of years) which is crazy considering the simplicity of it all.

It's not all gold, Dr. Seuss' body of work is massive and naturally there are hits and misses. But the hits are ingenious and work on multiple levels for multiple audiences. And the misses aren't _bad_. It's like your straight-A student bringing home a B.

He's not the only game in town, of course, for timeless and truly ageless (ages 1-death) literature. Shel Silverstein gives him a real run for his money (and has a wicked subversive streak that Seuss is lacking, if that's your thing).

Anyway, as a parent the durability of Seuss' body of work is easy to understand with the sociology and marketing analysis hijinks. The statistical dominance is quite impressive, and is surely a result of these multipliers acting on a product of unmatched quality.

<comment><USER3> >dominance could be attributed to quality. The truth is that most children's books are "bad"

I couldn't agree more. We get about ten to fifteen children's books a week from the library and I'm utterly amazed that most have been published. The ones that are part of a more common series are usually much better. The llama llama mad at mama sort of books. Dr Suess definitely falls into this higher quality bracket. Many times I have wondered if they spend more time writing the about author section then they do the book. I see this as a market that could use some serious improvement.

</comment></comment><comment><USER4> Without wishing to detract too much from the greatness of these books it feels like they should be out of copyright.

But no, we can look forward to another 40 years of Random House rent-taking and calendar - 'tie-in's before that happens. Sigh.

</comment><comment><USER5> Oh, the jobs people work at! Out west near Hawtch-Hawtch there's a Hawtch- Hawtcher bee watcher, his job is to watch. Is to keep both his eyes on the lazy town bee, a bee that is watched will work harder you see. So he watched and he watched, but in spite of his watch that bee didn't work any harder not mawtch. So then somebody said "Our old bee-watching man just isn't bee watching as hard as he can, he ought to be watched by another Hawtch-Hawtcher! The thing that we need is a bee-watcher-watcher!". Well, the bee-watcher- watcher watched the bee-watcher. He didn't watch well so another Hawtch- Hawtcher had to come in as a watch-watcher-watcher! And now all the Hawtchers who live in Hawtch-Hawtch are watching on watch watcher watchering watch, watch watching the watcher who's watching that bee. You're not a Hawtch- Watcher you're lucky you see! — Dr. Suess

I've seen this referenced more than once as a programmer.

</comment><comment><USER6> How and why does J.K. Rowling count as 'children's books'?</comment>


Some of the Ads Russia Paid to Promote on Facebook - <AUTHOR> https://www.huffingtonpost.com/entry/russian-facebook-ads-examples-election_us_59fa16d1e4b01b474047d7a5 <comment><USER2> <Russians masqueraded on Facebook as both a pro-Islam "United Muslims of America" group and an anti-Islam "Heart of Texas" group, then scheduled opposing rallies on the same day in the same area of Houston.

Followers of both Facebook groups dutifully attended, then clashed with the counter-rally across the street:>

<comment><USER3> sounds almost too easy

</comment></comment><comment><USER4> Interesting that almost every ad copy reads like it was written by a non- native speaker. You would think that if it was a well funded program, they would at least have it written by an expert.

<comment><USER5> Good point.

But then isn't our whole society going that way with texting, Twitter character limits and things like "LOL" ?</comment></comment>


Ask HN: What is the next user interface paradigm? - <AUTHOR>

How should we revolutionize the way that we use our devices' screens? <comment><USER2> Questions like this are exactly why Quora has gotten so popular</comment>


Ask HN: Security vs. commodity? - <AUTHOR> Would you allow SSH access to your server to a third party tool that would make deployment procedure easier for you and/or your team?<p>Would you bother setting up proper permissions (i.e. have the separate user that only has rights to execute the deployment scripts and nothing else) or would you rather to set it up as quickly as possible? <comment><USER2> The combinatorial space of all the considerations that could apply based on the absence of information in the question makes nearly all answers inapplicable...

...or, what are the details of your situation?</comment>


Graphene conducts electricity ten times better than expected - <AUTHOR> http://www.nature.com/news/graphene-conducts-electricity-ten-times-better-than-expected-1.14676 <comment><USER2> This type of result is why the buzz (at least in academic circles) about the value of "computational research" as a "third pillar" of research is wrong- headed. Running computer simulations is a great way to compare theory to real- world data or to extrapolate out the implications of a particular theoretical idea, but it's still just another tool of theoretical research, and not a separate type of research in and of itself. The computational results are only as good as the model, which is all theory.

<comment><USER3> From my experience, there seems to be two theoretical/computational research scientist types: the one who doesn't really care about the numbers but focuses on equations and what they really tell us, and the one who only cares about numbers. The latter is dangerous.

<comment><USER4> Indeed, in computational chemistry there seems to be two classes of theorists. The first group attempts to simulate a realistic system using high performance computing and achieve, typically, agreement with existing experiments. The second group tries to think through problems and hopes to provide explanations that don't need the brute force approach. The former model often lacks both creativity and quantitative accuracy. The latter might be impossible for some chaotic or complex systems. I have to agree that having "theorists" who simply are trying to compute some quantity to match existing data must do so very carefully.

</comment></comment></comment><comment><USER5> Interesting result. Even more if they can replace a metal mask layer with this, although given the requirements for growing it I'm guessing it would be a huge challenge to put it on top.

I like the implication that there is less difference between photons and fermions than we think.

<comment><USER6> I think the analogy used between the electron and photon travel was just that, an analogy with no real world implications. And that other statement (at the end of the article) about new physics was made too quick.

From the looks of it, they've just found that the mechanism that produces the drift velocity of electrons in normal wires has no relationship to the way electrons travel in these nanoribbons of graphene...

Their models probably used or were related (or based on) bounce and repel type algorithms that do not apply fully to this very special edge-case scenario.

In fiber optic cables photons travel close to the speed of light (50% of it or more) by reflection and the waveguide effect.

In normal metal wires electrons travel something like a few mm or cm per second, minute, or even hour (averaged out) - because they are all bouncing against one another.

In these nano-wires / ribbons there is little electron bounce, and some wave- guide like travel channels present... It has properties of both metal wires and fiberoptics... But the electrons are still typical electrons.

At the end of the day, there is still a fundamental difference between packets of energy (that some say are nothing more than vibrations traveling through whatever dimension) and elementary particles.

Sad, but probably true.

<comment><USER7> If electrons only traval a few mm or cm a sec how can I ping a server in Europe an fractions of a sec? I know much of the internet is fiber but surely there is a lot of copper there to. Could you explian?

<comment><USER6> You have to distinguish between "Electron Travel" and "Signal Propagation".

Take a 10 ft plastic pipe of the same diameter as ping-pong balls.

Fill this pipe from start to end sequentially and fully with ping-pong balls.

Now stick your finger in one end.

While you only moved the ping-pong balls a few inches, almost immediately a ping-pong ball will come out the other end... The "signal" "traveled" at a much faster speed than the actual ping-pongs.

</comment></comment></comment></comment><comment><USER8> I _always_ love when experimental data does not confirm the theory. Confirming theories is boring.

<comment><USER9> If experimental data does not confirm the theory, you need a better theory.

If experimental data _does_ confirm the theory, you need a better experiment!

</comment></comment><comment><USER10> This research is very exciting. Hopefully we will soon start seeing graphene being used to implement microprocessors, for massive performance gains, and possibly other technologies will follow suit. I can't help but feel like this is start of the leap in technology we need in order to become more like futuristic human societies in science fiction that have more advanced technology which, to us, seems like it can only live in science fiction. Yet it's important to keep in mind that this same thing was said about submarines as well as other technologies which have been invented since the publication of the works of fiction which contain them, but were not even thought of at the time, or at least were non-existent. I'm excited to read this article and see what breakthroughs we may have had.

<comment><USER11> I doubt we'll see "massive performance gains" from the very first version of such a chip. The gains will come mostly the same way we saw Moore's Law in silicon. So we'll get 5Ghz graphene processors, then 7Ghz ones 2 years later, then 10 Ghz 2 years later, and so on, until we reach TerraHerz a couple of decades later.

Even if we do see somewhat big gains initially, it will probably have the price point to match, like we saw with SSDs, which were ~3x faster than HDD on average, but 10x more expensive per GB.

</comment></comment><comment><USER12> Expect to see technology featuring this new breakthrough soon __.

 __10-15 years.

</comment><comment><USER13> Something that I've been wondering lately but I haven't looked around to see if it's simple or possible is that nobody talks about it the material is reciclable or will it just fill the dumps with more eletronic trash that will polute on forever...

Besides that I really look for the future of the tech :)

<comment><USER14> It's Carbon. Sticking it in the ground is a net pollution win. See also "carbon capture and storage".

<comment><USER15> My inner prognosticator envisions claiming a carbon sequestration tax credit for running an underground data center containing graphene components...

</comment></comment></comment><comment><USER16> I thought the problem was them trying to _slow down_ electricity in graphene?

<comment><USER17> Maybe if you're trying to turn it into a semiconductor or something?

</comment></comment><comment><USER18> How does this conductivity compare to something like gold or copper?

<comment><USER19> Way better! Graphene acts almost like a superconductor at room temperatures though.

</comment></comment><comment><USER20> I'm glad to see Walt de Heer get some publicity. He's been responsible for a lot of the seminal work in the field.

</comment><comment><USER21> Graphene is mentioned every 6 months in articles and magazines I read and I cant remember how long this has been going on. Same goes for quantum computing.

I really hope at some point it will actually become a reality. The skeptics at the bottom of article dodnt believe graphene will work for digital applications.

<comment><USER22> quantum computing might become reality faster than you think. the next gen d-wave with 256 qubits has the potential find a commercial niche im super computing. they already have demos where a combo of d-wave and classical supercomputer can perform some annealing tasks much faster than classical only.

<comment><USER23> There was a recent article here on HN that seemed to debunk the d-wave machines, that showed that a classic (non-quantum) algorithm was probably the best candidate for the results the d-wave produces.

In light of that, true quantum computing may be farther off than you're expecting.

<comment><USER22> You mean the paper that has been countered with [1]? Regarding this I'd wait and see what the reaction to the counter is going to be, I for one am certainly not convinced that modeling one particular implementation classically would disprove quantum computing for _any_ of the implementations. As far as I've read we have enough examples where only quantum models fit, which _all_ would have to be debunked.

[1] [http://dwave.wordpress.com/2014/02/04/the-recent-how- quantum...](http://dwave.wordpress.com/2014/02/04/the-recent-how-quantum-is- the-d-wave-machine-shin-et-al-paper/)

</comment></comment></comment></comment><comment><USER24> What is the next big thing in cpu design?

Graphene based cpus? Light based optical cpus Thz? 3d stackable cpus?

<comment> Tuna-Fish Of those, 3d integration is the one closest to market. It's already used in some cellphone chips, and will likely hit mass market within 3-5 years.

Fully light-based CPUs won't happen for a while, but we are getting to the point where having some optical components to manage long-distance communication (within the chip, and off-chip to memory) begins to get closer to feasible. Think less than 10 years.

Graphene based cpus are not near at all, as we are currently at the point where we are merely studying the qualities of the material. The time from that to mass production is measured in decades.

<comment><USER15> What's your take on Crossbar RRAM? It sounds fantastic, but does it work?

<comment> Tuna-Fish Maybe? All we have now are glorified press releases. They paint a _very_ rosy picture, however, as they are press releases, we only get to see the rosy side of the picture.

The principle of Crossbar RRAM is very fantastic indeed -- take the ideas of RRAM worked on by other companies and develop an implementation of them that works on current fabs, tools and materials. However, a lot can go wrong at nano scale manufacturing, and a lot of the things they are doing have not been characterized before by anyone else. Frankly, we won't know how manufacturable it really is before it's in mass production.

Of the next-gen memory options, RRAM is the least disruptive of current systems. This is because it's properties are sufficiently similar to flash (specifically, it needs wear leveling, preventing use as universal ram) that if it wins, it will be used exactly as flash is used, only being denser and faster.

</comment></comment></comment></comment><comment><USER25> At this stage I'd be surprised if graphene didn't conduct electricity ten times better than expected.

</comment><comment><USER26> All these posts and yet not one gag reference to the graphene condom? Well Slashdot this ain't (and thank goodness for that)</comment>


Wakemate Timing Update - <AUTHOR> http://blog.wakemate.com/2010/08/17/timing-update/

<comment><USER2> I might be interested in buying this if I could see the freaking hardware and software requirements of the phone. Even a list of phones that work with it would be a start.

Is this definitely a real product and not some kind of spoof? How can people be sure when they order them (as so many of you seem to have done) if you don't know the hardware and software requirements?

<comment><USER3> There's a compatibility checker here:

<https://secure.wakemate.com/compatibility/>

</comment></comment><comment><USER4> Oh, I didn't realise this blog existed. I've been waiting for an email update since their last one on April 1st.

</comment><comment><USER5> How is it compared to iPhone apps like Sleep Cycle(it works and has ~5000 positive reviews)?

<comment><AUTHOR> They haven't shipped anything yet so you can't compare. One would imagine it would be more accurate (and work better for beds with more than 1 person in them) but we'll have to find out in a month (hopefully)

</comment></comment><comment><USER6> "Hello soon to be WakeMaters,"

I don't believe their first line of copy.</comment>


Reproducible SBCL builds – a month ahead of schedule - <AUTHOR> http://christophe.rhodes.io/notes/blog/posts/2014/reproducible_builds_-_a_month_ahead_of_schedule/

<comment><USER2> This is a great achievement: bitwise-identical output of the compiler when bootstrapped with different CL implementations.

It is inspiring to see people like Christophe Rhodes work on SBCL and make tremendous progress.

He is sufficiently honest to write how he missed an obvious typo (guess what, this happens with every language, no matter how hard you try to avoid them). Unfortunately, this is now the most discussed part of the article, which is sad.

</comment><comment><USER3> Quoting:

(shades of times gone by). Eventually I realised that (unless (member (package-name package) '("COMMON- LISP" "KEYWORD" :test #'string=)) ...)

was not the same as (unless (member (package-name package) '("COMMON- LISP" "KEYWORD") :test #'string=) ...)

I know this is a bit nitpicking but this is the kind of mistake which will be always difficult to detect in lisp as long as the syntax is what it is... Which is a pity because I like the language so much.

<comment><USER4> Indenting/formatting conventions can make such a mistake easier to detect.

Compare

        (unless

            (member

                (package-name package)

                '("COMMON-LISP" "KEYWORD")

                :test #'string=) ...)

and

        (unless

            (member

                (package-name package)

                '("COMMON-LISP" "KEYWORD" :test #'string=)) ...)

If `member` requires 3 arguments, then it's easy to spot the mistake in the latter.

<comment><USER3> Yes, thank you (by the way I am totally unable to properly quote things here). I understand, yes.

<comment><USER5> You can create quoted text by leaving a blank line, indenting what you want to quote, then leave another blank line.

[https://news.ycombinator.com/formatdoc](https://news.ycombinator.com/formatdoc)

<comment><USER3> I am amazed that you have taken the time to reply and explain! Thanks.

<comment><USER5> If there's a question I can answer in 30 seconds as I pass by, then I figure it's worth doing. I've recently been looking at systems to try to capture and make available knowledge bases that can be searched, mined, and possibly automated.

How can we help people to stand on the shoulders of giants ...

<comment><USER3> I hope you are lucky. I am a prof. of maths and find your approach ro helping very near my heart and as I know that it does take some effort, I really appreciate it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Yay, now we can determine if our SBCL build contains a backdoor.

[https://www.schneier.com/blog/archives/2006/01/countering_tr...](https://www.schneier.com/blog/archives/2006/01/countering_trus.html)</comment>


Startup Love: What Great-Grandparents Knew About Running a Startup. - <AUTHOR> http://siliconangle.net/ver2/2009/11/30/startup-love/

<comment><USER2> awesome post. I really agree and almost totally believe that constructive failure is a very important factor for both personal and professional growth. In fact, that is one of the reasons I am willing to have a go and work without any salary or income of any sorts, and try to build a good (great? only time will tell)product. I think we all should get out of our comfort zones and then try doing something which almost ascertains our failure.....but also has some good chances of success...... For that matter....even if you succeed....at such a risky venture.....you would learn so much from that success if you know for certain that chances of failure are really high...and of course the confidence boost would be awesome too...</comment>


The author of Nginx on why V8 is not suitable for web servers - <AUTHOR> http://translate.google.com/translate?js=n&prev=_t&hl=en&ie=UTF-8&layout=2&eotf=1&sl=ru&tl=en&u=http%3A%2F%2Fsysoev.ru%2Fprog%2Fv8.html <comment><USER2> Speaking only for myself as ever:

Handling out of memory errors is a hard problem. At the point when you can't allocate more memory you are busted in most languages. For example in C a slightly deeper function call depth can cause the stack to expand at any point. If that point coincides with you running out of memory then you are busted. No program can keep running with a broken stack.

If V8 were capable of recovering from out-of-memory errors then you would still have to go through all of node and all the native libraries that it uses and check that they can handle any allocation failing.

And if V8 handled out-of-memory errors with exceptions then you have two choices. Either make the exceptions uncatchable, in which case the JS program running in the server has no way to recover and is probably in an inconsistent state. Or make the exceptions catchable, in which case there is no guarantee that any memory will ever be freed up and you are back to square one.

I think it's possible to make V8 more resistant to out of memory situations. I don't think it's possible to make it bulletproof, and I don't think there are many server apps that have this property. Do people run Java servers in such a way that they are often getting out of memory exceptions, recovering, and then continuing to serve? I don't think so.

In practice the way most servers work is that you give them plenty of memory and you write your server app in such a way that it does not use unlimited memory.

If there are non-out-of-memory errors that V8 is failing to recover from then these are bugs and should be reported. I can't think of any examples off-hand.

As far as the other comments go they seem to assume that you will want to use a V8 context per connection. Node uses one V8 context for all connections, so the comments don't apply. Context creation has been speeded up a lot since the article was written, but this is only for the browser. Node doesn't need it.

<comment><USER3> You're being too clever - if you run out of memory, throw away the request and all associated resources and return "500: Internal server error". There are lots of reasons why this isn't perfect (if the OS overcommits memory, like Linux (typically?) does, it will have to kill you to avoid running out; if you need to use swap you're too slow to be useful; etc), but it's not impossible.

node.js (one process for many requests) is a different model than the author is considering; no matter its (dis)advantages, integrating it into the server is not nearly as advantageous as for a process-per-request model (like mod_php).

<comment><USER4> From a service perspective, I'd prefer to have the process crash and supervisor restart it. Returning HTTP/500 errors on memory allocation failures (which usually last until the process is restarted anyway) is likely to deny service to a larger number of users.

</comment></comment></comment><comment><USER5> Sysoev brings up a couple good points that affect Node.js .

1) The fact memory allocation might crash the process is a serious problem. Is this still the case?

2) The fact that garbage collection is still stop-the-world may be a problem for server availability. Are we able to call the generational collector from node, or no?

Things that don't involve node:

The ability to create multiple objects in different contexts. Sysoev is thinking of the "scripting" model, like PHP, which is not how Node does things. Node just runs one process to handle thousands of requests, not thousands of processes or threads. There is no need.

<comment><USER5> upvotes are great :) But does anyone know the answers to 1) and 2)?

</comment></comment><comment><USER6> It's scary what you can do with machine translation these days...

<comment><USER7> Not only is the translation of a surprisingly high quality, but reading the original in Russian is more awkward since a lot of the technical terms are originally English. I needed to read a particular portion 3 times before I realized it meant memory allocation.

<comment><USER8> I though the same thing. I learned all the tech terms in English, so when I read "sborka musora" instead of "garbage collection" it somehow makes me smile.

</comment></comment></comment><comment><USER9> While an interesting article in its own right, it has nothing to do with node.js, except that this happens to be a criticism of the way V8 works, which node.js is built on. However, they may not be using things in the same way he is, or there could be mitigating circumstances which make it possible for node.js to pull this off. (I don't know anything about node.js internals, I just know this article isn't about it, as the title indicates.)

Edit: This was written when the title was "The author of Nginx on node.js and why V8 is not suitable for web servers". It's since been changed.

<comment><USER10> I disagree. Where V8 can run is a core part of the deployment surface of node.js, so what server authors think about V8 and it's suitability for integration and deployment very much matter to node.js.

Remember, 'does rails scale'? :|

<comment><USER9> Even if every one of these issues applies to node.js, this article is not "on node.js". The title is incorrect, no matter what.

<comment><USER11> Agreed. The title is totally trolling for attention.

Nginx and Nodejs are very different. Nodejs was built on V8 from the beginning, while it would have to be grafted into Nginx somehow. Nodejs isn't Chrome but it's willing to pretend that it is - nginx isn't.

<comment><AUTHOR> The title is a copy from a Reddit posting. I thought about changing it. Node.js is build on top of V8. It is better to get attention from Node.js experts so that others can get a clearer picture. Updated: Never mind, someone just change the title for me. The original title is "The author of Nginx on node.js and why V8 is not suitable for web servers.".

<comment><USER12> Node.js experts already know to look for V8 stuff.

</comment></comment></comment></comment></comment></comment><comment><USER13> At Microsoft, I watched (from afar) the incredibly painful multi-year process of making a complex language runtime intended for one environment (.NET for IIS) satisfy the requirements of a very different environment (SQL Server). When fundamental design assumptions like "memory allocation failures can kill the process" have to change, it's a big deal.

Seems like process isolation a la fastcgi is the practical way to go, unless the V8 team itself wants V8 to be embeddable in a "reliable" way (meaning, it recovers from its own errors without corrupting the process it's embedded in).

</comment><comment><USER14> Node does not create a new V8 context for each request so the 2ms => max 500 requests per second scaling problem does not exist with Node.

</comment><comment><USER15> Node.js is often used because it is cool, new and easier for front-end developers to develop a functioning backend.

For more traditional uses that want something less hackish, erlang for example, crashes only a single thread not the entire vm. Functional programming languages in general like haskell and erlang are interesting for backend core services.

<comment><USER16> memory allocation failures crash the erlang vm

</comment></comment><comment><USER17> The title is "Why V8 is not suitable for EMBEDDING in servers".

</comment><comment><USER18> The state of todays base of node (v8) has nothing to do with the concept/paradigm its trying to put forward -- that is _event driven web apps_. Hence, one must not discard node as a bad solution only because v8 is not optimal in all situations.

Everything is always a work in progress.

</comment><comment><USER19> These only sound like problems if you need to keep it single process. If you break out the javascript interpreter via fastcgi workers just like people do with php on nginx it becomes mostly moot points right? At that point its limited to 500 req/sec/core, but frankly these days that means 4000 req/s, which, hell, I'll take it.

Granted thats assuming you can actually run a fastcgi/v8 setup, I've never looked. I wonder how hard a mod_v8 for apache prefork would be.

<comment><USER20> ah yes, but then you aren't embedding v8 into nginx

</comment></comment><comment><USER21> As I'm sure others will point out, this article has less to do with node.js as it does with embedding v8 in Nginx. Although since node.js runs in v8, I suppose you could interpret it that way.

</comment><comment><USER22> IIRC, on Linux at least the memory allocation thing is moot. If your process runs out of memory, it dies anyway. You can't catch "malloc says no" because malloc never says no. It either says yes or blows your process's brains out.

<comment><USER23> _"malloc never says no"_

malloc says no if you set a ulimit in your shell. I do this on the desktop to stop myself from shooting myself in the foot. (Recent kernels also let you turn off the overcommitting behavior.)

<comment><USER24> Recent is 2.6.11+ which is 6 years old.

</comment></comment></comment><comment><USER25> A lot of the points raised are an issue only for long running processes. Akshell (<http://www.akshell.com>), for example, has synchronous I/O libraries and uses an Apache MPM like model, so for us the limits are less of a concern.

</comment><comment><USER26> I keep seeing these replies on how well Google Translate performed. I didn't realize while reading that it was machine-translated, but my immediate thought was "this person is not a native English speaker or needs much work his attempt at Yoda-speak does."

<comment><USER27> But still understandable, so that's a success I'd say.

I remember when nginx first came out (the web server that the author built) and the biggest barrier to adoption was the fact that all the documentation was in russian. Online machine translation did _not_ produce understandable content at that time.

</comment></comment><comment><USER28> it's a great write up and the context issue seems interesting, however it's from Feb 2010 according to the last paragraph and a lot has changed in V8 since

</comment><comment><USER29> A thought: why not have node developers fork V8, and modify that to make it ready for server deployment? Has the coreteam and/or Dahl thought about this?

<comment><USER30> That could mean taking on a lot of extra work. One of the big selling points of Node is that it leverages all the work Google puts into V8.

</comment></comment><comment><USER31> That might as well be the best Google Translate translation I ever read.

</comment><comment><USER32> in russian : Почему Google V8 пока не подходит для встраивания в серверы in english : Why is Google V8 is not suitable for integration into servers.

There is a word "integration" that the author of the post forgot to put in.

<comment><USER33> Почему Google V8 _пока_ не подходит для встраивания в серверы in english :

Why is Google V8 is not _yet_ suitable for integration into servers.

<comment><USER34> i'd say "for embedding"

<comment><USER33> my point was about "yet", though you are right about "embedding" (it wasn't my translation).

</comment></comment></comment></comment><comment><USER35> Hmmm... I read this title as 'The author of Nginx on why (Nginx) V8 is not suitable for web servers' and I'm thinking ... huh?

Does someone want to change the title to be clearer?

</comment><comment><USER36> Right title for this 2 years old article is "Why V8 is not suitable for nginx".

He has his own set of requirements which by no means applies to _all_ webservers.

</comment><comment><USER37> When Igor speaks, I listen.

</comment><comment><USER38> It sounds like more of the concern is that V8 is/was buggy & had some situations where performance would be compromised. I don't think it's a slam saying it could never be used.

</comment><comment><USER39> Maybe it's just me but every time I see V8 i think it's VB

</comment><comment><USER40> Likewise, Nginx is not suitable as a reverse proxy for streaming web servers, since Nginx proxies HTTP 1.0 not HTTP 1.1.

<comment><USER41> Noone is denying that. But what's the point of bringing that up here?</comment></comment>


Model-Based Reinforcement Learning for Atari - <AUTHOR> https://arxiv.org/abs/1903.00374 <comment><USER2> Hasselt and co, who authored the original Rainbow DQN model that was bested by SimPLe (this paper), responded recently with "When to use parametric models in reinforcement learning?" [1], which is an interesting read. Punchline: "We explain why their [SimPLe's] results may perhaps be considered surprising, and show that in a like-for-like comparison Rainbow DQN outperformed the scores of the model-based agent, with less experience and computation.". In other words, in an apples-to-apples comparison, model-based RL have not been shown to be more sample efficient than suitably optimized DQNs.

Hasselt argues this is because if you need _accurate_ updates to your Q values, you need to trust the learned model you are using for simulated rollouts on the states on which you are sampling. But if your simulation model is trustworthy on these states, it is because it saw a lot of real transitions from these states from the actual environment. But then you might as well just have stored those transitions in a big enough replay buffer and use ordinary Q-learning with experience replay. And this indeed seems to be the case: when you give Rainbow DQN a nice big replay buffer, it is more sample efficient (both real and imagined samples) than SimPLe. Hasselt leaves some wiggle room for learned models to help with action selection and credit assignment, though.

My counterargument to this (supplied with zero evidence of course!) would be that with the right inductive biases, a learned model can generalize quite accurately and with very few seen transitions, and hence be so sample efficient that it would outperform the replay memory approach. I'd imagine that the kinds of inductive biases that are appropriate for a varied meta- environment like Atari are quite general things like 'visually localized objects typically only interact when they approach or touch each other', and 'the arrow keys likely control one localized object'. There are approaches for how to encode such priors; [2] is a good survey paper, and [3] employs some of these ideas for RL. Moreover, these are the kinds of priors that one imagines are encoded or biased towards by evolution in actual animal brains.

[1] [https://arxiv.org/abs/1906.05243](https://arxiv.org/abs/1906.05243)

[2] [https://arxiv.org/abs/1806.01261](https://arxiv.org/abs/1806.01261)

[3] [https://arxiv.org/abs/1806.01830](https://arxiv.org/abs/1806.01830)

</comment><comment><USER3> I wonder if these guys are a bit quick to give themselves credit.

There's a lengthy (and depressing) series of posts by Ben Recht[1] that basically outlines all the reasons that model-free RL is effectively bunk if you have access to any model of how the environment evolves. These guys (as far as I can tell), haven't made any attempt to disambiguate how much of the improvement they see is down to having a model of the environment _at all_, as against the specific model they propose. I think there's probably more these guys could do to prove that they're actually onto something and aren't just confusing throwing compute at the problem with a genuinely better solution.

[1]: [http://www.argmin.net/outsider-rl.html](http://www.argmin.net/outsider- rl.html)

<comment><USER4> I mean, everyone knows if you hand a human-created model to a learning algorithm, it's going to do better. The linked posts you're pointing to here are talking about using human intelligence to build a model for the system. I think the point in this paper is that the model is learned in a self- supervised way. And that learning environment dynamics through predicting the next frame is useful by itself. That's not as obvious</comment></comment>


Germany's National Hydrogen Strategy - <AUTHOR> https://www.cleanenergywire.org/factsheets/germanys-national-hydrogen-strategy <comment><USER2> I'm so happy about this. Just a week ago it seemed like they would subsidies the purchase of cars with internal combustion engines. Now they subsidies battery electric vehicle purchases by 10,000 EUR and the Generation and use of H2 with 9 billion EUR. Also great that they decided to NOT support hydrogen cars and gas stations. These have always been alibi projects to distract from battery electric vehicles.</comment>


Experience in a combined product and engineering org? - <AUTHOR> Anyone work in an org that has a combined product and engineering team? That's to say that there is no discrete product and engineering leadership, and that they all roll up into the same structure.
I have been working in such an org for a while now and it's my first time ever seeing or working in one, and I am starting to have my doubts about the scheme. Mainly it seems as though there is no clear engineering or technology thought leadership and I worry very deeply that it is harming the long term prospects of the org, and possibly the company.
Any experience in such a combined org would be supremely helpful, particularly if you've been in one that has worked well and been successful. <comment><USER2> I 'm working in similar org structure. I think the outcome of such organization produces mediocre results as lack of focus for both engineering and product leadership. It is highly unlikely to have someone / leadership organization that have multiple disciplines for both engineering and product leadership and able to maintain healthy conflicts for both roles</comment>


What has happened to Zuck's opinion on privacy since the early days of Facebook? - <AUTHOR> http://www.quora.com/What-has-happened-to-Mark-Zuckerbergs-opinion-on-privacy-since-the-early-days-of-Facebook?share=1

<comment><USER2> Billions of dollars happened.

<comment><AUTHOR> More detail please.

<comment><USER2> That was just a snarky remark, and I have nothing to back it up.

I should have instead stated my opinion that people's priorities and incentives change as more money/pressure get involved.</comment></comment></comment>


Charting the Automation Potential of U.S. Jobs - <AUTHOR> http://www.visualcapitalist.com/charting-automation-potential-of-u-s-jobs/ <comment><USER2> This is really charting the _mechanisation_ of certain jobs, replacing people with robots, rather than _automation_ which is simply doing the job automatically through any means.

Automation is coming, but it's knowledge industries that's going to hit first, and it's going to hit them hard. If your job is taking some sort of data, understanding it, and producing some new data as a result then you should be very worried because that's exactly the use case AI is perfect for, and it's much easier to write code than it is to make a robot that cope with a burger that didn't flip perfectly.</comment>


Billing with Stripe - <AUTHOR> http://railscasts.com/episodes/288-billing-with-stripe

<comment><USER2> My bare minimum recurring expense with Braintree is $130/mo. That's our largest recurring expense. What's wonderful about Stripe is that there is no "minimum" service charge. If you don't do a lot of transactions, you don't pay a lot of fees. That makes it very low risk to spin up a service and give it a little time to see if it works. When I've talked to people with day jobs about their SaaS side-projects, it's common to hear people aiming for "an extra $500 a month." That's a respectable goal for a side-project, considering that sort of money could trim most people's mortgages by a decade or more, but it makes Braintree (developer friendly as they are) a huge expense. Thankfully for me Braintree was one of the first payment gateways to promote the idea of data portability, so getting my subscribers into Stripe from Braintree should not be a huge hassle.

<comment><USER3> Does this fact cause you any concern over stripe's decision to serve small companies for whom 130 dollars is a significant amount over large customers who will be turned off by their percentage fees? My main resistance to switching to stripe is that I can't figure out how they are going to make any money. I'd like the extra 130 dollars each month, too, but will it last?

<comment><USER4> What exactly do you mean by "large customers"? We run several million dollars worth of credit card transactions per year( through cybersource and authorize.net right now ), and we pay at or near the wholesale interchange rate.

Even so, our accounting department still can't fully untangle the mess of foreign transfer and conversion fees, float-related costs, gateway fees, amex vs visa discount rate differentials, pci compliance service fees, and all the other horrible shit that Stripe eats for you, in order to give me a straight answer as to whether or not we currently pay more or less than 0.30 + 2.9%.

This is not a hit on our accountants, cybersource, stripe, or our merchant bank - just making the point that it's not so easy to state categorically that Stripe's fees will turn off somewhat larger volume customers.

<comment><USER5> Generally you end up paying 3.5-4% assuming you accept foreign credit card transactions, Amex, corporate cards, rewards cards, etc. There's a misconception that it's around 2%, but if you do these types of transactions and look closely at your statements, 3.5-4% is the normal range, including a few chargebacks.

</comment></comment></comment></comment><comment><USER6> Testament to how easy and well-done Stripe's API is, that Ryan can make a 16 minute Railscast about it's integration.

</comment><comment><USER7> I can't wait for them to come to Europe, really.

</comment><comment><USER8> Does anyone know why I should not use stripe as compared to Braintree, etc.? Is there a fundamental issue, that I have missed, or is most of the discussion surrounding price and volume.... as it stands, it seems like a no-brainer to use stripe for any new projects.

</comment><comment><USER9> It's very neat and simple. Would love to see some one do a python or a php version.

<comment><USER10> I tested out Stripe last weekend. It's really, really simple. You can be up and running and billing shit inside of an hour, HTML and all, depending on how quick you are. The tutorial is dead simple and so are the docs.

You should go check it out, if you're interested. You'll see that there's really no need to wait for a video.

(I set stripe up in both PHP and Python, did the HTML and CSS and everything in a couple of hours. Was easy. I like things to be easy. -- Now I just need something to charge for... :P)

</comment></comment><comment><USER11> Very easy to integrate, so far we've had no problems at all. I've been recommending stripe to any startup looking for a payment solution.

</comment><comment><USER12> I just integrated stripe on <http://i.crowdfunded.it> last week. Super awesome and easy to use.

<comment><USER13> "We're sorry, but something went wrong.

We've been notified about this issue and we'll take a look at it shortly."

<comment><USER14> Sorry about that -- momentary bug during a deploy of the dashboard.

<comment><USER12> HAHA man.. was that you guys or me? Either way it all seems to be working now. BTW: Great job on Stripe.

<comment><USER14> Cheers. Would love to hear if you notice anything we should improve; I'm email@example.com.

</comment></comment></comment></comment></comment><comment><USER5> Missing various elements that most SaaS companies need or will need; API-based vs. UI with complete functionality; lots of development work still necessary to have the type of e-commerce subscription management infrastructure that a serious company needs. Cant work with non-US clients. A comparison between SaaSy.com and other services which illustrates some of the missing global subscription e-commerce functionality: <http://bit.ly/nSKT7J>

</comment><comment><USER15> I love Railscasts, but this seems a little premature even by Rbates standards or popularity. Generally, Railscasts revolve around industry standards. I'm not saying Stripe won't be, it probably will... but man, this is some front running.</comment>


Portable girdle books were once very handy - <AUTHOR> https://www.atlasobscura.com/articles/what-is-a-girdle-book <comment><USER2> Wonderful design! It definitely makes sense for an environment of travel. And now I understand the origins of the "big books prominently hanging from clothes" that's seen in some fantasy settings. For example, the Witcher series [0] or Warhammer [1] will sometimes have characters prominently wearing a book of spells or lore of some sort. However, these series don't seem to have thought through the actual design/binding of such books in a way that would make for easy access.

As a possible future fashion, I would love to see something like girdle book binding used for devices like smartphones. I still have momentary annoyance when pulling a phone out of my pocket, so reducing that friction would be interesting. I see there is already such a case made for reenactors / hipsters [2].

[0] [https://2.bp.blogspot.com/-JZ5lMsQEYgE/VvzXtponQ4I/AAAAAAAAB...](https://2.bp.blogspot.com/-JZ5lMsQEYgE/VvzXtponQ4I/AAAAAAAABjg/pP0dgF_HTR0eUJ8e07jQbnb1X6K-HQNpg/s1600/472604.jpg)

[1] [https://vignette.wikia.nocookie.net/warhammer40k/images/0/04...](https://vignette.wikia.nocookie.net/warhammer40k/images/0/04/Adeptus_mechanicus_by_cribs-d4b4afs.jpg/revision/latest?cb=20111026165711)

[2] [https://www.etsy.com/listing/155624836/custom-leather- smartp...](https://www.etsy.com/listing/155624836/custom-leather-smartphone- case- in?ga_order=most_relevant&ga_search_type=all&ga_view_type=gallery&ga_search_query=girdle%20book&ref=sr_gallery-1-13)

<comment><USER3> I don't know if belt cellphone carriers are "hipster". They actually used to be quite common in the early days of cellphones because they were a bit too large to fit into pockets. Plus engineers used to carry their sliderules on their belts and that has to be the exact opposite of hipsterdom.

</comment></comment><comment><USER4> haha, just like ted nelson (or vice versa)

What did people put in though? Like a personal wiki :) ?</comment>


2018 ICFP Programming Contest Announced: 20-23 July - <AUTHOR> http://2018.icfpcontest.org/ <comment><AUTHOR> Past contests involved:

* Solving origami

* Orbital maneuvering

* Writing AI for various NP-complete games, sometimes involving implementing VMs and compilers

* Hexagonal Cthulhu tetris

Mark your calendars, find some teammates and enjoy!</comment>


The Paul Krugman Show - <AUTHOR> https://global.handelsblatt.com/edition/261/ressort/finance/article/the-paul-krugman-show <comment><USER2> Any attempt by the right-wing to discredit Krugman almost always turns out to be a big joke where they proclaim that "He said this, but this is wrong". I have yet to come across an article which refutes his point analytically using data - it always boils down to "I know that trickle down economics works. Because Krugman does not believe in it, he must be wrong".

</comment><comment><USER3> Paywall.

<comment><AUTHOR> Must be location-based or something, it's freely accessible for me.

Apart from that, please refrain from doing these types of comment. They're utterly non-productive, and passive-aggressive at best.

<comment><USER3> Hmmm. I wasn't trying to be passive aggressive, was just on a mobile device and wanted to point out the issue. Appreciate the perspective, though.</comment></comment></comment>


US hospitals ordered to bypass CDC, send patient data to new federal database - <AUTHOR> https://www.nytimes.com/2020/07/14/us/politics/coronavirus-data-trump-cdc.html <comment><USER2> They will disguise it and lot of US people will deny it but this will lead to plain censorship and manipulation of data. I guess all the comments will be but China ... .</comment>


Django Settings for Production and Development: Best Practices - <AUTHOR> http://www.sparklewise.com/django-settings-for-production-and-development-best-practices/

<comment><USER2> It's annoying how there is no canonical way to do it. You need to spend some mental energy learning how to do this when starting up a Django project. Django should really integrate one solution into the django core, and then everyone can just use that. Make it much easier.

<comment><USER3> I feel the opposite, Over the 3 years or so I've worked with django full time there have been very good reasons to have different setups wrt environment, virtualenvs & web servers.

That said I tend to use env vars to identify which environment an app is running in and build everything off that, which branch / db / logging target etc to use.

<comment><USER4> Having an opinionated, best practice default doesn't have to prevent customization. I have always thought Rails is better than Django in this sense. There's one clear default way to do things, and then you can customize if you need to.

<comment><USER5> Not the best week to boast of rails opinionated best practice defaults in a django thread.

<comment><USER6> Yeah, screwing up one thing _obviously_ means that every single other idea they've had is boneheaded.

</comment></comment></comment></comment></comment><comment><USER7> A fourth way: the django config is a template, with entries like:

settings.py:

        CACHES = {
            'default': { 'BACKEND' : 'django.core.cache.backends.memcached.MemcachedCache',
                         'LOCATION' : [ {% for IP in MEMCACHED_SERVERS %}'{{IP}}:{{MEMCACHED_PORT}}', {% endfor %} ],
                         },

Yes, that's a django template in python code. Upon deployment, my fabfile renders the settings file along with various other config files. This makes sure that {{MEMCACHED_PORT}} doesn't accidentally say one thing in settings.py, and another in memcached.conf.

This also allows me to keep my sitewide settings in a single file or two, namely a module in the fabfile folder.

It feels a little dirty to do things this way (though I can't figure out why), but it's saved me a lot of headaches.

<comment><USER8> I do something similar with Chef. Chef creates a local_settings.py file that outputs python with the server ips and ports for the various services.

</comment></comment><comment><USER4> Seems complicated. I always use four simple files:

      settings.py
      settings_development.py
      settings_staging.py
      settings_production.py

Where the first one has the defaults (usable for local development), and the others contain any overrides needed to run with Gunicorn on the corresponding dev/staging/production servers.

<comment><USER9> We have a very similar approach except we encapsulate settings into its own package just for readability/maintainability. So it looks something like the following

        settings/
            __init__.py
            defaults.py
            dev.py
            live.py
            testing.py
            users/
                __init__.py
                *user specific settings*

<comment><USER4> I wonder what kind of maintainability benefits do the separate packages bring in this case? To me, having a lot of empty __init__.py files and subdirs reduces readability, so I like to maximize simplicity.

</comment></comment></comment><comment><USER10> I have a common settings.py file which starts with:

      ROOT_PATH = os.path.dirname(os.path.abspath(__file__))
      configs = {
          '/path/to/my/local/dev/folder': 'alex',
          '/var/www/www.mywebsite.com/test/private/django/mywebsite': 'test',
          '/var/www/www.mywebsite.com/prod/private/django/mywebsite': 'prod'
      }
      config_module = __import__('config.%s' % configs[ROOT_PATH], globals(), locals(), 'mywebsite')
      for setting in dir(config_module):
          if setting == setting.upper():
              locals()[setting] = getattr(config_module, setting)

Then I have alex.py, prod.py and test.py all in a config subfolder. All under version control, with my settings.py automatically choosing the right environment based on where it's deployed to.

</comment><comment><USER11> a lot more information here <https://code.djangoproject.com/wiki/SplitSettings>

I typically use this set up:

\- settings.py contains global settings that aren't effected by deployment level.

\- at the bottom of that file you have

          try:
              from settings_local import *
          except:
              pass

\- in settings_local.py you have your deployment level dependent settings

\- then just git ignore settings_local.py

<comment><USER12> I think you're missing an 's' there:

<https://code.djangoproject.com/wiki/SplitSettings>

<comment><USER11> opps, fixed.

Thanks

</comment></comment></comment><comment><USER13> I toss most of my core settings into the settings folder and __init__.py and then from there in my development.py, staging.py production.py

I can then, in each of my specific environment files just from settings import * and have access to the direct variables for all of my __init__.py items I setup. Most of the time you'll just have different database and cache settings for these environments.

Before you yell at me about the * import, yes, it normally is a bad idea but in this case it is good. It does often get abused and that is why so many people see it was "bad".

</comment><comment><USER14> I like how Heroku does it, it's very smart, they basically inject the database settings to your settings.py that code just grabs the connection settings from the environment so you don't need to worry about it.

More info: <http://devcenter.heroku.com/articles/django>

</comment><comment><AUTHOR> OK, HN front page effect, the server crapped out. Any advice on how to handle this? Cannot even SSH on the server.

<comment><USER15> tldr; 'Scaling' WordPress is simple. Install a caching plugin like WP Super Cache.

WP gets a bad rap because it seems to spit out the oh so unattractive "Error Connecting to Database" message under the slightest load. Perhaps it's inefficient, i'm not sure why it seems to die so easily.

But... good news is, there is a simple solution. WP renders everything dynamically on every request. It fetches the post from the DB each time you load the page. But, more often than not, the content is only going to change when 1) you write a new post, or 2) a comment is made to a post.

A simple caching plugin solves this. It will render the page with a specific timeout (3600 seconds is default I think?, 1 hr) and then just serve up that HTML rather than hitting the DB. This will solve 99% of your problems. I've never really seen a WP site die when used with something like this. Duh, because it's just static HTML at that point haha.

Combine this with a PHP cache like APC (my personal favorite opcode cache of the moment) and a fast webserver like nginx, and you're gonna pretty much survive anything.

<comment><AUTHOR> yep, it's back up again, will install it. Thanks.

</comment></comment></comment><comment><USER16> For the first one, another disadvantage (mentioned but not as a disadvantage) is that local_settings is not under version control.

<comment><USER5> Environmental localizations should be controlled by a configuration management system, not the application source version control system.</comment></comment>


Linus (from LinusTechTips) builds Linus Torvald's new PC [Video] - <AUTHOR> https://www.youtube.com/watch?v=Kua9cY8q_EI <comment><USER2> In case you're reading the comments first, Linus isn't actually building Torvold's actual PC for him, he's building a PC with the same specs as Torvold's.

<comment><USER3> Correct. Torvalds built his PC himself and his words are quoted in the ZdNet's article to which the video author refers to as he builds a "copy" for his youtube channel.

The worth of the video is seeing how huge the CPU (1) and the cooler (2) are.

1) [https://youtu.be/Kua9cY8q_EI?t=267](https://youtu.be/Kua9cY8q_EI?t=267)

2) [https://youtu.be/Kua9cY8q_EI?t=639](https://youtu.be/Kua9cY8q_EI?t=639)

Which is less surprising once one reads the specs:

[https://www.amd.com/en/products/cpu/amd-ryzen- threadripper-3...](https://www.amd.com/en/products/cpu/amd-ryzen- threadripper-3970x)

"Default TDP / TDP 280W"

<comment><USER4> > The worth of the video is seeing how huge the CPU (1) and the cooler (2) > are.

Linus plays with Threadrippers and even Xeons in his videos fairly regularly, as does JayzTwoCents[0]. Though Linus is known to be... dropsy[1].

[0] [https://www.youtube.com/user/Jayztwocents](https://www.youtube.com/user/Jayztwocents)

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

</comment></comment></comment><comment><USER3> For those preferring a textual form, it's a video based on this article:

[https://www.zdnet.com/article/look-whats-inside-linus- torval...](https://www.zdnet.com/article/look-whats-inside-linus-torvalds- latest-linux-development-pc/)

</comment><comment><USER5> > Linus: we've built a developer machine!

> Also Linus: actually I don't write code anymore

<comment><USER3> I believe Torvalds still needs to build the Linux kernel regularly, even if he doesn't technically "write" the code, and this CPU allows him to do it in 24 seconds, according to this test:

[https://techgage.com/article/amd-ryzen- threadripper-3990x-64...](https://techgage.com/article/amd-ryzen- threadripper-3990x-64-core-linux-performance/)

<comment><USER5> Yep it still helps in his workflow. Although this was a bit of a joke.

I do hope there's gonna be more of dev focused content on youtube. Right now it's all about gaming or video rendering.</comment></comment></comment>


Year old iPad runs x86_64 in emulation faster than the Surface natively - <AUTHOR> https://twitter.com/stroughtonsmith/status/1277628592458006528 <comment><USER2> The headline here seems misleading:

(1) It's an iPad _CPU_ running x86_64 code in emulation, but it's running macOS, not iPadOS. This is not an iPad, which AFAIK can't run x86_64 code in emulation.

(2) It's a two-year-old chip, not a one-year-old one. :)

The whole thing is a _little_ weird; if I'm understanding it correctly, they ran the Windows ARM version of Geekbench natively on the Surface X, and ran the macOS x86_64 version of Geekbench on the ARM-based Developer Transition Kit hardware and it still performed competitively. So Apple's CPUs are pretty good and Rosetta 2 does really good instruction translation, but I don't think we can draw a lot of conclusions from the specific numbers either way. (Even setting aside complaints about Geekbench as a benchmark, commercially available ARM Macs when they start shipping are almost certainly _not_ going to based on the DTK CPU/hardware, just like the original Intel DTK compared to the first Intel Macs.)

<comment><USER3> Yes, the next macbook will probably feature something faster than the 2-year old ipad chip?

</comment></comment><comment><USER4> I don't understand the point of comparing an A12Z running x86-64 emulation to the Microsoft SQ1 processor which is also an ARM processor but nowhere as beefy as the A12Z. I am not familiar with the Surface Pro X but if Microsoft is doing x86-64 emulation on it I am not surprised it's not as fast as the A12Z.

[https://www.tomshardware.com/news/microsoft-sq1-processor- su...](https://www.tomshardware.com/news/microsoft-sq1-processor-surface- pro-x,40537.html)

<comment><USER5> It makes fans of Apple feel better about how much more superior their platform is over the others. That's mostly the gist of it in most of these debates - the comparisons are usually pretty meaningless and cherry-picked to make a writers favorite brand look better.

The more interesting comparison is just how much better the ARM macs will be from the x86 ones in comparable workloads and power consumption. Seeing the Apple ARM cores being able to show all they can with proper cooling and less power limitations is something we've been waiting for awhile.

<comment><USER6> I think what it really shows is that Microsoft hasn't put much effort into making their ARM cpu device competitive.

There will always be fanboys for Apple and anyone else, but this is effectively a 2 year old CPU winning on a benchmark where I don't think anyone thought it would. That suggests that when the real hardware comes out that it will make Microsoft's ARM efforts look downright anemic.

Of course, I might be wrong, but based on Apple's history, I think I'll be proven right by January.

This leads to the next question - why is Microsoft's device so slow? Are they doing this on purpose or due to a technical limitation? Or some other reason?

<comment><USER7> It's probably not fair to blame Microsoft for the performance of a chip developed by Qualcomm.

At one point Qualcomm developed it's own high performance custom ARM cores, but after a huge fumble on their transition to 64 bit, they just gave up and started licensing stock ARM cores.

ARM is getting ready to license a higher performance extra-big core to anyone interested, so there should be some movement there in the not too distant future.

However, you can definitely blame Microsoft for making a bad call on emulating legacy Win32 software.

They tried to transition to ARM based WindowsRT without supporting legacy x86 software at all. Even today, Windows on ARM doesn't support legacy x86 64 bit programs.

<comment><USER8> > they just gave up and started licensing stock ARM cores.

This is not correct. Their CPUs are heavily modified, just not very well executed.

The problem is that Qualcomm puts most its efforts on other parts of the soc, such as the stupid ML coprocessor. Now you have like 5-6 different DSP-like coprocessors.

Edit: oh, and 5G. They spent $$$$ to be the first with working 5G modems that nobody needs.

</comment></comment></comment></comment></comment><comment><USER7> For those interested in how Apple's current iPhone chip fares against Qualcomm without the active cooling found in the Dev Kit:

A13 Big Cores:

>In the mobile space, there's really no competition as the A13 posts almost double the performance of the next best non-Apple SoC.

Last year I've noted that the A12 was margins off the best desktop CPU cores. This year, the A13 has essentially matched best that AMD and Intel have to offer – in SPECint2006 at least. In SPECfp2006 the A13 is still roughly 15% behind.

[https://www.anandtech.com/show/14892/the-apple- iphone-11-pro...](https://www.anandtech.com/show/14892/the-apple- iphone-11-pro-and-max-review/4)

A13 Little Cores:

>In the face-off against a Cortex-A55 implementation such as on the Snapdragon 855, the new Thunder cores represent a 2.5-3x performance lead while at the same time using less than half the energy.

[https://www.anandtech.com/show/14892/the-apple- iphone-11-pro...](https://www.anandtech.com/show/14892/the-apple- iphone-11-pro-and-max-review/2)

A13 GPU:

The differences to Qualcomm's Adreno architecture are now so big that even the newest Snapdragon 865 peak performance isn't able to match Apple's sustained performance figures. It's no longer that Apple just leads in CPU, they are now also massively leading in GPU.

[https://www.anandtech.com/show/15246/anandtech-year-in- revie...](https://www.anandtech.com/show/15246/anandtech-year-in- review-2019-flagship-mobile/2)

</comment><comment><USER9> I don't understand all the hype here. It did better on one half of the test by way less than 100 points, and got beat on the other half by over 300.

Not that impressive.

<comment><USER10> To be fair they're both 8 core big.LITTLE processors but the Apple chip is running the benchmark under x86 emulation and thus isn't able to use asymmetric cores, only the four performance ones.

<comment><USER11> I was under the impression that Rosetta 2 is install-time _translation_ and thus not emulation at all...

<comment><USER12> What _is_ the difference supposed to be anyway?

It's user-mode emulation of x86_64 whether the translation happens just-in- time or ahead-of-time. AOT just can afford to spend more time optimizing out redundant emulation operations in each basic block.

It's not emulating privileged modes or devices, but neither is Microsoft's emulation (or user-mode QEMU for that matter.)

<comment><USER13> I was under the impression that the said system works more like a compiler than a interpreter.

<comment><USER12> Sure, no emulator serious about performance uses an interpreter these days. Even full-system emulators.

</comment></comment></comment></comment></comment></comment><comment><USER14> I see 25% reduction in single core performance, 45% on multicore performance, according to ipad pro benchmarks [1]

Nothing to be too happy about

[1] [https://www.macrumors.com/2020/03/23/ipad- pro-2020-a12z-benc...](https://www.macrumors.com/2020/03/23/ipad- pro-2020-a12z-benchmarks/)

<comment><USER15> For emulation of x86.. that's not too shabby at all seeing as the Surface Pro X emulation is a much harder hit. Keep in mind that the iPad result is based on use of 8 total asymmetric cores, which is kind-of an issue for apps like these so it only uses the 4 high-power cores.

In either case, this system in emulated state will out-perform a number of laptops they have sold like the 12 inch MacBook, with emulation. Thats impressive. The Rumored machines they will ship add two more high performance cores and likely eat way more power. I wouldn't be shocked to see it be as fast as current macs in emulation.

</comment></comment><comment><USER16> Isn't the first rule of access to developer toolkits "thou shall not benchmark, and thou shall not publish benchmarks"?

Although, granted, I'd imagine the new Macbooks having newer, faster chips than the developer toolkits once they finally launch.

<comment><USER17> Yes, and Apple was very explicit about not benchmarking this machine.

</comment></comment><comment><USER18> *2 year old iPad; HN ate the beginning of the title

<comment><USER19> 2 year old iPad chip running inside a development kit with proper cooling, compared against a Surface Pro X which is essentially a fanless tablet

<comment><USER20> yeah, agreed, it's a weird cherry-picked comparison. Smells like marketing.

<comment><USER2> It's a weird comparison, but I don't think it's "cherry-picked" as much as sort of general "this is an interesting if fuzzy data point about Apple CPU performance." It's not too likely Apple is secretly feeding numbers to Steve Troughton-Smith. He's a somewhat (in)famous developer known for picking apart Apple OS releases and documenting the undocumented -- I suspect he's probably not on Apple PR's Christmas card list. :)

</comment></comment></comment></comment><comment><USER21> I think the "in emulation" bit uncertain. I think this got AOT translated to armv8. Also not very apples-to-apples comparison.

<comment><USER18> I'm not sure what you mean; could you clarify?

> I think the "in emulation" bit uncertain. I think this got AOT translated to > armv8.

The benchmark is measuring the performance of Geekbench running in Rosetta, which is the emulation layer allowing x86_64 code to run under Apple's ARM chip. Are you saying you don't trust that the benchmark is actually running under Rosetta, or are you claiming that Rosetta doesn't count as "true" emulation because it performs some translation AOT?

> Also not very apples-to-apples comparison.

How so? The benchmark is between Apple's flagship tablet CPU and Microsoft's flagship tablet CPU, with the additional handicap that Apple's chip is running the code through an emulation layer in order to demonstrate the impressive performance of Rosetta. How is the comparison unfair?

<comment><USER11> > The benchmark is measuring the performance of Geekbench running in Rosetta, > which is the emulation layer allowing x86_64 code to run under Apple's ARM > chip

According to Apple it's not an emulation layer at all, though.

They themselves call it "translation technology" [1] and the term "emulation" is nowhere to be found.

I'm not sure why tech outlets insist on calling it an emulation layer, was it called that in the WWDC presentation?

[1] [https://www.apple.com/newsroom/2020/06/apple-announces- mac-t...](https://www.apple.com/newsroom/2020/06/apple-announces-mac- transition-to-apple-silicon/)

<comment><USER22> Honestly at this point I don't even really understand the _difference_ between emulation and translation at the app level.

My intuition is that "emulation" generally means an entire system rather than individual apps running on a system?

<comment><USER21> With translation the cod will be translated before it starts running. With emulation it's more like a VM, where each instruction run is translated to the other archs counterpart. In other words, consider an imaginary program that has one big loop. Let's say it has 100 instructions. With translation you get another program with some instructions of the similar size (same order of magnitude). With emulation you interpret each instruction as it goes, so if your loop has 1B iterations you pay the penalty of emulating (converting on the fly) 1B times (very simplified). So translation is better for performance.

</comment></comment></comment></comment></comment><comment><USER23> Hows it compare with a real world example like Cinebench rather than "Geekbench" scores which never seems to actually correlate to the real world?

</comment><comment><USER24> One question I have, is: couldn't they get the IOS geekbench to work on the Developer kit?

</comment><comment><USER8> Hmmm... these are two _different_ benchmarks.

</comment><comment><USER25> A sign of things to come…

</comment><comment><USER26> But my Surface Pro X can run Linux inside WSL2. Apps made arm32, arm64, and x86 32bits just works, both Windows and Linux terminal apps, or GUIs if I install an X11 Server.

And I can install whatever application I want, and not what Apple allows me to. It might be a bit slower, but it is more flexible.

<comment><USER15> Uhhh... how is this any different? Thy have stated that the download options on these macs will be any source you want, ARM and Intel Mac apps, plus docker support for linux and etc. It's the same stack.

<comment><USER25> These ARM Macs will also run iOS apps too.

</comment></comment></comment><comment><USER27> True but it's still an iPad. It still feels like you're working with one hand tied behind your back.

<comment><USER28> It runs macOS.</comment></comment>


Paychecks Exposed: Google, Apple, Facebook and More - <AUTHOR> http://www.cnbc.com/id/40129303?__source=yahoo%7Cheadline%7Cquote%7Ctext%7C&par=yahoo <comment><USER2> Facebook seems to offer the most salary/compensation.

More interestingly, Facebook is one of only two companies (among 10) where the company rating is higher than the compensation rating.

Google gets 3.9 for company rating and also 3.9 for compensation rating (both are good). Facebook gets 4.3 for compensation rating. It gets an even higher score 4.6 for company rating (and that makes it the only company where Glassdoor describes the employees as "very satisfied")

It will be interesting to find out what Facebook is doing right and why other companies aren't able to match it.

<comment><USER3> May be it has to do with the fact that number of employees in google are many times more than that of Facebook, bringing down the compensation avg as well as the avg job satisfaction.

<comment><USER4> They're also a younger company, and pre-IPO, and probably have cultural differences too.

<comment><USER5> The pre-IPO part is key. They still have a ton of employees motivated by the "I'm about to be rich" carrot. Facebook is young and growing, it's easy to have satisfied employees at this point.

It's keeping them that way over the long haul that's the trick (particularly after the 'sexiness' has worn off).

</comment></comment></comment></comment><comment><USER6> First time I've come across glassdoor.com -- clear your cookies else your "free trial" runs out.

At one small start-up company I worked at us developers/hackers eventually found an "encrypted" XLS document which contained all the salaries (this was when Excel "encryption" wasn't up to much). So we read everyone's salaries, from the management down. The interesting part was that certain people in management were taking home huge salaries, for not doing very much visible work. The company ripped off a lot of investors and was eventually sold for a tiny fraction (~1%) of the money which was put in. Which surprised no one on the inside.

<comment><USER7> Do you think it's acceptable for you to have read the document, no matter how simple the encryption?

<comment><USER6> Sure, why not? I don't get this whole secrecy around salaries. If it was up to me everyone in the company would know what everyone else was earning.

<comment><USER7> Well, I don't think it's a question of whether salaries should be kept secret or not, I think it's a question of whether one should access data he's not supposed to just because he can.

<comment><USER7> I find it interesting that this is getting down-modded.

I think the ethics of IT is an interesting and important subject, and I was surprised to see someone unabashedly admitting to using his position to read confidential material.

I don't think our industry has a good enough set of accepted ethical guidelines, and I'd like to see that change.

</comment></comment></comment></comment></comment><comment><USER8> Is Facebook rated higher because it is the new cool kid in the neighborhood or because it is doing something different? After all, Google was considered the best place to work less than 5 years ago.

<comment><USER9> Google went crazy with hiring in 2006 and relaxed its standards, letting in a bunch of duds. There's a higher chance at Google that your manager is going to be a creep and your coworkers are going to be mouth breathers. Facebook is younger and smaller so does not face these issues (yet). If you do encounter a poser at Facebook, at least they are a cool, young , good looking poser, not a yucky beardo comp sci Phd poser...

Also, every bullshit funded startup in NYC pays what Facebook is paying, or better. (just a pro tip in case anyone else here is too old for facebook but needs to make some dough after spending too much time in the 80-90k zone, like I did)

<comment><USER10> Why the level of negativity about Google? Do you have prior experience there?

<comment><USER11> Let's just say I know enough Googlers who are currently fed up with the influx of subpar nooglers. It's not just one data point -- at least 4 of my googler friends complained about the new employees. They mention that Google stopped hiring around the economic crisis, and when the economy picked up again, they had to hire twice as fast to make up for the lost time and in doing so, they let in people who should have been rejected. I also recall that Eric Schmidt says his biggest mistake was to halt the hiring during the recent economic downturn.

<comment><USER12> I'm a Googler with the opposite complaint: in my neck of the woods we seem to be so picky that you start to wonder how any of us ever got hired. A person can do 10 or 20 interviews and have none of them (even the ones who seemed good) get an offer.

Google's a big company, so I'm sure that some pockets err on one side, some on the other.

<comment><USER13> I agree with you. And the effectiveness of the criteria Google uses to screen & interview candidates is highly debatable, at best.

One of their recruiters once contacted me (because I went to a 'top university') but decided it would be a 'waste of time' because I hadn't done any Java or C++ recently. It used to be that Google was interviewing for knowledge of the fundamentals unlike most other 'business-oriented' companies that want specific recent skills.

Nowadays it seems that they've got the 'worst' of both worlds - I heard they interview for very hard-core graph programming algorithms, and at the same time they want recent experience with Java or C++. So basically if you've recently only done Lisp/Smalltalk/etc or even Python, you don't qualify. Where is the logic in that?

On top of that, my impression was that the salary levels of their employees were fairly astronomical, on par with the ones paid by banks/hedge funds, but that definitely doesn't seem to be the case.

<comment><USER14> I've done more than 100 interviews at Google.

The first candidate who I interviewed and was hired coded in Lisp during the interview.

I recently interviewed a candidate who did a lot of iphone development and was obviously very bright, but didn't code very well in straight C get hired.

Candidates coding in Python during the interview is pretty common and I certainly don't count it against them.

I am not sure what recruiters are looking for and filtering upon, but if you are good with C++ or Java, even if you haven't used in the last few years, that is more than certainly enough. If you aren't good with C++ or Java, but you are really good anyway, you can still make it through the interviews, but it will be harder.

</comment></comment></comment></comment></comment></comment></comment><comment><USER15> Does this make anyone else feel extremely underpaid? I'm a software engineer at Fortune 200 company in a major metropolitan city, making about 30K less than these guys. It's not a technology company, so that must be the difference.

<comment><USER16> Honestly, I was looking at these thinking how under-paid they are. I contract for a company in a much lower cost of living area and I'm making more than the average Googler.

I honestly don't understand why anyone would work for someone else for peanuts.

<comment><USER17> Dude, let's get real here. 100k + is not peanuts.

It's higher than the median household income.

There's a very real premium to working on cool stuff.

<comment><USER18> Median of which households?

Although I believe the Bay Area's[1] "high cost of living" is frequently exaggerated, I also believe, however, that it can't be dismissed. If I had to put a number on it, it would be $10-$30k annually.

[1] The location of all employees at each company may be applying a selection bias, since I don't believe Facebook has more than a tiny fraction of its employees outside of the Bay Area, whereas the same cannot be said of Google.

<comment><USER17> All of those are substantive arguments. I was objecting to the use of the term "peanuts", which is derisive and dismissive -- as though this salary is not even worthy of consideration.

Only 6.5% of US workers make 100K or more, according to this: <http://www.wolframalpha.com/input/?i=%24100K+income>

It's either just colourful language, or indicates that the writer is out of touch with reality.

<comment><USER18> That didn't even occur to me, that you'd find the _term_ problematic. I just interpreted as colorful language.

I find the denominator of the entire US[1] to be somewhat misleading, as I said. More importantly, however, I found the emphasis to be on the working for someone else, not the magnitude of the salary.

Perhaps even more importantly, the high annual salary may translate to a low hourly rate, especially with a long commute and on-call duty. For some, this may be such a substantial reduction in quality of life, that the salary is low enough to resemble a legume.

[1]Do all US workers in the above denominator include self-employed contractors?

</comment></comment></comment></comment></comment></comment><comment><USER19> Be careful of these numbers being biased lower than the real medians and averages.

Glassdoor's gimmick is "tell us your salary and we'll tell you what everyone told us." They'll keep bugging you as you use the site until you finally relent (or play cookie / session reset games).

I'm guessing that means most people who sign up are somewhat insecure about their salary level and want more information. The truly satisfied or highly paid folks either don't use the site much or only need to look at one page and leave satisfied that they are doing just fine.

<comment><USER20> I would guess the opposite. People who are comfortable in making more than average would be more willing to divulge, even anonymously.

</comment></comment><comment><USER21> This is just blogspam. The site is glassdoor.com.

</comment><comment><USER22> What a weak article. 98,000 vs. 99,000, off an unreliable sample size. Expected from CNBC

</comment><comment><USER23> How could Facebook be so much higher in terms of satisfaction? Maybe it's too casual?!?

<comment><USER24> Is it too casual if they're wildly successful?

</comment></comment><comment><USER25> In this study, is "average base pay" basically equivalent to "midlevel salary"?

<comment> brown9-2 No. It's not a study, it's the average of salaries self-reported by employees on the website glassdoor.com. There is nothing to say that these self-reports are a fair sampling other than relying on there being a good number of them - I see 775 reported salaries on glassdoor for software engineers at Google.

</comment></comment><comment><USER26> Missing from the list are Microsoft and Amazon. I wonder how they compare?

<comment><USER27> The data is from glassdoor.com. Here are the salary pages for Amazon and Microsoft:

[http://www.glassdoor.com/Salary/Amazon-com- Salaries-E6036.ht...](http://www.glassdoor.com/Salary/Amazon-com- Salaries-E6036.htm)

<http://www.glassdoor.com/Salary/Microsoft-Salaries-E1651.htm>

</comment></comment><comment><USER28> Is it just me or these numbers are not that impressive?

Many of my friends make $100+/hr, it's not out of the ordinary.

I'm sure there are really highly paid developers there as well, but it just feels good to know that you don't need to work for one of the huge companies to make good money.

<comment><USER29> I agree, in my experience most funded startups (in nyc) are willing to pay at least 120K a year and you can make much more consulting. I would have thought these two companies, which are seen as the top of technology, would be paying much more.

<comment><USER17> The reverse is true. The cooler a place is perceived to be, the less they can afford to pay developers, up to some threshold where they can't hire any good ones.

There's a huge variance to what salary good developers are happy with. For every one who says "I wouldn't work for less than X", there are some who would, and moreover would not be unhappy at that salary level.

</comment></comment></comment><comment><USER30> Anyone else find it interesting what companies _aren't_ on the list? I guess MSFT didn't seem relevant.

<comment><USER31> MSFT isn't really considered a Silicon Valley company, given their headquarters is in Redmond.

<comment><USER30> Ah that makes sense. I missed the Silicon Valley reference. Thank you for the correction.</comment></comment></comment>


Ask YC: Entrepreneurship versus Trading - <AUTHOR>

I'm right now a student who, for a future career, is considering pursuing either a job in trading securities on Wall Street or  starting a technology company.  This would be in a few years, and if I were to pursue a career in trading, I would also get another degree probably in order to avoid the worst parts of the recession.
I have limited experience with both (as well as in the process of getting a degree in computer science), and either seems fine to me (I'm willing--in fact, excited--to do the work required).
My ultimate goal is to make some money that I can use for charitable causes (its from a sense of duty that my grandpa and father raised me to have--hopefully I will stay true to this).  More immediately I want to go after a challenge.  I had presented this question to a trader who argued that I should go into trading because I had better chances overall of making the money that I want and that everyday is a new challenge for him.  But, I want to hear many different perspectives, what advice do you have? <comment><USER2> It's about self-reward. What will reward you more: the challenges of day trading, arbitrage, and technical investing or the challenges of building a business, building a team, and making a profit? And think about the larger picture (i.e. lifestyle, living location, financial security).

I don't know what's the answer, although I will tell you this: trading and entrepreneurship are not mutually exclusive. ThinkorSwim is a great example of a group of entrepreneurs who knew trading and built a great business in Chicago.</comment>