skysight-inc/HackerNews huggingface dataset:
SQLIte v4 supposed to be built on top of LMDB as I remember. For some reason the project was closed, they even have note about it on the official site somewhere.
This isn't really directly related to your question, but I recall hearing that in Servo and Firefox, the usage of Rust is limited as it gets close to the DOM specifically because of interactions with the JS engine and its separate garbage collector, which Rust does not understand.

Without any more specific knowledge, I bet the way a generational garbage collector moves data around really messes with Rust's view of the world...
Judge approves Faraday Future founder’s personal bankruptcy plan
Try their managers.
You know, I totally buy that 70% of the vulnerabilities in complex C++ code relate to memory safety, especially in something like Chromium, which is incredibly complex and includes a lot of third-party code that wasn't always designed at first to be robust to untrusted input, and also fast-moving with a ton of code added or churning every week. But I'm not sure I buy that memory-safe languages will consequently be as beneficial for safety (especially in other kinds of software) as that fact would suggest.

For one, not all software is like Chromium. If you look at something like OpenSSH, the vast majority of their security holes have nothing to do with memory safety and are just logic bugs (often caused by features that somebody added that aren't core to the basic SSH experience, e.g. code that interfaces with X11 or something) or protocol weaknesses. (http://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=openssh)

The other effect is that in practice, memory-safe languages can come with security baggage of their own. If you look at the zillions of security holes in something like Rails or Wordpress or Django, a fair portion of them relate to an attacker's ability to invoke sophisticated-but-unintended behaviors that are more likely to be hiding in these managed languages (and their support libraries) than in something like C++. E.g. CVE-2013-0156 or CVE-2013-0277 or apparently any current Python or Ruby program that, even today, calls yaml.load on untrusted input. That kind of "security hole from unwanted latent functionality" is less likely to exist in C++. (I realize this is a contrarian view not shared by the vast majority of PL/security experts, but the ones I hang out with seem to interpret "memory-safe language" to mean "expert-written Haskell or, if you want to slum it, Rust" and are not thinking "random Ruby/Python/JavaScript/enterprise Java".)

Not to mention the countless high-profile security holes that have nothing to do with memory safety, e.g. Shellshock, "goto fail", Lucky Thirteen, BEAST, CRIME, POODLE, FREAK, Logjam, etc. Or bugs that are very relevant to Chromium but aren't really Chromium's fault and probably don't appear on their own list, e.g. Meltdown/Spectre etc.
That’s like giving the heroin dealer your ATM card.
Being valuable and useful is all you ever need to do to sell things. Help people out. Send interesting posts. Write birthday cards. Record videos sharing your ideas for growing their business. Introduce people who would benefit from knowing each other then get out of the way, expecting nothing in return. Do this consistently and authentically and people will find ways to give you money. I promise.

This doesn't fit my experience at all. People just expect me to do things for them for free out of the goodness of my heart, and expected that even when I was literally homeless.

I've never entirely figured out why that is.

If people just found ways to give me money because I do useful stuff, I think I would have long ago stopped being poor. But I'm still poor and I routinely get treated like I'm some kind of beggar for trying to find some way to monetize my work.

So I think there's probably a bit more to it than that.
JavaScript Design Patterns – Easiest Way
As Rust shows, it’s not really impossible from a technical standpoint in many areas. The issues are more to do with convention and legacy and familiarity, for the most part. (Technically, C does have a couple of advantages: it’s stable, familiar, and extremely well supported in most places, and has basically had the world revolve around it for a couple decades at least. But there are a number of domains where these are surmountable.)
Latency in Asynchronous Python
What's the last illness that never became prevalent enough to become a household name because populations developed immunity fast enough to suppress the spread?

I can't think of any.
> If I'm a great java developer with tons of jobs to choose from, you are going to have to give me a very good reason to narrow my opportunities down for you.

Why would learning a new tool narrow rather than widen your opportunities?

It's not like you forgot all you know about Java.
You can just download a Windows 10 Dev environment VM direct from Microsoft. Also, Windows home will work just fine for any sort of development not requiring Hyper-V.
Can you break 128-bits?

How should I say it?
Your link says Sweden has 33,188 cases and 3,992 deaths. Furthermore, it looks like this is out of confirmed cases of people checked into hospitals, thus ignoring the overwhelming majority of asymptomatic cases, and symptomatic but non-serious cases that don't result in hospital stays.

To put this in perspective, this is 10x higher than the initial estimate of 1-3% death rate, and 0.4 to 0.8% fatality rate after random testing became more prevalent.
"judge jury and executioner"? I can't help but read that as rhetorical hyperbole.

I mean, there's countless stores which post signs like "We reserve the right to refuse service to anyone" (their power is limited, of course, to legally valid reasons). If Facebook is "judge jury and executioner" then so are countless of other organizations, to the point that your guideline is nearly ineffectual.

Facebook has already decided what it acceptable speech for their platform. Quoting the article "Facebook’s Community Standards prohibit hate speech based on race, ethnicity, and other factors because it “creates an environment of intimidation and exclusion and in some cases may promote real-world violence.” The company also bans hate organizations."

Surely they have that right, yes?

This is something which most organizations do. It is part of the right of free association. You play in someone else's court, you play by their rules.

It is entirely reasonable to have a platform which does not have those restrictions. Facebook has decided to not take that approach.

Moreover, I believe Facebook defends themselves (eg, in front of Congressional investigations) by pointing to their community standards. Their defense is reasonable only to the extent that they actually follow their own standards.

You write "If people would just say "yeah they are idiots" and ignore them"

The article comments that "Facebook’s algorithms can create an echo chamber of white supremacism through its “Related Pages” feature, which suggests similar Pages to keep users engaged on a certain topic."

That feedback mechanism won't disappear by ignoring people.

Similarly, "The remaining 64% of the white supremacy content identified by TTP involved Pages that had been auto-generated by Facebook. These Pages are automatically created by Facebook when a user lists a job in their profile that does not have an existing Page." After their report was published, 49 of the groups which were auto-generated by Facebook were removed.

That's neither suppressing acceptable speech, nor something which likely would have happened so early just by ignoring the issue.
Generally speaking, there are many levels of “if you know what you are doing.”

- The system warns about unsafe usage at either compile time or runtime, and you ignore at your peril.

- The system does not warn, but official documentation is consistently verbose about what is required for safety.

- Official documentation isn’t consistently helpful and can be downright dangerous, but the community picks up the slack.

- The company gaslights the community into believing it is possible for a non-core-team member to “know what they are doing” from one of the above levels when Jepsen provides written evidence that this is not true.

I’m fine with things that are the third level from the top. I like to live dangerously. But I don’t think anyone can look at that last level and say “people are giving informed consent to this.”
Milan didn't hit saturation either, I believe, you may be thinking of Bergamo.

But the saturation was not reached because of lockdown, clearing hospital beds from electives, adding more beds, recruiting new sanitary personnel from all over the country.

If all of italy had kept going "business as usual" we'd likely count deaths at a 30x rate.
If I remember it did go to unclaimed property. The problem is that the stock today was worth much more than the selling price when they closed his account (and he intended it to be a long term holding).
Looks very promising
Can't we just enable bounds checking and gc and live with slowness. Shouldn't that be a choice, a compiler flag ?

Every time there is a security issue, someone can see your naked pictures.
Does xsetroot not work? I just set my background in my .xinitrc file with:

xsetroot -solid grey25

But in general, unless you're a novice user, I've never understood the need for the heavyweight DEs like gnome or kde. A terminal and a window manager with no border decorations is a lot more pleasant.
We Need to Speak Honestly About the GOP’s Evolution into a Conspiracy Cult
If by GC you’re referring to its reference counting, either by Rc or Arc, there is no GC reachability beyond the reference counting. The responsibility for counting the contained object and dropping (cleanup before dealloc) is up to the type, either Rc or Arc (a stands for atomic, not automatic, as both are “automatic” in the sense that you never need to manually increment or decrement a reference). the owned, mutable object would contain the type information necessary to generate the right Rc calls ay the right time, but a distinct type is necessary to encapsulate the behavior.

There are also escape hatches, between unsafe leaking and the RefCell type, to provide “interior mutability”, i.e. mutable aliasing via an without the memory safety issues which come with this. Note I have only had to use the unsafe bits when passing memory up to a c stack.

I don’t believe there is a tracing GC implementation in the standard library, although I’ve heard plenty of discussion and you can find some simple implementations on crates.io. However, I would assume there would need to be some language changes to properly account for assumptions on how the Drop (free) functionality fires, not to mention significant backend work for tracing to work.
Yes, it is important to note that switching to a memory safe language does not magically solve all your bugs. My own personal anecdote: when I found multiple bypasses in the sandboxing mechanism on macOS, it was not because the relevant code was written in C++, but because the dynamic linker is a really complex system; the things I found clearly flew under the engineer’s radar when they were designing it and they didn’t think beforehand about how those components interacted together. Still, being able to reduce the attack surface area to solely be logic errors is much better than having to deal with memory safety thrown in as well. (Similarly, languages with stricter type systems magically get rid of issues like “you gave me a string and I wanted an int”, but the problems of “you forgot to check the password in this one case” still remain.)
The series is pretty well-written, and useful for C# practitioners, but I assume that the techniques have been known in the C++ community for a long time, so while it is faster than an unoptimized C++ implementation, it is no faster than a similar C++ implementation; they both wind up with nearly the same assembly instructions.
Sounds like that’s the Java Swing replacement for the same thing you could do over a decade ago?
I think they are, read some comments by a PubMed dev here on HN a while back, if I'm remembering correctly. It was not under such a clickbaity article though and the redesign was generally praised there.
Why link to your fork, which is only behind the upstream?
Lack of testing doesn't hide the rate of excess deaths. Japan is one of the oldest and densely populated countries in the world. On paper it would be experiencing the same results as Italy or even worse. Whether the infection rate has actually flattened or if it's just lower overall death rates is ambiguous. But what's not ambiguous is that the virus has claimed much fewer lives.
Wearing masks outside when you are not close to someone from outside your bubble isn't necessary. The virus needs close human contacts for several minutes to spread successfully. On the outside you have wind and other positive factors.
I used to use PgAdmin 3, but after... I donno how many years now, the PgAdmin4 is still a buggy mess.

It's really sad because all the contributors to Postgres have made an AMAZING database that's such a joy to work with. And then there's PgAdmin4 where its almost like they just don't care...

I don't feel I'm smart enough to contribute anything to PgAdmin4 to try make it better. So I stick to DataGrip and DBeaver.
> C++ does sort of have a safe subset.

I see this claim all the time, but can you give some examples of large C++ projects that don't constantly struggle with memory safety issues? (And are looking for them, of course.)
I was onboarded virtually as a junior software engineer in April. They basically scheduled Zoom meetings with key people across the first week to help me understand their processes. After that, they assigned me my tasks and I was on my own.

It definitely feels tougher to approach someone on Slack for help. You can't tell whether someone's busy or not when deciding if you should interrupt them. You can't read facial cues. The tone of texts can easily be misinterpreted. If they miss your message and reply a few hours later/don't reply, you can't help but wonder if they dislike you. Zoom has that 40 minute time limit which makes meetings feel rushed because it's a bother to restart so I feel that people are reluctant to use it if it's not urgent.

I think this paints a picture of a toxic work environment but it definitely is not. This is just a product of a company and myself trying to adapt to unprecedented circumstances and I'm sure it will improve in the future.
You can’t catch cancer or Alzheimer’s, and the hospitals are set to handle the predicable case load. This is a situation where you can prevent a massive increase of simultaneous cases on top of all the cancer so people are trying to do that. Stabbing kills you more quickly but still seems worthwhile to prevent.
>> 70% of security defects in memory-safe languages are probably also memory safety problems.

> That doesn't make any sense at all

I'm sure it's not true—70% is way too high—but the real number isn't 0% as you might expect.

In particular, (most? all?) non-Rust languages that claim or appear to be memory-safe can have data races. In Go for example, those can be exploitable. [1]

And Rust is memory-safe...in safe code, with a bug-free compiler. Real programs have some unsafe code in their transitive dependencies and are compiled with the real, buggy compiler. [2] The percentage of security bugs in Rust code that are due to memory safety problems is more than 0%.

[1] https://blog.stalkr.net/2015/04/golang-data-races-to-break-m...

[2] https://github.com/rust-lang/rust/issues?q=is%3Aopen+is%3Ais...
Show HN: Bright, a metric and visualizer of how inspirational a GitHub repo is
I have never understood the stock price. I tried shorting at one point, that was a mistake.
I understand that. I think mikoto is fully configurable, with sensible defaults, so any feature can be disabled independently of others. Of course, there is something to be said for single purpose tools which I also like. That’s what I like about jailbreaking. It allows people to have a preference. Stock iOS is just not for power users.
Steam was nowhere near the app store we know today when it was created. It was Valve's auto-updater and match-making service. They had a few partner games using it as well.

I may recall it badly but I am pretty sure they opened it to general companies and indie studios as a reaction to Windows 8 built-in app store:

https://www.bbc.com/news/technology-18996377
Not “Black Mirror” at all then lol!
> So YouTube is marginally better than random, Reddit is worse than the simple difference, and Hacker News is the only one of the three better than Bayesian average. Disappointing but also plausible.

There used to be a lot of gold among the trash in YT comments back in the day, but for some reason YT will show you spam comments from two days ago over comments with hundreds of likes from a year ago, so it's become literally impossible to find those.

They don't allow you to sort by votes and their "best comments" sorting is complete BS.

Nowadays I just block YouTube comments out with uBlock Origin, reading through them is rarely worth the time and is usually just a pointless distraction.
Science did well before radical ideas could be voted down by peer review.

Would Einstein and Darwin have made it through peer review? I doubt it.

What current day people like that are held up by their "peers"? I fear we'll never know.
Videos on Google drive are transcoded to tens of different formats for viewing, depending on the devices hardware decoders and bandwidth available.
I hate them for destroying a great idea. I was keeping an occasional eye on when they’d go international.
> Question to C++ pros: are there not idioms that can be used and ruthlessly enforced to avoid such problems entirely?

"In theory, yes - in practice, no."

You can use static analysis, vendor-specific annotations, runtime tools like clang's various sanitizers or valgrind, thorough code audits, use smart pointers instead of raw, have clear ownership semantics, follow MIRSA C guidelines, NASA guidelines, etc etc etc... but eventually your project will grow to the point where you'll botch an edge case, and the number of botched edge cases all your coworkers manage to add up will turn into a statistic.

Even if me and all my coworkers were all godlings incapable of making mistakes, we'd still end up debugging plenty of memory safety issues - in second/third party code, sometimes without source code, and writing bug reports / workarounds as a result.
I just installed this and looking at the dependencies it includes both numpy and pandas.

Could anyone advise how these relate to DuckDB? i.e. Is a DuckDB accessible as a Pandas dataframe?
Even if it’s not go crazy in the traditional sense, I know for me I can’t smoke like in college, I get extremely anxious.
Anecdote: I had to track down a bug in one of my programs once because a vexing parse caused the compiler to emit a call to the wrong specialization of a constructor, leading to certain fields remaining uninitialized. This was in a small, greenfield project that I wrote using the full force of modern C++17, using the safest, most idiomatic constructs I could find. The fact that no compiler or sanitizers made so much as a peep makes me feel that memory unsafety is embedded so deep into the core of the language that extracting out “the good parts” is probably of similar complexity to just detecting all the problems ahead of time. (That is: impossible.)
Sounds great, but U2F keys are super expensive and U2F is supported nowhere. Password managers are free and work everywhere already.
And they’ll create a company with the name coming from a common English word. I guess triplebyte is an old school 2 word combo.
I'm not so sure about the metric, but I read your code and those are excellent comments haha.
It's am interesting approach, are you planning on making a bot, website or something with that information?
An interesting thing about the old system is that it could have checked data types just fine. This would have required linker support, but in the early years C didn't have the influence to make that happen. It would have been the tail wagging the dog. Linkers were designed for other languages, then used by C.

With linker support, C++ would never have had to resort to name mangling.

The foo(i,j) in your example could have caused the compiler to emit assembly directives to specify the argument types and return type. The assembler could have put these into the object file. The linker could have checked for compatibility when linking. The linker could have produced warnings, errors, or in some cases even thunks.
Home – TGE Top Down
Bright searches through all of the people who starred a particular repo, then looks at how many stars each of their repos have. It sums the total number of stars from each user to compute a "Brightness" score for a repo. It also creates a tree for visualizing what repos that your stargazers have made and which of those repos have a lot of stars.

The intuition behind this is that a user who has a cumulative 1000 github stars is likely more experienced and knowledgable than a user with 0 github stars. Repositories which have thousands of stars from fake bot accounts (whose accounts would have 0 cumulative stars) would have a brightness score of zero, but a repository which seems unimportant but had a highly experienced developer star it would have a high brightness score.
Relatedly, here's a brilliant (and short) podcast episode:

Hunting For YouTube's Saddest Comments:
https://www.wnycstudios.org/podcasts/otm/articles/tldr-12-hu...
Apparently season 3 will be coming out later this year.
I’m having flashbacks of mistyped commands on a G1 keyboard leading to restoring my nandroid backups. It took a couple tries but was well worth it for the decent overclock I was able to get out of it. With an extended battery it was a pretty decent two or three day charge phone with some battery management. Still love that phone.
Even if C++ is used less than before it won't die off and C++ experts can demand more money especially because there are fewer of them as most programmers move to more modern languages.
Nobody freaks out over automobile deaths.
> In terms of ventilators many people where kept off of ventilators who would have been given them in normal conditions.

Sadly, that wasn't the case in NY. Even though Chinese doctors warned of the risks of ventilators in Jan/Feb, the US ignored that. There were 2 reasons:

1) intubating patients protected staff from aerosolization after the intubation

2) old understanding of oxygen levels led doctors to intubate way too early for corona.
There is nothing wrong with using new Array() to construct array of known capacity. By default, I think JS literal arrays will have a capacity of 4, so especially if you know you will have less than four elements, or a non power of two number of elements, this can be seen as a micro-optimization. `bluebird` uses new Array() extensively, e.g.

https://github.com/petkaantonov/bluebird/blob/12154adb501660...
Has anybody in the tech media picked up on this? Doesn't seem like it from a cursory browse of my favorite sites (HN do your magic) This seems like something that Apple really ought to be taken to task for. I'm sure the privacy concerns if not the performance will rile up the broader non-HN public if only the information reaches them. Perhaps then we can get Apple to move to a less stupid system.
Deep Dive into the Single Responsibility Principle
Do you have more details or link? Like the grandparent comment, I have gone through so many incarnations of Google searches and guides and sketchy scripts just to wind up with a half-working mess if I get anything running at all
Yep, compressibility is another big win made possible by columnar layout, and it looks like DuckDB implements at least some form of column compression.
I also hadn't heard of LuLu, great suggestion!