skysight-inc/HackerNews huggingface dataset:
I think that the main reason why compacting GCs improve performance is that they obviate the need for a sweep phase, which always has some cost even if you optimize the hell out of it. I believe that from a scientific standpoint, it is still an open question exactly how much of the compacting GC speed-up is due to not sweeping versus improved locality. It's hard to construct a good experiment of this, because non-compacting GCs always have at least some kind of sweep phase. For example, if the non-compacting collector experiences fragmentation, then is its reduced performance due to the cache misses experienced by the sweeper (which have nothing to do with locality per se - they are just an inherent cost of sweeping) or because of cache misses experienced by accesses within the program due to the changed ordering of objects?

The experiments in this post are super interesting, but it's not a good idea to extrapolate from microbenchmarks. In my experience big programs always have some chaotic subtlety, which can sometimes even make its behavior be the opposite of what the microbenchmark tells you.

It's worth noting that GCs are tuned so that the typical program will typically allocate objects so as to maximize the locality of object accesses. Non-compacting GCs tend to allocate objects of the same type next to each other (so if you allocate O, P, Q where O and Q have type T and P bas type S, then Q will be right next to O but P will be elsewhere) while compacting GCs tend to allocate objects in sequence (so O and P will be adjacent, and then after P will be Q). There's no guarantee that any particular program will prefer one ordering over the other.
We've been using LetsEncrypt on dozens of our servers for several months now and it's worked flawlessly both in set-up and in operation!! Set up was quite easy thanks to A LOT of work by the team there.

To make HTTPS simple and free to set up is a FANTASTIC mission & the team has overall built a SUPERB system. Congratulations & thanks for addressing this issue quickly, looks like it's already solved, good work!
I think all of your points are valid. It IS a complex subject, and we should be open to many view points. There are certainly a number of lines of attack on my ideas that are valid and reasonable.

I bristled at the idea that my statement is ahistorical. It may have other problems, but I've yet to see any historical counter examples - a period of mass-deleveraging leading to economic retractions in the absence of artificially low interest rates. If you can cite an example like that, I'll rethink my statement.
Yes. But you could argue that securing DNS is necessary anyways and using it for TLS is just the next step.
Guys,would you like introduce this kind of website to your farmer friends?
Morning,guys,I am Sulayman,I built a Q&A website for farmers. www.oneacreland.com ,To address their kinds of issues on agriculture more efficiently ,Global farmers really need a professional agricultural knowledge database .would you guys like to introduce it to your farmer friends or family members?
How many HN-reading googlers have you just made to send 'Test' emails to themselves, I wonder!
Depends on your job, I guess!

I don't use a laptop a LOT, but it's super nice for when I need it. So I use a laptop as my main PC.
You throw money at people who have the domain knowledge and are actively solving the problems.
A Human-Made “Bubble” of Radio Waves Could Be Shielding Earth from Radiation
I have found a bug in it, which was in there in its inception. Should I submit this issue, or simply make a pull request with fix?
BostonGlobe.com disables articles when your browser's in private mode
Telegram: Instant Views for Everyone and a $200K Contest
Sure, but that's specious reasoning. I have green eyes, and I haven't been attacked by a tiger, but that doesn't mean that green eyes prevent tiger attacks. Similarly, just because we have dogs around kids that are given commands without please and thank you, and also authoritarian personalities doesn't suggest a causal relation (or even a correlation!).
I've read somewhere (much earlier) that some of the early Borland products were written in assembly language. That's why they were so fast.
Thanks - I appreciate the reference. Mankiw's treatment in the intro to econ book that I studied is definitely painful.
At the age of 40, I strongly believe that I'd have been much more productive, had I invested at least as much energy into creating languages as I did into learning how to tame C++. Doing so in a structured way, more elegant than writing more parsers and compilers in C, sounds like a good idea.
I'm experiencing the same from Kuala Lumpur.
Yes ... that's about the simplest form. If you want to get really fancy you can use a further cloistered machine with hardware encryption and a key that's only inserted when the machine is booted but that's pretty excessive. The main thing is that you don't want your database server's port exposed to the Internet and you don't want your database on your web servers (the most likely part of your infrastructure to be compromised).
Join or start a tech worker co-op!

First, one of the best ways to do social good is to fight capitalism. Just by working at a worker co-op, you're doing this. Many tech co-ops are also built around resisting other oppressions like racism, patriarchy, etc.

Second, many co-ops (e.g. http://sassafras.coop, the one I work for) work on lots of social good projects.
If you go on the theory that your friends were going to use no matter what (I mean it's already illegal, so the law isn't stopping them), that the state is the cause of your friends death. They cannot buy any safe product of known quantities and thereby use an unsafe one.
Mark Shuttleworth talks Canonical
Can you finally use the same Signal sign in on more than one device at once now? That was one of the things that drove me nuts about it.
Prohibition can also increase adverse events like overdose.

Heroin addicts usually know how much of their usual dealer's heroin, cut to a particular purity to take to get high without dying. If they take the same dose of a more pure drug, they overdose. If they take what they think is heroin, but is actually fentanyl, they overdose.

Likewise, during alcohol prohibition, liquor containing methanol was a common risk for poisoning when drinking black market alcohol. Even the cheapest grain alcohol at a college liquor store today will not contain a dangerous amount of methanol. Legal heroin would reduce this kind of risk in the same way; it would contain what it says it contains, in the concentration on the label and would not contain other harmful substances.
>Could you tell me more about it, please?

Google never cared for Go.

It wasn't created as a strategic project or investment. It's a language created by a small team on Google doing their thing.

It does keep paying them to work on Go though (and probably devoted some more people to it), so there's that, but Google neither hired them specifically for Go, nor requested that they work on such a project from the onset.

It was also never made THE official language for Google development by some decree, nor was getting it to Android any priority (they favored Kotlin for that in the end). Neither was it ever strongly marketed by Google to outside developers.

Dart/Angular got more of an official "sponsoring" from Google (including devoting a top notch compiler guy like Lars Bak to work for the former) than Golang. From what I've heard, it has seen adoption inside Google, but nothing game changing.
Show HN: Shout Link – An API to Generate Memorable URLs
Although it sounds like they are working on some important issues, I'm not sure I'd want to work for an organization who posts racially targeted messages -- which presumably they think are ok with some races filled into the blanks, but not others.

https://twitter.com/JazmynLatimer/status/864585574581059584

It seems like non-racist messaging would be a better approach!
It's a perfectly good statistic for economists, because they know those limitations. There are lots of other measures for wages, labor participation, etc, and 'unemployment' does capture useful info about the ease of finding a job after you leave a previous one.

It's just abused in the public sphere as a whole-story statistic.
LA to Zion National Park- Epic Road Trip Day 1
Show HN: Multi-Swipe, new touch UX to act on items really fast
We've just released the iOS app for Missive, a collaborative email client.

We are proud of the multi-swipe feature. It lets users clean their inbox really really fast.

See the animated .gif:

https://d3bn6u41w6xnlk.cloudfront.net/assets/blog-posts/022/...

Any feedback?
To support your point, Jared Davis and Magnus Myreen did the Milawa prover that builds the logic and implementation in layers starting with a hand-checked, tiny logic. Builds all the way to first-order prover with each layer getting re-checked by those below where feasible. Uses Myreen's method for verification to assembly (or machine code?). So, it's already been done.

http://www.cs.utexas.edu/users/jared/milawa/Web/

The other approach I investigated was proving the logics sound in set theory given it's well-understood, trusted, and widely deployed by mathematicians. Once the logics like FOL or HOL are verified, we just have to verify the specs and checkers (already done to in progress). Run on diverse hardware to prevent glitches there. From then on, mainly just look at logical specs since we should be good. I also found a verified compiler that uses Z specs with Prolog code... a method that might be used with Milawa for bootstrapping trust.
You can write a forum post. And then you'll get confirmations from another 100 developers, so you'll definitely feel a bit better and not alone in your pain. ;)
>What is there to cope? Go is winning in market pretty aggressively.

On HN maybe, but in the wider world, and the enterprise, not so much (if at all).

>Kotlin native has nothing to offer over languages which were designed free of JVM / Java baggage like Go/Rust/Swift.

How about less complex than Rust, less associated with Apple than Swift, and better designed than Go? And with serious compatibility with Kotlin for the JVM -- which boosted by Android adoption will get quite big soon.
Yeah, there's definitely a sinister component to accepting a device from $MEGACORP into your home and allowing it free reign to indoctrinate and teach your child.

My older kids have already started going to Google and using search-by-voice to find things that me and their mom have either forbade or just to get answers that they didn't find adequate. I saved the auto-recorded MP3s of every query from when my daughter snuck away with my phone and said, "OK Google, show me scary goblins", after we declined to show her scarier ones. This was cute, but unless it's your first day on the internet, you know that children asking Google to show them scary things is a potentially upsetting situation.

My son ran over and asked "how do you turn a Wii U console off and on again" after he didn't like my response of "You have to ask a grown-up to hold down the button on the console for 4 seconds" (this one wasn't bad of course, he was just frustrated that he couldn't reach the console on the shelf and was seeking alternate solutions, but it demonstrates the point that children are learning to seek truth from the machines).

Perhaps more concerning is the disclosure inherent in a child's questioning. Suppose your family adheres to an illegal religious or political tenet. You teach this to your children in hushed tones where no one is listening. One day, they innocently approach the $MEGACORP_LISTENING_DEVICE and say "Alexa, why doesn't Daddy believe that the Great Leader is a smart man?"

Next day, Mommy and Daddy go bye-bye and the children go off to be re-educated.

That is absolutely a plausible scenario. All of us on HN already know that the tech is there for that. The government needs only to wait for the population to be hostile enough against those who oppose the Great Leader to accept it.
In retrospect this was a genius way to get training data :)
Slack interactive message in Golang
Worker co-ops usually have provisions in their bylaws to ensure they stay co-oops. This is to guard against the issue you allude to here.
Scaling, upgrading, disk issues, just migrating to new place... and foremost
https://en.m.wikipedia.org/wiki/Fallacies_of_distributed_com...
Also nowadays with Docker around I rarely see server/app bundles supporting graceful reload.
One of the segment engineers addressed this here: https://news.ycombinator.com/item?id=13887218

tl;dr: They like the IaaS (ECS, Dynamo, ..), they need a lot of resources, and they're moving too fast to build it out in-house
It's only been tested on Windows XP? surprising they couldn't/didn't set up a 7/8/10 VM to try and replicate the results
I'm pretty sure other parts of the world have chronic pain, I've seen it a lot here in South America.

What we don't have is the drug culture, people look for alternative ways to mitigate the pain.

A quick googling gave me this WHO paper:

https://www.hrw.org/sites/default/files/reports/hhr0511W.pdf

We found enormous unmet need for pain treatment. Fourteen countries reported no
consumption of opioid pain medicines between 2006 and 2008, meaning that there are no
medicines to treat moderate to severe pain available through legitimate medical channels in
those countries.

These countries are concentrated in Sub-Saharan Africa, but are also found in Asia, the
Middle East and North Africa, and Central America
> non-women.

aka, men
The point of TDD is you can define the behavior before writing the code. ie. you define the expected result:

def test_sum():
assert sum(1, 2, 3) == 6
def test_sum_no_args():
assert sum() == 0
def test_sum_negatives():
assert sum(-1, -2) == -3

etc, and then you write the function.

This means you only do the "REPL" testing once ever for each case - and you can rerun the tests for all future changes. If ever type the same function + args into the REPL more than once - you have done redundant work and are wasting your time.

Likewise if you're in the habit of writing tests after your function is made - it shows you haven't put much thought, which means you haven't done the proper analysis of why the function exists, if the function is really one function or should be two functions, what arguments it can take, what it should return etc.
Yes, it is cultural. Money/greed on the supply side. Lack of happiness on the demand side.
You've got to admit it's a little funny when an OS's security flaws prevent even targeted malware from working properly.
There's no "chronic pain epidemic". As is often the case, the pharma market created (or rather, in this case, reshaped) a problem for a particular kind of product to solve.

Obviously, ceteris paribus, less pain is much better than more pain, and there will probably always be acute and chronic pain for therapeutic innovation to tackle. There's no virtue in the experience of chronic pain. But the evidence strongly suggests that patients are worse off with casual access to powerful opiates, and that these products are packaged and sold irresponsibly.

No legitimate underlying medical phenomenon spurred the uptake in opiates.
Appeals court strikes down FAA drone registration rule
Was in a management meeting the other week where HR mentioned they were considering implementing a more official work-from-home policy. What we're trying to get away from is hourly employees 'working from home' when really they're sick, by offering formalized remote work opportunities. Sounded great until they mentioned the 'monitoring systems' they were evaluating. I shared my very strong opposition to the proposed monitoring systems, went home and crafted a Less-Orwellian Remote Office policy. Shared the policy with HR the next day, and they really liked it, agreeing there were ways to accomplish the goals without surveillance.

Writing the policy was trickier than I expected. Started very much with a spirit of 'Hire people you trust,' but thinking about the policy, applied to specific people who have been hired, it brought some more specific guidelines to the policy. Here are the highlights:

Eligibility for Remote Work (pick 4 from: 1 year with company, management status, strong performance record or recommendation from team lead, one department-specific criteria)

Requirements for the Remote Office (minimum equipment, ample space, etc. clearly defined)

Approval Process & Remote Work Guidelines / Contract (lays out guidelines for working remotely and collects employee commitment to adhere)

Saw some commentary that the frequency of working from home shouldn't be a privilege (i.e. if you do a good job, you can work from home for a week), that it should be as routine as possible, so we're making eligibility to work remotely, on a set frequency, an attainable privilege (so it can be revoked if necessary).

For the alternatives to surveillance, we will be implementing some improved communication tools, and departments will be adopting the concept of an ultra-brief daily scrum.

Tried to keep it lean, will be interesting to see where it excels and where it can improve.
Might makes right, and so the wolf cares not for the opinion of sheep. Those with power do with it what they like. It has always been this way, to think otherwise is to fall prey to the just world fallacy.
If we're talking about unicorns, a competent "staff grant writer" has to be the rarest of them all. To write a grant well, you have to deeply understand the specific science at hand and be a good writer. Someone who would voluntarily choose such a job would also be someone who enjoys the process of writing.

So, in other words, someone perfectly suited to be a PI, a more prestigious and better-paying position with more freedom.

Our institution has one you can ask to help write/review/correct grants. They are pretty useless because they cannot possibly understand the science each individual lab is engaged in at an adequate level. Usually they just offer superficial suggestions/corrections.
I smell an Emacs user!
That was Assange's claim, but there are two women in Sweden who say that he sexually victimized them. The details of their claims have been out for a while: IIRC they had consensual sex with him, and later that night he had nonconsensual sex with them. It seems Sweden (rightly) takes sexual assault much more seriously than some other jurisdictions.
NASA – System Engineering Handbook Rev. 2 (2016)
It looks like Microsoft's documentation suggests it will only work on older versions of Windows. From the README:

> Indeed, for what I've tested, under Windows 10, CryptReleaseContext does cleanup the memory (and so this recovery technique won't work). It can work under Windows XP because, in this version, CryptReleaseContext does not do the cleanup. Moreover, MSDN states this, for this function : "After this function is called, the released CSP handle is no longer valid. This function does not destroy key containers or key pairs.". So, it seems that there are no clean and cross-platform ways under Windows to clean this memory.

I'd be curious where the change happened between XP and 10.
Totally! Java is in a class of languages that encourages a high allocation rate. I think that each language has a kind of "average" allocation rate that is an indirect outcome of the various design decisions in the language. I think you're right that C# probably has a lower average allocation rate because of structs. It's true that languages with lower average allocation rates benefit less from compaction, because they benefit less from any GC optimization.
the second plot is much more likely to happen, unfortunately problems spanning a few decades don't make great movies or seem to be addressable by humans generally
From the TFA:

This is not really a mistake from the ransomware authors, as they properly use the Windows Crypto API. Indeed, for what I've tested, under Windows 10, CryptReleaseContext does cleanup the memory (and so this recovery technique won't work). It can work under Windows XP because, in this version, CryptReleaseContext does not do the cleanup. Moreover, MSDN states this, for this function : "After this function is called, the released CSP handle is no longer valid. This function does not destroy key containers or key pairs.". So, it seems that there are no clean and cross-platform ways under Windows to clean this memory.

If you are lucky (that is the associated memory hasn't been reallocated and erased), these prime numbers might still be in memory.

That's what this software tries to achieve.
I was raised by a single mom. I can can tell you emphatically, a two parent household would have been better.
Google already can mess with your domain quite a bit (how many people use Google's DNS servers?). They also have a registrar and a CA already that your browser trusts. Amazon does the same thing. Don't know about MS/Azure, but if they don't now, I'm sure they will soon. FB is the only one that I don't think has neither, but they are also the ones I think that are least likely to actually maliciously mess with domains and TLS. It's just not in the business model.

Besides, this doesn't have to be a thing that's under the direct control of any of these organizations, but rather a separate entity that's just financed by them.

Gandi or GitHub would be cool too.
The Twitter says that it has been adapted to work on 7.

The readme points out that CryptReleaseContext works better in 10 and thus the recovery doesn't work.
I think the specific portion in that paragraph you should focus on is:

We are giving up a significant benefit of Rust for certain very high-performance chunks of this system. In place of Rust's compiler, we use the TLA+ model checker to gain confidence in the correctness of our system!

With special emphasis on "very high-performance chunks of this system". There's still quire a lot to be gained by having a a lot, or even most, of the system with certain aspects of safety assured. It's not an all-or-nothing proposition, and that's a feature.

Personally I think it's very cool to then take these portions that they can't or won't use the built-in rust safety mechanisms for and do modeling to provide extra levels of assurance. It's probably also quite a boon to this process to have high assurances for much of the system as it may reduce the space (states) which you must model.
"I saw not one of them was calling for impeachment for what would absolutely be a crime if it is true."

That isn't accurate. Trump committing this wouldn't be a crime, but Hillary doing it would be. Presidents have the ability to un-classify classified info on the fly. That's why no one called for his impeachment on that event, and just questioned his competency.

On the other hand, note that when it came to his possible obstruction of justice (i.e. the Comey memo), the discussion of impeachment did come up.
> Well, does it? Even if you crack it you don't have the correct casing.

The 'correct casing' is any member of the set of all permutations of cases. So you both do, don't, and do not care.
Um, you're not thinking big enough, and there is a large number of failures of imagination you are experiencing.

First, opioids are actually really good when you don't abuse them. Just go break your leg and you'll see why.

Second, you are suffering from the sci-fy show "use space age technology yet still have modern problems" thing you see. If you can 'extinct' poppies, I can just as easily use CRISPR to stick those genes in anything else. It's not corn, it's my cash crop!

If you have supertechnology don't fix plants, fix people.
The Lifecycle of Software Objects
Swift is not like Kotlin