skysight-inc/HackerNews huggingface dataset:
I wrtote a reply to this question in a comment parallel to yours.

In addition:

I don't write many classes in the sense of the Gang of Four book. I do write classes that are really just ways to speak with the type system, e.g. a "class" that has one instance variable that is an integer, so takes up only as much space as a native int, yet perhaps acts a special kind of table index.

Sequence manipulation, auto, and destructuring bind provide clearer ways to express algorithms without getting hung up in towers of class abstraction (an evil fetish) yet not lots of low-level manipulation and boilerplate like you'd see with C.

In c++20 generics and templating are almost unified which makes expression so much clearer (most of the old templating syntax is unnecessary in most cases). It lets you manipulate the type system much more clearly. You can do a lot more at compiler time -- you'll never get the expressive power of the Lisp macro system, but it's a lot closer with a lot of the old syntactic junk discarded.

Auto declaration has transformed the use of the type system and genericity.

In terms of resources to learn this stuff: I haven't found any single good source of info for these revisions.

I once wrote a comment on this but it took a while and of course vanished into the whirlwind of YC comments. So instead I'll suggest a web search for "new in c++17" and "new in c++20". I know that's kind of lame, but that's the best high level answer I can suggest.

I will say www.cppreference.com is excellent, but when it comes to newer features you often need something a little higher level to really grok what it says. It might answer your specific question though.

I follow the trip reports from committee meetings and read proposals that happen to interest me which often give context to a design decision.

I started a new project (blank editor buffer) using C++-17 in 2016. I hadn't written c++ since around 2000 (though I'd previously been involved in g++ development since around '87.* So I treated it as if it were a brand new language I'd never seen before. The only book I bought was Stroustroup's "tour of C++" which introduced c++14, then used searches like the ones above to keep up with developments in C++.

If you're in the same boat I'd say choose C++20, even though the full language isn't available yet, which is what I did with C++17. Some features I was able to bring in from Boost (which is where many new features begin) and some I just couldn't use until it was time to refactor something anyway. Still, this really made a difference.

* yes before g++ was released by the FSF -- tiemann and I both worked at MCC at the time and used to have dinner at 3AM to discuss what each of us was working on, which is how we later came to start Cygnus.
I don't think this is what you're looking for, but Coding Machines[1] is a great little story in which the Ken Thompson hack[2] plays a role.

[1]https://www.teamten.com/lawrence/writings/coding-machines/

[2]https://www.win.tue.nl/~aeb/linux/hh/thompson/trust.html
Nvidia GeForce Now Loses Access to Titles from Xbox Game Studios and Warner Bros
Yes but that doesn't mean Vercel is a good name either.
Since https://news.ycombinator.com/item?id=22932134 is a big thread and still on the front page, now is not the best time for a follow-up. If you wait a week or two and then email hn@ycombinator.com, I can send you a repost invite, which has magic powers a la https://news.ycombinator.com/item?id=11662380.
What was Firefox's former behavior for viewport unit handling that other browsers didn't want to go with?
Here's a similar one that I build few years back. It forces you to wait specified number of seconds before visiting a website. That way you break the dopamine cycle.

https://chrome.google.com/webstore/detail/waitblock/kcnjfepp...
it is on just at a lower duty cycle.

source: worked on this for a few years at googl, both chromeos and android
I don't have a lot to add here, but an upvote didn't seem like it fully expressed how much I like this. I really like this! If you do decide to make something for iOS, I would definitely pay a few bucks for it.
It should ultimately be a matter of readability. If it's more readable for you to use Exceptions, by all means use them. But if you're working in a domain where you have control over the type of the return, then choose a range of return values which contains a representation of all possible results of your function and not just the "everything is working" result to be explicit. You don't have to return only primitive types. You can return data structures too, so you can encode the error as part of a return type and treat it and the rest of the data on the same level.

In short, it's a little simplistic to go void->integer or void->boolean. You should really be going void->struct or void->class. That gives you wide latitude in defining the range of your output types.
You do realize that age doesn't matter?

If the work you do is valuable then it deserves a comp that matches a full time workers rate.

Also, we work in computer science and a for a vast majority of developers it's business as usual. So I wouldn't say that it's particularly generous or lucky.
The point is in WSL2 rather than emulating the Linux kernel, they just run it:

https://en.m.wikipedia.org/wiki/Windows_Subsystem_for_Linux

https://github.com/microsoft/WSL2-Linux-Kernel

The Xbox One also uses a hypervisor to run multiple OSes, one of which was Windows 8:

https://en.m.wikipedia.org/wiki/Xbox_One_system_software

https://wccftech.com/xbox-one-architecture-explained-runs-wi...

They started doing that with the Xbox 360.
Tidymodels is a set of R packages for modeling and ML, inspired by tidyverse
Look for some parallel replies.
That is so ridiculously insecure I'm surprised the author has published it without a massive disclaimer.

Do NOT use an unknown third-party, without PCI qualification, to whom you have no contractual relationship, in between you and your payment provider.
I believe the placement new operator does exactly what is needed here. It'll take a self-allocated block of memory and run the constructor on it, thereby avoiding the risk of system generated exceptions as execution stays purely in user code. Basically, it allows you to use a C++ constructor like a C init function.
> What people usually complain about is rustc being slow overall, not the LLVM passes.

The LLVM phases are usually the dominating factor in Rust compile times (the other big single contender is the linking phase). However, when the Rust developers point this out, they are also careful to mention that this may be due to the rustc frontend generating suboptimal IR as input to LLVM; we can both acknowledge that LLVM is often the bottleneck for Rust compilation while also not framing it as a failure on LLVM's part (though at the same time it is uncontroversial to state that LLVM does err on the side of superior codegen versus minimal compilation time, hence the niche that alternative compilers like Cranelift seek to fill).
Yes, in the UK we have seen people divert from frivolous activities like formula one to making medical equipment or from bar staff to supermarket checkouts. It seems a modern economy has quite a bit of slack in it and we don't need many people to keep everybody fed.
I think the previous commenters are missing the forest for the trees.

You would have these tools if the APIs were open and existed! RSS is a great example where there are many awesome native clients.

This pizzatool was not made in coordination with any pizza shop. It was not made with a subscription model, or some high end software team.

It was made by hackers because they realized they could send a fax. It's why CLI programs exist and interoperate so well, but gui's always seem to be islands of their own.

It's the API.
The proof of the characterisation of Eulerian graphs is really neat and one of my favourites. It basically just starts with "choose a maximal trail" and the rest writes itself if you think about it long enough.
Hm, the diagonal lines are rendering quite badly for me (randomly jagged edges). Anyone else seeing this? (I'm on Linux, FF75)
Data of nearly 8k small businesses may have been exposed, SBA says
Encryption as he implemented it does not rely on the secrecy of the algorithm. It relies on the secrecy of the key.

This is why he was asking about their ability to break 256 or 40 bit encryption.

So there was no trust broken in sharing the source code.
I built a small home server a few months back using a Supermicro board (M11SDV-8CT-LN4F) which has ECC support and an Epyc 3201.
We Are Living in a Failing State
Additionally, you also get a really solid stock CPU cooler compared to Intel's. If you're building a PC in the price range where these sit, that $20 you save by not needing an aftermarket cooler can be huge, allowing you to get an SSD or a higher tier GPU, etc.
Just to make sure I understand - you're saying that because OpenSSL is under active maintenance and vde2 is not, OpenSSL is in the wrong?

If you want to use unmaintained software, you know OpenSSL 1.0 still exists in this world, right?
China: Truth in a Pandemic [video]
breaking the dopamine cycle requires a bigger effort because it must include phone browsing and notifications, there is a good video about it at https://www.youtube.com/watch?v=9QiE-M1LrZk
I think a lot of Google "squandering the lead" had to do with concerns about the vertical integration of search to purchase being seen as anticompetitive practice.
Working with Non-Developers on Front-End Projects
Prices of those Xeons are low because servers they originally came in got recycled in China aka they are fished out of garbage. Motherboard and older ram make whole proposition less than ideal, picking between old server gear with all the warts or "new" Chinese motherboards build using recycled chipsets and dodgy designs (single channel memory Xeon boards with SATA2 only etc).
About the housekeeping overhead in PowerPC machine code generated by the C compiler:

> This, combined with the (correct) practice of modularizing everything into small subroutines that don't individually do much, produces very long programs dominated by instructions that don't do anything we care about.

I wonder how much of this was due to the RISC nature of the PowerPC instruction set and how much was the relative inefficiency of compiler code generation. For a fairly recent ISA like RISC-V or ARM64, with a modern compiler like clang, are things now better or worse? I imagine link-time optimization helps some.
I have an indoor bike. It's pretty awesome. I hurt my foot about 1.5 years ago, and combined with way too much work, I stopped doing sports.

Luckily, I got back in the game roughly at start of Dec. Now, I do 4 times/week, 40 minutes pretty high intensity. At the end of the workout, my bpm is between 185-192.
Chesterton's Fence doesn't require that you perform a merely superficial analysis of why things are as they are, and indeed it would be doing the idea a disservice to do so.

As I noted in another reply below, I think it's fine to make the argument that the 2+ parking place rule comes from zoning policies that are ultimately racist, and that if you can show that this is really the sole origin of the rule, you've cleared "the fence" and can start to meangingully propose alternatives.

But such a historically-aware analysis is a far cry from "too much government regulation ... regulatory capture ... wah!"
This book does better justice than I could ever: Sleeping on a Volcano: The Worldwide Demographic Decline and the Economic and Geopolitical Implications
To me it sounds like some corporate pharma company...
Also: any plans for making it for other apps, e.g. Steam?
Ask HN: Where can I find pornography that is in the public domain?
It seems kind of unlikely, but is there a website where people submit pornography that is in the public domain?
I have an indoor bike, doing high intensity 4 times/week.
I'm currently reading about Wim Hof - to see what I can apply on myself.
Three-Month Trend Analysis: Covid and Coronavirus-Themed Web and Email Traffic
I have zero concern of this.
Most people don't have this luxury
I am in Norway, so the First Amendment carries little weight around here; our equivalent is 'Article 100' (of the Constitution) stating pretty much the same thing as the First Amendment.

(This is hardly relevant; I just grasped the opportunity to stress that the HN crowd resides in the most peculiar places...)
I hope the result has some teeth to it, and I'd like to see follow up once this item is complete.

If I were negotiating for a vendor to collect such an invasive level of personal data about me or my customers, I would insist on accordingly strong protections.

At a minimum there should be clause in your ToS making our consent expressly contingent on you upholding your protection commitments, particularly around what data is collected, who it's shared with, and when it is destroyed or 100% anonymized. It should insist you have contracts containing terms of equal strength in place with any of your vendors, subcontractors, partners, etc. who might conceivably gain access to the sensitive data.

The clause should be written such that the liability follows along to any assigns, heirs, successors, etc, and it should be excluded from any loopholes in other portions of the contract (particularly any blanket ones which allow you to change the ToS without gaining fresh, explicit consent) and preferably free from any limitations of liability.

I'm glad Stripe is taking a responsive approach to the matter and I hope you'll consider this feedback when you revisit your legal agreements.
> There is no hard evidence that COVID-19 is transmitted on food.

There are preliminary reports that it does. [1,2,3,4,5]

But beyond this, the coronavirus family has a well-known fecal-oral route. [5,7]

It's astonishing to think that fomites coming into contact with mucosa wouldn't pose a threat. [8]

Edit: More sources added.

- - - - -

[1] https://pubmed.ncbi.nlm.nih.gov/32065057/

> It was believed that 2019-nCoV was transmitted through respiratory tract and then induced pneumonia [...] However, many coronaviruses can also be transmitted through oral-fecal route by infecting intestines. [...] Our report provides a cautionary warning that 2019-nCoV may be shed through multiple routes.

[2] https://www.eurekalert.org/pub_releases/2020-03/aga-gsa03052...

These pre-prints state and recommend:

* Viral RNA is detectable in stool of patients with suspected coronavirus; it is now clear that the virus sheds into the stool.

* Viral gastrointestinal infection and potential fecal-oral transmission can last even after viral clearance in respiratory tract.

* Prevention of fecal-oral transmission should be taken into consideration to control the spread the virus.

[3] https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7074995/

[4] https://www.medpagetoday.com/infectiousdisease/covid19/85315

[5] https://www.cidrap.umn.edu/news-perspective/2020/02/studies-...

[6] https://pubmed.ncbi.nlm.nih.gov/23681671/

> [...] zoonotic viruses such as respiratory coronaviruses and influenza viruses may potentially be transmitted via contaminated foods. [...] Nevertheless, these respiratory viruses were able to survive for at least several days on produce. There is therefore the potential for transfer to the hands and subsequently to the mucosa via rubbing the eyes or nose. In addition, some respiratory coronaviruses (e.g., severe acute respiratory syndrome coronavirus) and adenoviruses are also capable of replication in the gut and there is thus some potential for acquisition through the consumption of contaminated produce.

[7] https://pubmed.ncbi.nlm.nih.gov/15654797/

> In addition to the lungs, the gastrointestinal tract is another target of SARS-CoV infection, as the intestinal epithelial cells and mucosal lymphoid tissue are infected. The findings provide possible explanations for the gastrointestinal symptoms and the presence of virus in the stool of SARS patients.

[8] https://pubmed.ncbi.nlm.nih.gov/32088598/

> The mode of transmission may become clearer in future: usually in outbreak investigations, hindsight is easy [...]
Kerckhoff's principle applies.
Nowadays, all the good encryption software is open source anyway.

https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle
There are some good theories regarding delayed gratification and behavioral modifications you might find useful.

First, how good you are a choosing to wait to receive a reward later has a strong bearing on how difficult of a problem you can solve, because working on a problem is what feels rewarding, solving the problem is. To that end there are certain habits you can pick up that greatly help with modifying your behavior, and provide a sense of success before the overall problem is solved.

The first thing I recommend is to make your own lists of short tasks that need to be completed. This in itself can be satisfying because writing the list is effectively your first finished task.

Next, after completing a few tasks you need to reward yourself with something you enjoy. It shouldn't take much time to do, but it should be something you won't get easily board of. Continue rewarding yourself after a set number of tasks. Generally, you should be getting a reward about once an hour to start out, not more. After a few days, maybe a week, increase the number of tasks you must complete for a reward. Continue increasing the number of tasks per reward every few days. If you find yourself losing motivation, then decrease the number of tasks required.

Just a few tips, the reward should be something that you can do quickly and that you can resist doing while you're still working. The reward should be mildly habit forming, but not addictive. Also, if it's food related you might want to make it small enough that it won't make you fat. A favorite candy can be a good choice so long as you can make the rewards small but still satisfying. It also shouldn't be something complicated or distracting to other people. If it's too complicated that can kill your own productivity. It also helps if you take a short break like 5 minutes per reward or at least take short breaks a few times a day even without a reward.
https://openbenchmarking.org/

https://www.phoronix.com/scan.php?page=home
Are you familiar with the PIMPL idiom?
To the author: this is AWESOME.

I find myself caught in the y/t/f <enter> loop all the time. I use a site blocker, but if I do want to visit a site, I end up turning off the blocker and forgetting to re-enable it. This seems like much a better solution that allows me access to the sites I need, but ensures I don't get lost in them, and tracks my usage.

I am seriously so pumped about this, funny that I needed to visit one of my blacklist sites (hacker news) in order to find this. Please keep us posted with updates (settings page of the app?), if I continue to use this I'd be happy to pay for it in the future.

One thing I'd love to be able to do right now is whitelist certain times in the middle of the day. For example, lunch. Punching in 30 mins on a site is an easy fix, but it'd be nice if that were built in.
Charter Cities Podcast Ep 1
I don't think that's "another" possible reason so much as you're closing in on the original accusation. The reddit group linked upthread refers users to this article explaining these sites: https://www.nytimes.com/2019/10/31/upshot/fake-local-news.ht...

All you're missing out on at this point is the obvious partisan motivation.
Seems a bit like when a congested campus has a "space not guaranteed" paid parking program, and you opted for a tier that includes VIP spaces. The VIP spaces near your building are currently being restriped so you can't use them. Should you automatically get bumped to the non-VIP tier since it no longer brings you value? No, you stay on that tier because theoretically it offers you the VIP spaces at other buildings (like the 4K streams in places that aren't collaborating with Netflix on decongestion strategies).
Correct me if I'm wrong, but panics themselves are fairly rare.

That's not the case in C++ where "throw" is a keyword you are expected to use for error handling.

If you take this to a Java example, a panic is more like an "Error" and less like an "Exception". That is to say, in rust, if something panics it is a sign of a major bug that shouldn't have any option for recovery.

With all that said, the same concept exists in C++. Try doing a 1/0 in C++ and see what happens. You don't get some nice exception to catch and you can't add a "noexcept" clause to stop it from happening.

In the same original example, if you have that 1/0 error in the underlying method and you handle it instead of crashing by tying into the OS specific "div by zero" garbage. You to can create a memory leak in code thought to be safe.

It goes to show that you can't (and shouldn't) expect to recover from everything. Crashing, IMO, is usually far safer than trying to fix things up and move forward.
Whatever they used source code for, it just a shortcut - they could do the same thing by just disassembling and binary patching (like all hackers and agencies do all the time). Basically they would never do it and risk exposure if they didn’t want to get result extremely fast.
Gallery of free git stats tools with screenshots
This goes without saying but I love it when Patrick jumps in to respond to stuff like this on here (and always thoughtfully, too).
I wasn’t worried about that. I tend to assume I’ll figure things out. And indeed the wiring for the headphones is “cut a 3.5mm cable, solder the leads to the purchased headphone speakers.” The only thing I brought to the table was design of the enclosure for the headphone driver, which can’t really create bad loud sounds.
Something is quietly pushing us into the next Great Depression
> that is false. first of all, a lack of imagination does not mean we have a single tool to fight a coronavirus.

The fact that we need to imagine more options means we only have the one.
This is awesome! I would also pay for this after I've seen the privacy-aware and clear onboarding!

Feature request:

"Focus mode"

Ability to start a focus session for 30m, 1h, 2h etc. in addition to having the schedule. E.g. by default my schedule allows browsing reddit on the weekend, but if I need to get something done on Sunday I can get click the focus button. Or disable schedule and use it only in focus sessions. For now I can only either change the schedule constantly or disable/enable the extension. A simple "Focus" button would solve those 2 cases.

The focus mode could even countdown the focus time with a different colour.

This would replace RescueTime for me and I've been a paid user for years.
Assuming he implemented the cryptography correctly, but if he didn't then his users weren't secure anyway, and the source code would have just saved the NSA a little time.
I dislike UB, but I do at language level. When LLVM is reached, UB can only have and only be continued to be removed, never added (from a global point of view, applying general as-if rules a compiler can always generate its own boilerplate in which it knows something can not happen, then maybe latter leverage "UB" to e.g. trim impossible paths, that are really impossible in this case -- at least barring other language level "real" UB). So are there really any drawback to internal exploitation of "UB" (maybe we should call it otherwise then) if for example the source language had none?
Is there a reason why something as important as openssl is not being backported to keep up with the most recent versions?