Hacker News with Generative AI: Concurrency

Clojure core.async.flow (github.com/clojure)
The fundamental objective of core.async.flow is to enable a strict separation of your application logic from its topology, execution, communication, lifecycle, monitoring and error handling, all of which are provided by and centralized in, c.a.flow, yielding more consistent, robust, testable, observable and operable systems.
Show HN: Pyper – Concurrent Python Made Simple (github.com/pyper-dev)
Pyper is a flexible framework for concurrent and parallel data-processing, based on functional programming patterns. Used for 🔀 ETL Systems, ⚙️ Data Microservices, and 🌐 Data Collection
Python Concurrency: Threads, Processes, and Asyncio Explained (newvick.com)
I recently needed to learn Python concurrency. I always thought I’d get to that topic someday. That someday arrived.
How concurrency works: A visual guide (wyounas.github.io)
Concurrent programming is hard.
Database Concurrency Patterns for Developers (taki-mekhalfa.github.io)
I have been developing applications interacting with databases for many years now and I have always taken concurrency for granted.
In-Depth Ruby Concurrency: Navigating the Ruby Concurrency Landscape (jpcamara.com)
I was honored to present a talk on Ruby concurrency at RubyConf 2024. It represents a high-level distillation of much of my writing and research over the past year. The conference itself was great, and presenting was such a fun experience.
What every systems programmer should know about concurrency (2020) [pdf] (bitbashing.io)
Show HN: Lfi – a lazy functional sync, async, and concurrent iteration library (lfi.dev)
lfi is a lazy functional sync, async, and concurrent iteration library
What every systems programmer should know about concurrency (2020) [pdf] (bitbashing.io)
A Science of Concurrent Programs (final draft) (azurewebsites.net)
The book A Science of Concurrent Programs will be published by Cambridge University Press.
Swift Vision: Improving the Approachability of Data-Race Safety (mjtsai.com)
This document lays out several potential paths for improving the usability of Swift 6, especially in simple situations where users aren’t intending to use concurrency at all.
Show HN: Rill – Composable concurrency toolkit for Go (github.com/destel)
Rill is a toolkit that brings composable concurrency to Go, making it easier to build concurrent programs from simple, reusable parts.
Ultra-low-latency, batching and concurrent queue for IPC in Java (github.com/coralblocks)
CoralRing is an ultra-low-latency, lock-free, garbage-free, batching and concurrent circular queue (ring) in off-heap shared memory for inter-process communication (IPC) in Java across different JVMs using memory-mapped files.
Linux 6.13 Quadrupling Workqueue Concurrency Limit (phoronix.com)
The Linux kernel Workqueue (WQ) is used for handling asynchronous process execution. For the past many years there has been an upper limit on the number of workqueue execution contexts per CPU at 512, but with Linux 6.13 that is being quadrupled to a limit of 2048.
Playground Wisdom: Threads Beat Async/Await (pocoo.org)
It's been a few years since I wrote about my challenges with async/await-based systems and how they just seem to not support back pressure well. A few years later, I do not think that this problem has subsided much, but my thinking and understanding have perhaps evolved a bit. I'm now convinced that async/await is, in fact, a bad abstraction for most languages, and we should be aiming for something better instead and that I believe to be thread.
GenMC: Model checking for concurrent C programs (mpi-sws.org)
GenMC is an open-source state-of-the-art model checker for verifying concurrent C/C++ programs under the RC11, IMM, and LKMM memory models.
We built a self-healing system to survive a concurrency bug at Netflix (pushtoprod.substack.com)
Our CPUs were dying, the bug was temporarily un-fixable, and we had no viable path forward. Here's how we managed to survive.
Bthreads: A Simple and Easy Paradigm for Clojure (thomascothran.tech)
Asynchronous programs are hard to reason about. But is this intrinsic to asynchrony? Or might we be using the wrong paradigms?
Understanding Ruby 3.3 Concurrency: A Comprehensive Guide (bestwebventures.in)
Ruby 3.3, released with significant improvements in concurrency capabilities, marks a pivotal shift in how Ruby applications handle parallel processing and concurrent operations.
Show HN: Whirlwind – Async concurrent hashmap for Rust (github.com/fortress-build)
Futexes in TLA+ (surfingcomplexity.blog)
Justine Tunney recently wrote a blog post titled The Fastest Mutexes where she describes how she implemented mutexes in Cosmopolitan Libc.
Go Concurrency vs. RxJS (gdnetwork.co)
The Watermelon Operator (matklad.github.io)
In these two most excellent articles, https://without.boats/blog/let-futures-be-futures and https://without.boats/blog/futures-unordered, withoutboats introduces the concepts of “multi-task” and “intra-task” concurrency.
An Overview of C++26: Concurrency (modernescpp.com)
Today, I will finish my overview of C++26 and write about concurrency.
Understanding Concurrency, Parallelism and JavaScript (rugu.dev)
Up until now, I was not aware that concurrency and parallelism were actually different things since they are often used interchangeably by some. I just learned that this is not the case while reading Chapter 9 of the book “Clojure for the Brave and True.”
Show HN: Asyncpal: Preemptive concurrency and parallelism for sporadic workloads (github.com/pyrustic)
JEP Draft: Adapt Object Monitors for Virtual Threads (openjdk.org)
The Syndicated Actor Model (syndicate-lang.org)
Rust Atomics and Locks (2023) (marabos.nl)
Golang Sync Mutex: Normal and Starvation Mode (victoriametrics.com)