skysight-inc/HackerNews huggingface dataset:
> MedCram did a really great video

I also recommend the followup videos that continue looking into the theory he discussed in episode 63 (your [1]). In particular, episode 69's discussion[2] of glutathione in existing research related to oxidative stress is very interesting. Comparisons are made to acetaminophen (tylenol) toxicity. A very plausible hypothesis is presented that high dose NAC (N-Acetylcysteine) might be a treatment for (some of) COVID-19's worst effects.

NAC is obviously interesting as an antioxidant, but MedCram found a few papers that suggest it might also be important as a way to break the disulfide bonds cross-lining von Willebrand factor that seems to be causing a strokes and other thrombosis-related problems in the worst COVID-19 patients.

Obviously this is all very speculative an turning these hypothesis into something practically useful will require a lot of work. However, as someone with multiple of the serious risk factors[3] for COVID-19, the last few months has mostly been hoping I can avoid dying from the virus before a vaccine is available. The ACE2/glutathione/NAC hypothesis is the first time 3rd option - an effective treatment - has seemed... plausible.

[2] https://www.youtube.com/watch?v=Dr_6w-WPr0w

[3] diabetes, heart failure and cardiomyopathy from too many years of high-BP and bad sleep apnea (AHI=148)
You wouldn’t have to. I haven’t come across any app that doesn’t work with a jailbreak hider app.
Ask HN: What has been some of the better achievements in comsci in recent times?
Just use pandoc, then you can write your documents in markdown (with inline GraphViz and PlantUML!) and have them converted to LaTeX/pdf automatically.
2018 MBP, Catalina, popups from Apple in the OS (not the browser) saying I should use Safari every few months.
Actually, sqlite has its share of memory safety issues. https://bugs.chromium.org/p/chromium/issues/list?q=Type%3DBu... (and to be clear, this is just a coarse search, and the bugs there aren't necessarily all bugs in sqlite, but there are definitely some)
> all about giving people control or whatever

Yeah, whatever. Who wants to have control over their device anyway? Much better if Apple gets to decide what I do with my iDevice. Not sure why Microsoft hasn't started the same approach, at least Linux distributions discourage people from installing software outside of the repositories, but there is much work left to be done in actually making that impossible. At least the latest innovations in home computing, smart speakers, don't allow you to run anything at all other than what the makers intended. It's great for privacy if you can't do insecure things.

...

Privacy and control really are much more synonymous than at odds with each other. Sure, allowing someone to shoot themselves in the foot is something you'll want to minimize happening, but if they can't shoot themselves in the foot when they really try very hard, then how much control do they have over their private life really?

> jailbreaking is bad for developers who want to sell nice, simple, pay up front no surveillance software

I fail to see how this is explained by the "because" that comes after it. It just makes zero sense: why would a user taking control be bad for the developers if they don't want to surveil your device anyway? They already have the money up front, as you say. Wouldn't it make more sense to expect something to be mine after I paid for it up front?

> Unless you're of the frankly radical opinion that [something exaggerated to the point where it's clearly illogical]. Then of course what I'm saying makes no sense.

I'm not sure what you're trying to say here. Anyone who disagrees must be of this weird opinion and there can be no other viewpoints: either you're with you or you're illogical and "radical"?
Maybe my monkey programmer brain is broken already from doing syntax parsing all day, but I can never imagine any context where this formatting makes sense. I always place quotation marks "like this". The other way is not even consistent with the conventional parentheses placement (like this).
DBeaver is certainly underhyped. Moved over to using it from MySQL Workbench and so far it's been a big improvement.

I can't compare against SequelPro as I don't have a Mac, but DBeaver's worth a try for anyone looking for a cross platform DB editor
What tasks do you do manually in your life/job that is boring? Automate it wherever possible.

Help users of nonprofits understand them better - watsi, Kiva etc share data that can be visualized in a variety of ways.

Teach (blog, video etc) - this is especially effective in topics you already know, but have gaps. Teaching forces you to clear those gaps.

Do exercises from project Euler, Rosetta etc
How does that help though?

The memory management issues in my C++ programs (recently, real-time audio stuff) are where I explicitly decide not to use modern C++ / automated memory management, and write my own allocators that rely on malloc/free or some variant (aligned_alloc, etc.)

In Rust I suppose I would just use an unsafe block and have the exact same issues.

Note that good unit testing, assertions and sanitizers generally take care of the issue.
From reports of various people in Russia that had the misfortune to deal with Russian healthcare system.

“Doing good” because doctors aren’t allowed to attribute death to covid is not really “doing good”.
I agree with your complaints, but would like to save 'form' 'simplicity' and 'minimalism' from the heaping tire fire that is the pubmed changes.

Apple's design philosophy takes good parts of those three concepts and implements them well. Moving around essential functionality can be required in specific cases.

Maximalism can be just as poorly made.
Online Notepad – You never won online here is the solution
Setting up SEO and Google Analytics in 11ty
Given that almost nobody suggested doing nothing, I imagine that a targetted lockdown is really the opposite of a country-wide lockdown. Without elaboration "lockdown" is usually understood as referring to a country-wide lockdown.
This is not quite true. That some extinct languages of the Korean peninsula were related to Japanese on the basis of toponymy, is now nearly universally agreed on among linguists, whether they accept the Altaic hypothesis (or the recent "Transeurasian" rebranding of it) or reject the Altaic hypothesis.
I think you'd have to do the same thing that you'd do in non-C++ languages: write an abstraction layer that encapsulates the low-level OS access (or hardware access, in embedded software) and whose implementation is unsafe, but whose interface is "safe", whatever that means.

Once you have that to build on top of, such a compiler flag could make sense... if it were possible in C++, which I'm not sure about.

See for example this criticism of one such effort: https://robert.ocallahan.org/2016/06/safe-c-subset-is-vapour...
What are some real world applications of graph algorithms?
Can you guys give some real world examples of what graphs algorithms people are actually using in applications?

Given a complicated graphs, say social networks, what properties/quantity people want to know about them?
What if it really is actually nice?
"Modern" C++ is the No True Scotsman of programming languages, so you define it clearly and then I'll tell you whether I've written any. But I've written C++, including professionally. I expect to write some at work tomorrow, in fact.

It's not easy to see what algorithms you're using in a C++ codebase, because most of the lines of code are taken up micromanaging details that are broadly irrelevant. Yes, C++ makes it easy to tell whether you're using 8 bytes or 16 in this one datastructure. But you drown in a sea of those details and lose track of whether you're creating 10 or 10,000 instances of it.
Your opinion is popular and unfounded.
Looking at cumulative graphs like that is misleading. It's also impossible to conclude anything about peaking in the UK from the total figures, as the baseline for testing has been changing as the number of tests has increased rapidly in the last few weeks. Fortunately there is one dataset that has remained constant throughout. In the government's daily releases https://www.gov.uk/guidance/coronavirus-covid-19-information... there are "pillar 1" statistics. This number is the hospital admissions that test positive, and it's the only data set that has been gathered in a consistent way throughout. The pillar 1 stats peaked at 5903 new cases on April 5th. Yesterdays pillar 1 new cases were 1277, so the UK cases indeed have peaked and have declined significantly since the peak. They're being a bit stubborn at decreasing below 1000 per day though.
Taiwan.

The country has 23M inhabitants, most of them are clustered in a few densely populated metro areas (Taipei,
Kaohsiung,
Taichung–Changhua,
Taoyuan–Zhongli,
Tainan and
Hsinchu). Taiwan had many daily flights to/from China, including daily directs from Wuhan (stopped 31 December 2019).
Taiwan is one of the world's older countries (median age ~43). Taiwan permitted the docking of the Diamond Princess [2] and allowed passengers to disembark in Keelung (near Taipei), on 31 January, before the ship left for Japan. The ship was subsequently found to have numerous confirmed infections onboard. In reaction, Taiwan's government published the 50 locations where the cruise ship travelers may have visited and asked around 600k citizens who may have been in contact with the tour group to conduct symptom monitoring and self-quarantine if necessary. None were confirmed to have COVID-19 after 14 days had passed.
(The only advantage Taiwan had was that facemasks were widely used and even expected on public transport for years.)
For all those reasons, Taiwan was at unusually high risk from Covid.

Yet, no lockdown.

No country managed the disease better than Taiwan. We should learn from Taiwan. See [1] for an analysis of Taiwan's response from early March 2020.

It is interesting to reflect upon why most countries ignored Taiwan. The World Health Organization's locking out Taiwan on China's request is probably one reason. Is it the only one?

[1] C. Y. Wang, C. Y. Ng, R. H. Brook, Response to COVID-19 in Taiwan: Big Data Analytics, New Technology, and Proactive Testing. https://pubmed.ncbi.nlm.nih.gov/32125371/

[2] https://en.wikipedia.org/wiki/Diamond_Princess_(ship)
I'm in philosophy, though personally working in formal philosophy, so this is quite different from CS. In my area practically all top journals reject more than 95% of all submissions, and if you get accepted, it takes about a year until the article is published. Many journals get so many submissions that they do not provide any reviews or feedback - not even a paragraph or line - if they reject a paper.

Although I have been able to stay a fully paid postdoc for more than 10 years without problems and get decent amount of publications out, I'd agree that the peer review system is broken and seems to be strongly biased in favor of mediocrity over originality. It's particularly bad in fields like philosophy in the humanities, where you could argue that there are no clear-cut criteria for evaluating the content other than merely formal issues. (Philosophy is not a science.) There are lots of people who game the system, I'd say many of my colleagues are doing it, though not (yet) the majority. By gaming the system I mean writing articles they barely endorse themselves, tailored to get past reviews. I've literally had a very successful colleague say "Who cares? It's one more publication!" when I raised doubts about a joint paper, because it involved too much hand-waving and didn't seem to work.

Long story short, I have the impression that in the humanities whether you're accepted or not mainly depends on the writing style and on whether you win the "reviewer lottery." One and the same paper can get accepted in one journal and rejected in another, for journals with similar reputation. I also believe that there are certain niche areas in the humanities that are (almost) pseudo-sciences and based on a small group of researchers colluding with each other and passing opportunities for publication to each other. I won't mention the disciplines, though.

I'm a bit dismayed that you describe CS in a similar way, I've always thought its much more rigid there and easier to evaluate CS papers.

Having said all that, I don't think there is any alternative to the peer review system. Any alternative I've seen so far or come up with myself seems to be even more prone to manipulation and gaming the system. I believe that it's not the peer review system itself, but over-reliance on objective indicators by university administrators that has led to most of the problems. But the humanities have certainly changed to the negative, at least in philosophy I'm certain that many seminal and famous articles from the 70s of last century and earlier would not make it past the peer review today.
GC-less C# wouldn't even replace Visual C++ codebase in 10 years let alone the entire C++ codebase. And if you are going to use unsafe C#, you might as well just stick to Visual C++. Microsoft really shouldn't have included unsafe code/context into C#. It's the one glaring flaw in an otherwise decent language.
> No as some liberal/socialist agenda but as a way to reach full employment again.

You know that this is bascially the same reason socialists are in favor of shorter working weeks, right? Their "socialist agenda" is virtually the same as your reasoning.
What Is a Blog?
Non-owning pointers are absolutely a problem if the object graph is large and complex enough. Many objects in Chromium have lifetimes managed by smart pointers, but unfortunately, that doesn't do anything to protect against code that mistakenly violates an invariant like "object X must always outlive Y due to these non-owning pointers". The problem is C++ turns a violation of lifetime invariants into undefined behavior rather than safely crashing.
I wonder if they consider that their problem or blame it on doctors/pharmacists?
“Does your database have snapshot isolation?” “No, we have snapchat isolation!”
If you want to be "that guy" on parties, ask people what MongoDB is trying so solve. If they bring up the typical "noSQL document store" stuff, aks them why you'd want to use MongoDB for that.
The browsers have become systems themselves. Browsers need GPU, IO, media, etc. subsystems.
Blog about it. It makes you think about the project from a different view.
Did apple make any comments on this? I haven't been able to find any public responses from them. I'm really interested on reading their side of things. This is quite jarring, it's hard to believe it is a thing. However, as I read through tests people did, it seems just as bad as it sounds.

I was actually getting a mac mini now that I'm working from home (I thought I'd get better integration with some of the company's wfh infrastructure while still having a unixy environment, so a win/win situation), but I cancelled the purchase after reading this. I get that you can jump some hoops and set some apple specific flags to things so that it works better, but the reason I wanted a mac was to make things easier and not having to look into obscure APIs and features to get simple things working. I was really looking forward to that, but I don't feel that sort of investment will be justified with issues like this in their OS :/
https://en.wikipedia.org/wiki/Alligator Undefined
Tuxedo Book BA15: AMD-only and Linux-preinstalled laptop
>For certain style of code, the JVM is actually faster than C++.

I find this very hard to believe.
I tried to use the new Reddit UI and it is factually less useful than the old one.

Two things that bother the most in changed UI, having less information in one screen (be it having to scroll to get the same information as the old UI or just less info than the old one) and adding useless clicks.
I think most mobile operating systems are quite easy these days. An Android tablet isn't inherently more difficult than an iPad, except for the fact that there's no real Android competition for it (Android tablets are cheap and shit or expensive and with little support these days).

On the other hand, the last time I held an iPad it was because someone asked me to help them remove some apps from their tablet. I couldn't figure out how to remote anything because the little X that's supposed to appear when you want to uninstall something didn't show up. I was probably tapping it wrong (3d touch?) but I ended up giving it back and telling them to ask someone used to Apple devices.

There's a lot that iOS does right but there's also a lot that it does wrong. The same goes for macOS in my opinion.

The benefit macOS has is the same benefit ChromeOS has, in that it tries to show an interface with as few buttons and widgets as possible. There's a bunch of apps at the dock in the bottom and most people will probably never need more than that, aside from a decent browser maybe.

Windows tries to do the same but because it is Windows and people are used to button placements that have been the same since Windows XP, attempts at minimalism in the interface often meets friction. The Windows 7 control panel was, honestly, complex and difficult for many, but after so many years everyone who used it needed time to adjust to the new flatter, simpler design.

Microsoft tried to go the "make it as simple as possible" route with Windows 8, where they used the same paradigms on desktop as people were already using on mobile. This failed miserably and now they're doing a weird mix of keeping the old and reintroducing the interface for common programs every big update. It's a mess but I don't know what I'd do differently.

The sad reality is that now that Microsoft has lost the mobile OS wars, they'll never have the shared ecosystem they so direly need to properly compete with Apple. Their Xbox integration might prove to be a game changer here, though, because an Xbox and a few Windows PCs have the potential to compete with Apple TV and a few Macbooks.
hitlergator... half squamate, half furrier.

There is a film here waiting to be created. Velocipastor has set the bar too high in any case.
Oh, poor Microsoft is forced to use bad bad C-Linux on their Interweb service!

All while their own industrial strength C++-OS (according to you) never has any exploits.

The fact that you are singling out Linux shows that you are only interested in throwing dirt.
There's a lot of frustration in there.
Mainly from a USB stick so that you run it in memory where possible
Spain was following the indications of the OMS at that point. The pandemic was not declared until March 11th, three days after Woman's Day.

By default, anyone can rally in Spain at any point. They don't seek authorization for the government, they have it by default. It can only be revoked and not granted. While there probably was some thought given to preventing the rallies, given what the OMS was saying at the time it looked like an over reaction. It was, of course, an error in hindsight, but I don't think it's indicative of a big failure of leadership.
> I'd argue that accidentally quadratic algorithms are easier to hide in a concise language. Writing out a quadratic loop explicitly takes space, and that space alone might make people pay more attention than some subtle implicit language construct. Either way, the most common source of unintended quadratic (or higher) behavior is helper functions and library calls.

I disagree. When every loop is full of cruft around setting up the iterators, it's easy to drift past what's actually happening. In a language where looping over a list takes a single syntactic token, it's a lot more obvious when you've nested several such loops.

> The other thing to keep in mind when it comes to algorithms is that cache behavior and therefore memory layout matters a lot for performance on modern hardware. Managed languages really stand in the way of optimizing memory layout, which can be a systematic performance disadvantage compared to C++.

C++ doesn't really make cache behaviour clear either though. I agree that we need better tooling for handling those aspects of high-performance code, but they actually need to come from somewhere lower-level than C++.
What happens when a whale dies?
Root cause analysis is a tricky thing

Died of a heart attack

Caused by blood loss

From being impaled on a fence

After a car crash

While not wearing a seatbelt

And driving too fast

On an icy road
> Somewhat off-topic, but why does the IEEE (a non-profit) have annoying ads on their site?

Because you forgot to install or enable an ad blocker. I know this is not a real answer to your question but it is the best answer to the annoying ads problem.
I use json (in postgres) for user generated config data (that is, both the schema and the values of the config are user generated). I will never query it other than to read the entire data to send elsewhere for processing and write it when the user sends new data. I don’t know or care about the content, since I can’t know what’s going to be there, but if I ever did want to query inside it, postgres allows that.

I could store it in a table with key and value columns, but since I always use it together as one thing, I don’t see the benefit and it just means more rows would need to be accessed.

Maybe its not a good design, but it works well for me and makes my life easier.
Well yes, if you are comparing GC to refcounting then yes, gc wins.
That is not true at all. If an iOS device is jailbroken the bank has to assume the worst, which is that the device is compromised and has malware.

I don’t blame them, they’re mitigating another potential risk. Malware that’s essentially a rootkit could send your bank login details to a malicious third party in realtime, for example. 2FA codes and all.

Also remember there are lots of people out there that aren’t as tech savvy as the HN readership. A random person that just wants some springboard tweaks or similar may not verify where these tweaks came from & not understand the consequences of installing essentially untrusted software.
From 25 Minutes to 7 Minutes: Improving the Performance of a Rails CI Pipeline
Being Fast Matters
I have been using Elixir for about a year and the only problems I have found is the much smaller ecosystem. It's still a niche language. This means you may be the first one to encounter some problems although I have found the community quite helpful. Even if the number of libraries cannot really stack up to Rails the few libraries tend to be high quality. Overall, I find things more explicit and understandable. There's a lot less magic and I find functional code easier to reason about. At the end of the day, every popular language was niche at one time but some people took a chance on it. Maybe Elixir hasn't yet gone mainstream but its a fairly healthy ecosystem with many brilliant, passionate people.
Even though Chromium was started before C++11 was standardized, it still used a smart pointer type with move semantics that was very similar to std::unique_ptr for lifetime management.

However, while lifetime management with smart pointers is certainly important, it doesn't help with non-owning pointers between objects.
Logofolio of the Week
See you later.....alligator
You missed my point entirely, I think.

Yes, if you want to write a loop doing a single type of processing, numerical or string, you can typically write better code in C++, or a shader language.

Most business applications don't follow that pattern at all. It's a mix of many types of operations. Look at the Techempower benchmarks, for example; the Java frameworks tend to do better than the C++ ones, at least when it comes to throughput (C++ is more competitive when it comes to latency).

I believe it's due to the HotSpot compiler doing aggressive, profile-guided optimization (you can do AOT profile-guided optimization but few people actually do it; in Java you get that automatically) as well as the garbage collector. Memory allocation is a fast as incrementing a pointer. Whereas C++ will tend to do way more housekeeping; in Java that housekeeping is amortized when you call the GC. That hurts latency but helps throughput.