What are some easy and practical ways to earn money online? - <AUTHOR> <comment><USER2> Exchanging time for dollars is fastest (upwork). Meanwhile think what kind of product you could build for reoccuring revenue.

</comment><comment><USER3> Finding online remote job / task from remoteok.io, UpWork (if you can compete on price) would be the easiest to start.

</comment><comment><USER4> These kind of questions are not really suited on this site. Take your time reading the guidelines and lurking around to get a feel for the kind of content people welcome.</comment>


Fear, Groupthink Drove Unnecessary Global Lockdowns – RealClearPolitics - <AUTHOR> https://www.realclearpolitics.com/articles/2020/05/21/how_fear_groupthink_drove_unnecessary_global_lockdowns_143253.html <comment><USER2> Italy.

<comment><USER3> What exactly about it? As an Italian, I saw most of the measures as excessive and panic-driven. Most of the country did not need a lockdown at all. Perhaps the model made by the Italian expert panel wasn't that good (it predicted, upon reopening, 150,000 Italians needing ICU care in a worst case scenario by June 4th - obviously that did not happen). And the "plan", if there was one, was simply to wait it out - until some people realized it was going to cause quite a lot of harm.

Of course, the media kept on fueling panic, and also some non-government experts (one in particular saying until recently that masks and physical distancing were useless to reduce spread).

Yesterday even one of the people who handled the lockdown in one of the regions said that perhaps it was too heavy-handed.

Italy is not a good example of things done right. Not at all.</comment></comment>


Technical papers, essays, reports, software, and other materials by Peter Norvig - <AUTHOR> http://norvig.com/

<comment><USER2> One of my Norvig favorites is his solution to the Zebra puzzle.

        https://www.udacity.com/wiki/cs212/unit-2#zebra-puzzle

Norvig solves it by implementing parts of the prolog progamming language in a few lines of lisp:

        http://www.norvig.com/paip/prolog.lisp

Then solves it in lisp/prolog:

        http://norvig.com/paip/examples.lisp</comment>


US, Canada, Australia and UK refuse to sign UN's communications treaty - <AUTHOR> http://www.bbc.co.uk/news/technology-20717774

<comment> a-priori I'm Canadian, and I support our government's decision here. They've done some boneheaded things with respect to Internet policy over the last few years, but this isn't one.

I don't like the idea that the US governs major parts of the Internet's infrastructure. In principle, I would like to see its governance transferred to some sort of an international body. I just don't trust the ITU to play that role impartially. Until we find such a steward, I think we should follow the "if it ain't broke don't fix it" maxim.

<comment><USER2> Look at these countries here. Who are they? US' biggest allies perhaps? Yes, they are. And that's why they did it. Don't think they did this to protect the people's interests or whatever. Harper would install backdoors in everyone's computers tomorrow if he could.

<comment><USER3> > Harper would install backdoors in everyone's computers tomorrow if he could.

{{citation needed}}

I certainly, certainly, understand that politicians often act against the interests of those they are meant to serve. However, I don't know why this level of discourse which includes unfounded, outrageous claims with regards to Politicians and Governments is so prevalent.

As a citizen, you also need to accept that Politicians typically act and make decisions on more data points than you or I have access to. The President of the United Staes represents the interest of 312 million people and those interests often conflict quite violently. He has to make life and death decisions which affect the lives of millions of people in America and around the world, and he does so on a daily basis using incomplete and conflicting information. That shit ain't easy.

To be opposed to a Politician or Government is completely fine and the right of any citizen in a democracy. Governments are imperfect organizations made up of imperfect political parties composed of humans who are imperfect. However, statements like, "Harper would install backdoors in everyone's computers tomorrow if he could.", without citation does nothing to improve the situation. The governing of our society is too important of a topic for such unproductive and toxic level of discourse which is all too common.

<comment><USER4> Many Canadians already know what a crook Harper is. But here's a pretty good citation:

[http://openmedia.ca/news/warrantless-online-spying-bills- tar...](http://openmedia.ca/news/warrantless-online-spying-bills-target-all- canadians-unpopular-legislation-tabled-petition-tops-8000)

</comment></comment></comment></comment><comment><USER5> Lately Harper's Canada has been heading down the wrong road when it comes to progress and justice.

I am proud at least that it didn't participate in this ITU farce.

</comment><comment><USER6> Its like looking from the side, at two parties neither suitable to hold the key infrastructure of the internet.

The UN would be a horrible caretaker, motivated by censorship, power grabs, and very old business model becoming obsolete and clinging to the government to save it, ie the telecoms industry.

The US is almost as horrible caretaker, trying to police the world, spying all the time, and a slightly old and obsolete business model that are clinging to the government to save them, ie the media industry.

I doubt any solution will come top-bottom in this case. If we want a change, it must come from distributed network without actors in the middle that control the switches. Mesh networking is hopefully this, but if not, maybe a overlay network could be enough.

<comment><USER7> Neither side really understands the Internet, either. IANA isn't in control because someone decreed it so - it's in control solely because the overwhelming majority of the independent networks that make up the Internet choose to respect its allocations.

</comment></comment><comment><USER8> Russia, China, Saudi Arabia, Algeria and Sudan... I don't think I'd side with them either.

<comment><USER9> On the other hand, when it comes to the threat of TPP for the Internet, US doesn't complain (quite on the contrary). Does it sound hypocritical?

<comment><USER10> Yes, you're right. We should let Russia and Saudi Arabia run the Internet, because the US isn't flawless.

<comment><USER9> You have it totally wrong. We shouldn't let US to push TPP on the rest. Surely we shouldn't let any ITU backed by Russia, Iran and the rest to do that either.

My point was about apparent hypocrisy. When it comes to taking away control over Internet from US to others, US objects. But when it comes to adding more control in the interest of US lobby groups (which push TPP), US government is silent. We, as Internet users should worry about both of these problems the same way.

</comment></comment></comment></comment><comment><USER11> See also [http://news.dot-nxt.com/2012/12/14/internet-humbles-un- telec...](http://news.dot-nxt.com/2012/12/14/internet-humbles-un-telecoms-a) which has more details about how the vote happened, and why.

</comment><comment><USER12> Btw, the (draft of) the treaty is here: [http://www.itu.int/en/wcit-12/Documents/draft-future-itrs- pu...](http://www.itu.int/en/wcit-12/Documents/draft-future-itrs-public.pdf) . It's really not in any way as bad as the fud on the internet wants us to believe. And it's certainly not about ITU taking control over the internet.

<comment><USER13> No way. You mean the vested interests of the USG means that people are spreading FUD about moving governance from US to international control?

Really? :)

</comment></comment><comment><USER14> Personally, I wouldn't trust the un to run a lemonade stand. Their track record is exceedingly poor. I actually trust the us government more than the un, simply because there are checks and balances in place, even if theynonly seem theoretical at times.

</comment><comment><USER15> It's good to see national governments seeking to retain their influence and power, working for individuals _this time_.

</comment><comment><USER16> Do the supporting countries have a specific beef with the IANA or is it only because it's US-based/backed?

<comment><USER2> They just want more control over the Internet, and the ISP's want to make all content companies pay for transferring their data through their pipes. In the minds of ISP's, who so far have lived off ripping off customers with SMS charging, they don't think it's fair that people get to use e-mail or apps like Whatsapp for "free". They want their "cut".

<comment><USER17> ISPs have nothing to do with SMS, unless you specifically mean mobile telephony operators.

<comment><USER2> Yes, I actually meant all telecom companies, which are part of ITU.

</comment></comment></comment></comment><comment><USER2> I wonder what role this resolution plays in the whole thing, though?

[http://www.techdirt.com/articles/20121212/23365121371/itu- go...](http://www.techdirt.com/articles/20121212/23365121371/itu-goes-back- multiple-promises-makes-play-internet-governance-with-sneaky-surprise- vote.shtml)

Does this mean the resolution is pretty much irrelevant now? Or does it mean most of the companies participating there will continue to seek that power over the Internet, perhaps at next year's conference (I think they are having one again next year, to talk about who owns the IP infrastructure or something).

</comment><comment><USER18> >"Negotiators from Denmark, the Czech Republic, Sweden, the Netherlands, New Zealand, Costa Rica and Kenya have said they would need to consult with their national governments about how to proceed and would also not be able to sign the treaty as planned on Friday."

The full list is available here. In particular I am glad to see Japan has also refused to ratify:

<http://www.ipv.sx/wcit/>

<comment><USER19> How accurate is this? It doesn't show Russia as a backer of the proposal.

</comment></comment><comment><USER20> If other countries want to govern their national nets without US control, they'll govern their national nets without US control. One way or another.

Seems to me the choice is that the US+friends either sign, or get a fragmented internet.</comment>


Do you think small businesses MUST have an app? - <AUTHOR> http://www.chupamobile.com/blog/2014/09/08/5-reasons-small-businesses-app/

<comment><AUTHOR> Is happening the same as happened with websites some years ago?</comment>


Marine Heavy Gunner dev notes - 'Nobody picked up that it was a parody' - <AUTHOR> http://hakstrap.wordpress.com/2010/01/21/marine-heavy-gunner-fna/

<comment><USER2> _Your six person, six month, $200,000. budget game is reviewed THE SAME as a three year, three hundred person studio game_

Why wouldn't it be? The point of a review is to tell me how good the game is, not to reward you for effort.

<comment><USER3> They probably don't have the same retail price at launch. Do they also go to shows at a local clubs and complain that their stage show isn't as good as the Rolling Stones?

</comment></comment><comment><USER4> _'Nobody picked up that it was a parody'_

Closely related quote: "No one ever went broke underestimating the intelligence of the American public." --Henry Mencken

<comment><USER5> My radar went off on this one, because I've heard it attributed to both Mencken and P.T. Barnum. But it turns out Mencken _did_ say it - or rather, he said something that resembled it:

 _No one in this world, so far as I know — and I have researched the records for years, and employed agents to help me — has ever lost money by underestimating the intelligence of the great masses of the plain people. Nor has anyone ever lost public office thereby._ (Chicago Tribune, Sept. 19, 1926)

This is another case of a quote that mutated over the years into a pithier, more rhythmic form. An interesting divergence is that Mencken never explicitly said the _American_ public.

<comment><USER6> Mencken being the elitist he was, probably never saw the "great masses" in finer detail. American or otherwise, to him they were nothing but a bulk; a gray, disgusting pile of intellectual and material poverty.

Him and Buckley have elevated crypto-fascist snobbery to a new level.

<comment><USER5> I'm not sure you're right about Mencken. I have the impression that he was more of a cynic than an elitist, not a groveler before wealth and power. There's a series of interviews with him on YouTube, done by a protégé of his as a kind of oral history. I dabbled with listening to them a few months ago and remember one anecdote. Mencken described how he enjoyed walking through neighborhoods of Baltimore at night, looking into well-lit living rooms to learn what he could about how people lived. For the most part he thought people's taste was appalling, but he mentioned that one poor black woman's house had struck him as being arranged with some of the best taste he had ever seen. I don't know that much about Mencken but my guess is that "good taste" was high praise.

About Buckley, on the other hand, I agree with you. I've watched some of the interviews he did in his prime and seen nothing but an oily, pretentious jerk, sure that his establishment platitudes are convincing arguments. Those pieces really have not aged well. I'm thinking of the ones where he "debates" Chomsky ("I'd smash you in the goddamn face") and, infamously, Gore Vidal ("Now listen you queer, stop calling me a crypto Nazi or I'll sock you in the goddamn face and you'll stay plastered.") Some intellectual hero.

<comment><USER7> So, what _should_ you do if someone keeps calling you a crypto-nazi in a televised debate? I'm pretty sure that if Buckley and Vidal had been having a debate about civil rights, and Buckley repeatedly called Vidal a "crypto- faggot", under the pretense that doing so was vaguely related to civil rights, and then if Vidal had made a rejoinder similar to the one quoted, you'd be applauding it.

Remember, it was Vidal's essay about Buckley that twice inspired libel suits and forced Esquire to print an apology.

(Note: Not a Republican and not a fan of Buckley, but a fan of the truth.)

<comment><USER8> Surely you're not saying that being labeled a Nazi and being called gay should evoke a similar, combative response?

<comment><USER9> Being called "faggot" is not the same as being accused of homosexuality.

<comment><USER8> That's the (disparaging) meaning I grew up learning. What else does it mean?

<comment><USER10> To the best of my understanding, the difference between "homosexual" and "faggot" is about the difference between "African-American" and "nigger".

Objectively, the meaning is the same; but you wouldn't use the first to insult someone, and you wouldn't use the second in a policy document.

<comment><USER8> Which, unless I'm somehow confused here, brings me back to my original point. If someone calls you a Nazi, they are calling you something horrible. But if someone calls you a homosexual, even if they do it in an insulting manner, they aren't saying anything horrible about you at all. They are just showing their own ignorance and bigotry through their choice of words.

So that's why I objected to indirect comparison of calling someone a Nazi vs. calling someone a homosexual.

<comment><USER9> "crypto-faggot" is not "crypto-homosexual"

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> "Another interesting note, we DID have ragdoll physics. But what happened was when you killed a Vietcong their body would shrink down to the size of a child and seizure on the ground flailing and screaming."

Hilarious. Despite the overwhelming complexity and pressure of the game industry, I can imagine getting to create something like this with a small team of friends would be absolute bliss.

<comment><USER12> You missed the money quote:

"After a firefight it looked like you had wiped out an entire orphanage"

<comment><USER10> You also missed the "one full year of crunch time" part. It wasn't all gun and fames.

</comment></comment></comment><comment><USER13> It got 50% on metacritic, which isn't too bad. For 6 people for 6 months, it's actually quite an achievement.

</comment><comment><USER14> I laughed at the crappymode as well and a friend pointed me to this <http://www.youtube.com/watch?v=jwxN8sCIOOE> Half-life with a voice plugin :)

</comment><comment><USER15> The gaming format of a wisecracking band of heavily armed soldiers blasting their way through a foreign country while spewing curses and black humor is a trope that never gets old. Fast-forward to 2010, and Battlefield Bad Company has a very respectable rank on Amazon.com:

[http://www.amazon.com/s/ref=nb_sb_ss_i_3_14?url=search- alias...](http://www.amazon.com/s/ref=nb_sb_ss_i_3_14?url=search- alias%3Daps&field- keywords=battlefield+bad+company&x=0&y=0&sprefix=battlefield+ba)

</comment><comment><USER16> I love the youtube links at the bottom... they point to... youtube.

<comment><USER3> Found one: <http://www.youtube.com/watch?v=xXLewW_aeuo>

</comment></comment><comment><USER17> Under CHEAT CODES:

 _> crappymode = all guns are now my voice (kudos to my compatriot in crime)_

bang! bang!

<comment><USER18> Partly also explained here: [http://www.reddit.com/r/AskReddit/comments/ash51/shhh_share_...](http://www.reddit.com/r/AskReddit/comments/ash51/shhh_share_the_secrets_of_your_trade_lifes_little/c0j5r0k)

</comment></comment><comment><USER6> Funny, light read :-)

</comment><comment><USER19> anyone have a mirror of the download?</comment>


Let Math Save Our Democracy - <AUTHOR> http://www.nytimes.com/2015/12/06/opinion/sunday/let-math-save-our-democracy.html <comment><USER2> Any time the subject of democracy or voting comes up, I like to post this old link that I found in someone else's HN comment long ago: [http://zesty.ca/voting/sim/](http://zesty.ca/voting/sim/)

It shows how different voting systems behave in different multi-candidate scenarios where candidates differ on more than one axis (as they always do, a fact which is not represented by our linear left/right political narrative). A better voting system would do more for democracy than better districting.

<comment><USER3> Unfortunately, there's often no one I'm interested in voting for on the ballot. How do I vote then? Should I vote at all? I don't think I'm an outlier as more and more people aligned with both parties feel disenfranchised, but you don't stand a chance at having a reasonable candidate for most races with the amount of money required to mount a campaign. If you can't get media attention, you're out!

<comment><USER2> Approval voting would make it safer and easier to run more candidates, as you wouldn't have the vote splitting problem. It does have the problem that running 10 similar candidates makes their viewpoint more likely to win, if I recall correctly, so a party-based system might still be useful in that case.

</comment></comment></comment><comment><USER4> Hmm.... this seems extremely naive on the part of the author.

Let's take his approach for a moment. How do we look at the statistics he proposes? Do we look at the last election or the last decade or since the last redistricting? His analysis showed single sets of races, but US states have bicameral legislatures... do we somehow combine those results or pick and chose? Do we, as the author did, discount third party participation and if so isn't that also biasing redistricting efforts in favor of two parties that are not as different as most would like to admit? Do we choose our time frame ad hoc at the time of redistricting?

How do we deal with this problem: we have a district that was itself gerrymandered at one point in time to ensure that a significant racial minority had sufficient electoral clout in at least some districts (including our example). Now that district votes for Party A consistently, but the mean vs. average approach shows that the redistricting unduly favors Party B... do we meet the aims of inclusion or do we try to ensure that political parties are not advantaged/disadvantaged at redistricting time?

The real problem here is that democracy has become this important at all. Rather than worry about how to best preserve the rights of each individual from undue interference from anyone (including government officials) we are more worried about ensuring that we are not unduly disadvantaged in having access to the force that government represents: and in so doing ensuring that we can use it against those we don't favor for the benefit of those that we do.

</comment><comment><USER5> This is a good article with lots of links that I'm going to have to follow. One 'danger' with the types of statistical tests that the author favors is that districting may be subject to gerrymandering towards supposedly good goals like making the popular vote and the elected seats match up; but if we're going to try for that we should instead use a proper Proportional Representation system ( [https://en.wikipedia.org/wiki/Proportional_representation](https://en.wikipedia.org/wiki/Proportional_representation) )

</comment><comment><USER6> Multi-winner ranked choice voting would do much more good to the democracy of US than ensuring the Democrat and Republican seats are "fair", and it would also solve the gerrymandering problem as a consequence:

[https://www.washingtonpost.com/news/in- theory/wp/2015/10/23/...](https://www.washingtonpost.com/news/in- theory/wp/2015/10/23/lets-move-beyond-winner-take-all-elections/)

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

<comment><USER7> > [...] than ensuring the Democrat and Republican seats are "fair", [...]

Yes. You can only call the system fair, once third parties have a chance at all.

</comment></comment><comment><USER8> [https://en.wikipedia.org/wiki/Arrow%27s_impossibility_theore...](https://en.wikipedia.org/wiki/Arrow%27s_impossibility_theorem)

<comment><USER9> Honestly, this likely presents the constraints too tightly. Dictators are likely ok (in the jargon of this proof)

<comment><USER10> I interpret Arrow's theorem as a statement that there is no universally- agreeable definition of "fair". You can create local definitions of "fair", you can get people to agree to operate with them, but somebody else can always propose a different, sensible definition of "fair", and that definition _may_ produce a different outcome. It also means that it's reasonable to debate the effects of different definition of "fair".

I'd say the entire point is precisely that these constraints, quite surprisingly, are too tight. You _must_ loosen them. You have no choice.

It doesn't mean it's the end of all hope, it just means that it may not be quite as easy to "turn a crank" and get universal answers as we'd like.

I think a lot of people miss that Arrow's theorem is less a political statement than a _mathematical proof_ , and end up bringing a lot of baggage to it that is not justified. It is what it is; it isn't morally "right" or "wrong", it isn't that it "misses something" or unfairly focuses on something else, it's just "true". What you do with it is up to you, but you won't change its truth or falseness value by arguing with it any more than you can any other proof.

<comment><USER11> There are a few odd mathematical theorems which almost just seem to draw cranks like moths to a flame: I don't think I've ever seen a reference to Godel's incompleteness theorem outside of a mathematics textbook which isn't eye-rollingly cringeworthy. Similarly with this one; we have very technical theorems that take years of study to fully understand, and they almost touch on other fields or have some kind of "wow factor" which makes them irresistible to pop lit writers like Gladwell, Hofstadter, etc.

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

</comment><comment><USER13> I posted this comment last night when this story was on HN for the first time:

I've come to expect this kind of painfully unhelpful commentary from the rag that is the NYT. On par with their myopic mainstream-ism, this article's purpose is to confuse and pacify readers with a narrative that states we can continue on our current government's course, if only we were to allow for a minor change of our political system's vote-counting partitions. We cannot save or rekindle democracy with such pathetic incremental changes, nor are "we" as citizens empowered to make such changes anyway-- purge this article's idiotic train of thought. To be explicit: changing who gets elected via more neutral partitioning won't change a single thing, because the titanic problems of American "democracy" (in realistic terms, oligarchy or perhaps autocracy) occur post-election outcome, and occur regardless of whether it is Democrats or Republicans who win.

Redistricting won't save democracy; at best, algorithmic or "mathematical" (a fool's term for neutral and objective) redistricting will allow for the voters to pick candidates that are proportionally and geographically anchored to their districts. Geographical picking of representatives isn't broken beyond repair within the political system, nor is the physical counting of votes to determine which representatives win, though the electronic voting systems leave the latter terrifyingly unverifiable and unquestionably anti-democratic.

The slaughter of democracy in our time is an intentionally engineered result of post-election corruption as effected by bribes of lobbyists, raping the power of the vote in the name of capital flow to those that are already morbidly obese with riches. You cannot have democracy when money is allowed to have a coercive power that eclipses any feasible democratic comeuppance.

Let the banishment of money from the election component of political activity exist as an iron law in any new democracy which is established. That would be the start of having a fighting chance for democracy, which America has long since discarded.

<comment><USER7> > [...] and occur regardless of whether it is Democrats or Republicans who > win.

That's why it would be useful to have a system, like approval voting, that would allow non-Democrat, non-Republican candidates to get support.

</comment></comment><comment><USER14> Fundamental issues are [https://en.wikipedia.org/wiki/Vote_selling](https://en.wikipedia.org/wiki/Vote_selling)

</comment><comment><USER15> I wanted this article to be about encryption.

</comment><comment><USER16> "Those who vote decide nothing. Those who count the vote decide everything."

(Joseph Stalin)

<comment><USER17> There are elections for which it is true, and there are elections for which it is not. No doubt Stalin loved the former kind. He also loved to say "death is the universal solution: no man, no problem" and lived up to that to the full extent. I don't see how that's related to the article though.

If you have doubts about fairness of voting in U.S. political system, why not voice them directly. Last I checked they don't arrest people for that.

<comment><USER16> I have doubts about the fairness of voting in general. I would prefer [https://en.wikipedia.org/wiki/Sortition](https://en.wikipedia.org/wiki/Sortition) to select members of the parliament. And to add another smart quote:

"It is accepted as democratic when public offices are allocated by lot; and as oligarchic when they are filled by election." (Aristotle)

</comment></comment></comment><comment><USER18> This is also related to Simpson's Paradox

</comment><comment><USER19> The US is not a Democracy, was never meant to be a Democracy, and the founders went to great lengths to ensure the citizens of the US were protected from a Democracy by the framework of the Constitution.

Maybe some day the average citizen of this nation will be informed and intelligent enough to participate in a functioning Democracy. Until then politicians will continue to manipulate the misinformed masses and throw around the word Democracy to make the plebs feel as though they matter.

<comment><USER20> It is not a republic either. At least it is not a republic in a way that the Greeks, Romans, or American Founders would have understood it. It was meant to be a republic, but it is no longer.

The US is actually one-half mandarinate (rule by a permanent government comprising the civil service and academia) and one-half spoils-system kleptocracy (rule by organized factions who get the government to give them money or favorable law). Elections are used mainly as a legitimacy mechanism. You can think of them as almost a religious ritual, like taking communion. Elections are a way of giving people an illusion of control, and of proving overall buy-in in the system, while in reality popular influence is kept quite limited.

<comment><USER19> Your knowledge of history is quite terrible as well as your definition of words

<comment><USER20> Your knowledge of my knowledge of history is quite terrible. I am quite well read, and could defend any of my sentences above. In government, it is quite often that the reality of power does not match the official language used to describe it. Rome, for instance, was officially a republic, long after in reality it had come to be ruled by an emperor.

</comment></comment></comment></comment><comment><USER21> Here's sort of how this went sour.

Democrats, "Man, I can't wait to get in power... when I do, everything is going to be so 'fair' and it's going to be paradise."

Republicans, "Once I get in power I'm going to use the rules to my advantage and make sure I stay in power."

Democrats, "Aww shucks, you beat us by using the rules we all agreed to! Man, I never saw that one coming."

Republicans, "We told you we hated government... see how backwards it is... come vote for us next time and we'll do something about it. Also Jesus."

Democrats, "Ok! Once we turn 40 we're there!"

And thus, Gerrymandering is here to stay.</comment>


This has been happening for a few hours now. - <AUTHOR> http://i.imgur.com/8eqqe.png

<comment><AUTHOR> That's traffic from a reddit _comment_ to a page of mine. I'm sharing it to demonstrate the sickeningly huge potential of such a link -- scary stuff. 1000s of views, probably.</comment>


"A Slower Speed of Light" Game Trailer - MIT Game Lab - <AUTHOR> http://www.youtube.com/watch?v=uu7jA8EHi_0

<comment><USER2> Very cool! I added an entry to build something similar to my maybe-build- someday-list 10 years ago, luckily not everyone is as lazy as I am ;)

Congratulations to the team at MIT Game Lab! Downloading now...</comment>


I Built a $7K/Month WordPress Plugin Because I Needed the Product - <AUTHOR> https://www.starterstory.com/build-profitable-wordpress-plugin-from-scratch <comment><USER2> This is a great article. I can't remember the last time I saw so many concrete details about how _and why_ a product went from zero to profitability.

</comment><comment><USER3> Demo: [https://designacademy.io/client/helpspot-website- design/](https://designacademy.io/client/helpspot-website-design/)

<comment><USER4> I think the logos for "The Brief" and "Inspiration" were mistakenly swapped.

</comment></comment><comment><USER5> Awesome. "Because I needed it" is a great reason to build a product. Wish all companies ate their own dogfood.

</comment><comment><USER6> really inspiring. I've been building my product for a while now, and my motivation has been super low. Stories like this encourage me to keep working at it.

Great work OP!</comment>


Why do business people love cross-platform so much? - <AUTHOR> https://pickaframework.com/articles/cross_platform_boss/ <comment><USER2> "That being said, if you're making a game, it probably won't work in cross- platform"

I feel like gaming is the easiest thing to do cross-platform since you don't rely on any native UI and OpenGL is pretty similar on different platforms. Unity, Unreal Engine, and many others are designed to target many platforms.

<comment><USER3> Well, it's not the software side that's difficult. Generally, it's the user interaction story that's troublesome. In terms of games, it generally a question of console, mobile, and PC/Mac. In that sense, the size of screen, the controller and/or gamepad versus keyboard/mouse versus touch input. Each will give players different advantages than players on other platforms. It's a bit more difficult to do cross-platform game and keep it consistent, fun and fair - even more so for multi-player online games. If only it were simply a question of just porting the software, then we'd see a lot more of it, IMO.

Also, in regards to cross-platform frameworks and games: it's the additional latency, as well as the overhead (but almost certainly the latency) of any cross-platform compiler/library/framework that kills things. Games are right on the edge of a 12 millisecond per frame boundary (or less!) and every cycle usually counts for games these days (especially on limited mobile processors).

<comment> crooked-v > as well as the overhead (but almost certainly the latency) of any cross- > platform compiler/library/framework that kills things

You say that, but plenty of games, including twitch shooters, have been successful using Unity and Unreal, both of which support a pretty large number of platforms.

<comment><USER3> Sure, but those are both engines - not general purpose frameworks and/or libraries. They're specifically designed for games and game-like programs. Granted, I didn't really make that distinction, so your point stands. However, even if they do solve the latency issue (usually), game balance for cross- platform use is still very much an open game-specific problem.

</comment></comment></comment></comment><comment><USER4> From the article: _" Sign up for my email newsletter and get a free framework decision email course. You'll learn effective ways to research framework pros and cons."_ It's an ad.

Too many articles like this on HN lately - short, useless, lead to an ad. This looks like SEO crap, outsourced to Mechanical Turk or Upwork.

<comment><USER5> Yeah, me feel the same. How do people game HN?

<comment><USER6> > Yeah, me feel the same. How do people game HN?

Sounds like a bot wrote that

<comment><USER5> Why do you say that? I'm a real human with feelings, that just got hurt (a bit)

</comment></comment></comment></comment><comment><USER7> I recall seeing an interview with Paul Graham (IIRC), who said that developing web-based software allowed them to sell to Windows using customers without having to develop in Windows.

I think this partly explains the popularity of Javascript, Electron and Web apps among developers.

<comment><USER8> As a non-businessperson, I don't really like learning to use a program if it can't run on a Raspberry Pi/Chromebook/etc.

It seems too fragile to be worth investing too much time in; what are the chances I'll still be able to use it in a decade or two?

Web apps are a blessing in that regard, but OSS is still better and some companies do actually build their products for architectures other than x86.

While I'm on the subject, Eclipse versions later than 4.0 aren't built for ARM cores. What's up with that?

</comment></comment><comment><USER9> Same can be asked, why do some like lock-in so much that they avoid cross platform development?

<comment><USER10> The important parts of your business are in the backend, and should be accessible in json format. If you have a good api, developing native clients should be simple and fast.

But what I have seen are very confident web frontend devs (and product managers too) who only consider web solutions, and dismiss native apps as being duplicated work.

<comment><USER11> _The important parts of your business are in the backend, and should be accessible in json format._

In my experience the backend of most non-tech and some tech businesses is a database and some trivial validation rules. Everything important is in the design of how the data is displayed on the front end.

<comment><USER12> IME a lot of data display is backend, that's why data gets joined, aggregated, enriched, etc. The front end just formats the data, into a table, list or whatever the onscreen representation is.

</comment></comment></comment></comment><comment><USER13> "Let's write our line-of-business app in ActiveX, everyone already has IE6 anyways"

</comment><comment><USER14> Beware: This article reads like it was written by somebody who has never developed a mobile app. Thus, before you go down this road, read below.

\- Cross platform does not mean you can share the UI/design. Different mobile platforms require different accordances that users are accomstomed to. So your design and code might have to be different, just as it would be for native.

\- Just because you are using a cross platform framework does not mean you sidestep the nuances of the framework itself or that of the host platform. In fact, it just makes things worse because you have to code around these nuances. Due to the underlying way iOS/Android work (e.g. permissions or the differences between Android's activities or UIViewController on iOS), you will still need a fair amount of platform specific code.

\- Many cross platform frameworks have limited support for other libraries and if not you need to go native to support them. At this point you may as well be developing natively.

\- The performance can matter quite a bit. However, unlike native your ability to do anything to resolve these issues is extremely limited. Maybe it doesn't matter a ton depending on the use case, but people do notice. Only being able to solve it by dropping into native sort of defeats the purpose of cross platform.

When you add all these up, the benefits of cross platform get very muddled.

It is far better to prove out your app on one platform, get users, solve problems, and when you have more resources and a good process, go to other platforms. If you don't succeed on one platform, not being cross-platform would be an unlikely reason.

In the case of React Native, it is possible to have a hybrid, which may let you get around some trade offs.

</comment><comment><USER15> >I would go so far as to say if you are building anything other than a game, performance is not really going to be an issue you'll run into.

My experience is the opposite. Every application that's more complex than a guitar tuner starts to lag after it's been open for too long or when I'm viewing too many resources at once: Web browsers, website-specific browsers (e.g. reddit clients), mail clients, IM apps like telegram, etc.

Responsiveness is one of the most important aspects in a mobile app. It makes the difference between getting the job done and wanting to smash my phone with a hammer.

</comment><comment><USER16> Answer lies in the question I believe, non-business users don't necessarily know the details and like to pick something that's cross-platform to meet their business objectives. Practically having two different teams in sync needs extreme collaboration between them, often I have seen other extreme when logic and calculations are computed differently by different teams and users of each platforms were given different experiences. For most business apps, cross platform serves well enough. Easy to extend an web developer to build these apps than having to learn different platforms. Web platforms serves well over time. There exists a certain set of problem spaces when native apps are better. Let the needs drive the decision to choose the platform - would be the wiser option. End of the day business pays for these apps. (I am a full stack Dev.)

</comment><comment><USER17> People love cross-platform because the half-life of app programming knowledge is something like 4 months.

If you take your toes out of app programming for even a year, you're almost completely lost when you come back.

Cross platform means that you don't have to climb two learning curves simultaneously.

</comment><comment><USER18> I'm not sure the premise is correct. It doesn't seem as though this has anything to do with business people or non-business people.

</comment><comment><USER19> > That being said, if you're making a game, it probably won't work in cross- > platform.

What? Ever heard of Unity, powering the majority of games out there?

</comment><comment><USER20> In sometime the discussion will be why business people love PWA so much.

</comment><comment><USER21> They've been sold on shortened time to market.

The author's "business people" is transparently a euphemism for "clueless technologist" but what they actually care about is finance. Specifically, the time value of money and why they don't want to hire another two people to do Android and iOS in addition to the Web.

The marketing message from the cross-platform framework folks was aimed well and hit the mark. "Spend your time and money with us (or our consultants), not your expensive and peculiar developers. Together we'll achieve 3x the results for 1x the cost!"

</comment><comment><USER22> Because when done correctly (VS Code) it fucking rocks.</comment>


Show HN: Triage Support Software - <AUTHOR>

Triage is support software, used for managing requests. It's different from Redmine, as it's meant to be used during the support phase of a product, not development. <comment><AUTHOR> Looks like the URL was stripped out of the initial post. Here it is:

<http://gettriage.com></comment>


Why Ayn Rand Is Wrong (and Why It Matters) - <AUTHOR> http://www.litkicks.com/WhyAynRandIsWrong

<comment><USER2> SPAM.

This doesn't say why, it's just a big post to get you to buy his book.

<comment><USER3> Rand's philosophy is more than opposite of collectivism.

</comment></comment><comment><USER4> The problem isn't her philosophy. The problem is that Objectivism attracts the worst kind of people: the self-deluded sociopaths who suffer from massive cognitive dissonance and really think they are better than the rest of the human race and all the success they have accrued are due to their own personal merit.

I believed Warren Buffet described this succintly many years ago when he said his massive success was also very much dependent on him being born in America rather than say, Bangladesh, and that modern capitalist society overvalued his work, while undervaluing the work of say, teachers and firemen.</comment>


Twitter's 'Moments' Will Try to Tame the Chaos - <AUTHOR> http://www.nytimes.com/2015/10/08/technology/twitters-moments-will-try-to-tame-the-chaos.html <comment><USER2> Looks like a good way to get concise news and facts on Twitter. Even by searching events and hashtags currently, there is a lot of junk that comes up between actual, good information. Since Moments has curators, hopefully the information can be streamlined and presented in a clearer fashion.</comment>


Crate.IO Wins TechCrunch Disrupt London's Startup Battle - <AUTHOR> http://cr8.is/tcdisrupt-14

<comment><AUTHOR> Super excited to have won the Startup Battle! Crate is a distributed database that uses a SQL interface to access Lucene-based data. You could think of it as "SQL for Elasticsearch" if you must, but it's much more than that. Questions? Comments?

<comment><USER2> Congrats!</comment></comment>


Blue-ribbon commission says IP theft costs the US economy more than $300B/yr - <AUTHOR> http://ipcommission.org/report/IP_Commission_Report_052213.pdf

<comment><USER2> They're paid to say that. They could come to no other conclusion except that "IP" "theft" costs some other Large Number of dollars per year.

You can't believe this kind of thing.</comment>


Show HN: reimportlib: Refactored Imports - <AUTHOR> https://github.com/guilt/reimportlib/ <comment><AUTHOR> reimportlib is used to help with refactored old code where the imports were moved out, but you still wish to get legacy packages/classes to work, because you had serialized them at a point in time but they aren't available today.</comment>


Why Do Computers Use So Much Energy? - <AUTHOR> https://blogs.scientificamerican.com/observations/why-do-computers-use-so-much-energy/ <comment><USER2> > _Precise estimates vary, but currently about 5 percent of all energy > consumption in the U.S. goes just to running computers_

30% goes on transport.

> _the human brain is a computer. This particular computer uses some 10–20 > percent of all the calories that a human consumes_

So society's computer uses 5 percent and our own, evolved over millions of years, uses up to 20.

I'm not saying computers can't or shouldn't be made more efficient, but relatively speaking, the title of this article is pretty bizarre. Computers _don 't_ use very much energy compared to almost everything else in the world.

<comment><USER3> It would make more sense to compare absolute numbers.

A brain uses about 20W. A modern computer has similar consumption, but is many orders of magnitude less powerful.

<comment><USER4> A single modern CPU can crunch more numbers in a second than every person living on earth combined. Sure there may be things that it's not capable of, but most things it _is_ capable of, it's usually 8-10 orders of magnitude more efficient at.

<comment><USER5> The brain still tops every CPU at visual processing, which may be its highest throughput interface.

<comment><USER6> It's almost like brains and computers are somehow different.

</comment></comment></comment></comment></comment><comment><USER7> There's also the question of how _little_ energy is enough to perform computations, and I've enjoyed greatly a video on the subject by PBS Space Time:

"Reversing Entropy with Maxwell's Demon | Space Time"

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

Turns out even in case of an "ideal Maxwell'S Demon", the memory operation required to handling pass/stop necessitates certain energy use.

<comment><USER8> The response to comments at the end is amazing. Subscribed.

</comment></comment><comment><USER9> > Why Do Computers Use So Much Energy?

Ads.

<comment><USER10> Also, wide character sets. ASCII is all anyone ever needed.

<comment><USER11> Kind of shocked to be reading this... have you ever made software for non- English speaking users? ASCII is not enough.

<comment><USER8> I'm pretty sure this is just Poe's Law in action.

</comment></comment></comment></comment><comment><USER12> >These analyses have provided some astonishing predictions. For example, we can now calculate the (non-zero) probability that a given nanoscale system will violate the second law, reducing its entropy, in a given time interval. (We now understand that the second law does not say that the entropy of a closed system cannot increase, only that its expected entropy cannot increase.)

I think they meant to say decrease in the parentheses. But that's tantalizing. I'd like to hear more about that.

</comment><comment><USER13> What i don't understand is how a phone can be so powerful with so little watt usage. especially compared to a PC

<comment><USER14> 1) Your phone is mostly sleeping (extremely low power state). Your laptop also uses very little power when sleeping. That is why your laptop can sleep for a week++ but can only run for 3-8 hours.

2) Your phone is not nearly as powerful as your laptop despite similar specifications of the CPU speeds. Pretty much everything other than the base CPU clock rate is much, much slower. In addition, your phone CPU down-clocks itself due to thermal limitations where your laptop has a fan and much better heat dissipation capabilities. As a result, it is almost never running at the maximum rated clock speed.

On a YouTube talk I watched (skewering web site speeds and JavaScript overloads), the speaker's iPhone, with CPU specs similar to his laptop, was 25 times slower than his laptop when rendering a (JavaScript heavy) benchmark page.

<comment><USER15> Sounds a bit like "Progressive Performance (Chrome Dev Summit 2016)": [https://www.youtube.com/watch?v=4bZvq3nodf4](https://www.youtube.com/watch?v=4bZvq3nodf4)

<comment><USER14> Yes, thanks!

Where he talks about benchmarked speed vs. marketing numbers: [https://youtu.be/4bZvq3nodf4?t=676](https://youtu.be/4bZvq3nodf4?t=676)

</comment></comment></comment></comment><comment><USER16> While the article deals with theoretical limits, there are some practical limits. As they are already coming up in other comments might as well list them out:

[...] There are several factors contributing to the CPU power consumption; they include dynamic power consumption, short-circuit power consumption, and power loss due to transistor leakage currents: [...]

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

[2] [https://physics.stackexchange.com/questions/34766/how- does-p...](https://physics.stackexchange.com/questions/34766/how-does-power- consumption-vary-with-the-processor-frequency-in-a-typical-comput)

<comment><USER17> CMOS especially, which consumes energy in direct proportion to the _square_ of the frequency because a level crossing is a virtual, instantaneous short- circuit across the chip's power rails.

As such, future chip will likely be driven to reversible / adiabatic tech because cryptocurrencies, AI and more are guzzling energy ($$$ and running more circuits) and dissipating more heat that can be sensibly handled in a given unit volume (per-socket thermal characteristics; chilled water plant capacity; forced per-cabinet cooling or submersed in mineral oil).

</comment></comment><comment><USER18> Seth Lloyd had written a nice paper that spoke about the thermodynamics of computing -

[https://www.ncbi.nlm.nih.gov/pubmed/10984064](https://www.ncbi.nlm.nih.gov/pubmed/10984064)

Also refer - [https://www.nature.com/articles/nature13570](https://www.nature.com/articles/nature13570) by Igor Markov

</comment><comment><USER19> because CPUs are the least efficient computing device, precisely because they are so general.

The future of hardware will be reprogrammable circuits that specialize to repeatable tasks

ICFP 2018 Keynote Address: The Role of Functional Programming and DSLs in Hardware [https://www.youtube.com/watch?v=VqYkcGRr8x0](https://www.youtube.com/watch?v=VqYkcGRr8x0)

<comment><USER20> But why? Most of e.g. a website is the software, not the hardware. Making the hardware cheaper but the software more expensive (e.g. with a DSL) is counterintuitive.

</comment></comment><comment><USER21> The Feynman Lectures on computation[1] are a physically grounded treatment of the subject and include a section on heat and energy usage.

[1][https://www.scribd.com/doc/52657907/Feynman-Lectures-on- Comp...](https://www.scribd.com/doc/52657907/Feynman-Lectures-on-Computation)

</comment><comment><USER22> Because energy is cheap, and optimizing for efficiency would be a waste of time/money (currently).

<comment><USER23> Energy is cheap if you're operating a desktop computer that's plugged into the wall.

If you're operating off of a battery, which accounts for a huge amount of consumer computing (especially if phones count), then it starts to matter a lot. Which is why consumer devices tend to be so heavily optimized for efficiency.

If you're operating a datacenter, it also quickly becomes a big part of your costs. Which hasn't necessarily been an immediately pressing concern for Intel, sure, but that may be why companies like Google have been toying with ditching Intel for ARM.

</comment></comment><comment><USER24> They are called semiconductors after all. Even when fully 'switched' on they are not very good conductors and cause a voltage drop across the junction. That equals heat.

</comment><comment><USER25> The reason computers use energy is because transistors have a finite signal rise time and are bound by ohms law. This is unlikely to ever change.

<comment><USER26> Indeed, but smaller transistors (less capacitance, thus less charge transfer) and lower voltages can reduce the power consumption of digital circuits. Also, more efficient software could reduce the amount of switching that has to occur. And I suppose one has to consider the power consumption of some peripherals such as LCD back-lighting.

Long ago I had an internship where we were developing a battery powered microprocessor based gadget. We had a prototype with a knob for the clock speed, and we slowed down the clock until the thing started being noticeably slow. Then we chose fixed components for the same clock speed. That's how we optimized battery life.

Note that my thinking is based on relatively simplistic CMOS processors. I don't know how this applies to higher performance computers in cell phones and laptops, with dynamic memory and other goodies.

<comment><USER25> Is there such a thing as clockless parts of a cpu that only get io on a signal by signal basis?

<comment><USER26> Yes, especially in the embedded world, you can shut down portions of the system that you aren't using, or have them only wake up when some sort of event occurs.

</comment></comment></comment></comment><comment><USER27> dna transcription is a computation? bah. any computer uses about 10% of its capital cost in power annually. is that really a lot? sure, if you run it for 10 years, but the real sin there is running such an inefficient computer in year 9. running it for 3 years is a small deal.

sure, we pay a high power cost for reliable, deterministic, digital and synchronous computation. but we designed it that way, _for_ that reason. we don't want unreliable or non-deterministic or approximate or whenever computation.

no question that some practices waste power. but we're doing just fine: power per computation (and probably more importantly, for communicating with memory and other systems) is coming down fast. move along, usual moore's law-like behavior, less to see each year...

</comment><comment><USER28> We can try to make more efficient computers by using cryptocurrency mining algorithms that help incentivize the development of these energy efficient reversible computers instead of algorithms like SHA-256 which happen to be quite buggy (Some bugs include ASIC-boost and approximate mining) when we use it as a mining problem instead of just a regular hash function (I have developed one of these reversibility friendly mining algorithms myself). Maybe it is better to actually give some thought into the cryptocurrency mining algorithm that you are using before the government bans you for foolishly wasting energy.

-Joseph Van Name Ph.D.

</comment><comment><USER29> > _Also, to foster research on this topic we have built a wiki, combining > lists of papers, websites, events pages, etc. We highly encourage people to > visit it, sign up, and start improving it; the more scientists get involved, > from the more fields, the better!_

Thermodynamics of Computation Wiki [https://centre.santafe.edu/thermocomp/Santa_Fe_Institute_Col...](https://centre.santafe.edu/thermocomp/Santa_Fe_Institute_Collaboration_Platform:Thermodynamics_of_Computation_Wiki)

HN: [https://news.ycombinator.com/item?id=18146854](https://news.ycombinator.com/item?id=18146854)

</comment><comment><USER30> Where is the date and author of this article? It seems to be missing!?

<comment><USER31> > By David Wolpert on October 4, 2018

But I'll take this opportunity to make my usual PSA: any time you are posting about the state of an industry _please please date your material_

</comment></comment><comment><USER32> > (We now understand that the second law does not say that the entropy of a > closed system cannot increase, only that its expected entropy cannot > increase.)

they mean decrease, right?

</comment><comment><USER33> This is pretty cool from a low powered 144 computer chip.

[http://www.greenarraychips.com/](http://www.greenarraychips.com/)

<comment><USER34> Not really. It's expensive, a dick to program, no FP support and single thread performance is rubbish. A cheap ARM is a better deal now and they are quoted in uA/MHz for performance so you can trade off your performance on the fly.

<comment><USER35> The GreenArrays chips still use dramatically less energy than ARMs for comparable operations, but it does still appear that they are more difficult to program.

</comment></comment></comment><comment><USER36> Fun fact: Heat generated by quantum tunneling's leakage current inside your processor's transistors is the main limiting factor for cramming more transistors into a smaller space.

[https://spectrum.ieee.org/semiconductors/devices/the- tunneli...](https://spectrum.ieee.org/semiconductors/devices/the-tunneling- transistor)

</comment><comment><USER37> It'd be great if we not only measured software performance, eg the way we measure web servers with requests / sec, but also requests / sec / watt.

</comment><comment><USER38> > the human brain is a computer

Woah... really makes you think.

</comment><comment><USER35> I've been thinking about computer energy use for a while now, although I'm no expert in the area. Here's a comparison of nJ per instruction from my notes:

        |                   |          nJ/insn |
        | MSP430            |              0.9 |
        | PIC24             |               2? |
        | 1990s StrongARM   |                1 |
        | LPC1110           |              0.3 |
        | Pentium           |               10 |
        | STM32L0           |             0.23 |
        | Ickes DSP 2008    |             0.01 |
        | Subliminal 2006   |           0.0026 |

MSP430, PIC24: [http://www.ti.com/general/docs/lit/getliterature.tsp?baseLit...](http://www.ti.com/general/docs/lit/getliterature.tsp?baseLiteratureNumber=slay015&fileType=pdf)

StrongARM: [http://www.researchgate.net/profile/Kristofer_Pister/publica...](http://www.researchgate.net/profile/Kristofer_Pister/publication/2955370_Smart_Dust_communicating_with_a_cubic- millimeter_computer/file/e0b4951e43fbf4b41b.pdf)

LPC1110: [http://www.nxp.com/documents/data_sheet/LPC111X.pdf](http://www.nxp.com/documents/data_sheet/LPC111X.pdf)

Pentium: [http://www.newscientist.com/blog/technology/2006/08/explodin...](http://www.newscientist.com/blog/technology/2006/08/exploding- batteries-silver-lining.html)

Ickes DSP 2008: [http://www- mtl.mit.edu/researchgroups/icsystems/pubs/confere...](http://www- mtl.mit.edu/researchgroups/icsystems/pubs/conferences/2008/ickes_asscc2008_paper.pdf)

Subliminal 2006: [http://web.eecs.umich.edu/~taustin/papers/VLSI06-sublim.pdf](http://web.eecs.umich.edu/~taustin/papers/VLSI06-sublim.pdf) 2009: [https://web.eecs.umich.edu/~taustin/papers/TVLSI09-sublimina...](https://web.eecs.umich.edu/~taustin/papers/TVLSI09-subliminal.pdf)

This is sort of comparing apples to oranges. The Pentium (all of them) uses wildly varying amounts of power for different instructions, and has 32-bit or 64-bit instructions, with hardware floating point. The STM32L0, LPC1110, and StrongARM are 32-bit processors with no hardware floating point. The MSP430 is a 16-bit CPU, while the PIC24 is an 8-bit CPU. The Ickes et al. device includes a 16-bit FFT accelerator and only runs at 4MHz, but it was only fabricated as a prototype; you can't buy it. The Zhai et al. Subliminal device, also only fabricated as a prototype, only runs at 833kHz, and it doesn't even include an integer multiply instruction, but its somewhat limited ALU is 32 bits.

However, _all_ of these numbers are far from the Landauer bound (kT ln 2). Suppose that we don't make any concessions to reversibility in our CPU design, like Metronome and its successors. A 32-bit instruction, then, erases the 32-bit register where its result is stored, costing 32 kT ln 2, or in some situations, an average of 16 kT ln 2. Supposing T = 300 K, 32 kT ln(2) ≈ 0.092 attojoules. That's _over seven orders of magnitude_ better than the prototype Subliminal processor mentioned above, and nine orders of magnitude better than the Cortex-M0-based commercial processors mentioned above.

Wolpert has published [https://arxiv.org/pdf/1806.04103.pdf](https://arxiv.org/pdf/1806.04103.pdf) (mentioned in the article, but not linked AFAICT) which gives better expressions for the cost of computation than the Landauer bound. I haven't finished reading it, but it looks really interesting.

</comment><comment><USER39> They use a bunch of energy because we can trade power for speed, and entropy is completely irrelevant at 0% of the budget.

</comment><comment><USER40> At least in part, that's due to servers in DCs not being power managed whatsoever 9 times out of 10

</comment><comment><USER41> The energy consumed by the US is less than 0.1% of the energy the planet gets from the Sun, so I'm not sure the 5% comparison holds water. Besides, computers return their energy cost many times over.

I do agree with the article's conclusion though: the human brain runs at 20W, on par with a low-power laptop, but arguably the former does much more with that energy.

</comment><comment><USER42> Just look at transistors needing an amount of current to switch gates. Multiply that by billions

</comment><comment><USER43> Because of leakage current.

</comment><comment><USER44> because of all the network IO thats now baked into operating systems?

</comment><comment><USER45> Irreversibility.

Did I miss something?

</comment><comment><USER46> Wait until landauer principle gets proved :)

</comment><comment><USER47> Bitcoin and high end video cards.

</comment><comment><USER48> software should be more efficient, not computers

</comment><comment><USER49> Koomey's law says new computers use less and less all the time :)

</comment><comment><USER50> Won't this heat up the oceans? causing more of the blob of the pacific?

</comment><comment><USER51> For sending data to china?

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

</comment><comment><USER52> Because bitcoin and all of the other cryptocurrencies don't mine themselves.</comment>


Show HN: I made a FreeWare Index for windows - <AUTHOR> https://github.com/Doubtme/FreeWare_Index

<comment><AUTHOR> I just made the github for it yesterday since I want to learn how to program I thought I would start with a project I already have to gain a better understanding of github.

I wish I could devote more time towards this.</comment>


Obama crushing Clinton, online at least - <AUTHOR> http://www.techcrunch.com/2008/04/11/stats-obama-still-winning-on-the-web/

<comment><USER2> Much as I like Obama, I can't help thinking that reporting these numbers is a bad idea, because it gives them significance that they don't deserve. Online activity is not a reliable indicator of popularity. It would be amazingly easy for an unscrupulous person to rent out a little time on a bot net to get a favorable ratio... even easier than it was in 1998, when Hank the Angry Drunken Dwarf won People's Most Beautiful Person online contest.

<comment><USER3> This article does seem to illustrate the priorities of the Obama-voting demographic. The vast majority of Clinton's supporters simply don't spend their time on facebook, blogs, digg, wikis and youtube.

They should do a poll similar to this outside of a local starbucks as well. I'm sure that will be equally enlightening.

</comment></comment><comment><USER4> Didn't Howard Dean beat John Kerry in 2004 online?</comment>


Free A/B Split Testing Resources - <AUTHOR> http://www.wingify.com/conversion-blog/15-free-ab-split-testing-resources/

<comment><USER3> Django Lean could be added to the list:

<http://bitbucket.org/akoha/django-lean/wiki/Home>

</comment><comment><USER4> Thanks for the resources. I did not know that Google had a tool for this.

I have a few questions. How important is this A/B split testing thing? Is it an essential thing to do? How many companies does these experiments in their websites?

<comment><AUTHOR> Yes, A/B split testing is very essential. Awareness level is very low currently regarding these tools but the industry is ripe for change - <USER2> these tools to become as mainstream as web analytics tools in near future.</comment></comment>


Ask HN: Deliberate practice to make for a better developer - <AUTHOR>

I am currently reading "Talent Is Overrated". The book attempts to elaborate on a paper by Ericsson (I posted a link on HN yesterday http://news.ycombinator.com/item?id=1109919).
I was wondering, how would one go about practicing deliberately to make oneself a better developer. The book attempt to break down the elements of deliberate practice, some of those are
- The practice itself - The book recommends finding a teacher or a mentor (if you are not already a star performer) to assess and give honest feedback on what your weak points are
- Highlighting highly granular areas for improvement, and then practicing till you get those right - This is one area I could use a few suggestions
- Quick feedback loop - I can see the compiler or your tests giving you a tight feedback look, but how would you know if you are doing something in the idiomatic way, or to tell you if there is a better way of doing it? I guess a mentor could help here.
Has anyone here tried to apply specific principles to improve their code, or their ability to see better solutions? Even when learning a new language or a new paradigm (OO, FP) I feel sometimes I hit the bounds of my comfort zone and never really step out of that.
Furthermore, how do you carve out areas for improvement?
I think this discussion might prove useful to most of here, be it improving your programming abilities or your elevator pitch.
[Update - Edit for formatting] <comment><USER2> Do not ever cut and paste while writing code; type it again. When I learned programming in the ZX Spectrum / C64 era, magazines and books were also used as a software distribution media - and you'd have to type in the program to get the latest and greatest.

I typed my share of programs (a few tens or hundreds of pages, I would guess), and doing that helped me figure out stuff like

\- which constructs are easier to memorise when you move your eyes back and forth from page to screen; \- that shorter code is usually better \- to keep only comments that would help me understand the code, NOT retype all the idiotic/historical comments originally in the program \- you actually get intimately familiar with lots of code styles, good and bad

</comment><comment><USER3> This may not be 100% relevant to your question, but am posting this FWIW.

My last paid job (C++ and Java developer at an investment bank) required a 2:1 split between debugging and development work. I identified the following areas that could use improvement.

1\. Knowledge of our code-base. I spent downtime at work reading code and documenting the system architecture. This also called for an improvement in my code-reading and debugging skills.

2\. Development work flow and knowledge of tools/technolgoies (GDB, Linux kernel architecture, Perl and Bash scripting for handy scripts).

3\. Domain knowledge (finance).

4\. Knowledge of other technologies involved (Sybase, etc.)

I found that most situations didn't really call for expert knowledge of C++ and Java or of algorithms (as I was led to believe in the interview), but actual understanding of the code-base, the existing system architecture, and how our portions interacted with the back-end systems.

IMO, with any technology, you will hit a point beyond which there's diminishing margin of returns on gaining deeper expertise. But you should read the technology reference manual (e.g., the Sybase Reference Manual or the Bash Manual) _thoroughly_ at least once so that you build a mental map of options available that can be used when you need them.

</comment><comment><USER4> maybe you can, to some extent, exploit the nature of software? i'm thinking about how i have learnt, and how that ties in to the points you list above, and one obvious connection is that you are automatically guided to "highly granular areas for improvement" if you continuously refactor and revise (polish) you code.

typically, to learn a new language, i solve a problem. the result of solving that problem is a chunk of code and it's usually a bit of a mess. you can use the mess to help identify what needs to be refactored. this then guides you towards learning more about the language, because often the mess is a direct result of not using the tool well.

note that what you're exploiting here is the fact that it's a lot easier to identify "a mess" than it is is to identify a gap in your understanding of the language; identifying the mess helps guide you to the gap.

at a higher level, the conclusion here is that you have not finished learning once you've written some code in a new language. in fact, you are just starting. it's only through repeated (obsessive?) polishing of the code that you achieve a deep understanding of the language.

(and i think this also applies to languages you know pretty well - i use python at work, and have used it for years, but i am currently working on the fourth major revision of my lepl parser library and am _still_ learning as i rewrite particular aspects).

<comment><AUTHOR> _note that what you're exploiting here is the fact that it's a lot easier to identify "a mess" than it is is to identify a gap in your understanding of the language; identifying the mess helps guide you to the gap._

That's an interesting way to look at it. I guess I do struggle, because of the way I learn a new language or a technology. I spend a lot of time reading books, or other people's code, but I don't spend enough writing out a solution for I fear it will be not the _right_ way to do it. Your suggestion turns this around on its head - try and write a solution, no matter how unpolished or un- idiomatic is, then step back and see what could be improved.

I like your take on this. Although, I will admit, I am still a little puzzled. Take, for example - I am currently spending time learning Clojure, and decided to attack the 99-Lisp-Problems to help me out. For a particular solution, I wrote a function that was about 8 lines long and I could not find a better way to solve the problem. A quick Google search revealed a solution that was a one-liner!

I guess that's my feedback loop - Other people's solutions to the same problems.

<comment><USER4> yeah, i think there has to be sufficient "surface area" for you to "find a way in". the simplest way would be to write a larger app, but in your case you could increase your chances for learning by working on other problems and then going back over earlier work - it's possible that you learn something on a later problem that helps you see the one liner in the earlier problem.

</comment></comment></comment><comment><USER5> I think one of the best things you can do is start trying to solve something in a very public way. The faceless mob on internet _will_ correct you, and you can quickly learn from your own mistakes.

However, this method has its drawbacks. You need to be able to simultaneously take the criticism with a (large) grain of salt, and be able to keep on trying after the eventual hash comments.

You will grow fast this way.

<comment><AUTHOR> I was thinking of publishing some of my attempts at solving problems with Clojure on my blog to see what kind of criticism/feedback I would get.

<comment><USER5> Well, I can speak about the Clojure community. The ratio of constructive criticism/harsh tone is very good. Go for it.

</comment></comment></comment><comment><USER6> Intresting</comment>


Sccache, Mozilla's distributed compiler cache, now written in Rust - <AUTHOR> https://blog.mozilla.org/ted/2016/11/21/sccache-mozillas-distributed-compiler-cache-now-written-in-rust/ <comment><USER2> Running this _without_ amazon seems to require replacing the hardcoded "{}://{}.s3{}.amazonaws.com" url with the location where the s3 compatible service is running on the local network. Now if that was just a default and could be overwritten with an env var as well... :)

And minio [1] seems to be the easiest pseudo-s3 there is ($ ./minio server CacheDir/, done?), or are there better alternatives by now?

1: [https://github.com/minio/minio](https://github.com/minio/minio)

<comment><USER3> Rust's format macro only takes string literals as a template, so you can't provide a runtime string template. The solution seems to be adding an external templating lib, which seems like overkill for a single template.

<comment><USER4> [https://crates.io/crates/strfmt](https://crates.io/crates/strfmt) works too.

<comment><USER5> Wouldn't that be an external templating lib?

<comment><USER4> In some sense, yes. In another, it's not some sort of different kind of templating, it's the same stuff, just calculated at runtime instead of compile time. I assume the lack of wanting a library for this is due to its weight and learning some other form of templating; this crate is pretty small, and isn't different in that way.

</comment></comment></comment></comment></comment><comment><USER6> Congrats to Mozilla for not only creating a programming language research project that engaged the community, but also growing it into a successful language that's useful and robust for real-world projects.

Mozilla sometimes gets flak for its experiments (or abandoning them), sometimes deservedly, but by doing so many of them and not being afraid to cancel them, they occasionally get big wins like Rust.

</comment><comment><USER7> I've been using distcc for quicker distributed builds without issue for many years. What extra features does sccache bring to the table other than it being rewritten in Rust?

<comment><USER8> distcc is great, and as I mentioned in that Reddit comment some of my colleagues are using icecream to great success.

I won't repeat my entire comment from Reddit, but one other notable point is that tools like ccache/distcc don't generally support MSVC, and we build Firefox for Windows with MSVC, so that's pretty important to us. And frankly, our Windows builds are slow enough that we can use all the build time wins we can get.

<comment><USER9> Color me surprised. As a developer, the number of times "Windows support" or "MSVC" is the special case that requires you to go through contortions.. _shrug_

It's been very frustrating on multiple open source projects I've worked on, people proposing to change entire build systems of projects just so that MSVC can be included as a build target. I hope the new Bash-on-Windows stuff will eventually make supporting MSVC a little simpler from various Unix-oriented build tools.

<comment><USER10> Meanwhile, GCC works fine on Windows. (Mingw builds normal non Cygwin programs.) There's no need to bow to cl.exe just because you want to build for Windows

<comment><USER8> If you're shipping binaries to end users Microsoft's optimizer is pretty fantastic, especially if you build with PGO. Plus MinGW sometimes lags behind with things added in newer Microsoft SDKs, so there can be some friction there. I think things are getting better with clang-cl, so that might be a feasible direction in the near future.

</comment></comment></comment></comment></comment><comment><USER8> Just as a neat data point, we hadn't been using sccache for Firefox builds in our new CI infrastructure (Taskcluster) for various reasons. After rolling out the sccache rewrite I fixed that, and build times in that environment dropped by 32-38%: [https://treeherder.mozilla.org/perf.html#/alerts?id=4335](https://treeherder.mozilla.org/perf.html#/alerts?id=4335)

</comment><comment><USER11> No tests? :(

EDIT: my bad, they were inside src/

<comment><USER12> In Rust, it's very common to put tests right next to the code; all functions tagged with #[test] will be run as tests, and examples within the function documentation comments will also be run as tests by default.

For instance, randomly looking at the first file in that repository, cache/cache.rs, you can see at the end a submodule tagged with #[cfg(test)] (meaning it will be compiled only when running the tests), and within it several functions tagged with #[test].

<comment><USER13> I can't figure out whether or not I like this convention. I used to work with a guy who did the same thing with C++ and C# tests: right there alongside the code they tested. On the one hand, it is nice to have all of the relevant code in one place for context. On the other hand, it muddied up the actual business logic with tests, so you had to perform some mental work to figure out whether the code you were looking at was for production use or only for testing.

<comment><USER14> Note that Rust lets you put tests in tests/ instead of src/. So typically, you put short unit tests in src/ and longer/integration tests in tests/. Oh, and examples that show up in the documentation are also run alongside tests.

Also, the compiler will tell you if you have code that's not labelled with #[cfg(test)] but is designed to run only in tests.

<comment><USER15> The big difference with `tests/` is that they _have_ to be integration tests. This means that you can't test private functions from there.

<comment><USER16> Not .. exactly. An integration test usually tests an entire application at once. `tests/` can still test things in the public API (indeed, we do this in Servo a lot) without being an integration test.

The point is that some unit tests cannot be written in tests/, whereas all integration tests can be.

</comment></comment></comment></comment></comment></comment><comment><USER17> I didn't understand his comment on Rust's match expression. Other than it returning a value (and insisting a default clause) it's just like C's switch, right?

<comment><USER18> It is much more like haskell's pattern matching. Notably it handles tagged unions (in rust enum). Here is a good example from the [book]([https://doc.rust-lang.org/book/match.html](https://doc.rust- lang.org/book/match.html)):

        enum Message {
            Quit,
            ChangeColor(i32, i32, i32),
            Move { x: i32, y: i32 },
            Write(String),
        }

        fn quit() { /* ... */ }
        fn change_color(r: i32, g: i32, b: i32) { /* ... */ }
        fn move_cursor(x: i32, y: i32) { /* ... */ }

        fn process_message(msg: Message) {
            match msg {
                Message::Quit => quit(),
                Message::ChangeColor(r, g, b) => change_color(r, g, b),
                Message::Move { x: x, y: y } => move_cursor(x, y),
                Message::Write(s) => println!("{}", s),
            };
        }

</comment></comment><comment><USER19> When I see these rewrites, I'm always left wondering about the speedup achieved. How much was due to:

1) Going from programming language X to Y 2) Rewriting the algorithm in language Y

I suspect (without any proof) that too much is attributed to 1) and not enough to 2).

<comment><USER20> 3) Removing "unnecessary cruft" during the rewrite, measuring the speedup and then gradually adding the "cruft" (features) back one by one as previously unknown boundary conditions are encountered.

Restart the process again after a few years of years, as is tradition.

<comment><USER8> This is not what happened in this case (although I have seen this pattern in other situations in the past). The Rust version is a faithful port of the feature set of the Python version. (It had to be, we were using essentially the entire feature set in production.)

</comment></comment></comment><comment><USER21> Parts of Mozilla also use Nix so...

<comment><USER22> ...so what, in particular? Don't leave us hanging!

<comment><USER21> It would be nice to use Nix in a more fine-grained way (e.g. per make rule rather than per package).

</comment></comment></comment><comment><USER23> That's some tiny font.

<comment><USER24> It's using one of Phu Ly's WordPress themes from 10 years ago so that may be why. I'd recognize his themes anywhere. Back then 8pt was standard and flexible units were just catching on. I feel old.</comment></comment>


Good Sleep, Good Learning (2012) - <AUTHOR> http://super-memory.com/articles/sleep.htm <comment><USER2> Mirror: [https://web.archive.org/web/20150906101549/http://super- memo...](https://web.archive.org/web/20150906101549/http://super- memory.com/articles/sleep.htm)

</comment><comment><USER3> This one is still on: [https://www.supermemo.com/articles/sleep.htm](https://www.supermemo.com/articles/sleep.htm)

Seems interesting but I have to say it is too long to read it now. Too bad the pdf download redirect directly to the suspended account.

</comment><comment><USER4> Just as a matter context, Piotr Wozniak is the author of SuperMemo, the first significant spaced repetition software (SRS) application. The SuperMemo2 (usually referred to as SM2), devised by Piotr, is used in most SRS software including Anki (arguably the most popular free software SRS app). My understanding is that Piotr obtained a PhD for his work on these algorithms. SuperMemo was a commercial enterprise, but I seem to remember there was some falling out with the business side of things and Piotr left (though I haven't really followed supermemo for a decade and things may have changed).

Piotr has some interesting ideas. His writings tend to be very much like this article -- bury you in details, some of which you wonder about the relevance. He is a fairly intuitive in his approach and is very much convinced about the conclusions he reaches. He always has a large amount of data to support his conclusions, but a criticism I've had in the past is that the data is not always free of bias.

I only mention this as there was some suggestion that the submission was a disguised ad. Even though I don't agree with everything that Piotr writes, one can't deny that his ideas have helped a lot of people. He has always been very generous with his ideas and his data. His business partner was not quite so generous and I believe this was one of the reasons for the fallout. Whatever you think about the content of this article, my personal feeling is that you can be sure that it was written with the intent of helping people better themselves and no other motives.

</comment><comment><USER5> The DSPS section is a spot-on characterization of my sleeping patterns:

""

People who suffer from DSPS often resort to their own implausible solutions that include:

-(poorly managed) free running sleep with an inevitable phase delays that ultimately result in sleeping through the day -skipping a night of sleep at a point when the bedtime reaches an outrageously late hour (i.e. usually after the dawn) -stabilization of the sleep pattern with medication (incl. melatonin) and artificial zeitgebers such as an alarm clock or a mom who pulls a sleepy student out from his or her bed for school"

Emergency: Melatonin: If your "protected zone" is stretched to the limit. You may consider an occasional pill of melatonin (e.g. 2 hours before your optimum bedtime). Remember that melatonin will affect your creativity and alertness, and should not be used on a regular basis.

""

I read this as I was preparing to sleep at 10 AM by taking a melatonin pill... I'll give his basic algorithm for fixing DSPS a shot over the holidays.

However, I don't think his characterization of melatonin is warranted. I take melatonin around 15 minutes before I sleep, similar to what gwern does in his article ([http://www.gwern.net/Melatonin](http://www.gwern.net/Melatonin)). This article suggests taking it 2 hours beforehand. It's been working fine for me for a year now, but it's interesting to see that in the natural melatonin production graph further down in the article, it peaks several hours before sleep.

</comment><comment><USER6> uploaded the PDF here : [https://transfer.sh/l4JOD/good-sleep-good-learning- good-life...](https://transfer.sh/l4JOD/good-sleep-good-learning-good- life.pdf)

<comment><USER7> Awesome, thank you!

</comment></comment><comment><USER8> Mirror: [http://super-memory.com/articles/sleep.htm](http://super- memory.com/articles/sleep.htm)

Past discussion: [https://news.ycombinator.com/item?id=5244619](https://news.ycombinator.com/item?id=5244619)

(Maybe not an exact mirror, but substantially the same article.)

</comment><comment><USER9> Account suspended?

</comment><comment><USER10> Is there a pdf or epub version somewhere? I'd love to save it on my e-reader

<comment><USER11> EPUB: [https://transfer.sh/zIKhO/gsglgl- piotrwozniak.epub](https://transfer.sh/zIKhO/gsglgl-piotrwozniak.epub) (3.7 MiB)

PDF: [https://transfer.sh/17RsID/gsglgl- piotrwozniak.pdf](https://transfer.sh/17RsID/gsglgl-piotrwozniak.pdf) (13 MiB)

btw transfer.sh is great thus far.

<comment><USER10> THANKS!!

</comment></comment></comment><comment><USER12> Account is suspended for me.

</comment><comment><USER13> Apparently forgot to pay his service provider.

</comment><comment><USER14> I just looked at the DSPS section since that is my problem. The "I have mathematically proven this to work unless it is your fault" thing is really obnoxious. I've even tried his ultimate "farmer's lifestyle" suggestion that worked for about a year and then stopped working. Similarly, I've done things like bike around all day then relax without much light in the evening (all after getting less sleep than usual the previous night) all to spend over three hours in bed before getting to sleep.

For me, transdermal melatonin patches have been the single most helpful thing that actually improves the quality of my sleep, which seems to be my main issue (I cannot get good quality sleep even if free sleeping on the shifting schedule). I've been using them (on and off, since I try to use them only when sleeping at night) for a few months now and they aren't magic but do seem to help significantly. Other forms of melatonin, including extended release, have been able to slightly decrease my sleep onset but at the cost of waking up early (about 4 hours after I go to sleep I wake up and can't sleep again for at least 3 hours) and they do not improve my sleep quality.

Diphenhydramine, even 25 mg or less for weeks at a time, can help me get to sleep but does not improve sleep quality. I don't think it seems to make it worse either. For most people it stops helping with sleep after a couple of days, but for me I can notice the effects for at least a month and sometimes two (and just a couple of days off can make it effective again). I'm not sure how much of this is due to my allergies, which do seem to interact with the circadian rhythm issues.

Transdermal melatonin seems to decrease my sleep time and leaves me feeling more rested. Hopefully this continues and I eventually make up from a really gigantic sleep deficit :/. One point the author covers but could be emphasised more is that the time you wake up (and potentially but not exactly when actually get out of bed; for me it is easy to tell the effective wakeup time: that is when my allergies kick in) controls the time that you are able to get to sleep. This took me many years to really understand. I'm starting to wonder if the fundamental cause of delayed sleep phases might be related to sleep quality (that is, when quality is sufficiently low our bodies tend to sleep a little longer, but the time from waking to being able to fall asleep doesn't change).

I don't drink alcohol, but on the caffine topic I've noticed that for me caffine (well, theobromine at least) seems to accumulate in my body very slowly, but over weeks of daily consumption even in the morning it will start to affect my sleep. I find it easiest to avoid almost completely.

For me, the longest I've been able to stick to a fairly reliable schedule is three or four months at a time and involves spending at least three hours in bed before getting to sleep almost every day (and twelve hours in bed total most days). But it is still quite easy to get off that schedule, only partly due to the difficulty of spending that long in bed every day. On the plus side, I've found that my schedule can actually vary quite a bit day to day while on that general pattern and still be ok, so I don't think it is really a matter of being perfectly strict but of avoiding those situations that cause the most harm (e.g. it seems that staying up a few hours later than usual can be ok once a week or so but more often and it can cause the shifting to start again).

ETA: Learning to better recognize when I've actually woken up has been one of the most helpful things to me and took forever to recognize even with the allergies to help. It is very tempting when I haven't gotten much sleep (and it is 4 in the morning or something) to try to get back to sleep, but once I've passed that point I can almost never get to sleep again until at least 12 hours have passed. However, if I stay in bed the effective wakeup time in terms of getting to sleep in the evening can be pushed back, and even more so if I eventually do fall asleep again.

Another odity that I've noticed is that I get much more restful sleep when sick for some reason. I think it may be due to the rapid sleep stage cycling, since there is some other particularly restful type of sleep that occasionally happens in the morning.

<comment><USER15> Have you ever tried anything with PhGABA in it? The known good source I have found is Biotest's Z-12. From the experience of others using Melatonin will only last so long before it too stops having a noticeable effect. I used Z-12 for a year and it pretty much resolved my issues and now I can sleep 99 percent of the time just as well as when I used to take it...it must have helped reset some Circadian rhythm of some sort because I don't need it anymore to go to sleep or get a good nights sleep.

<comment><USER14> Thanks! I haven't but will look into it. The melatonin patch I use actually has GABA and my blood brain barrier may not be in great shape, so it is possible that is more the cause of the restful sleep than the melatonin.

ETA: It looks like PhGABA is also known as Phenibut.

</comment></comment></comment><comment><USER16> As a fairly serious sufferer of sleep apnea, this will definitely be a good read

</comment><comment><USER17> Clearly an ad. Are you all blind? Click on the domain name to see the history of postings.

<comment><USER18> I see three submissions of this post. This is the only one to get any discussion. All submissions were submitted by different people. All three submitters submit from a range of different sources.

Even this search shows a variety of submitters, with only a couple of substantial discussions.

[https://hn.algolia.com/?query=Good%20sleep,%20good%20learnin...](https://hn.algolia.com/?query=Good%20sleep,%20good%20learning,%20good%20life&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

But if you think there's something wrong with this article, or domain, or the people submitting it, you should probably email the mods.</comment></comment>


Disable Your Antivirus Software (Except Microsoft's) - <AUTHOR> http://robert.ocallahan.org/2017/01/disable-your-antivirus-software-except.html?m=1 <comment><USER2> [https://news.ycombinator.com/item?id=13489100](https://news.ycombinator.com/item?id=13489100)

        Avoid Non-Microsoft Antivirus Software (ocallahan.org)
        859 points by bzbarsky 118 days ago

</comment><comment><USER3> I paid for Kaspersky during three or four years. What I noticed was that, prior to the license expiration, this last edition pushed pop ups on my screen constantly. Along, it seemed like it was slowing the computer on purpose.

I read an article saying what you comment, and I decided to try without. Feels a bit odd and I'm slightly paranoid, but this argument pushed me to follow you: it's not a good idea to give critical access to a 3rd party software that might be adding more bugs to you "backdoor policy".

</comment><comment><USER4> Composition/division. This is true for many 3rd party AVs, but not all of them.

> More likely, they hurt security significantly; for example, see bugs in AV > products listed in Google's Project Zero.

This is _not_ an indicator of insecure software. Not dealing with these disclosures are. Just a few weeks ago a major vulnerability was found in Defender.

Let's use my favorite AV as an example, NOD32:

\- It performs HTTPS MITM which should obviously be disabled immediately. _Score 1 Microsoft._

\- Javascript runtime running as SYSTEM, which can't be disabled. _Score 1 NOD32._

\- There are two issues in Project Zero, making it exactly as secure as Defender according to that ignorant "vulnerabilities in Project Zero" metric.

\- 4 days and 1 day for NOD32. 8 days and 3 days for Microsoft. _Score 1 NOD32._

> At best, there is negligible evidence that major non-MS AV products give a > net improvement in security.

\- The NOD32 intrusion detection supposedly thwarted EternalBlue (Wanacry).[1] Defender did nothing. _Score 1 NOD32._

[1]: [http://support.eset.com/alert6442/](http://support.eset.com/alert6442/)

<comment><USER5> Not to mention that no one should trust something that is made by MS that has that much control over your system after the windows 10 shitstorm with self- enabling telemetry settings and forced updates/upgrades.

<comment><USER6> You know, if you're using Windows you're already trusting Microsoft completely.

</comment></comment></comment><comment><USER7> Kind of an ironic blog post now, this blog post was posted in January 2017.

In May 2017 we learned about this, from Project Zero no less:

[https://bugs.chromium.org/p/project- zero/issues/detail?id=12...](https://bugs.chromium.org/p/project- zero/issues/detail?id=1252&can=1&q=windows%20defender&desc=5)

> (Microsoft, on the other hand, is generally competent.)

I'd argue that the Project Zero issue, while fixed, shows that the design of Windows Defender is anything but competent. They have a full power JavaScript runtime engine running as SYSTEM. No sandboxing, no lowprivs, and the whole point is to run untrusted code.

<comment><USER8> > They have a full power JavaScript runtime engine running as SYSTEM. No > sandboxing, no lowprivs, and the whole point is to run untrusted code.

I would have understood that if it was a small company and a lone developer made a mistake. However, this is Microsoft, a huge company. Lone developers don't get to decide things like this at companies the size of Microsoft. Most likely, meetings were held, architects were involved, code was reviewed. How did such a horrible decision make it through that process ?

<comment><USER9> None of us is as dumb as all of us.

</comment></comment></comment><comment><USER10> Anyone know what the state of AV on android is? $employer requires ESET on all windows machines, and I'm trying out the android app now. It doesn't seem to make my phone any slower...

<comment><USER11> Utterly worthless, because apps on Android are sandboxed. Third-party AV can't do anything useful, and Play Services already provides built-in app scanning.

<comment><USER12> Devil's advocate: there are APK extractors (which work without root), so it's definitively possible for an AV to scan those files and report if there's something weird.

</comment></comment></comment><comment><USER13> Thanks for "what every developer knows but can't tell"!

</comment><comment><USER14> Antiviruses really cripple down your computer performance. I avoided using antivirus just by using a firewall and avoiding opening any shared files.

If I need to open a document, I will upload it to some online office suite and read it there.

If I receive some potentially malicious email I will read the message source and verify it's legit.

I also don't use Windows anymore, but when I did, this strategy worked well for me.

</comment><comment><USER15> Signature based anti-virus is a must have on any widely deployed platform that doesn't have default code-sign requirements. So, basically, Windows and FOSS Desktop.

But, it's become so drastically commoditized that there's no reason for the average user to have anything but the built-in MSE (on windows, at least).

It doesn't stop new attacks, but it does help raise the bar against malware.

<comment><USER16> I believe "Widely deployed platform" is the issue here.

A yummy target for virus and ransomware authors is a widely used piece of software: OS, browser, crypto library, Word processor, spreadsheet, PDF reader,...

Part of the problem is that in each of these categories, a single vendor often holds over 50% market share. As soon as a bug in one of those allow a RCE, that means millions of users at risk.

It's also true even if you don't run the software directly but use a service: memes that infect social media (see: Facebook and fake news) are basically viruses too.

Species avoid extinction from viruses thanks to diversity. Software users that want to stay safe should consider using the less popular alternatives.

<comment><USER17> > Part of the problem is that in each of these categories, a single vendor > often holds over 50% market share. As soon as a bug in one of those allow a > RCE, that means millions of users at risk. ... > Species avoid extinction > from viruses thanks to diversity. Software users that want to stay safe > should consider using the less popular alternatives.

This point is badly under-discussed whenever this AV debate comes up.

Yeah, the variety of vendors, products, and methods in the third-party AV arena make production less predictable for software developers. _That 's the point._ It makes it exactly as unpredictable for attackers.

Should AV vendors work harder to make their software easier to develop around? Arguably, yes. Security through obscurity is no security at all. But that should be the target of the argument, not the homogenization of security systems. I don't care how big or small the Defender attack surface is if every single desktop computer in the world has the exact same attack surface.

</comment></comment></comment><comment><USER18> So what is the bottom line here? Shall we use an Antivirus software, or not?</comment>