skysight-inc/HackerNews huggingface dataset:
Hi all,

I'm the chief cat herder over on AdoptOpenJDK. It is a build farm in progress with the end goal of providing OpenJDK LTS support (matching Oracle's timelines) for OpenJDK on all platforms that Java currently runs on (including ARM32/64, zos, AIX, z390 as well as Linux x86, Mac OS X, windows etc). Wee'll also support OpenJDK variants such as Eclipse OpenJ9, SAP OpenJDK, OpenJFX, and some of the early builds of experimental new features.

It's also an infrastructure as code project so OpenJDK vendors have a common place to shared build technology and workflows. For example we currently have IBM, Red Hat, Oracle, SAP and other vendor engineers working on this.

The release builds will be TCK tested, as well as a variety of other common industry test suites. The quality level will be as high if not higher than existing vendors today.

I appreciate there's probably a lot of confusion (especially as this is still a work in progress) so please fire questions my way!
Alibaba opens car vending machine in China
It should be easier to reason about code when there is exactly one exit from a block. I am not sure this really applies when we are talking about guard clauses that are not deeply nested. So loop breaks and other shallow returns are OK, and can be good.
So you basically launched an advertisement on HN and asked two other people to comment positively on it.
I find well thought-out formalized grammars easier to follow in either direction. In particular, I find Python striking a good balance between reading almost like English for the most part, and being compact and non-ambiguous.
"Who’s not being stupid here? Apple? Should I go back to my Synology?"

We (rsync.net) exist. You may find the 'borg' tool, which we support on the server side, to be interesting:

https://www.stavros.io/posts/holy-grail-backups/

There is a longstanding "HN discount". Email for details.
It's a good bot, we'll likely change this mechanism though :-)
Forth may not qualify as "modern" for some (though it still has a way of staying around in some contexts, like bootloaders), but it does allow code to store to and retrieve from the return stack, which is also used for loops.

If you read that and thought "does that mean I can change loop iteration order and returns programmatically?!?" and/or "WTF?!", the answer is, yes, to all of it. WTF indeed.

I've never actually seen a non-pathological use for this language feature.
You would now have numerical values to compare rather the MILSPEC 'dead_bear' units. Nowhere did I make an ethical argument against animal trials or say that we should do experimentation on humans. But launching bears out of an ejection seat was even stupid then.
Edited, basically do not use while loops, if you do tread carefully and provide yourself an exit. You don't want to be the one that nukes the server.
The pre-conditions are called Guard Clauses [0]. It's really useful to think about guard clauses and explicitly look for them to ensure the pre-conditions are met rather than have them appear over time as if/else blocks.

edit: now that I've looked through the comments I see these are mentioned on numerous other threads.

[0]: https://en.wikipedia.org/wiki/Guard_%28computer_science%29
You can use Athena, is cheap and easy to use
It is not decentralized. All Signal users can communicate with all others.
I don't think this library is meant to be used w/ reactive streams. It talks a lot about limiting number of concurrent threads, so it sounds more like traditional RPC with a request pool that they are trying to size to inform clients to back off (by returning 429).
They're different builds. As far as I can tell, the openjdk builds by Debian for example are not and will not be TCK certified (due to a licensing problem if I understood correctly), whereas AdoptOpenJDK claims some builds are certified https://adoptopenjdk.net/support.html.

In my case the certification probably won't matter, we've been running with OpenJDK from debian for a long time without problems, but I'm curious to test the OpenJDK builds that use OpenJ9 to see if it can outperform Hotspot on some workloads.
Who and what is Coinhive?
I must say, I've read through his points on the CNN website, and I find 2 of them very wrong (capitation, and the shifting of money away from trained doctors into untrained "workers" "aided by computers"). Most others ... perhaps, but I can't see them making a large difference except the ones about medicine.

Capitation brings the insurance industry's incentives (ie. only work with healthy people) away from insurance companies and onto doctors. What is a diabetic to do when doctors just directly refuse to treat them directly (or delay, or ...). And before you say it won't happen because of hippocratic oath, we both know this rule will force doctors to do that for 90% of their time.

For such doctors and facilities getting people with longstanding illnesses that are just going to come in time after time after time and need expensive drugs and treatment, like MS patients (multiple sclerose), is going to be financially debilitating. That's not reasonable and absolutely not what we want.

As for replacing doctors with "workers" (presumably he means not even nurses), I feel like shouting at him. Doctor's salaries are high, but don't represent a decent fraction of expenses. You could give everyone in medicine a 100% raise and the cost would be in the low single digit percentages (2-3%). Let's face it, this is not what we need to save on. And if we are to save on it, let's PLEASE do it the right way: by subsidizing the training of more doctors, not by replacing doctors with idots.

What I keep hearing about US medicine is that 2 things are necessary:

1) legal changes limiting legal liability of doctors (doctors pay 5 digits per month in insurance in some places, money that is paid by patients but is definitely not going to better care). Something like the European system where a doctor can only be sued before a judge if he's found by the local ethics/hospital/national medical/... board (staffed with exclusively other doctors) to have gone overboard.

2) limit the cost of medicine and increase choices (e.g. mandatory licensing, importing of generic drugs, or just outright force the use of a generic alternative if available like a lot of European countries are doing)

This is the only point I agree with Mr. Sachs.

and for a bonus (just for bringing sanity into the system):

3) Outlaw any and all advertising for anything medicinal (something like if it requires a prescription, advertising it = jail time)
A big gotcha with `&&` as a guard in JS is that it can return any falsey typed value if you don't coerce the guard to a boolean.

e.g.

const check(cond) => cond && otherValue

If `cond` is falsey, it returns `cond`.

This means the function could return any of: `false`, `undefined`, `null`, '', `0` or `NaN`.

This is a fairly common issue I see with React + JSX:

<div>{cond && <SomeComponent />}</div>

If `cond` is `false`, `null`, `undefined` or '', everything will be just fine, but if `cond` happens to be a zero or `NaN`, suddenly you have a weird `0` or `NaN` rendering in your page. Oops.

Low cost, much safer guard:

const check(cond) => !!cond && otherValue
This is one of the reasons why we created the build farm and will be producing LTS supported builds for OpenJDK. It will be a default place that people can go to get a professionally tested, TSK compliant OpenJDK binary. They can also still choose to go to a vendor for commercial support.
Show HN: Ethervis – an interactive ethereum blockchain address explorer
You can even setup an ical feed for events, they'll get added when people invite you. Don't even have to login.
Made with D3 and using the etherscan.io API.
The quality and consistency of the OpenJDK binaries provided by the distros varies. We'll be working with the distros to help give them a consistent experience (they could for example use our infrastructure as code to add an extra level of testing.
Ancient Ruins Reconstructed with Architectural GIFs
I would argue that it is by no means more convoluted. It is quite clear and concise. All of the following are equally readable:

if (x > y) {
return x;
} else {
return y;
}

if (x > y) {
return x;
}
return y;

return (x > y) ? x : y;

The logic would be convoluted if you are going through extra hoops in order to write your logic like this, making the flow of the application unclear. For some things, an else branch ends up just being easier to deal with. This is especially true in languages like Rust, where if/else is an expression, leading to the following construct being used often (although usually with more complicated content):

let max = if (x > y) {
x
} else {
y
};

Note that "max" is immutable despite the conditional assignment due to the if being used as an expression.
No affiliation at all to the author but if you want to read more he's @driscollis on twitter and the book is at https://www.packtpub.com/web-development/python-interviews

also I first heard this story on the Talk Python podcast https://talkpython.fm/episodes/show/156/python-history-and-p...

Of course its not the full story but it is an interesting comment and from a firsthand source. That's all I know, I dont have a dog in this fight :)
Or it could be that they want something that's not bottom-of-the-barrel cheap while also not being as expensive as a macbook.

There are people who know they don't need a $1200 computer, but also don't want a $100 one that crashes when you open the sixth browser tab.
I thought Skype was now encrypted?
[Without Facebook], I have to risk missing out on seminal life events

Is missing a high school reunion or the funeral of a long-list friend really "seminal"? Socially awkward, perhaps, but seminal? No, not really. Seminal is getting married, the death of a parent, birth of a child, finishing college. Not getting drunk with a bunch of people you barely know any more.
Why the laugh? The State caused him injury. Would it be better to leave the injustice alone? Just say sorry? If this were a civil case he'd certainly be awarded monetary damages.
I'd consider it a head start on my retirement fund - a chance to retire a few years early - and invest at least 90% of it accordingly.

I'd use the rule of thumb for windfalls: allow yourself to spend 5-10% of it to celebrate. That said, there isn't much right now that I'm interested in spending money on all at once. Buy that laptop I've been holding out on. Maybe take nicer vacations than usual for a few years. Maybe help my parents pay for some renovations they weren't sure how they'd afford.

I wouldn't change anything else about my life. Increasing ongoing expenses defeats the point of investing it towards retirement; and there aren't many areas in which a modest increase in expenditures would create a corresponding increase in happiness.

Whereas retiring at 60 instead of 65; having more of my life in good health without having to work... that's the best thing I can imagine.
Exactly, I did all of the above. Spent too many hours fixing broken code (of my own) and finally I started to learn.

What about error handling? No mention here. What I do not is let the library/framework to handle most of it. With a recent server library I wrote, I can throw anywhere and it will be caught and displayed as expected without extra try/catch.
Imagine if they have the advanced capability of moving the paper under the pencil, they might get acceleration over time.
Actually, in Ruby we have "ensure"

def foo arg
return true if arg == 42
puts "got past the guard"
raise "blah"
ensure
puts "ensure always"
end

foo(42)
foo(3)

The "ensure" blocks gets executed whether or not you return early, throw exception or return at the end of the block.
Correct, the AdoptOpenJDK builds will pass the TCK as well as other industry test suites. We'll build both OpenJ9 and Hotspot derivatives (and some other esoteric ones as well). We hope to work with the distros to unify the OpenJDK stories there somewhat (but we have a lot of work to do first).
Redhat also sells support contracts, and (previously?) non free software as premium options.
Mmm, I disagree.

Influenced by functional programming, I prefer to use the style of: "keep all return statements at the same indentation level" in statement based languages. This way, it is easier to parse as an expression. For example:

if (...) {
let a = ...;
return x(a);
} else {
return y;
}

Can be easily mentally factored into the pseudo-expression:

return ... ? x(...) : y;

It is easier to see what the side-effects (or ideally lack of) are. It also makes case analysis easier, and you don't hide the fact that you have 2^{indentation levels} number of possible states.

Early return while excusable for some very particular and idiosyncratic error handling examples (e.g. fortified C APIs that accept null pointers as no-ops) in general feels like "cheating", making the code look less complicated than it actually is (it "silently" multiplies the size of your state space without increasing indentation). But most importantly, it puts too much emphasis on control flow: I'd rather emphasize the underlying declarative intent, the state machines, and pre/post-conditions. This is is better achieved, in my opinion, by trying to delay returns, and to try to minimize the amount of code after a branching (this often means having unnecesary else branches, that on the other hand help with readability.) As shown before, this helps mentally factoring the code into reducible expressions and guessing state space and overall complexity.

I agree though that having one single-return is not good, cuz most of the time it forces one to use mutable variables that could otherwise be avoided.
I worked in MISRA C for a while. You are not allowed to exit early there; every run needs to be deterministic.

But when it's normal programming; YES. Definitely yes.
Well if you eat healthfully and exercise regularly, I think it's a rational question to ask if this pill would give additional benefits. No one is arguing not to eat good food and exercise.
> These are exciting times that we live in.

The OGRE 3D engine has been around for almost two decades [1]

Unfortunately, all the tooling is built by the community (with varying degrees of quality), which means, for example, no integrated scene editor.

1. http://wiki.ogre3d.org/Brief+history+of+OGRE
But private for whom? I mean, if someone who posted a group picture wants to delete it, it's private for that group, how should those cases be handled properly, without disrupting the UX for others.
> Same way you move on from heavy OO to dicts/lists.

OO is better if the objects tell a story in a way that ProviderStrategyDataFetchers fail to do so and are effectively just wrappers for data structures.
If you go pure data structure without story you just end having to add comments to explain purpose. The comments are the classes.
My point had little to do with that. A city with millions of people and a large migrant population offer an opportunity to escape the communal memory that smaller populations can sustain. Unlike race, caste isn't an obviously visible feature, and even someone bent on discrimination will have a harder time discerning the relevant signifiers.
Canary deployments in Serverless applications
Just from the first page I found this one, "A restaurant that does food for when you feel too sick to eat real food" which is interesting because normally restaurants are not eager to cater to sick people, but if you combine it with home delivery there might actually be a market.
Show HN: Make and evolve a GUI and its toolkit simultaneously
Why are Germans so obsessed with saving money?
let me rephrase: give me one good use where the majority of potential users would be OK with storing timestamped documents on a system not maintained by a trusted organization.
Redhat and Canonical both sell support and services, not just software. I believe there are other companies of lesser size doing this as well, possibly all the way down to individuals where lines are blurred.
There are several constructs for it, see also "try ... finally" on C# and Java, and "using" statements in C#.

All make the "goto manual cleanup at end" less necessary, and make early return easier to use.
put your money where your mouth is and buy that stock
This one comes from a "a card-carrying true believer in liberal Enlightenment values", and claims that it focuses on preaching to the choir.

"Pinker’s book doesn’t include one notably pessimistic set of graphs" - the one that shows the declining number of local relationships. The lack of true local connections might make cheap substitutes attractive, such as ones nation or ones race. The book offers nothing there, "but thinking about families may be able to inform liberalism in a deeper way."
You're turning RAII upside down... Learn to use proper RAII and you won't need this defer hack.
Palaa – New Haryanvi Dj Songs 2018 – Vinod Mohali – Pardeep – Audio – NDJ
Errors are the exception, not the rule :)
Fitbit Versa Review
So with this, you literally had just thrown away the whole concept of RAII...
I don't understand the context of your post.

"Pay us money, and we won't allow companies to manipulate you via advertising."

Or

"Pay us money, and we won't use every tool at our disposal to suck every bit of possible data out of your life"

Both of them are gross, and no user should be subject to either of those dilemmas. I'm not saying that every product should be free of use without any cost. Advertising is absolutely necessary to keep certain products and services free. Some companies take it too far though.

Put it this way: eating beef requires that a cow is slaughtered. Should we go for the painless, instantaneous kill, or since it's going to die anyway, should we vivisect it?
Compared to payouts in other common law jurisdictions, that is, indeed, laughable.
Show HN: PJON v11.0 supports multi-media routing
Well done Mr.com!
I wonder if anyone has processed Common Crawl's dataset for a list of all the existing domains (I don't care if the data are old).
>braces go on the end of the method/class name to reduce LOC

You could argue the placement of braces with lots of valid arguments both way, but this... to reduce LOC ? Doesn't feel like a valid reason in any language using braces...
Git client Tower v3 now in public beta
Logical AND in JavaScript can be used as a guard, by why in the world would you think of it as anything other than a logical AND?

If you start thinking it is a "guard operator", I would think that going down the wrong path, which might promote misunderstanding of the behavior.
Heh. An app-interlock: "An app that only allows you to call taxis, your parents or 999 when drunk and not any other numbers"

This is genius (the site, not the above idea).
Premature return considered harmful.
> I'm not sure its fair to argue that universal healthcare is a human right despite the fact it makes economic sense.

“Universal right” is simply that which people feel all people ought to have.

> Humanity survived just fine without real healthcare and healthcare

“Universal healthcare” as a right is simply the right to a certain minimal level which is dependent on technology and resources. The fact that their have in the course of human history been times when no real healthcare by the standards of the early 21st century isn't material to that one way or the other.

> healthcare is not essential to a fair balance of power b/t the government and its citizenry.

That's quite arguably not the case; “government” is an a abstraction than the ultimately boils down to the subset of the citizenry with the most power in allocating resources, and it's quite arguable that that floors for allocation of resources in several domains, including healthcare, are essential for fair balance of power between that subset and the rest of the body of the citizenry.

Further, your implicit argument that a “universal human right” must either be something that prehistoric humans could not survive without or relate to balance of power between people and government is simply a statement of your political values, not a boundary on the what “makes sense” as a universal right.

> Universal healthcare needs to be argued on the economics of the issue because that is the only practical way to make it sustainable.

The actual concrete floor at any given time must be, but then again since every OECD country which guarantees universal healthcare, regardlesa of the details of the system, does it for less total (measured by absolute expenditures, per capita, or per GDP) than the US does spends on healthcare (and some don it for less by all three measures than the US spends in the. smaller public portion of its system alone, let alone the private expenditures), the economics aren't really an issue when you are talking about the US system.
Want to freak yourself out? How much information tech companies store about you
At some point in the last few years, I shifted into doing this, but I've just recently been trying to decide if it's a good idea. Every once in a while I lean into some cute little expedience that later annoys me when I'm digging in old code.
> Same way you get joy deleting large swaths of code.

This is the true sign of a programmer's transcendence. Specifically the irrational joy of seeing net negative LOC diffs.

It's not about how much you can add. It's about how much you can remove without sacrificing correctness, functionality, and readability.
Easy AI Computer Vision for Python with Luminoth (Interview)
Any plan to share same data/files using IPFS?
Fast and Scalable Financial Timeseries Dataframes with MarketStore (Interview)
Ways to analyze VPC flow logs and its value
I don't think the latter is legal in most (non-JS) languages if the return value of the outer function is void.

Even if it is, I definitely agree that it should only be done if you want to communicate that handleError's return value is meaningful and should bubble up.
I wish HTML/EPUB was as popular as PDF in academia... That would solve so many problems for mobile reading.
While Signal is nice it's rather worrying that it's free. I'd rather use a paid alternative like Threema.
https://stackoverflow.com/questions/7264145/if-less-programm...
Starter Project – A set of latest best practices packed in Gulp tasks
Adrenal Fatigue Symptoms and Solutions
Read the whole tweet. I knew large tech companies stored a lot of information on you, but not this much info.
First three or so pages, four different versions of Tinder-but-for-finding-friends.
I guess I would politely argue that creating new functions would make reading code harder in basic example such are this. You'll be jumping all round or possibly separate files. Obviously larger logic tress should be pruned. Side note: a lambda function may get around this specific instance.
Engaging in discriminatory, derogatory and demeaning behaviour actively. That comes from hate. The experiences of the person featured in the linked article, that could only come from hate.

I think people that oppose gay marriage do so because of hate. But found a neat little loophole out of being called hateful by claiming that they have no problem with gay people.

My reasoning is this: taking any kind of stance on any subject requires some kind of motivation. If you are moved to spend energy on something, you are motivated by some need to do so. If you oppose something that does not directly affect you, the reason is most probably hate.
What would a typical payout be?
> Same way comments are extra weight that should only be in public or algorithm/need to know areas.

This! Comments should convey programmer's intention and explain the thought process, not the code itself. Also, too many comments usually indicate that code should be refactored.
As anyone who lived through the more recent Bush Administration witnessed nearly daily, people claim “not torturing” is an impossible right to give while denying all positive rights—and acted on that argument—so I fail to see the relationship.