skysight-inc/HackerNews huggingface dataset:
Just imagine that SQLite is written in C and the major of bugs are logical/optimization ones, not related to memory management.

And when talking about C++, since 2011 there are smart pointers to help developers managing memory kind of automatically.

I believe most of the problems are due the people typing on those keyboards such bad code, especially when it comes to "smart" code.

In 2020 we have plenty of tools supporting the developer job (memory sanitizers, static analysis tools, linting, profilers, etc.): The big problem is failing to / ignoring to use such tools.
it's documented too. as per the dev rel's tweet.
Good analysis. Relying on credit to enable consumer spending happened in the mid 1920s as stagnant wages, and income inequality reduced the discretionary budget of most consumers. At best spending on credit is a temporary boost to the economy as consumers will eventually be tapped out and spending will stop.

I agree with you, consumer debt isn't the solution, more affluent consumers is the solution. Raise wages, sell better products. Its like Henry Ford said when he gave a very large and controversial raise, your employees should be able to afford your products, if they can't, you might not have a market. As leaders of companies, we should return to the value system of generosity because that will actually support more market activity.
Unfortunately eToys imploded a couple of years later (2001) and there were only a few people involved at that stage so it's possible none of them are in the industry anymore. You might start by looking at email servers, I believe there are a few that use a deeply nested directory heirarchy for much the same reasons. IIRC Apple also does something similar with the interior of the sparsebundles used in Time Machine backups, but I don't know if any of that code is opensource.
What's App notifications problem in Android 10
Helpful neighboring comments from hours before yours:
https://news.ycombinator.com/item?id=23287505
https://news.ycombinator.com/item?id=23288767

Unless you want a source that many cases are asymptomatic, in which case you can easily google that yourself.
Ansiplay.js – Simple ANSI Music Player based on Ansiplay.exe
Google should really look into this. Improve your developer support experience, that’s the right way to treat your ecosystem contributors.
> I can _quite easily_ see how a non-native English speaker could use the phrase “if you know what you are doing” to mean “if you are careful”.

This kind of thing is a scourge. I had a Chinese friend respond to something I said once by saying "that's nice". It looks so innocent... but it's really hard to overlook the fact that "that's nice" is a serious insult coming from a native speaker. I had to ask them to please never use that phrase to me again.
Hi, one of the authors of DuckDB here.

ad 1) An index is an additional data structure that takes space and needs maintenance when the data changes. This is especially problematic for realtime data. DuckDBs main data structure and implementation is designed for efficient scanning without needing an additional index ("vectorised columnar").

ad 2) We support STDDEV_SAMP and STDDEV_POP. There is also an interface to define your own functions. We are very aware of how SQLite is doing things and even support their client API. But we also might eventually add their way of adding UDFs from Python.
"Wirth's law is an adage on computer performance which states that software is getting slower more rapidly than hardware is becoming faster.

The adage is named after Niklaus Wirth, who discussed it in his 1995 article "A Plea for Lean Software".[1][2]"

We could do better languages. But it just takes insane resources to compete with the others ecosystem. IDE's, the Pandas, the format on save.

I've been a professional C++-developer in the past and one of the great things is the tooling and the just sheer knowledge of my past C++ colleagues. They know what happens in the kernel, they know the performance optimisation tricks, they know a lot, because the knowledge they gather just have a longer lifespan.

Ask a JS-developer and they will tell you all the web frameworks that came before React and their quirks...
I don't want a website open all the time. I don't want to have to be connected to the internet to read my catalogue of saved articles. I want native performance, not "good enough" or "not really an issue" performance. I want 100% integration with my system; I want AppleScript-based automation. I want my system's accessibility settings to determine how I use the content, not depend on how some website's CSS handles my use cases — not that a lot of websites, particularly SPAs, are made such that VoiceOver can deal with them.

Those are my reasons why I'd want a local desktop app, anyway.
Classic Calculator Was Reverse Engineered from the Bare Metal
So-called "modern C++", using std::string, RAII, unique_ptr (and shared_ptr).
It's not perfect but it's certainly a giant leap from old-school C.

It's something I don't see Rust proponents address. It's easy to build a straw man argument of Rust vs. old-school C, but it's a more natural path to go from C to modern C++ than to go from C to Rust. You get to keep your compiler, build system, tools, libraries and indeed existing code.
The scenes in the first Tron before they get into the virtual world can be a little rough, and feel like they were kind of rushing through some of them.

I'd definitely give it and Tron 2 a chance.
Seems irrelevant that they work from home
If you package one of the IdentityServer4[1] quickstarts with e.g. Docker you'll get a comparable result.

[1]: https://github.com/IdentityServer/IdentityServer4
> ... the replica reproduced its behavior, by using an emulator running firmware that had been reverse engineered by visually examining the metal of an original processor.
While the notice probably comes from some automated system resembling authoritarian governments as described below, it looks like your extension would be undesirable to Google's business model and metrics they would want to optimize anyway. I hope you can find a different platform to run the extension, it seems more friendly than the screen time features in Apple.

I haven't used Chrome since I've left Google and would recommend everyone to move to an alternative non-Chrome-based browser for a more balanced ecosystem. All the bad behaviour can be avoided when companies actually need to look after retaining users and taking care of not so frequent cases and I hope better business practices can come up without the need for government intervention.
Also, you can assume Google to be using all of the tools at their disposal. The stakes are high for them and they've been dealing with security issues for a long time. It helps, but it's obviously not enough. This seems to be true for most widely used C/C++ code bases; including those with decades of scrutiny. At best some projects have a good track record when it comes to dealing with these issues in a diligent way. Chromium seems to be one of those projects.
> DB Browser for SQLite

If it helps, our development builds for quite a few months have:

https://nightlies.sqlitebrowser.org/latest/

Our recent 3.12.0-alpha1 release does as well:

https://nightlies.sqlitebrowser.org/latest/

The first beta release for 3.12.0 should be out next week. There's not much change in it though (mostly language string changes), as the alpha1 has turned out to be really stable. :)
> I am genuinely curious about this, do you really think Haskell has performance characteristics that are suitable for implementing Chromium? Haskell is wonderful for many uses, but it is difficult for me to imagine it as the basis for a modern web browser.

Short answer: yes. Long answer: profiling and diagnosing performance issues is still kind of a black art, but for large codebases I've seen Haskell rewrites outperform C++ significantly. You need talented Haskell developers, but surely Google should be able to find those. Most of the tasks that I can think of in a web browser seem like things that Haskell is ideally suited to - parsing, data transformation, rule-based logic - what is it that makes you think it would be unsuitable?
I’m will have to admit that I haven’t tried clang-tidy on it (I will once I get back to a computer), but I am unsure that it would be able to diagnose the issue. I linked to the code in another comment (https://news.ycombinator.com/item?id=23289614) but the issue was that I have multiple template specializations of a class, each of which has a constructor that fully initializes that specific specialization’s members. The specific problem was that I used parentheses in a context where I was letting the language deduce which constructor it needed to call based on template arguments but (as far as I understand) this made it deduce the type incorrectly and always call the unspecialized version that had none of the members, but the type system let me coerce that into one of the specialized ones (also not sure how, but presumably some magic along the lines of “they were the same class”) and the non-shared members at that point were not initialized. Oh, and this was in a constexpr context which essentially generated a switch statement on an instruction opcode at compile time. So I’m not confident that an automated tool could pick this up, although if when I try it it finds the issue I will be extremely impressed.
That's what I thought as well, but my experience contradicts that. Wacom is expensive, but it still leads in terms of sensitivity and accuracy. The pressure levels and other specs don't tell the full story.

On both my iPad Pro (2017) and an open-box Huion H610 Pro (pretty old) I saw stairstepping behavior when drawing a straight line with a ruler on a diagonal. It wasn't very pronounced on the iPad, but it was still there. If you draw the stroke quickly, the smoothing kicks in and straightens it. I'm pretty sure this is a normal side effect of the tech used to identify the grid coordinate of the stylus. But the wobbling was notably bad on the Huion. https://imgur.com/a/iPNZzrY

When I got a Wacom Intuos Pro PTH660 (Amazon renewed), the same test without smoothing showed a perfectly straight line, even when drawing quite slowly.

I don't know why the Wacom is better. Maybe it's got a higher resolution grid for detecting the pen location. Or maybe it's just got better tuned drivers. It's also much easier to freehand accurate lines and ellipses on the Wacom.

You generally can't trust the reviews of Wacom alternatives on YouTube. As reported by Aaron Rutten, most of the companies are not looking for fair and unbiased reviews: https://www.youtube.com/watch?v=Twy5Wo8m284&t=337
Yes because curl get straight to the point. Installers might break depending on OS updates (see macOS/Windows)
On one hand, I found this comment from Linus about CMOV in 2007, explaining that CMOV is generally a bad idea (but maybe it changed in 13 years) : https://yarchive.net/comp/linux/cmov.html

On the other hand : "The slowdown we’ve measured here is directly related to NOT having CMOV available to us through the CoreCLR JIT."

I guess you would need to benchmark your program on Intel, AMD and ARM with CMOV and without to have a definitive answer.
If it actually existed, surely at least one C++ compiler would have an -EUNSAFE option, right?
Sorry to double post, but I'm past the edit time and should add that not all of these will be on the default handful of repositories that come stock in Cydia on a fresh jailbreak. You might have to search and find the correct repo to add before you can search and find the package to install. Many packages are hosted on large centralized repos like BigBoss or Packix but just as many are hosted on devs' personal repos.
Ugh. We get the cyberpunk dystopia but we don't get the cool cyber-limbs and neural AR interfaces.

Worst of both worlds. Can I get a refund?
My current data solution is layers of code on top of redis, trying really hard to be everything Rethink was.

Easy access to changelogs should be an "easy to access" feature in all databases. Event driven systems aren't rare: the data store needs to be done to tell interested parties that underlying data has changed.
They look surprisingly "European".
The BBC has a fairly dire reputation for it's scientific reporting
Speed Painting and Conceptualizing Krita
Chrome is a heavy user of such tools and has many talented engineers working on it.
Have you tried? The website actually hijack the back button...
Rust supports incremental rewrites of existing C-codebases too.

See this for an example: https://news.ycombinator.com/item?id=21681395
> WARNING: this library is NOT ready for production. Use at your own risk!

How far off do you reckon it is from being "production" ready?

Asking because we've been adding useful SQLite extensions as optional extras in our (sqlitebrowser.org) installer. Can add yours too, if you reckon the code is reasonably cross platform and shouldn't cause (many) weird issues. :)
Ironically, something we already had.
Memory safety and performance are not a contradiction, they are widely independant. Yes, some strategies like GC induce an overhead. But in the age of multiprocessor machines, this overhead gets very much reduced by parallel collection. And practice has shown, in programs with a lot of dynamic memory allocation, garbage collected languages often perform even better.
There are different approaches, like memory safety by the compiler as Rust does it.
And with "performance" in mind, you shouldn't forget, that most large C/C++ programs tend to use libraries to provide some amount of safety, but those libraries are of course adding some overhead too.
Finally, the less time you spend on questions of memory management, the more time you have to write an actually fast program.
A Quick Introduction to Firestore
I guess it's likely ok as long as it's an open container - that's how it works in the UK.
Edit: I mean 3900x, not 3950x.
Do you think issue at google is not knowing about/not using the proper tools?
Google reduces allocatable CPU for e2-micro, small, medium
This is the email I've received a few days ago:

Hello Google Kubernetes Engine Customer,

We are writing to let you know that as part of ensuring better representation of available resources on the node for e2 burstable node types, Google Kubernetes Engine (GKE) has decided to reduce the allocatable CPU resources available to schedule user workloads (known as the node allocatable resources) on e2-micro, e2-small, and e2-medium machine types.

What do I need to know?

Today, e2-micro, e2-small and e2-medium have 1930 mCPU of allocatable resources for Kubernetes to schedule Pods on per node, and following this change, it will be 940mCPU. Kubernetes uses the node allocatable resources during scheduling to decide how many Pods it should place on the node. If your workloads are currently requesting more CPU resources than what will be available after upgrading, they may become unscheduled after upgrade.

We are making this change in order to more accurately represent the resources available in these machine types. These machine types can temporarily burst to 2 vCPUs as documented, but this is not sustained. Note that the underlying compute capabilities and resources are not changing, the machines retain the ability to temporarily burst to 2 vCPU, this change only affects how many resources the Kubernetes scheduler considers when allocating Pods to nodes.

When your cluster is upgraded to 1.16.8-gke.17 or 1.17.5-gke.5 or later (whether you perform this manually or you are automatically upgraded), your workloads may become unscheduled if there are not enough allocatable resources in the cluster.
I am fairly sure such constructs require unsafe? https://doc.rust-lang.org/std/mem/union.MaybeUninit.html
Interactive Workstations for 3D Visualization Based on Voxel CPU Architecture
It really can (LXD cloud setup from personal experience), the problem is that if you don't serialise your writes then yeah, fun times to be had. There are compromises for all databases. People just like telling others their opinion as fact, and how wrong everybody is apart from themselves of course.
For me it started with the Ribbon interface, or maybe in the iteration before where they started hiding meny items.

For me this was the starting point.

After or around the same time someone from Gnome (or Red Hat?) realized (at least this is how I remember their marketing) humans think spatially - and used that observation to decide that everytime I click on a folder in Nautilus it should open in a new window. (Yes, it becomes a mess really quick.)

Also the insistence on removing every configuration option.

Same goes for Unity: my best explanation is someone heard Mac OS had great UX and decided to copy it wholesale: Move controls to the left. Change Alt-tab. Introduce dock.

Common for all these "improvements" is that nobody asked us users, and nobody cared to make it easy to go back.

I now have an acquired distrust of ux designers (and I am really happy whenever I meet good ones which thankfully happens often where I work.)

- Ribbon has mostly been fixed now, and is mostly pleasant to use even if the File menu is still jarring.

- Nautilus was fixed in the next major version.

- Unity was never fixed. I hear some people like it but I guess we are a good bunch of old Ubuntu users who cannot stand it. More importantly it is hard for me to see any reason besides arrogance for why there couldn't an option somewhere to get back to normal alt-tab.
The speed of Chrome's from-scratch JavaScript engine was a major selling point when released, yes. But that speed came from a lot of places - after all, competing JavaScript engines were also written in C++, and in particular areas V8 was thousands of times faster than them.

Using Java over C++ would have meant a factor of 2 up-front performance cost. But it would also have meant significantly less time debugging, easier testing, faster iteration, better automated refactoring support... all of which would have added up to being able to spend more development effort finding the kind of algorithmic improvements that give you those 1000x speedups. I'm not at all convinced that the end result would have been slower.
> Facebook has been at war with ad blockers since at least 2016, when Andrew Bosworth, then the company’s VP of Ads & Business Platform, said in a blog post that Facebook’s ads were so “relevant,” “well-made,” and “useful” that Bosworth wrote, “we’ll also begin showing ads on Facebook desktop for people who currently use ad blocking software”—in other words, overriding the user’s software with code tricks.

This excuse is so disingenuous that it would have been better to have said nothing at all.
Google won't be fully remote, CEO says
ITunes doesn't seem to actually work either.
Ok then a followup question: do you use pointers in your code and allocate objects on the heap?

I'm quite curious what tools you're using to formally verify your C++ code if you are. My understanding is that in general you can't, which is why msan/asan exist, to get a first approximation of verifying things that can't be formally verified for most C++ code.

(In general, I'm dubious of these claims that "Most serious projects won’t hire you if you aren’t capable of writing memory safe code in your sleep", because I think if you asked the majority of the members of the C++ committee if they could do that, they'd say no).
Isaac Mophatlane on government accountability, the ICT sector, and tech startups
Your comment made me buy one on eBay. I’m going to use it for a telephone operated jukebox.
It's rather easy to dynamically link something that's not polymorphic.
> a key assumption that the samples need to be drawn i.i.d. from a single underlying probability distribution, or perhaps need to satisfy the related assumption of being exchangeable

Unfortunately this kind of key assumption is rarely made explicit when teaching people stats. I see research papers all the time making this assumption where it clearly isn't warranted - such as in benchmarking a computer.
I would rather smoke several low-thc spliffs over the course of an evening than the equivalent amount in two hits. Sure, the lung damage isn't ideal, but it beats just falling asleep and being useless for 4 hours.
My general understanding is that most people do take peer review to be such a filter.

I'm "just a lay person" but I'm also someone solving a real serious scientific problem and I'm dependent on trusting that people with PhD's who answer questions of mine about cell biology or whatever can be trusted because, unlike me, they had the capacity to pursue a PhD. I simply can't. I'm too busy solving a scientific problem like my life depends upon it because it does.

And I'm sure this is a really stupid to comment to leave. I've written several drafts and I don't know a good way to engage your comment.

I primarily replied to the comment about "infinite time" because I sort of have "infinite time" in that I'm an unemployed bum with a bit of unearned income who also occasionally tries to earn a few bucks and whose primary focus is on understanding a scientific question so that I don't die and all that.

And as someone with "infinite time" to devote to reading articles and what not because reading those articles and what not is a higher priority than almost anything else since my life depends upon it, I find that I still need filtering mechanisms.

Now that I've dug my grave deeper, I shall endeavor to tear myself away from the computer and try to get a little shut eye.

Have a good evening.
UBSan does some of what you are asking for.
If it means that I'll have access to the manufactured vaccine earlier, I'm OK with this.
You can never be naked in public, so the proper comparison is whether you are never naked at home. Most people probably sit around their room naked at some point.
There is not much difference between smelling cigars and smelling my neighbours smoking weed, is there?
It never occurred to me, that being able to smell this might indicate danger.
Coronavirus: 'Baffling' observations from the front line
I thought Foursquare disappeared years ago, how bizarre.
Ah, the "bad code" fallacy. If we hadn't had enough experiences already, the article we are disucssing here clearly shows, how difficult it is, to get C/C++ code reasonably error free. Yes, there exist a free applications, which are pretty good in that respect, but if your goal is to be error-free, the development time balloons. And you are often limited to very simple memory allocation schemas.
If you think that "smart pointers" should be used, why not just use a memory-safe language?
You could use MISRA guidelines for C.

https://en.wikipedia.org/wiki/MISRA_C
Germany did (and is still doing) 2m. I'm actually unaware of anywhere doing 1-1.5m - perhaps the US?
> It only works when everyone plays balls and doesn't do C style coding, ever.

If that’s the problem, and solving that would solve all of C++s memory-issues, why have no-one made a compiler option to simply make that code illegal? A -EUNSAFE or whatever?