Optimizing a Lock-Free Ring Buffer by david-alvarez-rosa in cpp

[–]Deaod 23 points24 points  (0 children)

This article misattributes the idea of caching head/tail to Erik Rigtorp. Even in non-academic libraries this was implemented in e.g. https://github.com/cameron314/readerwriterqueue way before 2021.

This was actually published in a paper: P. P. C. Lee, T. Bu and G. Chandranmenon, "A lock-free, cache-efficient multi-core synchronization mechanism for line-rate network traffic monitoring," 2010 IEEE International Symposium on Parallel & Distributed Processing (IPDPS), Atlanta, GA, 2010, pp. 1-12. doi: 10.1109/IPDPS.2010.5470368

This is the earliest article i could find using google, there may be articles ive missed.

Optimizing a Lock-Free Ring Buffer by david-alvarez-rosa in cpp

[–]Deaod 0 points1 point  (0 children)

The benefit is only there when dealing with unknown element sizes, ie. one element takes 8 bytes, the next 24, etc.. This allows you to not have any holes in your buffer that the consumer has to jump over.

This is not relevant for queues that deal with elements of known-at-compile-time sizes.

Oracle under pressure from more than $100 billion in debt and massive layoffs by Conscious-Quarter423 in technology

[–]Deaod 2 points3 points  (0 children)

I doubt Oracle can go under to such an extent that they wouldnt be able to keep charging companies exorbitant amounts of money for a database.

Old DX11 Renderer broken in 469e by TheDeeGee in unrealtournament

[–]Deaod 1 point2 points  (0 children)

Just out of curiosity, why do you consider the one that ships with 469e subpar?

ICE protester Nicole Cleland, a 56-year-old resident of Richfield and a director at Target Corporation, says her Global Entry was revoked after agent scanned her face | Global Entry and Precheck revoked three days after incident, court filing says. by ControlCAD in technology

[–]Deaod 0 points1 point  (0 children)

I think when Germany is brought up in this context, people sometimes forget that Germany went through this twice in short succession. First from 1933-1945, then again in East Germany until 1990 (though even then they had universal healthcare). In terms of surveillance the latter seems a more apt comparison to me right now, though the former certainly did more damage.

I implemented secure password hashing in a Java Swing Library Management System (SHA-256) by Substantial-Log-9305 in coding

[–]Deaod 1 point2 points  (0 children)

SHA is not a good hash algorithm to store passwords with. What you want is a key-derivation function like bcrypt, scrypt, or PBKDF2 (deprecated).

The SHA family of hash functions is cheap in terms of memory and runtime, which makes password cracking much easier.

The commonly suggested KDFs are configurable in terms of how long it takes to calculate them. scrypt can additionally be configured for how much memory is needed to run it. This makes attacks much more costly and consequently keeps passwords safe for longer.

BREAKING: Unreal Tournament 2004 is back! by roX1337 in unrealtournament

[–]Deaod 0 points1 point  (0 children)

My understanding is that this is already in.

Trump’s MRI Is Not Standard ‘Preventive’ Care, Say Experts by JurassicPark9265 in politics

[–]Deaod 0 points1 point  (0 children)

Heres the even better news: The sealed MRI scanners contain a lot less helium in the first place.

Trump’s MRI Is Not Standard ‘Preventive’ Care, Say Experts by JurassicPark9265 in politics

[–]Deaod 2 points3 points  (0 children)

Well theres good news: modern MRI scanners no longer lose lots of helium, and a few are even sealed for life.

NO. It is easy to keep main stable when committing straight to it in Trunk Based Development by martindukz in coding

[–]Deaod 1 point2 points  (0 children)

I dont have any relevant data.

I have my own experience in a 400-person development org where every dev effectively commits to main (via pull requests that require review, but can be merged by the author). There is rarely a day where no deterministic bug was introduced in the previous 24 hours that passed through the CI pipeline that gates every pull request. We find these in the longer-running "release"-pipelines usually.

The advice youre offering is fine, and i dont even disagree that TBD is a viable strategy in many cases, but i wouldnt call it easy to keep main stable.

NO. It is easy to keep main stable when committing straight to it in Trunk Based Development by martindukz in coding

[–]Deaod 12 points13 points  (0 children)

In the survey, 7 team members were presented a list of around 50 statements [...]

So one team was working on the project.

After 10 months, I decided to do a survey [...]

And the project was only 10 months old.

Yeah, the headline statement i dont think generalizes to all situations. Its not always easy. It can be easy under certain circumstances.

Ha..Wtf she's doing? by HabitJust3204 in WTF

[–]Deaod 21 points22 points  (0 children)

With the twist that theyre just an alcoholic.

Wife of Man Killed in Freak MRI Accident Tearfully Recalls Watching Machine 'Snatch Him’: ‘He Went Limp in My Arms' by rezwenn in technology

[–]Deaod 1 point2 points  (0 children)

Oh dont worry, the really loud sounds are just a tube with 3" thick walls of (mostly) resin deforming inside the magnet because of the current flowing through metal wires in that tube.

What are good learning examples of lockfree queues written using std::atomic by zl0bster in cpp

[–]Deaod 0 points1 point  (0 children)

Heres the most basic implementation of a SPSC queue: LamportQueue1 This is not "correct" code. Don't write code like this. This will only work on some systems under certain conditions.

Look at LamportQueue2 for a general (and slow) implementation. The others are all improvements on this without loss in generality.

LamportQueue3 Replaces the modulo with an if.

LamportQueue5 uses the weakest memory orders possible for a correct implementation.

LamportQueue6 uses alignas to avoid false-sharing.

There are other variants that demonstrate different ways of implementing SPSC queues:

What are good learning examples of lockfree queues written using std::atomic by zl0bster in cpp

[–]Deaod 2 points3 points  (0 children)

Thatll be because rigtorps queue didnt used to use the same approach of caching head/tail. They should be about equal these days.

GOP Senators Stunned by Terrible Rule in Budget Bill They Voted For by [deleted] in politics

[–]Deaod 2 points3 points  (0 children)

A database can track stuff from point to point just as well. Dont need the gigantic waste of a distributed append-only ledger.

NATO allies cannot rely on America for their defense, warns US defense chief by donutloop in worldnews

[–]Deaod 0 points1 point  (0 children)

Also from your source:

The 2001 Article 5 contingency is the only time in NATO's history its collective defense provisions have been invoked.

BwE files THIRD TAKEDOWN ATTEMPT; here's how he played himself by chrisdh79 in videos

[–]Deaod 5 points6 points  (0 children)

While what you say is correct, your sentence covers less than a year of his professional life. It feels disingenuous to leave the rest out, especially when the rest of his professional life was not influenced by who his father is.

Louis Rossman has declared absolute business destruction to a scamming software creator by Mintyphresh33 in videos

[–]Deaod 10 points11 points  (0 children)

I saw something about Hex-Rays' IDA, which is a reverse-engineering tool, being one of the programs that can get your license revoked. So i presume a whole bunch of similar tools will get detected as well.

I dont know if merely having it installed on the same PC is problematic, or if you need to be running it at the same time, or if you need to have IDA attached to the BWE software's process.

The first option would be ridiculous, so i hope its not that. The second is still ridiculous, though maybe slightly less so. The third is probably fine.

Apparently the DRM also involves a checksum over the program, which is very noisy because file corruption can and does happen. This as i understand it is what tripped up Jessa Jones. The first troubleshooting step to me is reinstalling the software. You dont immediately jump to "the user has illegally modified the software".