skysight-inc/HackerNews huggingface dataset:
I’ve got to say, I have been trying out GraphQL and Apollo in a GRAND stack app on a new project and once you get up to speed with it it is an absolute pleasure to work with. Here’s some benefits and a bit of an overview of GraphQL and Apollo.

First think of GraphQL as a competing ideology for REST API endpoints. With GraphQL, you only collect data you need which they say in terms of no over or under fetching of data happens. In making a request it is visibly apparent how your data is shaped meaning you know what properties would be defined when you chain them together.

You have to create a schema and in this schema you define the types of each objects’ properties (this should not replace database schemas, but should basically define how data should enter and exit from your GraphQL endpoint to your client.) There are two types of schema types mainly ‘type’s which are models for data that can be queried and ‘input’s which are models for data that can be inputs for data creation and modifications. This leads to the only two types of queries namely ‘queries’ and ‘mutations’. There is also only a single endpoint for all types of queries including mutations, so you don’t have to try and remember all the different ones. I guess the equivalent of remembering routes is remembering the names of mutations you make, but this is aided by intellisense and the easily searchable schema from the playground.

My favorite part is the tooling. For example the GraphQL playground which is provided by Apollo Server allows you to have the equivelant of intellisense for your queries it lists and autocompletes what properties are on a given branch/property of the type you are requesting. Another benefit to the playground is you can view and search your schema and follow links between different types. This tooling makes development pleasurable, and is no doubt able to be made due to the design decisions that GraphQL made.

A few other neat things that I know are true of Apollo server but am not sure if they are in the GraphQL spec is that your return values from your resolvers (resolvers are like route handlers in rest, but they are specific to the types in your schema) become your response to your client. Asynchronous values (e.g. Promises) are waited on before being sent back as a response. Uncaught errors thrown in resolvers are automatically handled and sent back to the client. Overall it’s starting to make me like having more type safety than JavaScript typically has. Also using Apollo client with React is really nice and fills a good gap for adding model and controller layers to React’s view layer, so you don’t really need Redux or the like with Apollo client.
For residential service, there is no reason to expect a 1:1 reservation. This would be extremely wasteful. The exact number is not relevant, but residential bandwidth is oversold as a matter of course. Talking about capex and aggregate costs also seems to be drifting from the main theme here: whatever it costs to double the network's capacity is going to be pretty circumstantial, and not directly relevant to the topic of consumer pricing. <i>Ceteris paribus</i>, the marginal cost per individual is still negligible, and the price per unit of provisioned bandwidth only loosely coupled to cost. ISPs charge extra for higher-tier packages because having only one tier of service is leaving money on the table, and because they can.
Please don't post off-topic rants on inflammatory subjects. An article may include a baity statement, but that's no reason to spoil the thread here. It's a reason not to.

Threads are sensitive to initial conditions, so it's particularly important not to do that at the start.

https://news.ycombinator.com/newsguidelines.html
Not working in those fields either, but i don’t understand how people can be comfortable writing life-or-death code in C either. Anything that doesn’t involve a heavy dose of formal proof or automatic validation of properties of your code seems irresponsible as well.
Nice article, the problem though, is that TDD'ing might already be over-engineering in the first place.
I work for a corporation that has worshipped Waterfall for many decades. We are now in the middle of a years-long large scale “switch” to Agile, which is a vast cultural change.

My observation is that Agile is all about software development, tuned for software development, and for the benefit of software developers and the customers of software.

Obvious, right?

What’s not so obvious is that a surprisingly small portion of what people think of as a software project is actually about software development.

Interacting with 3rd parties, writing contracts, hiring developers, planning how your project interacts with other projects and the wider organization, responding to regulations and external enquiries, managing the demand for certainty from stakeholders, obtaining funding, maintaining financial control...

These are the issues that real software projects have to deal with, and Agile is silent (if not actively hostile) on how you should deal with them.

If your project is truly just about developing software, sure, be Agile about it. But it’s not through ignorance that people “fall” back to Waterfall in the face of real world constraints.
How I Risked It All by Building a $24k/mo Business with My Spouse
This is a classic design pattern. Its not language specific.
But those are only a fraction of the software ever written.
It would be an improvement!
Steph Curry: “I am going to educate myself... on everything that NASA has done”
FYI, one line change each to your bashrc and inputrc will get you vi keybindings instead of emacs
Yes diluting something by half is significant.
> Didn't Trump nominate the supreme court justice? And isn't the nomination confirmed by congress? What about the constant conservative vs democrat number battle in the supreme court?

I am not from the US but another democratic country. So I think I can provide an answer.

Being nominated(in democracies) doesn't imply that they've to play by the nominator's rules. In democracies, all branches of the Government have to work by the constitution(unlike in China where they are answerable to the Party). For example, in India, the judge of the Supreme Court is appointed by the President(head of the executive) who is essentially just a figurehead for the legislature(or the Parliament). So, indirectly the legislature nominates the Supreme court judge but Supreme court occasionally strikes down laws that it finds unconstitutional.

> Also, didn't Trump himself say that he can intervene in Ms. Meng's case?

Not sure about this but the executive/legislature often has powers to overturn the Supreme court's decisions. In India, the legislature often passes laws that by bypass/overturn Supreme court's decisions. In the case of the US, I think the President can do this as the US is essentially a Presidential form of government.
U r better than Trump who only said the if, and the Canada court who found nothing.

So U should be ur GOD.
While working with the PDF format I sometimes get the impression that this complexity is what Adobe wants. As a result, Adobe Reader is the only viewer that implements the entire spec and can handle all (or most) quirks.

This is especially apparent when trying to edit arbitrary PDF files, which is sometimes not so easy or even impossible. Just the definition of fonts and the text layout is already so complicated that this is the logical consequence.

But perhaps the format has simply grown and led to additional requirements such as PDF/A, PDF/X, PDF/E and now PDF 2.0, the next standard that makes everything even more complex... Will this every stop?
This is a nice app. Thanks for sharing!
> pattern matching without the ability to check for exhaustiveness defeats the safety they provide

This holds for a lot of C# vs F# issues... There is a fundamental difference between "it's valid, but our tooling hides it from us" and "the execution environment guarantees that it can never happen".

The single pass compiler, functional foundation, currying syntax, and other features that provide guarantees simply can't be replaced with equally robust syntactical sugar. Much in the same way that writing imperative programs that follow OOP principles in possible, but will never give you the system level guarantees that a compiled class sytem will.
Not as dramatic and much simpler to fix, yet still broken:
Search for one-time things (say a new phone) on amazon. Purchase said things. Continue getting ads for new phones for weeks.

Surely they must realize that after you purchase a phone re-targetting will only be effective at least a year+ later.
I wrote a 2d shooter in Scheme. It was decent. Ran fast as the dickens on Windows.
Second emacs org-mode.

I use almost nothing out of it. I have the default spacemacs configuration. I literaly just write bullet lists and cycle TODO and DONE states on them. Still the best todo-manager :)
Yes, I often laugh in real life when something is funny. It's quite normal to start a reply with "Haha" on the internet, so I won't apologize for that, and I'm going to keep doing it in the future.
For me, the most infuriating part of C++ is the error reporting. Even for trivial programs, I have to do make 2>&1 |less and then /error just to get to the first of 15 errors mixed in with 35 warnings that span 3 pages, all from one typo.

C++ has come a long way since the 90s, but it's still an incredibly clunky and obtuse language, with 10x more ways to do it wrong than right.
internet articles point fingers at long term insulin resistance, e.g. https://www.psychologytoday.com/us/blog/diagnosis-diet/20160...

the receptors responsible for escorting insulin across the blood-brain barrier can become resistant to insulin, restricting the amount of insulin allowed into the brain. While most brain cells don’t require insulin in order to absorb glucose, they do require insulin in order to process glucose. [..] Despite swimming in a sea of glucose, brain cells in people with insulin resistance literally begin starving to death. [..] Which brain cells go first? The hippocampus is the brain's memory center. Hippocampal cells require so much energy to do their important work that they often need extra boosts of glucose. While insulin is not required to let a normal amount of glucose into the hippocampus, these special glucose surges do require insulin, making the hippocampus particularly sensitive to insulin deficits. This explains why declining memory is one of the earliest signs of Alzheimer’s, despite the fact that Alzheimer’s Disease eventually destroys the whole brain.

researchers have discovered that Alzheimer’s Disease is preceded by DECADES of gradually worsening glucose hypometabolism.

2012 study showed that a low-carbohydrate high-fat diet improved memory in people with “Mild Cognitive Impairment” (Pre-Alzheimer’s Disease) in only six weeks.

https://coconutketones.com/ - Dr Mary Newport's work on coconut oil and low carb diet with her husband with early onset alzheimers and dementia, intended to provide an alternative ketone source of fuel for the brain instead of glucose.

Grain and sugar elimination: that’s huge, because it’s anti-inflammatory. A big driver of cognitive decline and dementia is inflammation. By going grain-free sugar-free we drop inflammation dramatically. If you were to track inflammatory measures like C-reactive protein or interleukin-6 or tumor necrosis factor (TNFα) or other measures, you would see them drop precipitously, as inflammation recedes, and risk for Alzheimer’s with it. - https://www.wheatbellyblog.com/2017/11/preventing-cognitive-...
The only point: because U are nothing. The Canada court and Trump know nothing about U.
Thoughts on applying to YC as a science based startup
While I agree with you, I think it's important to maybe specify that visual frontend builders generally suck -- for web frontends. In general, the visual UI builders for mobile apps tend to be very good.

The reason I think it's important to mention this is because I believe that the amount of variability you have to deal with in the web is far greater, which is why I believe these visual frontend builder systems tend to fall apart.
Yup. Ridiculous.
I tried to learn Chinese for a while. I wouldn't say it's exceptionally hard. I mean learning any foreign language is always hard and involves a lot of learning, which is why I eventually gave up, because I had no real practical use out of it and couldn't motivate myself to put regular work into it.

Sure, the characters are hard to remember. It's completely different from European languages, so you have no "ah that almost sounds like a word I know in my language". Pronunciation is unusual, but isn't harder than - let's say - French. The sentence structure and grammar is relatively simple.
For a walk through PDF's history and file format, check out Chas Emerick's 2018 Red Monk tech talk: "Building 100 year systems in the shadow of PDF".

https://www.youtube.com/watch?v=5EPn6plqkEs
Maybe try mupdf instead?
Google Cloud offers most accessible scale for ML training
No worries! Thought so much but double checked the numbers just in case I had mixed something. :)
I've always liked this summary I found on a forum:

> In case you were wondering - western languages to other western languages take about 22 weeks (550 hours of intensive study), non-western/non-asian languages 44 weeks (1100 hours of intensive study) and asian languages 88 weeks (2200 hours of intensive study). The other benefit of learning a language in one of the other two language families is that if you decide to learn another language in the same language family (region 1 2 or 3 as described above) it takes only 22 weeks of study.

[1] http://yesjapan.com/YJ6/question/1394/how-many-kanji-does-on...
High conviction rates are not bad. A low rate would likely mean that lots of innocent people are being made to face trial. Alternately, it could be a sign of incompetence.

It is easy to make the rate low: prosecute based on mere suspicion, or have the prosecutor be a person who barely graduated from law school.
What kind of "junior" are we talking about here ?? The average comp. sci student will insist on source control. Are you hiring high schoolers or what ?
Create blog and make money
any language is hard, when you (essentially) want to convert everyone/everything into your believes/culture/set-of-understandings/instructions.
Instead of humbly accept and admit that there exist things which u have no idea about, and eventualy try to learn about them, if ever possible.
(And by no idea, i mean no concept about. Language/culture are ying-and-yan, if u don't know/distinguish what yellow color is, there's only little to be done).
Reference Types vs. Value Types: The Original Sin of Programming
It's the written Chinese that is difficult. Since most of society is based around written text it's an important part of learning a language.

Having studied Japanese for three years full time I know the obstacles. I've yet to read a full novel. It's too painful. I just started reading one with the help of my Japanese partner who can fill me in on the reading and meaning when I try to read.

It would take too long otherwise.
> There is plenty of discretion for normal practices to become scrutinized when convenient in an employer-employee relationship.

As someone who has had family members go through the unfair dismissal process (where an employer tried to pull exactly this tactic), employers cannot just lie about the reasons for a dismissal. Doing so can actually result in larger compensation, as a punitive measure. There needs to be sufficient evidence for the lay-off, as well as evidence that it was a long-term issue. Courts often favour employees in such cases (in one case a friend was unfairly dismissed from CSIRO, a government body, and they received the maximum possible compensation as well as assistance from CSIRO to help him update his resume for his next job).

But this is besides the point. The topic in question is whether employers should lay off their employees in protest of the new law -- it would hardly be an effective protest if you didn't state why you were laying this people off. It'd also be ridiculously suspicious if the entire Australian office was fired because they "consistently showed up to work late".

Don't get me wrong, I really hope companies retaliate by killing Australia's tech industry so the government realises how much they just shot themselves in the feet (if you can't buy an iPhone from Apple in Australia I guarantee there will be riots -- that's just what it takes unfortunately). But if you're an employer you should make your employees whole -- because doing otherwise will result in lawsuits.
"It was related to me by a Chinese colleague that some young people in China mostly use Pinyin and can barely write any characters, since cellphones take care of turning the Pinyin into characters."

Very true! Which means technology now also makes it a lot easier for people who don't want to bother learning to write Chinese characters. It is FAR easier to recognize them in reading than to remember how to write them.
I downvoted this, as its essentially off-topic trolling.

Let's discuss the question instead.
There is always room for scope creep however I don't see why you would be defending violent gangs.
Listed app seems to be only the obvious ones that has good alternatives on other OS but aren't there any that is better on Linux desktop?
You may want to check out Ur/Web as well.
I did spend a lot more than 30 minutes with a project coordinator, and complex construction projects seem to align remarkably well with software projects. Spikes, iterative approaches, severe changes in project goals/architecture while construction is already in progress, budget cuts just before the projects is almost done... it's all there. "We paid an unbelievable amount for a Gantt chart, and it was already outdated when it was delivered" he said.
How does she know what is "normal"? That was my point - nobody is "rejecting her reality". There are simply some ads that don't appeal to her, as happens to everybody else, too.

How can she blame the algorithms for rejecting her, if her past actually contains things that the algorithm happens to pick up on?

Since everybody gets ads that don't appeal to them, clearly it is just a case of algorithms not being smart enough. It's like saying the sky rejects her because it isn't pink. It is blue for technical reasons, not to spite her identity.
On the topic of learning to remember characters - Japanese students attempting to learn kanji (very close to traditional chinese characters) often use a book called "Remembering the Kanji" by James Heisig. The method devised by the author for learning the characters is truly ingenious.

He developed this method after moving to japan in the early 80s for a position at a research institute. In a few months, he developed and applied his method to learn english meanings (but not japanese readings) for all ~2000 standard-use kanji. When his colleagues asked him what he'd been spending all his time on, and he told them that he'd finished learning all the kanji, they didn't believe him. Not because they didn't believe he'd done it so quickly, but because they had never seen any foreigner ever learn more than a few hundred. After demonstrating to their satisfaction that he'd really managed to do it, he was told "go write a book about how you did it".

I've been working my way through RTK (with the help of anki) for several months now. The method really does work. I'm at about 1500 out of 2200. It's getting harder the further I get, but all told I don't think I've spent more than a hundred hours or so over the course of 4 months.

For chinese learners, he's produced books on remembering Hanzi, simplified and traditional. I think if Moser had had access to these books, he might have been a bit less despondent about the task of learning the characters.
I'm not sure where this is coming from. I work at a ftse 100 company and all of our newner microservices are .net core. Almost every team in the org has some .net core running and we're slowly moving framework projects over to it.

It's definitely not just buzz, it just takes time for a company to begin adopting a radically new platform with so many differences to it.

I also have many friends in other .net based orgs and they've each got similar things happening in their companies.

Release of core happen on a pretty regular basis and we've not seen any issues with Microsoft not putting time and effort into it.
> Flaw 2: One common suggestion is to let useState() accept a key argument (e.g. a string) that uniquely identifies a particular state variable within a component.

I tried asking about that earlier here on HN[0], nice to finally at least get an explanation. The tldr is name clashes when reusing hooks. A valid concern, I think they should be more upfront about the reasoning instead of "hooks are magic, don't use them in these ways". That would make it easier to accept.

[0]: https://news.ycombinator.com/item?id=18640612 (and the blogpost in the answer didn't really answer it)
Well no, every time you have a chain of functions in your call stack that all do

if(f(blah) != E_OK) {
return E_WHATEVER;
}

(which is veeeery common in C) you are reimplementing exceptions by hand (and with less performance in the no-error case since you still pay for the branches, while a C++ code with exceptions would just be a sequence of function calls without branches in that case)
With weird Atom issues now (on Ubuntu 18.04 I can't install or update my packages), would love if anyone had a good browser based IDE service which is cheap and private.
An inconsistent theory can prove its own consistency, so in what sense does a system proving its own consistency provide evidence that it is consistent?
> Our breakdown of that feature

> actually plan

sounds like waterfall with extra steps (like a lot of corporate agile)
Can you make a language that looks like F# and compiles? Sure.

Can you make F# the language meaningful on other VMs? Not really, as F# is a deep, deep, .Net language.

This isn't about abstraction or syntax, it's that every concept, feature, and element of the toolchain bases itself on .Net capabilities and considerations. From referencing libraries, to scripting, to type generation at specific points in the compile cycle to support Type Providers... Async computation blocks...

Remember, F# came from MS research based on the established working .Net framework, and was tighly tied to fundamental framework improvements (like generics and dynamics). It was built by hardcore .Netters, it's the first "true" .Net language, and it bases major language features on deep-down .Net capabilites not found in other VMs.

The point of the quote is that if you were to try this, at best you'd get "OCaml Over There", not "F#", since F# without .Net is "OCaml". It's not the syntax, it's the deeply intertwined nature of everything else.
cortisol? why not glutamate ? https://en.m.wikipedia.org/wiki/Excitotoxicity
Nor Bernhard?
> "endanger China's national security"

Victimization is a common tool of tyrants. In particular, China govt likes to use the phrase "hurt the feelings of the Chinese people" (伤害了中国人民的感情).
Sweden’s Decades-Long Failure to Integrate
No, just run Adobe in a virtual machine with constrained access to other files.

Although TempleOS clearly is a divine revelation.
For scratching the platter, obviously.
If you use an IDE you just click on the lines in your error log which brings you to where the problem is. Though nowadays IDEs such as QtCreator use clang to analyse your code in real-time and so you see the errors appear as in-line hints as you type.