Show HN: After many 14-hour coding days, my dream to-do app "Priorities" is done - <AUTHOR> https://www.reddit.com/r/productivity/comments/fmi21n/after_weeks_of_14hour_coding_days_my_dream_todo/#hn <comment><USER2> You released another app Goals a month ago? So how much development effort was Priorities?

<comment><AUTHOR> Priorities took 2 weeks. I decided it's time to build it on March 7th, and it's approved yesterday.

Goals took me 2 months to launch, started from an empty repo, then polished over the next 6 months.

Thank you for asking!

</comment></comment><comment><USER3> Looks great – installed it and will let you know how it goes. :)

<comment><AUTHOR> Thanks a bunch!

</comment></comment><comment><USER4> Looks nice! Congrats. Installed on ios, will give it a go.

<comment><AUTHOR> thanks man</comment></comment>


Kubernetes 1.14 Release Now - <AUTHOR> https://github.com/kubernetes/kubernetes/releases/tag/v1.14.0 <comment><AUTHOR> Kubernetes v1.14 was released today and available for download on GitHub. The release are extensibility and supporting more workloads. A record 10 features graduating from beta to stable.</comment>


HN Admin: I have apparently been mistakenly flagged or banned - <AUTHOR>

I just noticed today that a comment I posted on a HN story is not being shown unless I am logged in. I noticed this while visiting from my iPad. Here is the link to my comment: https://news.ycombinator.com/item?id=5435565
I am guessing that my username has been flagged somehow. If so, I am pretty sure this was a mistake. Could you look into this?
Thanks. <comment><USER2> Strange that that single comment is dead. Usually if a user is hellbanned, this submission wouldn't show up either.

Tip: if you go to your HN prefs and enable "showdead" you can see comments from hellbanned users.

<comment><AUTHOR> That is strange indeed. I think what might have flagged the previous comment was: I initially posted the comment in reply to the wrong person. So I deleted it and reposted it in response to the correct person.

<comment><USER2> Oh! well if you post the same comment twice, the second is automatically deaded. You have to delete the first one before you can repost it somewhere else.

<comment><AUTHOR> Ah ha, so that must be the issue. I am relieved, now that I know the reason for the problem. Thanks, sp332.</comment></comment></comment></comment>


Strong AI Isn't Here Yet - <AUTHOR> https://srconstantin.wordpress.com/2017/02/21/strong-ai-isnt-here-yet/ <comment><USER2> Quote: "Getting artificial intelligence "by accident" from really big neural nets seems unlikely to me ..."

I appreciate the subtleties of the argument, but nature did it without even so much as a plan, by trying one thing after another until something worked.</comment>


Algorithmically Estimating Developer Time - <AUTHOR> http://leftnode.com/entry/algorithmically-estimating-developer-time

<comment><USER5> Methods like this work. In fact, this is a basic technique of project management: break a task down into smaller chunks, estimate the chunks, think about the chunks, make a decision.

Now, how well these methods work depend on the project.

If you're writing a CRUD webapp from scratch and you've got a good framework (RoR, symfony, etc.) you can probably estimate with high precision.

If, on the other hand, you've got some A.I. software that fell off a UFO and your mission is to get it working as part of a larger system, it's hard to estimate.

Maintenance work is hard to estimate for a number of reasons: for one thing, an existing system has a large number of requirements baked into it that you're not aware of. It helps a lot if the last guy left you so some tests but you can't always choose that. ;-)

Even "predictable" projects can become unpredictable if your 'client' changes requirements too much, or if the requirements aren't well specified to begin with. That's one reason I don't do fixed price jobs for low rollers -- I'd rather do anything else, like milk cows on somebody's dairy farm.

<comment><USER6> I wrote a blog post a while back ([http://webbindustries.com/archives/2010/10/index.html#e2010-...](http://webbindustries.com/archives/2010/10/index.html#e2010-10-19T10_29_00.txt)) about Big Design Up Front and why it doesn't work. This touches on what you're describing; accurate estimation is possible when you're in a 'Manufacturing' mode and creating one more of something you've created many times before, but it's not possible when you're in 'R&D' mode creating something new or investigate a previously unknown bug.

The theory behind BDUF is that you can come up with an accurate design, then come up with an accurate estimate for constructing the design, then go build it. It doesn't work because most software development is done in R&D mode, which you can't design or estimate accurately.

</comment></comment><comment><USER7> The five most effective tips for estimating are in my opinion:

\- use historical data (keep previous scopes and estimates and read them back in the future)

\- break down into chunks

\- use planning poker: question your assumptions (oh I though the smtp was already available etc)

\- estimate tasks in relative fashion: compare one to another, in the same project, or compare to previous projects (we're better at comparison than absolute estimate)

\- use historical data (did I mention it already?)

If I can share something: USE HISTORICAL DATA! It just works.

As well another tip from Mike Cohn (most of above comes from him): always use ranges when estimating.

<comment><USER8> Funny that you mentioned planning poker. I only recently heard about this strategy and it sounded like a great way to hash out the underlying difficulty of a feature in a group atmosphere.

There's also a free site for playing the game. It'd be nice if this somehow tied into my Pivotal Tracker account to actually set the points once agreed upon (and to also pull down the stories that don't have set points).

<http://www.planningpoker.com/>

<comment><USER9> We do agile and planning poker in my team. The downsides is that all user stories must strictly be phrased from business/end user point of view, and there is no time to do any technical investigation before estimating.

How it works is you sit in a meeting, and for the first time hear about a new feature, for example "user wants to click one button to see all historic events grouped by week". The questions that arise are usually along the lines of:

* is this data available? we're not sure * is this particular part of the system messy and hard to change? we're not sure * are we really sure this is what the user wants? _all_ historic events? we're not sure

And then, you estimate. Which means there is a lot of guessing and either/or going on.. and you churn through a whole bunch of stories in one sitting.

Sometimes I wish for a more strict process with more of a technical proposal for changes. Either that, or to get involved with the business side right when they start discussing the new feature, to have a change to look into it/think about it from a technical point of view, while it's getting worked out to a user story.

</comment></comment></comment><comment><USER10> The team I worked with tried something similar where we broke down tasks into cards, where each card represented something that should take about a day to complete. Knowing how bad I am at estimating how long tasks take, I was sceptical whether this would work, but it did! After a few months, the team settled down into doing 30 or so (+/- 10% or so) cards per week. This proved very useful for bargaining for more time for feature development and generally being more predictable.

The takeaway for me is that good estimation is possible, and that by tracking those numbers you can improve your own estimation skills.

Some other reading material that I found useful in this area was Evidence Based Scheduling (<http://www.joelonsoftware.com/items/2007/10/26.html>) and Software Estimation (<http://www.stevemcconnell.com/est.htm>)

<comment><USER11> >The team I worked with tried something similar where we broke down tasks into cards, where each card represented something that should take about a day to complete.

This is almost basic probability theory.

<http://en.wikipedia.org/wiki/Central_limit_theorem>

Estimations could be viewed as random samples with some distribution. The total is the sum of individual estimations. The sigma of the total is less than max(single task estimation sigma) * sqrt(number of tasks).

30 estimations with 0.5 day sigma gives us total sigma 0.5 * sqrt(30)=3 and 96% confidence bounds of (30 - 3 * 2)..(30 + 3 * 2) work days.

Most of the time you will see 30+-3. ;)

Unless you find a task that does not break into one day. Say, with low estimate "tomorrow" and high estimate "half a year". ;)

</comment></comment><comment><USER12> This is what all of the agile development I've been involved in does - <USER2> look at your "velocity" over the previous iterations and use it to guide your planning of the next one.

<comment><USER11> Your previous "velocity" won't help you with estimating time for problems you aren't accustomed with.

<comment><USER13> Actually, it's entirely meant to.

Your velocity maps points (assumed difficulty) to real time. Once you've done a few tasks - some of which will have involved massive yak shaving - <USER3> velocity figure starts to take in to account estimating for unknown problems.

Additionally you're meant to estimate in 'points' against other tasks - <USER4> this as difficult as x? And never never ever use hours for the estimation.

<comment><USER11> You can simply delay your "yak shaving with unknown problems" until too late. Your velocity with simple things will be fine just until few weeks (or days) before deadline. And then you're toast. ;)

So you should take into account uncertainty and importance.

First you should do all uncrtain and important things, then certain and important and, finally, certain and less important. And your velocity will vary greatly then, very slow at the beginning and fast at the end. It is almost meaningless, I say.

</comment></comment></comment></comment><comment><USER14> I personally use text files on a repository to track my tasks. Each project has its own text file and each task is assigned a priority between 0 and 4 and a status between todo, doing and done. I commit changes to the repository morning and end of the day. The only problem I still have is estimating time (maybe I should look at a proper issue tracker for this)

So to check the tasks I've completed I issue a command like: "./show done PROJECT_NAME"

Not sure if this is the most productive thing but my productivity has really improved since I started doing this.

</comment><comment><USER15> If you're an Emacs user, org-mode is awesome for tracking time. You organize your tasks in a .org file, and then "clock in" and "clock out" of tasks as you are working on them. Very easy to manually edit and add time after the fact too, if you forget to do it (something that many time tracking systems I've used seem to make very difficult).

</comment><comment><USER16> _They are hours I'll have to eat because I did not properly estimate how long it would take to complete that portion of the project._

Why is this such an acceptable premise?

<comment><USER15> Good question, actually. How often does one take a car in for repair, receive an estimate, and then later get a phone call "we found that XYZ part is worn out, we need to replace that as well, it will be an extra $500."

<comment><USER17> A crucial difference is that the mechanic has possession of your car, and the legal right to keep it until you pay for the work that has been done on it up to that point.

<comment><USER16> How does that not apply in the same scenario? Tell the client what you've run into and what the new estimated cost to actually implement the feature. Unless the contract has some stipulation about misestimation, no one can force you to do that extra work.

<comment><USER17> In the mechanic's case, he has the car. The client presumably was using the car already (unlike your software project) and needs it immediately. His only other choice is to pay you, get the car back, and start over with another mechanic. That generally gives the mechanic more leverage.

You're right, no one can force you to keep working. But typically at that point the client owes you money, you have no tangible collateral in hand (like a car) and while you might be able to force him to pay by suing him, it's generally going to be a lot cheaper in the long run to eat the hours and keep the client. If the project is grossly underestimated and the client is unlikely to provide more large projects in the future, _then_ quitting the project might make more sense than continuing. In which case, depending on the nature of the contract and the project, the client might end up suing _you_.

</comment></comment></comment></comment></comment><comment><USER18> Good article.

Before beginning the Estimation process, it's best to talk with the prospective customer about Cone of Uncertainty first; it helps to set a proper context for later execution of the project:

<http://www.construx.com/Page.aspx?cid=1648>

</comment><comment><USER19> I think this is essentially what FogBugz does, so if it works for you, I think there's a good argument for using it.

<comment><USER20> FogBogz calls this Evidence-Based Scheduling. They take past estimates along with data on the actual time taken for past tasks and use that to predict the time required for future tasks. Caveat: I have never used it and therefore cannot vouch for how well it works. The technique appears sound.

More info <http://www.fogcreek.com/fogbugz/evidence-based-scheduling/> and [http://fogbugz.stackexchange.com/questions/4396/how-does- evi...](http://fogbugz.stackexchange.com/questions/4396/how-does-evidenced- based-scheduling-ebs-work)

</comment></comment><comment><USER21> It will be interesting to have a central place where everyone can share information about estimation vs reality.</comment>


Nicomachean Ethics - <AUTHOR> https://en.wikipedia.org/wiki/Nicomachean_Ethics <comment><USER2> It's been a very long time since i read this. The two things that really stuck with me (personal opinion):

1\. _Utility_

There are three levels of utility. Things whose use is only in service of something else are least valued. Things whose use is direct and not in service of something else are of highest value. Things whose use is of both something else and it's own direct utility are of medium value.

As an example a code library is less valuable to the end user than the application it supports.

John Stuart Mill's father founded the philosophy of Utilitarianism based upon Nicomachean Ethics.

2\. _Directness of Intent_

Be clear about what you want and why you want it then pursue that objective without distraction. If your primary intent is pleasure then pursue the pleasure first without shame or manipulation. There are books in the set written to subjectively describe such pursuits in terms of base virtues, such as happiness.

This is perhaps more about honesty to the self than honesty to others. I suppose if you cannot keep from lying to yourself you will be challenged to communicate honestly at all. It also considers motivation as an economic quantity that can be measured, predicted, and compared when considering the balance of multiple agents acting in concert.

<comment><USER3> I've studied philosophy a great deal, and I'm terribly confused about your takeaways, because neither have anything to do with Aristotle as far as I know.

Aristotle was the founder of what is now termed "virtue ethics", which expressly has nothing to do with utility. In fact, utilitarianism and Bentham/Mill are seen as expressly _opposite_ Aristotle's virtue ethics, not building on it. (Kant's deontology being the third main philosophical alternative.)

Similarly, pursuing an objective without distraction could not be less Aristotelian. If you could boil down virtue ethics to a single line, it would be that virtue is about finding the happy medium between excesses.

I think you're confusing something else with Nicomachean Ethics. I'm kind of curious what it is now, though.

<comment><USER2> As far as utility you can find numerous similar interpretations online searching Google for: _ethics "exists for its own sake"_.

For a more detailed interpretation see Stanford philosophy text on Aristotelian Ethics: [https://plato.stanford.edu/entries/aristotle- ethics/#HumaGoo...](https://plato.stanford.edu/entries/aristotle- ethics/#HumaGoodFuncArgu)

Everything I just searched for referred directly back to Nicomachean Ethics, but it appears this idea exists directly at the top of Aristotle's Metaphysics Book 1.

> Similarly, pursuing an objective without distraction could not be less > Aristotelian.

Perhaps. It has been a long time since I have looked at any of this. If I remember correctly it is more about the clarity of intention/purpose than the substance of the subject for that substance will reveal itself through the pursuit.

Aristotle wrote a lot about happiness and even had a word for it: _eudaimonia_. It did not seem to be a goal but rather the journey and ethics were the guidance that provided both direction and the narrow path.

</comment></comment></comment><comment><USER4> This book is the foundation of my worldview. The message I took away from it is that there is a skill of being good at being a person, and that goodness in terms of what we now consider to be ethics will follow from that.

Worthy of note in particular is eudaimonia as a concept, especially the debate between whether it is happiness or goodness. I read it (somewhat loosely) as being the process by which a person's behaviours engender virtuous cycles in their communities and themselves.

It's been a long time since I read it but I'd recommend it to anyone. Maybe I'll revisit it before lockdown is out.

<comment><USER5> Have you also read Alasdair MacIntyre's "After Virtue" from 1981? As I understand it basically revived Aristotelian virtue ethics as a viable philosophical theory, indeed by thoroughly criticizing modern (post- Enlightenment) justifications of morality. It's probably my favorite book of modern philosophy.

<comment><USER4> I have not, but that sounds awesome. Recommending in turn "natural goodness" by Philippa Foot, also a revival of virtue ethics.

<comment><USER6> Thanks for the recommendations. I would in return suggest Braintrust by Patricia Churchland. It looks at how morality and ethics arise from the needs of social animals such as ourselves to exist within a group that won't tear itself apart, and at the neurochemistry of it. The material is very accessible, and if the writing can be a bit stuffy at times, the points are solid and well worth the read.

</comment></comment></comment></comment><comment><USER7> I would like to suggest "History of Philosophy without any gaps" podcast website which explains in a rather complete way Philosophy in layman's terms. Everything is neatly organized (just check the top menu). Also it includes non western philosophy such as Avicenna's writings, its importance and relation to Aristotle's work. Here is ths relevant episode on Aristotelian ethics: [https://historyofphilosophy.net/aristotle- ethics](https://historyofphilosophy.net/aristotle-ethics)

<comment><USER8> And for fun, I recommend Existential Comics: [https://existentialcomics.com/philosopher/Aristotle](https://existentialcomics.com/philosopher/Aristotle)

<comment><USER9> More than just fun. EC's "freedom monster" is at least one original contribution. And topical to utilitarianism. and ethics.

[http://existentialcomics.com/comic/259](http://existentialcomics.com/comic/259)

</comment></comment></comment><comment><USER10> It's been awhile since I've read this. Rereading about it now, it seems like a conceptual mess.

I also have this sense, hard to put into words, that it is written from a perspective of socioeconomic privilege and implicitly assumes a certain freedom, or has as its focus certain concerns that reflect that. It comes across to me now as narrow-minded and lacking in understanding of the broader human condition and diversity of challenges affecting persons. Put another way, it seems to be written as if advising royalty or the wealthy is the implied goal, ignoring the broader experiences of mankind, which seems to me in turn ironically a moral failure.

Maybe related to this, it seems to presume a certain set of things that I see as actually being fundamental societal and philosophical questions, such as free will and personal agency and all that encompasses. Failure to attain well-being in a broad sense is a failure of the individual to practice free will, under The Ethics, and not of society to foster or intervene in a way so as to facilitate individual improvements in well-being. The sort of paradigm being asserted in The Ethics provides no way out to address the question of "how do I improve the lot of my fellow persons?" or to develop virtues in others. If someone rejects the notion of free will, either in itself or as a meta-phenomenon (that is, as something that can be manipulated itself), The Ethics seems misguided at best and pernicious at worst.

Virtue ethics also seem naive to me often, in that there's often little self- awareness of its limitations. For example, what if two virtues conflict? How do you resolve this? How do you interpret a behavior vis-a-vis its outcome in the presence of fundamental uncertainty?

<comment><USER11> It would be helpful if, in your critique, you could share what precisely you are critiquing. Otherwise it seems very dismissive.

<comment><USER10> It's difficult to go through everything with specific examples, because that would be an essay onto itself.

But, for example, in Book 3 (via the Rackham translation; [http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3Atext%...](http://www.perseus.tufts.edu/hopper/text?doc=Perseus%3Atext%3A1999.01.0054%3Abook%3D3%3Achapter%3D5%3Asection%3D1)):

"If then whereas we wish for our end, the means to our end are matters of deliberation and choice, it follows that actions dealing with these means are done by choice, and voluntary. But the activities in which the virtues are exercised deal with means.

Therefore virtue also depends on ourselves. And so also does vice. For where we are free to act we are also free to refrain from acting, and where we are able to say No we are also able to say Yes; if therefore we are responsible for doing a thing when to do it is right, we are also responsible for not doing it when not to do it is wrong, and if we are responsible for rightly not doing a thing, we are also responsible for wrongly doing it.

But if it is in our power to do and to refrain from doing right and wrong, and if, as we saw,1 being good or bad is doing right or wrong, it consequently depends on us whether we are virtuous or vicious."

These types of passages assume or assert (1) free will, (2) the notion of responsibility for behavior as a consequence of this, and (3) a schema that is framed in terms of broad evaluative personal characteristics rather than specific decisions. If you believe that the notion of free will is specious, even partially in significant cases of vice, the entire Ethics starts to become questionable. To be even more specific: what if you believe that society (if not now due to scientific-technical limitations, then some day) has a moral obligation to address criminal wrongdoing by means of neurobehavioral intervention, to treat criminal predisposition as a disease? Is relying on an Aristotlian view of ethics as personal responsibility then unethical because it elevates an erroneous assumption of free will above the societal consequences of reducing suffering from criminal behavior?

This is taken out of context to some extent, as Aristotle also discusses free will, voluntary vs. nonvoluntary actions etc. But I'd argue that those discussions are kind of beside the point, and amount to logical loopholes of sorts in that they amount to something like "I'm not talking about cases where there isn't free will." But what if that is the main issue at some level?

The discussion of virtue ethics in general, to be contrasted with deontological or consequentialist ethical reasoning, for example, is a whole other topic, about which books have been written.

<comment><USER12> _you believe that the notion of free will is specious, even partially in significant cases of vice_

Don't mix your modalities.

It's possible to reason in terms of free will and decisions between right and wrong; or in terms of causes and effects, from mental illness and broken childhoods through to poverty and criminality; but separately.

The problem with reasoning in just one modality or the other is that you miss what the other modality captures. Reason entirely in the former, and you can miss out on social and political changes which can result in better outcomes in the aggregate. Reason entirely in the latter, and you miss out on the ability for the individual to improve themselves, and deny them agency in choosing their own destiny.

(Personally, I think "believing that the notion free will is specious" \- actually wrong - is incredibly disempowering, and will have the effect of causing people to blame externalities even when they have the power to change their situation. It has an effect all of its own. You don't need to have free will at the Physics level in order for belief in free will to have a positive mental effect in a mechanistic cause and effect way.)

<comment><USER13> I appreciate what you're saying, but I think you might be mixing modalities. Considering that free will may be a pleasant deception doesn't necessarily lead to blaming externalities instead of changing a bad situation.

The concept of blame as it is usually expressed depends on the belief in free will. The person whose free choices led to an outcome bears the greatest responsibility. Assigning blame to others is therefore accomplished by proving that the self didn't possess this freedom. When no choice exists, responsibility reverts to environmental circumstances.

The condition you're describing can only be coherent if a person believes they lack personal agency but that the framework of free will and the primary responsibility of those who have a choice remains in place. This is a real condition that many people suffer from, and many will disguise it as giving in to inevitable causes and effects, but the problem is not that they lack faith in free will, but that they have assigned freedom elsewhere.

If a person accepts the idea that free will is unattainable, the conventional concept of blame becomes incomprehensible. Every dependent choice is related to every other choice. There is no hierarchy of blame that defaults to the environment. A person can either accept no responsibility or all responsibility. Accepting all responsibility will appear impossible to a person holding on to the idea of free will, but to someone who fully abandons it and considers that they are part of a larger whole, personal responsibility for every outcome becomes a natural consequence.

<comment><USER12> _personal responsibility for every outcome becomes a natural consequence_

I don't see how this works. The biggest reason is that if everyone is personally responsible then noone is responsible; this is pretty well established in psychology, with diffusion of responsibility.

<comment><USER13> People follow that trend differently. Strong believers in free will tend to be especially against collective responsibility or guilt. I also don't believe there's any evidence that ethical systems or religions that traditionally deny free will produce less responsible societies.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> I read HN because it's the only place on the Internet where a link to a Wikipedia page on Nicomachean Ethics could hit the #1 position.

<comment><USER15> Is HN the only place that happens? Has anyone found another site that has a lots of well organized quality intellectually stimulating content?

<comment><USER16> There is slatestarcodex.com and a handful of twitter accounts. Also, there are some think tank slacks that are out there, but most of the good stuff is private. Occasionally the ArmsControlWonk slack will be hours ahead of the news and with a lot more certainty over something.

<comment><USER15> These are specialized sites - I'm wondering if there's an aggregate site like HN for well educated commenters.

We need a healthy ecosystem of sites like HN.

</comment></comment></comment></comment><comment><USER17> Aristotle's _Ethics_ is indeed a foundational text. To simplify things greatly, there is basically only one alternative to it: Nietzsche. As Alasdair MacIntyre explains (the erstwhile Marxist, now Catholic, who helped revive virtue ethics with his book _After Virtue_ ), "the underlying structure of [Nietzsche's] argument is as follows: if there is nothing to morality but expressions of will, my morality can only be what my will creates. There can be no place for such fictions as natural rights, utility, the greatest happiness of the greatest number. I myself must now bring into existence 'new tables of what is good'" (AV 114).

Nietzsche is commonly misread as a nihilist, but nothing could be further from the truth. In fact, Nietzsche recognizes clearly that is precisely the _installation_ of fictional moralities that is the source of nihilism, not the denial of those fictions. (This is also something that Heidegger sees clearly, e.g, in "The Letter on Humanism.")

At the end of the day, then, the question is this: Do you believe in some kind of "objective" morality that governs human life, gives meaning to our existence, and so forth? If so, then Aristotle's _Ethics_ is by far the most cogent articulation of that view. However, if you believe that morality is just conventional, historically contingent, and a product of our "wills," then Nietzsche helps us see that clearest. To admit the latter view is not to succumb to nihilism; it is rather to free us to truly pursue the activities of greatness.

Ultimately, MacIntyre (inter alia) thinks that we have to choose. For an example of someone who, by contrast, tries to reconcile Aristotle and Nieztsche, see Hannah Arendt.

<comment><USER18> From an evolutionary perspective there _are_ some objective morals, the most obvious being incest (simple genetics) and cold-blooded murder (mix of genetics and whatever dynamics give rise to human altruism, which is at the root of our specie's survival fitness).

Unfortunately, the universe defies simple, categorical distinctions. Kant's categorical imperative superficially comes closest to capturing the above examples, but not really, because Aristotle, Kant, and Nietzsche, all seem to side-step the question of free will, at least as it relates to the meaning of morality. Free will itself of course also defies simple distinctions. The problem in all these explorations of morality is that the number of implied assumptions is enormous, and it's the character of those assumptions which matters far more than the effectively trite observations about human behavior these philosophers often make.

<comment><USER19> Although viable offspring and stable communities are pretty natural choices for moral goods, a preference for the long term over the short term that predicates them is still a subjective decision.

<comment><USER18> It depends on your definition of objective, which is part of the point. What it means to be "human" will color everybody's preferences. How many outliers does it take for a preference to become subjective rather than objective? The nature of the question, more than the question itself, will determine whether something is "subjective" or "objective".

Are there objective moralities? Yes, if you qualify what objective means-- e.g., approximately universally _manifest_ preferences among humans. The particular morals, or at least the simplest aspects[1], will then tend to fall naturally from that.

But if our benchmark of objectivity is something completely abstract, then objectivity is unlikely to exist. Pure math allows us to create infinite universes with consistent rules, yet only one of those universes can exist in any physical sense. As long as you can pick from those non-existent realities (which is pretty much what philosophers do), then you can always rebut any claim of universality, objectivity, etc; or even, conversely, assert objectivity of a finely detailed morality by simply predicating a claim on your universe of choice (see, e.g., Social Darwinism).

[1] We don't have a good track record of fully comprehending biological determinants, especially as applied to human behavior. The interplay of culture and biology is extremely complex, and we suck at even identifying which is which, let alone inferring anything complex from the distinction.

</comment></comment></comment></comment><comment><USER20> This is one of the books that, until yo do read it, you think (because that is the "folklore wisdom") will be a huge bore.

Then it blows your mind, and you start to understand freedom.

<comment><USER21> Aristotle is difficult to read, for a number of reasons. The main one in my opinion is that it is so dense of inestimable content that I am overwhelmed at every paragraph.

<comment><USER22> My suggestion, based on what worked for me, is to use a highlighter. Highlight things that are both interesting and confusing. At the end of a chapter, review. I found the passages I highlighted because they were confusing ended up being truly interesting.

</comment></comment></comment><comment><USER23> As an aside, I strongly recommend reading Thucydides. Once you know the story of the Peloponnesian War, everything that Socrates and Aristotle talked about will have a much deeper meaning.

<comment><USER24> Yes!

Socrates and Aristotle both sound very anti-democratic.

Thucydides explains why.

<comment><USER25> To what extent is democracy just re-branding of the concept of letting the popularity contest winner run things? Though at face value the unpopularity of winners (and near winners) makes this seem counter intuitive, but that may be explained by the extent that our sense of popularity can be and is being manipulated.

As such, democracy would seem a very unpalatable outcome. Better than the alternatives they had, but lacking enough that they would have distaste for it and seek something better.

Similar the Churchill quote (which itself is rephrasing an earlier quote.

>Indeed it has been said that democracy is the worst form of Government except for all those other forms that have been tried from time to time.

<comment><USER19> > _To what extent is democracy just re-branding of the concept of letting the > popularity contest winner run things?_

Not all democracies are created equal, and the Churchill quote is a grand feat of equivocation that paints many different systems as if they were a single immutable institution.

Athenian democracy was a direct democracy where any citizen could get up and talk. Where officers were needed it mostly used a lottery system [0] instead of elections precisely because they were afraid that elections just become a popularity contest that favors the incumbent oligarchic interests.

Generals were an exception because they had to be skilled at war. Handling money was also a skilled profession, and favored the rich so that the money could be recovered from their estate in the case of embezzlement. Politics, on the other hand, was not seen as a skilled profession, and what was important was loyalty to democratic ideals.

Looking at the quality of politicians we have and the power of entrenched oligarchic interests in our society, it really makes me appreciate the wisdom of the ancients.

[0]: [https://en.wikipedia.org/wiki/Athenian_democracy#Officeholde...](https://en.wikipedia.org/wiki/Athenian_democracy#Officeholders)

</comment></comment></comment></comment><comment><USER26> I read this book during law school. The conclusions are nice, but the book writing is obtuse.

<comment><USER27> Or maybe you were too young ;)

And maybe such complex problems don't come with very clear solutions.

Re-read it :D

<comment><USER28> Aristotle is notoriously a terrible writer. A lot of these books are thought to just be lecture notes and things like that pieced together. Compare that to something like Plato's and it's a big difference. I imagine nobody will ever beat Kant in the terrible writing department though.

<comment><USER19> Many writers are terrible by accident, but Kant elevated it to an artform.

<comment><USER29> Now I want to really read his writings

<comment><USER30> Take first Critique, and read it as if a software engineer wrote his ideas now some software might be architected in order order to work as it is working right now: that is the point of Transcendental Argument.

</comment></comment></comment></comment></comment></comment><comment><USER31> I took a "History of Philosophy" class as a GE my freshman year of college. It's pretty astounding, when you start tracing it back, how much of our law, literature, politics, ethics, and aesthetics come from, like, four or five Greek guys.

<comment><USER32> From works written down by four or five Greek guys, or by other guys who cited those Greek guys as the source.

The fact that our surviving records all happen to funnel through those guys is not proof that it all originated with those guys. It is highly likely that they were both building on an extensive unrecorded philosophical tradition, and participating in a broader contemporary cultural conversation whose other participants have merely not been lucky enough to have their names recorded by history.

<comment><USER33> Socrates, Plato, and Aristotle unoriginal? Enlightenment Europe is similarly the work done by a handful of geniuses participating in an intellectual culture. We can patently see their originality - what makes you so sure the Greeks did not have the same?

<comment><USER32> Nothing. I am not saying they _weren 't_ geniuses. I am merely pointing out that there is insufficient evidence for a _definite_ conclusion either way.

Cf. Shakespeare. Yes, he was a genius, but not nearly so much of a genius as many people often claim, because a lot of people confuse "Shakespeare is our earliest surviving recorded source for a lot of features of the English language" for "Shakespeare single-handedly invented half of the English language", which is absurd.

And the great minds of the European Enlightenment may also have been genuinely great... but they are also nearly all rich men with patrons and leisure time, and the means to preserve their thoughts in writing. Our view on their history is much clearer than our view of the ancient Greeks, but there's still no telling exactly how much influence there was from their surrounding unrecorded culture, or how many important ideas would've been independently proposed by others if others had the same access to publication and historical preservation.

<comment><USER33> There is a very clear heritage of the ideas of those Ancient Greek thinkers which have moved and influence world history. So I'm befuddled how you don't see sufficient evidence, nor what constitutes such sufficiency for genius?

I highly recommend you read Arthur Schopenhauer's essay _On Philosophy at the Universities_ : [https://archive.org/stream/23341891SchopenhauerParergaAndPar...](https://archive.org/stream/23341891SchopenhauerParergaAndParalipomenaV2/23341915-Schopenhauer- Parerga-and-Paralipomena-V-1)

It is a persuasive essay that, no matter the resources, genuine philosophers or geniuses pursue the truth for its very sake. I concur that historically this has been the art of the aristocracy, but so what? Hypothetical or "unrewarded genius" doesn't amount to much in world history. Results do. And such fruit is actually the result of a _cohesive_ organization of a society, ie genius is the goal of civilization proper. Plato and Descartes both had to have their trash picked up by somebody in order for them to impact us today.

<comment><USER32> > There is a very clear heritage of the ideas of those Ancient Greek thinkers > which have moved and influence world history.

Yes, there is. But that is a very different thing from having very clear evidence that those ideas originated uniquely in a specific small set of brains whose owner's names are recorded. "This person's writings have a clear influence on history" is a very different claim from "This person was the very first person to ever think the thoughts that he wrote down."

<comment><USER33> Original minds do not find satisfaction in being derivative. Searching for truth leads to originality for this very reason. So it is safe to say that Socrates was a novelty in the human race because of his philosophical turn towards examining moral knowledge, which there was no previous recording of. I guess I don't see the point in questioning it, chiefly because such genius is normally a culmination of rare and successful inter-generational cultural growth, so it really is "one-of-a-kind."

</comment></comment></comment></comment></comment></comment></comment><comment><USER34> Understanding the concept of "eudaimonia", discussed in this work, is something that has genuinely improved my life.

<comment><USER35> Eudaimonia dramatically improved my late game economy in Alpha Centauri.

</comment></comment><comment><USER11> I still like the clarity of Plato, where harmony is the basis of health, happiness, wellbeing, virtue, justice and the good. He describes harmony in the individual, in society and in the cosmos. For instance, when there is harmony in the parts of the soul (reason, appetite and passion) a person is virtuous and happy.

Obviously much more can be said -- especially considering that harmony is found in the tension of opposing forces -- but that's a remarkably enduring approach

<comment><USER36> Friedrich N, the philosopher heavily criticized Plato, also Plato's Republic was brain-food for Stalin, Hitler etc. it is a great work nonetheless

<comment><USER11> What was Nietzsche's critiques? Or where can I find them?

</comment></comment></comment><comment><USER37> N.b. CUP has made an upcoming Elements book, "Aquinas' Ethics", available for free[0] until mid-May. (Aquinas draws a great deal from the Nicomachean Ethics.)

[0] [https://www.cambridge.org/core/elements/aquinass- ethics/6E12...](https://www.cambridge.org/core/elements/aquinass- ethics/6E12E058585683A44571D91568CEDBC1)

</comment><comment><USER38> How did this end up on the front page? Hacker News has always struck me as anti-philosophical and anti-literature.

This was one of the book that I read on my own after reading Bloom's "Closing of the American Mind."

My reading of the book was tinged with melancholy, for if virtue is a skill necessary for happiness, and if only a few can master a skill, then only a few can be happy.

I was 17 at the time and thought, "What an awful world that would give happiness to so few!"

<comment><USER39> Men from first world countries like to philosophize about ancient Greeks and stoics. That is because some of this philosophy helps them deal with their white-collar jobs and helps establish some meaning in their lives, that's my guess.

</comment></comment><comment><USER3> To help put this into context for others here.

It's interesting to note that Aristotle's "virtue ethics" \-- based primarily on this work -- have come "back into fashion" over the past few decades, after being largely ignored by philosophers for centuries as having any contemporary relevance. (I.e. you studied it for the historical value mainly, but it had zero connection otherwise to contemporary analytic philosophy.)

The two main strands of philosophical thought over the past few centuries have been deontology (best exemplified by Kant) which is that you follow specific moral rules ("don't kill", "don't lie", "keep a promise") no matter what, and utilitarianism (Bentham/Mill) which is "the greatest good for the greatest number" (divert the trolley to kill one person instead of five).

They both obviously have truth to them but are also deeply incompatible with each other. Aristotle's "virtue ethics" says instead that what is most important is one's _character_ , and that a virtuous character comes from a _balance_ of temperaments. For example, you shouldn't get angry all the time, but you also shouldn't be cowardly all the time. Good character means knowing the right times to take bold angry action, but also knowing the right times to stay back out of fear -- and that honing good judgment is the key to knowing when. Sometimes it means breaking a promise, sometimes it means sacrificing a greater good for another principle, and there isn't always an obviously right answer.

Thus the idea of "good judgment that can't be reduced to strict rules" is now seen as an equally viable alternative to deontology and utilitarianism. Perhaps because it seems particularly relevant in an age of relativism.

Also perhaps particularly telling, in the TV show _The Good Place_ which recently ended, and where every episode is about a different philosophical dilemma, when the creater Mike Schur was asked about which philosophical system was closest to his own beliefs, he replied that it would have to be Aristotle's virtue ethics.

I personally found reading _Nicomachean Ethics_ a fascinating experience, because it was written pre-Christianity, so the complete and utter lack of notions of "good and evil" is revelatory. We're so used to thinking in such terms in much of the world, it's refreshing to see a totally different worldview.

In case anyone is curious for a modern treatment of Aristotelian thought, Martha Nussbaum's book _Upheaveals of Thought_ played a big part in "rehabilitating" Aristotle in contemporary philosophy. It has parallels to the vein of "emotional intelligence" that became popular a few years earlier.

<comment><USER40> For additional context, other Socratic schools like Stoicism are also virtue- ethical schools. For folks who are looking for a very specific rule to a life situation, virtue ethics can feel too ambiguous, but for someone like myself, who believes that life is extremely contextual and there can be a lot of legitimate variation in responding to something, Virtue Ethics is wonderfully nuanced and flexible.

I for one really appreciate the renewed attention to ethics in recent decades from philosophers. It's a reorientation to one of the oldest purposes of philosophy -- to teach us how to live well.

<comment><USER36> >like Stoicism are also virtue-ethical schools.

Look up Christian virtue ethics, virtuous pagans

</comment></comment></comment><comment><USER41> My favorite course in college. An entire semester dedicated to Nicomachaen Ethics. Helped me think so much about what "happiness" truly is, and what type of a "virtuous" life one should lead to achieve maximum happiness.

<comment><USER42> Well don't leave us hanging. What's the answer?

<comment><USER43> Eat when hungry, sleep when tired

</comment></comment></comment><comment><USER36> For those new to philosophy I recommend starting with Plato, Then reading his Republic especially chapter XI , then read some Descartes, Hume, Kant and then read Aristotle who is simply know as The Philosopher

<comment><USER44> I would recommend that people start with something they are interested in.

</comment></comment><comment><USER45> Any recommendations on which edition or translation to get? Thanks in advance!

<comment><USER46> This newer one from University of Chicago Press is really nice.

[https://www.amazon.com/Aristotles-Nicomachean-Ethics- Aristot...](https://www.amazon.com/Aristotles-Nicomachean-Ethics- Aristotle/dp/0226026752/ref=tmm_pap_swatch_0?_encoding=UTF8&qid=1587761415&sr=8-4)

</comment></comment><comment><USER47> Always glad to see philosophy on HN, I have fond memories learning about NE during my ethics class at Cal. We spent the most amount of time on this, and then slowly went on towards other ethic systems.

</comment><comment><USER48> A nice canonical compendium of philosophical theories [https://plato.stanford.edu/contents.html#a](https://plato.stanford.edu/contents.html#a)

</comment><comment><USER49> Years ago a good friend had this quote hung up on the wall by her desk: "ἔστι ... ὁ φίλος ἄλλος αὐτός" (A friend is another self), which I loved: you experience the world through loved ones too, and expand your consciousness (on a related note see Hofstadter's _Strange Loop_ on his thoughts about having a version of his deceased wife's consciousness "running" in his brain).

Later I learned that it came from the _Nicomachean Ethics_ ([https://www.loebclassics.com/view/aristotle- nicomachean_ethi...](https://www.loebclassics.com/view/aristotle- nicomachean_ethics/1926/pb_LCL073.535.xml)) and is much deeper that I thought.

Bonus quote from Antisthenes: "τῷ σοφῷ ξένον οὐδὲν" (The wise person is foreign to nothing). One interesting thing about this one is that Ancient Greek had two words fro _nothing_ : _ouden_ and _meden_.

</comment><comment><USER22> I bought the paperback of this book a few years ago, and I make a point to read it at least once a year. Every time I do, I find something new.

Continually amazed that humans were so insightful so long ago.

</comment><comment><USER50> For those interested in a grand overview of history of philosophy (the ideas themselves and the people behind them), this is a worth-reading classic:

 _A History of Western Philosophy_ by Bertrand Russell

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

<comment><USER51> Just bear in mind that Russell was very biased in favor of Analytic philosophy, so you're not going to get much from him on the Continentals.

Like many other Analytics, he seriously misreads Nietzsche, and he doesn't even mention Heidegger, Husserl, Sartre, or Foucault.

I like Russell, though. He's clear and eloquent, writing well on the subjects he does appreciate and understand.

<comment><USER52> Russell is up front about his biases and limitations in that book, at least. IIRC he divides most chapters into his best effort to describe a philosopher or movement's positions or ideas, then an analysis of how those have held up since (this is _incredibly_ helpful and absent in a lot of texts that try to be dryly objective and not even report any more-or-less consensus passing-of- judgement by philosophy as a field) and, to varying extents, his own takes on them.

The funniest one I recall is Bergson, near the end of the book, which he prefaces with (loosely paraphrasing) "Look, this whole thing seems like total bullshit to me, and I've never read any description of it that _doesn 't_ seem like total bullshit, so when I try to describe it and it seems like bullshit that's just the best I can do. Sorry."

<comment><USER51> Yeah, that dismissive, condescending view of Bergson is par for the course of many Analytic's attitudes towards Continentals (though Bergson himself was not part of the Continental tradition).

Sure, such condescension may be the best that Russell can muster, but I'm not sure you'd get a charitable reading of Bergson (or any other philosopher Russell didn't like) from someone so hostile and unappreciative of him.

Russell did take Nietzsche more seriously, but to me it seems Nietzsche just went over Russell's head. Russell is best at reading other philosophers who, like himself, are clear, easy to understand, and relatively conventional.

<comment><USER50> Continental philosophers were approaching the topic of philosophy very differently. Much of it comes off as convoluted nonsense: rather than clarity of expression it feels like mysticism for which you need a 'guru' to elaborate and elucidate.

To take existentialism, the basic message is "you have to decide and take control of your life". Sure, that sounds good, but what is the advice about how to do it? Existentialism seems to offer no guide.

</comment></comment></comment></comment></comment><comment><USER53> Great submission! I found the examples on the cardinal virtues very useful.

</comment><comment><USER54> Anyone rememer how that New Yorker piece describes HN as a place full of performative erudition?

<comment><USER55> I'd much rather "performative erudition" than "performative idiocy" (a.k.a. trolling), because the latter makes visiting idiots feel they're in good company[0].

[0] Paraphrased (surprisingly to me) from a Hacker News user: [https://news.ycombinator.com/item?id=1012082](https://news.ycombinator.com/item?id=1012082)</comment></comment>


Airtame announces partnership with Northamber AV - <AUTHOR> https://airtame.com/ <comment><AUTHOR> Airtame announces partnership with Northamber AV

4 May 2020, Copenhagen — Airtame (www.airtame.com), the leading wireless screen sharing and collaboration platform, today announced it has officially partnered with Northamber AV, the UK's longest-standing and leading distributor of AV & IT products.

The partnership will see Northamber offer Airtame's wireless screen sharing and device management platform directly to business facilities throughout the United Kingdom.

Alongside its wireless screen sharing solution — which help schools and businesses increase productivity and engagement in meetings and classrooms — Airtame recently launched Airtame Cloud, which provides customers with one unified platform to remotely manage and monitor their Airtame devices, along with a range of digital signage features.

In operation for over forty years, Northamber is widely recognized as the longest established UK only value added AV & IT distributor. Alongside Airtame, the company distributes products from over 80 reputable brands, including Avocor, Sharp and Sony.

Airtame's Head of Sales EMEA, Thomas Nielsen said: "Airtame has enjoyed 200% growth in the UK since 2018, and our partnership with Northamber will continue to strengthen this positioning in the market. We're focusing on fortifying our channel-driven growth in EMEA, and look forward to reaching even more resellers in the UK."

Northamber's Director of AV, Peter Dosanjh said "Airtame is one of the most exciting brands in the wireless screen sharing and collaboration space. The new distribution agreement will deliver significant benefits to UK resellers and we are thrilled to establish this partnership and look forward to the new opportunities it will bring in the future."

ENDS</comment>


Lessons From a 125 Year Old Business - <AUTHOR> http://usersnap.com/blog/lessons-from-a-125-year-old-business/ <comment><USER2> _Never oversell_

This is a delicate art. Suggest-selling can enrich the customer's experience. My mother ran a bookstore and I didn't like doing sales and suggesting additional books. I was never pressed to, but I noticed that other employees could suggest an appropriate related book without pushing the sale.

It wasn't often that the customer would take it, but because it was appropriately related, they wouldn't lose out on the experience, and if they did like it, it was higly positive and a win-win situation. A skilled salesperson is interesting to observe.

<comment><USER3> Software style over-selling in the context of a bookshop would be something like taking money for a book that the author hasn't even thought about writing.

Or maybe, in the style of "salesmen who can't say no":

"Is it a thriller?"

"Yes"

"Is a romance?"

"Yes"

"Is it an accurate historical account?"

"Yes"

"Is it science fiction?"

"Yes"

"Is it easy to read?"

"Yes"

"Who is the author?"

"Who would you like the author to be?"

[NB I really have been the sales engineer in meetings like that and I found them to be awful - no amount of kicking under the table or subtle hand signals would stop some people]

</comment></comment><comment><USER4> This list of the world's oldest companies may also be of interest:

[http://en.wikipedia.org/wiki/List_of_oldest_companies](http://en.wikipedia.org/wiki/List_of_oldest_companies)

Remarkable to see companies that have lasted more than 1,000 years! And sad to see that Kongo Gumi - a Japanese construction compnay - shut down in 2006, after being founded in 578 CE.

<comment><AUTHOR> Wow, impressive list.

And founding a brewery in the 1400ies was really a good idea.

<comment><USER5> We don't see how many were founded and failed. So maybe not.</comment></comment></comment>


NVMe, the fast future for SSDs - <AUTHOR> http://www.pcworld.com/article/2899351/everything-you-need-to-know-about-nvme.html <comment><USER2> The numbers in the article are all wrong. SATA's ceiling is 600 MBps (megabytes per second), not 600 Gpbs (gigabits per second). SAS goes up to 12Gbps, not 12GBps, which is actually the same thing as 1.5GBps. At least the PCIe numbers look right.

<comment><USER3> Yes they are all wrong.

6 Gbps, 600 MBps (the capital B is supposed to indicate 'Bytes' versus 'bits') the encoding is 8b/10b which is 10 bauds per 8 bit byte.

PCIe 2.0 has 2.5Gbps "lanes" PCIe 3.0 has 5Gbps "lanes" they can be ganged together for additional bandwidth. (x1, x2, x4, x8, x16) it is also 8b/10b so you divide by 10 to get Bytes per second (250MBps/500MBps).

Both SATA and PCIe have a 'transaction limit' which is a function of the controller, which limits the total number of operations per second (IOPs). The product of the IOPs and the size of the transaction can never exceed the bandwidth of the channel. But it often is under. For example a typical SATA disk control (prior to the popularity of SSDs) would do about 25,000 IOPs, and if you had 512 byte (.5K) block reads and writes, you could read and write 25,000 * .5 or 12,500K or 12 MBps (which was much lower than the theoretical bandwidth of 200MBps on 2Gbps SATA II channels. Optimizing channel utilization requires that you figure out how many IOPs your OS/Controller can initiate and then sizing the payload to consume the max bandwidth. Large payloads and you'll push IOPs down, smaller payloads and you won't use all the bandwidth.

One of the nicer aspects of ATM was that it was designed and specified for full channel utilization with 64 byte packets which made it possible to reason about the performance and latency of an arbitrary number of streams of data moving through it.

<comment><USER4>
      > For example a typical SATA disk control (prior to the
      > popularity of SSDs) would do about 25,000 IOPs, and if
      > you had 512 byte (.5K) block reads and writes, you
      > could read and write 25,000 * .5 or 12,500K or 12 MBps
      > (which was much lower than the theoretical bandwidth
      > of 200MBps on 2Gbps SATA II channels.

That doesn't seem to jive with reality. What am I missing here? SATA HDDs would regularly hit 100MBps in sequential transfers.

To pick a 2009-era HDD review/benchmark at random that illustrates this: [http://www.storagereview.com/western_digital_scorpio_black_5...](http://www.storagereview.com/western_digital_scorpio_black_500gb_review_wd5000bekt)

<comment><USER3> Oh you can get faster throughput with longer reads, to get 100MBps on a 2Gbps channel you simply increase the read size until you've maxed out the bandwidth you can get.

So when characterizing a typical SATA drive you would start with 4K sequential reads and work up until your bandwidth hit either the channel bandwidth or stopped going up (which would be the disk bandwidth). Unless you ran across a reallocated sector many SATA drives could return data at a rate of 100MBps with 1MB reads. Or even smaller read sizes if you had command caching available. Random r/w was an issue of course because of head movement (burns your IOPs rate while waiting for the heads to change tracks)

You can do these experiments with iometer[1], there was a great paper out of CMU which talked about illuminating the inner workings of a drive by varying the workload[2]. Well worth playing with if you're ever trying to get the absolute most I/O out of a disk drive.

[1] [http://www.iometer.org/](http://www.iometer.org/)

[2] [http://repository.cmu.edu/cgi/viewcontent.cgi?article=1136&c...](http://repository.cmu.edu/cgi/viewcontent.cgi?article=1136&context=pdl)

</comment></comment></comment></comment><comment><USER5> NVMe is one of the most important changes to storage over the past decade.

I'm currently replacing all our SANs with storage servers filled with NVMe SSDs (as the tier 1 storage, commodity SATA SSDs for second tier). I've posted the link to my first blog post about it in the comments on another NVMe post in the past: [http://smcleod.net/building-a-high-performance-ssd- san/](http://smcleod.net/building-a-high-performance-ssd-san/)

I'm close to writing the next post around the actual build, my findings, benchmarks etc... Hopefully I'll have that done next week - but the system comes first.

I'm a little disappointed with this article as I think it could do with a) some technical review and b) some more detailed information.

<comment><USER6> awesome read, can't wait to see your results on performance, etc.

</comment></comment><comment><USER7> Here's a good review with lots of pics and benchmarks: [http://www.pcper.com/reviews/Storage/Intel- SSD-750-Series-12...](http://www.pcper.com/reviews/Storage/Intel- SSD-750-Series-12TB-PCIe-and-25-SFF-Review-NVMe-Consumer)

</comment><comment><USER8> one of the fundamental problem with SSDs is the impedance mismatch introduced by emulating HDDs. NVMe doesn't appear to help with that at all

we need an interface that allows us to bypass the FTL and access the underlying erase blocks

<comment><USER9> Is there actually any evidence that this would improve performance significantly? Removing the translation layer means that every OS and their file systems have to do good wear leveling because otherwise you'll destroy blocks quickly.

<comment><USER10> That's pretty easy to do. Just use a log-structured filesystem[0]. The abstraction we use now is antiquated. It's very much reminiscent of the impedance mismatch in graphics APIs (such as OpenGL) which is now being solved (with Vulkan).

[0] [https://en.wikipedia.org/wiki/Log- structured_file_system](https://en.wikipedia.org/wiki/Log- structured_file_system)

</comment></comment></comment><comment><USER11> So the important question is, how does the affect how we write applications?

Is the api different, or are we still reading/writing disk files?

Should we do memory mapping of the files or not?

Should we parallelize access to different sections of big files? Or write a ton of small files?

How does this affect database design? Current big data apps emphasize large append-only writes and large sequential reads (think LSM trees). Does this make sense any more?

What does disk caching mean in the context of these new drives?

<comment><USER12> API is the same. Memory map if you prefer that access style and it suits your OS/language preferences. The OS will almost certainly not let you map straight across into the device's PCI memory mapped window so you'll incur a copy to userspace penalty either way. Benchmark. There is probably no longer any advantage to a sequential write, but you still have a per-syscall and per-IOP overhead, so large writes will be faster than N small ones. Disk caching is still there and still decreases latency but isn't so critical.

</comment></comment><comment><USER13> I can remember putting ISA "hardcards" in my 286s and similar. Full circle!

<comment><USER3> But did they conform to the LIM[1] spec ? :-)

They also had RAM drives you could buy. The point then as now is that increasing the "high performance" working set space of a program, increases the amount of transactional data that can be "in flight" during an operation, and that increases the overall size of the data set you can work with.

I've been waiting for these boards to come down in price for about 4 years now. I started talking with Intel about them early on (we used their XM-25 SSDs because it was a price point for flash that was "enough" better than spinning rust that it made sense) and they insisted on trying to sell us the same flash chips on a PCIe card for 10x the dollars, I (and many others apparently) refused to pay that. Sure if you have a 'cost is no object' data base or something but for a large internet working set where revenue differences are measured in cents per thousand transactions? Not so much. I know one company that went so far as to design and build their own PCIe Flash card. I have heard it did great stuff for them.

[1] LIM - Lotus-Intel-Microsoft spec for extended memory on IBM PC compatible machines.

<comment><USER14> hardcards have nothing to do with LIM.

<comment><USER3> Wow, so much for relying on my memory.

[http://en.wikipedia.org/wiki/Expanded_memory](http://en.wikipedia.org/wiki/Expanded_memory) vs

[https://books.google.com/books?id=KjwEAAAAMBAJ&pg=PA61&lpg=P...](https://books.google.com/books?id=KjwEAAAAMBAJ&pg=PA61&lpg=PA61&dq=286+hardcard&source=bl&ots=tUPGkGS8mi&sig=_7k1A79zs_A5nNFSmqmR2YTFXYY&hl=en&sa=X&ei=jBAiVYH1OMitogTfmIHwAQ&ved=0CB8Q6AEwAA#v=onepage&q=286%20hardcard&f=false)

I was thinking of the plug-in expanded memory cards rather than the plug in hard drive cards.

</comment></comment></comment></comment><comment><USER15> Another cool thing about NVMe is the smaller command set -- only about 10 commands (excluding admin commands), vs the 200+ that SCSI has grown to over the years. It's fairly quick to learn.

</comment><comment><USER16> Wasn't someone here saying these SSDs consume an abnormal amount of power to achieve those (2x?) faster speeds than current PCIe SSDs? Or was that applicable just to Intel's SSDs?

<comment><USER17> Samsung claims the opposite: NVMe SSD provides low energy consumption to help data centers and enterprises operate more efficiently and reduce expenses. Power-related costs typically represent 31% of total data center costs, with the memory and storage portion of the power (including cooling) consuming 32% of the total data center power. NVMe SSD requires lower power (less than 6W active power) with energy efficiency (IOPS/Watt) that is 2.5x as efficient as SATA.

[http://www.samsung.com/global/business/semiconductor/product...](http://www.samsung.com/global/business/semiconductor/product/flash- ssd/nvmessd) [http://www.pcworld.com/article/2866912/samsungs- ludicrously-...](http://www.pcworld.com/article/2866912/samsungs-ludicrously- fast-pcie-ssd-uses-almost-no-power-in-standby-mode.html)

<comment><USER17> And as far as I understand, isn't NVMe SSD just a "different name" for PCIe SSD? PCIe being the protocol (that's already being used for graphics cards), and NVMe the standard for SSDs to understand that protocol.

<comment><USER18> There's more to it than that. NVMe is a higher layer technology than PCIe.

SATA drives connect to the host system over a SATA PHY link to a SATA HBA that itself is connected to the host via PCIe. The OS uses AHCI to talk to the HBA to pass ATA commands to the drive(s).

PCIe SSDs that don't use NVMe exist, and work by unifying the drive and the HBA. This removes the speed limitation of the SATA PHY, but doesn't change anything else. The OS can't even directly know that there's no SATA link behind the HBA; it can only observe the higher speeds and 1:1 mapping of HBAs to drives. Some PCIe SSDs have been implemented using a RAID HBA, so the speed limitation has been circumvented by having multiple SATA links internally, presented to the OS as a single drive.

NVMe standardizes a new protocol that operates over PCIe, where the HBA is permanently part of the drive, and there's a new command set to replace ATA. New drivers are needed, and NVMe removes many bottlenecks and limitations of the AHCI+ATA protocol stack.

</comment></comment></comment></comment><comment><USER19> SFF-8639 cables look pretty cool! Reminds me of what Apple/Intel was trying to do with thunderbolt. I can imagine some creative people will find other uses for this connector.

</comment><comment><USER20> Why not simply make an SSD Controller that has a thunderbolt port? Since Intel is building thunderbolt into its support chips now, this seems like a good way to get quick performance, plenty of bandwidth without having to come up with new standard, separate drivers, etc. Thunderbolt ports could be put on motherboards fairly easily, etc.

Is there something I'm missing?

Plus this would have the advantage of driving down prices for thunderbolt and increasing adoption.

<comment><USER21> Isn't Thunderbolt just externalized PCI Express?

<comment><USER22> Thunderbolt is PCIe and DisplayPort.

</comment></comment></comment><comment><USER23> Is this relevant for consumers? SSDs were a huge improvement for everyday computing; would NVMe be a similar jump?</comment>


Unleashing the power of small teams - <AUTHOR> http://www.gamasutra.com/blogs/AndreasPapathanasis/20150622/246707/Unleashing_the_power_of_small_teams.php

<comment><USER2> My personal anecdote on this, is the same. I've worked on teams with less than a dozen individuals that produced products that were "better" (for any number of qualifications) than teams run at large fortune 500 computer companies.

And, its not like I was really working any harder than the times I've worked at large companies on their products. Its just that I was producing probably 10x the code/features because the team had such a clear vision of how the product worked that most of us could actually debug a problem without actually looking at the source code.

I don't really think that its a particular talent thing either (aka we weren't better than the big companies engineers). I just think that a person who wrote the first version of the code, and spends a couple years polishing it is far more capable of extending and debugging it than someone who walks in from the street. Working with a half dozen people also gives one an intimate look at why decisions were made, and their results.

Even a lot of successful products that today have very large teams were initially written by small teams that formed the foundations that continue to this day.</comment>


Ask HN: What's the Right Answer for API Authentication over HTTPS? - <AUTHOR>

I've found a few good articles but they seem to disagree with regard to how many layers of security are required. Looking at other popular APIs doesn't offer much clarity. Twilio uses basic auth + HTTPS, Twitter uses OAUTH, AWS uses HMAC.. WTF?<p>Specifically if I'm using HTTPS, can I get by with a simple secret key sent with each request? I'm trying to balance ease of use with security. I don't want to require the API user to sign the payload/query using their private key if I can avoid it. <comment><USER2> GitHub uses basic auth + HTTPS, but recommends OAUTH so that users:

1\. Don't have to give their password to third party services

2\. Can limit what kind of access the third party has (public vs private repos, for example)

3\. Can reject a specific app's access without affecting that of others

</comment><comment><AUTHOR> Here are a few of the articles I've found:

[http://www.thebuzzmedia.com/designing-a-secure-rest-api- with...](http://www.thebuzzmedia.com/designing-a-secure-rest-api-without- oauth-authentication/) Complete, easy to understand article that outlines the HMAC approach but suggests that things can be much simpler if HTTPS is employed.

[http://broadcast.oreilly.com/2009/12/principles-for- standard...](http://broadcast.oreilly.com/2009/12/principles-for-standardized- rest-authentication.html) Claims that you should use HTTPS and sign your queries using a private key. This seems onerous for the API user.

</comment><comment><USER3> i don't see any reason to 'sign' a request over HTTPS if you're going to implement authentication.

hmac / signing makes sense if you can't afford the overhead of SSL, and don't mind exposing the request to a man in the middle / eavesdropper.</comment>


Ask HN: How do I get the spark back for working with computers? - <AUTHOR> When I was a teenager I used to be obsessed with computers. I installed Ubuntu on my laptop and would tinker with it endlessly and was willing to suffer through any lack of compatibility though sheer passion for learning more.
I would read those big books that go through all the Linux commands and configurations for hours straight, and retain most of it.
Coding, while something at first I struggled with, I could also do for hours because every new thing I learned about it was exciting and helped make what I was doing feel more real. Sometime around College, I think that spark I felt left. Coding started feeling like a chore. Classes were hard, and weren't really project based, just academic with maybe some short labs.
I tried to push through this, since I figured "of course I don't like this now, college makes it feel like work" but figured that once I was a professional, it would go back to being joyful.
I worked at a few local startups in college to help pay for school and those varied from exciting to demoralizing (it was my first job after all) to just stressful (one had a pretty toxic culture. It was like nobody wanted to be there with each other around).
After college, I worked in a different field for a few months to see if I was more passionate about something non-technical and it turned out I hated that as well.
So I went back to coding, but the spark I had as a teenager just never came back.
Now in my head of course I want to be the guy who can go deep on a code base and find something wrong, or of course I want to read books on things I think are exciting like cryptography, or Linux. But when I do those things now, they feel like a chore. Reading takes a while, I recall less than before, learning a new language isn't exciting, it's tedious.
How do I get that excitement back? I _loved_ computers. I still in my head love them too. But the practice of that love now just feel like work, and that kills me inside. <comment><USER2> (Seems like I'm writing this to myself too.)

[https://letterstoanewdeveloper.com/2020/04/20/you-should- pla...](https://letterstoanewdeveloper.com/2020/04/20/you-should-play-a-lot- more/)

Off the top of my head:

\- play a lot more without any expectation, don't be afraid to leave a trail of mistakes and unfinished projects

\- make sure you are healthy, eating and exercise, lots of sleep

\- make sure you allocate time to playing and not be distracted by other things

\- watch a bunch of youtube videos on computing, programming

\- play play play

\- don't try to force getting that excitement back, so play a little each day and if bored, do something else

\- if you are worried about wasting your time playing, look back and see what you have accomplished over the last week. Know that another week will pass and you can decide to fill that week with tinkering or not.

\- be in a relaxed state when you want to learn something

</comment><comment><USER3> If you're like me, the spark is gone forever.

The spark comes from believing that by learning these technologies you can build awesome stuff as a respected part of a team. In reality, we are subject to the whims of management and assigned boring/impactless work. Our expert opinions are not respected, not because they are wrong but simply because they do not fit with management's ideas. You might have big ideas and want to make great products, but instead you are told to think like everyone else and take shortcuts.

Even working on projects at home can lose their appeal if they aren't original.

</comment><comment><USER4> Learning becomes harder as one ages, I think. Concentrating also becomes harder with so many distractions.

I think best way to learn anything computer related is to make something. I started learning docker, I took my projects and containerized them. That way I learned what I needed in the order that I needed. Makes it much easier to learn than just listening to lectures in monotonic voices or reading books.

</comment><comment><USER5> You have to grow up a bit I guess.

Nothing is stopping you from doing what you need to do outside of work. I'm super interested in doing some 3D compositing stuff, so much so I day dream about it.

Part of life is figuring this out, that particular internal monologue you have has to be shut up mostly because it's an articulation of an immature emotion (mostly teenage and post teenage 20s, all the way to the end of your 20s often).

Your pre teens and 30s is full of I do whatever the fuck I want. If you are beyond the melancholy years, fill us in, there might a be second cycle of coming down the line for all of us (40s, 50s). I pray not, I can't handle the neuroticism of those years.

</comment><comment><USER6> Personally, I think as soon as you attach monetization to something, the incentives and spark for it turns into "work" or a "job". Unless performance or competition is inherently part of the task eg. sports, we have to find ways to enjoy doing something without measuring the output or ROI from it.</comment>


Liquid Lake on Titan; Water Confirmed on Mars. - <AUTHOR> http://blogsci.com/science/water-confirmed-on-mars-liquid-lake-on-titan <comment><USER2> That's pretty awesome, really.

I wonder if they sizzled away the first extra-terrestrial life form(s) confirming it was water? =) (No, I don't believe this to be possible, but it would make an interesting historical footnote.)</comment>


Ask HN: How do Mint and Hipmunk grab their data from external sites? - <AUTHOR>

I understand how you can grab data from websites that offer API's, but how do sites such as Mint and Hipmunk aggregate their data from sites like Banks and Airlines?
Where does Hipmunk gather their flight information and prices from?
How does Mint grab all your debit and credit card information from your bank? <comment><USER2> It sometimes depends on what sort of data you are trying to get. Hipmunk could be crawling travel sites. Mint couldn't have been crawling banks as those are protected, unless people were giving them the passwords to their accounts.

Are you familiar with web scraping? Depending on the volume, and type of data you are trying to get, it might work for you. It should at least get you through proof of concept.

<comment><AUTHOR> I'm familiar with web scraping...hasn't it always been looked down upon though? It just seems like it's got a negative connotation or something.

<comment><USER2> I think it depends on the application. Though I asked the question below as ffumarola said it was 'bad practice'.

Why scraping is any worse than crawling is beyond me. But again, it depends on the application. I built a concert search engine which scraped data from multiple sites. It is my understanding that all the concert sites are getting a bunch of data from published apis and then topping up with scraped data.

</comment></comment></comment><comment><USER3> _How does Mint grab all your debit and credit card information from your bank?_

When they started, they used Yodlee, who now has an app store where you can build on that same platform. They have already done the hard part of integrating with Banks. <http://www.finappstore.com/>

</comment><comment><USER4> Some sites like pay trust (intuit) practice screen scraping, but that is a bad practice.

<comment><USER2> can you elaborate on why screen scraping is bad practice? or do you mean bad practice for specific types of data?

I ask because I recommended screen scraping and have used it successfully in the past. Though I do think it depends on the application.</comment></comment>


The New U.S.-China Rivalry: A Technology Race - <AUTHOR> https://www.nytimes.com/2018/03/06/business/us-china-trade-technology-deals.html <comment><USER2> NYT is portraying this issue as a technology race when it's really just a surveillance infrastructure conflict of interest.

Qualcomm and Broadcom make closed source basebands, which are used (backdoors) and abused (zero-day exploitation) for spying via wireless ISPs on behalf of their respective parent governments.

If Broadcom acquires Qualcomm, it may become easier for some governments to locate firmware vulnerabilities which can either be fixed to prevent U.S. surveillance or exploited to expand local surveillance powers.

<comment><USER3> I found this pcmag link more enlightening than the NYT article.

[https://www.pcmag.com/news/359702/us-broadcom-qualcomm- merge...](https://www.pcmag.com/news/359702/us-broadcom-qualcomm-merger-may- pose-national-security-risk)

Specifically, the last paragraph,

"Broadcomm added that most of its board of directors and senior management team is made up of Americans. It also contends that the company's plan to buy Qualcomm will no longer fall under CFIUS's review when Broadcom finishes relocating to the US."

It seems CFIUS wants solid assurance that this happens so the US can continue scooping up all the communications of everyone world wide.

The US government didn't appoint Qualcomm winner of the LTE market with IP protections just to let them sell it off to a company outside US control.

</comment></comment><comment><USER4> There is something rather disingenuous about the way the article is written: it takes advantage of an inattentive reader who only reads the title and not the actual article text. Most readers will probably miss some things.

* Broadcom is a Singaporean company, not Chinese.

* The article asserts that Huawei and other Chinese chip manufacturers will indirectly benefit from the proposed merger.

* Cfius, who is looking closely at the Broadcom-Qualcomm proposed deal, looks closely at other investment / merger deals from China for national security reasons.

.... and most readers will at this point incorrectly assume that Broadcom is a Chinese company, having forgotten what was read in the first 3 paragraphs.

<comment><USER5> I see that as well. There's been an interesting trend over at least the last several months where NYTimes has been promoting fears about China (No judgment as to the veracity of those fears).

Definitely something to keep in mind when reading pieces like this.

<comment><USER4> I've noticed that too. While there are legitimate criticisms of Chinese surveillance over Chinese social media (just like there are legitimate criticisms of American surveillance over American social media), I can't help by worry about something else: that this is how it begins. I worry that people who look like me will be deemed suspicious and discriminated against.

I worry when the FBI Director claims all Chinese student organizations are under suspicion because they have evidence that one university student club accepted donations from an embassy in order to fund a Chinese New Year party. Can you imagine if a student organization supporting American students studying abroad was deemed suspicious because the US Embassy bought them a turkey or two at Thanksgiving?

<comment><USER6> > I've noticed that too. While there are legitimate criticisms of Chinese > surveillance over Chinese social media (just like there are legitimate > criticisms of American surveillance over American social media), I can't > help by worry about something else: that this is how it begins. I worry that > people who look like me will be deemed suspicious and discriminated against.

Let's not draw a moral equivalence between US surveillance and Chinese surveillance. Chinese surveillance is explicit, and profoundly more invasive and pervasive than the US's. It's also explicitly used as a political tool - to enforce the will of the party, not the state. These are extremely critical differences that it is irresponsible not to continually and stridently point out. What China is doing to its citizens is infinitely more frightening than anything the NSA has ever done.

<comment><USER4> I'm not drawing a moral equivalence.

As someone who grew up in the US and has experienced racism, I fear where this campaign could lead. Here, we have an article about a Singaporean company trying to take over a US company. And the entire narrative is about China.

<comment><USER7> You're not going to find any empathy here on HN. Given your experiences you should already know this. In the long run the only reliable way to avoid racism in the US is to avoid the US. The fact that you have to worry about potential racism already shows that you already know that it's an untenable position associate with US.

</comment></comment></comment></comment></comment></comment><comment><USER8> While China has real innovators, particularly in manufacturing and AI tech, if China continues on its path toward total surveillance of its people, I cannot see China continue to innovate over the long term. Innovation often entails replacing the old with new interests and stakeholders. In a total surveillance state, stakeholders would have motivation and the means to squash innovative change. So I see the future of homegrown technical innovation in China as questionable, and bear.

China's history of innovation over the also decades is also a story of supplementation by pervasive, state-sanctioned corporate espionage and theft of intellectual property from the rest of the world. If China continues on its current path, I can see actions by nation-states to boost their defenses against espionage and IP theft by China.

<comment><USER9> This is ]conjecture.

In reality the CPC are _technocrats_ in every sense of the word. Many of them are engineers and they possess an engineer's faith in innovation. The idea of them squashing innovation is silly. Look at the enormous investments in electric cars, AI, mobile computing and genetic engineering. Westerners will deny it until it's way too late but the amount of innovation going on in China right now is mind blowing.

Which is the point -- the Chinese will more than likely win this technology "race." Because the West isn't really competing. The days of Western governments pouring real wealth into research and development is over. What you have is very few highly innovative firms and a few military contractors competing against the highly coordinated political-economic-military complex of China. The outlook does not look good.

I suspect this is why ultimately companies like Apple and Microsoft and even Tesla are so focused on getting a foothold into China. These guys know where the future is and they want to be at the table when it happens.

<comment><USER8> It is hardly baseless. If the CPC has done well to allow innovation, it is likely because 1)China is enjoying the easy growth of an emerging economy where outside wealth is willing to pay you to pollute your lands for trinket manufacturing. 2) The party ALLOWED free thinking at Universities, and 3) the party acted under rules of meritocracy.

Under the tightening grip of surveillance in China today, and the centralization of power by the president and his "anti-corruption" campaign against the party and businessman, I don't see how innovation will persist. If the president and his party allies get entrenched, then I do not see how the party can stay a meritocracy, and without that meritocracy, I don't see how innovation won't get squashed.

Edit: thank you for removing the word baseless.

</comment></comment></comment><comment><USER10> Political tangents aside, it will be interesting to see how this race unfolds as the next recession winds up (which is inevitable, really).

The seemingly limitless amount of capital, technological, human and otherwise has led to this arms race of sort, but will both countries be able to focus on this if there's a significant crisis? How much of this stuff is just a bubble?

<comment><USER11> Can you give someone clueless about this recession stuff some pointers or material to mull over? How to estimate timeline and magnitude? Why inevitable?

<comment><USER12> Well, personally, I subscribe to: [https://en.wikipedia.org/wiki/Random_walk_hypothesis](https://en.wikipedia.org/wiki/Random_walk_hypothesis)

</comment></comment></comment><comment><USER3> If the US blocks a Broadcom/Qualcomm merger, what's to stop ${US_Corp} making a hostile takeover of Qualcomm instead?

Clearly the two giant governments are battling over control of the closed source baseband backdoors in all mobile devices.

<comment><USER13> Note that the US can't stop Broadcom from just buying a majority of Qualcomm shares.

<comment><USER14> Actually, they can.

Also - by securities law you're required to report and even make a bid for the business once you cross a certain threshold of ownership.

</comment></comment></comment><comment><USER15> There is a technology race we have lost due to Chinese government investment. 2018 will be the year China passes the US in 300mm wafer production. [https://www.semiwiki.com/forum/content/6608-could-china- take...](https://www.semiwiki.com/forum/content/6608-could-china-take-lead- installed-300mm-capacity-q.html)

</comment><comment><USER16> Could a technological race between warring tribes of primitive homo sapiens be responsible for the human intelligence explosion?

<comment><USER17> No, it was more likely the diffusion of technology (agriculture, writing, the wheel, and so on), not the competition between civilization, that led to humanity's intelligence explosion.

<comment><USER18> Do you have evidence for this claim?

</comment></comment></comment><comment><USER19> The US used to call out China over its human rights abuses. That seems to have stopped around the start of Obama's second term. Now the US has gotten to the point where its president _praises_ China's new _permanent president_ for being so brave to do that.

My hope is the US' next president will be one that cares deeply about civil rights and will start calling China out in the future, as its human rights abuses inevitably increase under a dictator with all-seeing surveillance eyes.

<comment><USER20> > its president praises China's new permanent president for being so brave to > do that.

I believe that was said in jest during a speech at a charity dinner.

<comment><USER21> The event was described as a political fundraiser for Republican donors in all the reports I've seen, not a charity event.[NR, CNN]

The part about having a President for Life in the US was definitely presented as a joke, though Trump's admiration of "strong" leaders has been a recurring sentiment.[The Atlantic]

[NR]: [https://www.nationalreview.com/2018/03/donald-trump-xi- jinpi...](https://www.nationalreview.com/2018/03/donald-trump-xi-jinping-joke- not-funny/)

[CNN]: [https://www.cnn.com/2018/03/03/politics/trump-maralago- remar...](https://www.cnn.com/2018/03/03/politics/trump-maralago- remarks/index.html)

[The Atlantic]: [https://www.theatlantic.com/amp/article/554810/](https://www.theatlantic.com/amp/article/554810/)

</comment></comment></comment><comment><USER22> China has been losing technical talent left right and center. If they want to compete, they need to be able to attract top talent to their country. There's a reason why their military and space hardware is Russian or Russian-derived.

There is just no way someone is going to move from LA or New York to Beijing. Maybe Hong Kong. The differences in living standards is huge, I don't think you could pay people enough to get them to move.

<comment><USER17> HK is not a tech startup place, programmers outside of banking and finance get paid very poorly compared to Shenzhen. I lived in Beijing for 9 years and found that, besides the air pollution, everything was definitely workable. I only left because when my wife and I were expecting a baby. Beijing has gotten better recently, though still too bad for the baby, while Shenzhen has always been better and comparable to Shenzhen.

China has plenty of its own talent and has been attracting back those who went overseas. While I agree that they will need to attract worldwide talent in the long run to fully compete with the USA, they are not in a bad place ATM.</comment></comment>


Fantastical for iPhone - The fast and friendly calendar app - <AUTHOR> http://flexibits.com/fantastical-iphone

<comment><USER2> Yep, I wrote a review of it here: [http://unretrofied.com/blog/2012/11/29/review-fantastical- fo...](http://unretrofied.com/blog/2012/11/29/review-fantastical-for-ios)</comment>


Can Facebook and Google+ survive..... - <AUTHOR>

NBC.com now allows people to create accounts, add friends, and watch TV socially. Needless to say, I'm deleting my Facebook and Google+ accounts immediately, there's no way they'll be relevant by the end of the week.
Interesting UI strategy: throw up a ton of roadblocks and make no effort whatsoever to help users add or find new friends and then let the users figure it out. That's ok NBC, we'll take the hours it takes to figure out the system (hint: you can only friend people if you find their comments on videos).
How do you think this will affect Facebook's IPO prospects? Are they about to be "Myspace"d? <comment><USER2> i doubt it

</comment><comment><AUTHOR> Another brilliant part of their strategy: it's borderline impossible to friend people. It's like Google+'s closed Beta strategy except it's not a Beta, it's just the whole entire product!

This is the future y'all, I'm telling you.</comment>


Understanding Text with Bert - <AUTHOR> https://blog.scaleway.com/2019/understanding-text-with-bert/ <comment><AUTHOR> This is part 2 of a post on "Building a machine reading comprehension system using the latest advances in deep learning for NLP".

It uses HugginFace's BERT PyTorch implementation to do question answering.

Part 1 was submitted here : [https://news.ycombinator.com/item?id=20820016](https://news.ycombinator.com/item?id=20820016)</comment>