frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Ditch your (mut)ex, you deserve better

https://chrispenner.ca/posts/mutexes
43•commandersaki•6d ago•19 comments

How many video games include a marriage proposal? At least one

https://32bits.substack.com/p/under-the-microscope-ncaa-basketball
184•bbayles•4d ago•42 comments

Unofficial "Tier 4" Rust Target for older Windows versions

https://github.com/rust9x/rust
68•kristianp•6h ago•30 comments

Show HN: I built a synth for my daughter

https://bitsnpieces.dev/posts/a-synth-for-my-daughter/
1096•random_moonwalk•5d ago•189 comments

Azure hit by 15 Tbps DDoS attack using 500k IP addresses

https://www.bleepingcomputer.com/news/microsoft/microsoft-aisuru-botnet-used-500-000-ips-in-15-tb...
338•speckx•15h ago•225 comments

Compiling Ruby to machine language

https://patshaughnessy.net/2025/11/17/compiling-ruby-to-machine-language
237•todsacerdoti•12h ago•42 comments

Rebecca Heineman has died

https://www.pcgamer.com/gaming-industry/legendary-game-designer-programmer-space-invaders-champio...
403•shdon•7h ago•42 comments

My stages of learning to be a socially normal person

https://sashachapin.substack.com/p/my-six-stages-of-learning-to-be-a
431•eatitraw•2d ago•274 comments

Astrophotographer snaps skydiver falling in front of the sun

https://www.iflscience.com/the-fall-of-icarus-you-have-never-seen-an-astrophotography-picture-lik...
355•doener•1d ago•69 comments

Langfuse (YC W23) Hiring OSS Support Engineers in Berlin and SF

https://jobs.ashbyhq.com/langfuse/5ff18d4d-9066-4c67-8ecc-ffc0e295fee6
1•clemo_ra•1h ago

LeJEPA

https://arxiv.org/abs/2511.08544
38•nothrowaways•5h ago•5 comments

Show HN: Parqeye – A CLI tool to visualize and inspect Parquet files

https://github.com/kaushiksrini/parqeye
94•kaushiksrini•9h ago•23 comments

Project Gemini

https://geminiprotocol.net/
270•andsoitis•17h ago•151 comments

FreeMDU: Open-source Miele appliance diagnostic tools

https://github.com/medusalix/FreeMDU
289•Medusalix•19h ago•77 comments

Run ancient UNIX on modern hardware

https://github.com/felipenlunkes/run-ancient-unix
89•doener•11h ago•14 comments

The surprising benefits of giving up

https://nautil.us/the-surprising-benefits-of-giving-up-1248362/
72•jnord•4h ago•62 comments

Windows 11 adds AI agent that runs in background with access to personal folders

https://www.windowslatest.com/2025/11/18/windows-11-to-add-an-ai-agent-that-runs-in-background-wi...
376•jinxmeta•9h ago•275 comments

When Reverse Proxies Surprise You: Hard Lessons from Operating at Scale

https://www.infoq.com/articles/scaling-reverse-proxies/
5•miggy•4d ago•0 comments

Core Devices keeps stealing our work

https://rebble.io/2025/11/17/core-devices-keeps-stealing-our-work.html
460•jdauriemma•5h ago•92 comments

How when AWS was down, we were not

https://authress.io/knowledge-base/articles/2025/11/01/how-we-prevent-aws-downtime-impacts
155•mooreds•15h ago•54 comments

WeatherNext 2: Our most advanced weather forecasting model

https://blog.google/technology/google-deepmind/weathernext-2/
252•meetpateltech•17h ago•110 comments

Show HN: Continuous Claude – run Claude Code in a loop

https://github.com/AnandChowdhary/continuous-claude
130•anandchowdhary•2d ago•48 comments

Show HN: ESPectre – Motion detection based on Wi-Fi spectre analysis

https://github.com/francescopace/espectre
158•francescopace•18h ago•37 comments

Raccoons are showing early signs of domestication

https://www.scientificamerican.com/article/raccoons-are-showing-early-signs-of-domestication/
136•pavel_lishin•3d ago•113 comments

“One Student One Chip” Course Homepage

https://ysyx.oscc.cc/docs/en/
159•camel-cdr•5d ago•41 comments

Aldous Huxley predicts Adderall and champions alternative therapies

https://angadh.com/inkhaven-7
98•surprisetalk•17h ago•113 comments

Show HN: Reversing a Cinema Camera's Peripherals Port

https://3nt3.de/blog/reversing-fs7-comms
32•3nt3•6d ago•1 comments

A new book about the origins of Effective Altruism

https://newrepublic.com/article/202433/happened-effective-altruism
85•Thevet•15h ago•112 comments

Temporal Dithering of NeoPixels on an ATtiny412

http://sarah.alroe.dk/2025/NeoInf/
36•radeeyate•5d ago•2 comments

Jeff Bezos creates A.I. startup where he will be co-chief executive

https://www.nytimes.com/2025/11/17/technology/bezos-project-prometheus.html
130•dominikposmyk•18h ago•112 comments
Open in hackernews

Ditch your (mut)ex, you deserve better

https://chrispenner.ca/posts/mutexes
42•commandersaki•6d ago

Comments

scottmas•6d ago
So cool! Any languages support STM first class besides Haskell?
cosmic_quanta•6d ago
I think a decade ago or so, people started trying to integrate STM in Pypy
vijaysharma12•6d ago
I believe Clojure has first class support for STM.
CGamesPlay•1h ago
Looks like somebody made a Rust experiment back when Rust was new: https://docs.rs/stm/latest/stm/
lmm•25m ago
Scala has great STM in the same way (monad-based).
LelouBil•16m ago
Not "first class" but pretty good in Kotlin

https://arrow-kt.io/learn/coroutines/stm/

spencerflem•9m ago
The new Verse lang by Epic Games & a core Haskell contributor has a lot of transaction features. I don’t know if it’s exactly the same as STM though.
stackghost•6m ago
There are c++ libraries that offer it.
vinkelhake•1h ago
This felt like a blast from the past. At a few times reading this article, I had to go back and check that, yes, it's actually a new article from the year 2025 on STM in Haskell and it's even using the old bank account example.

I remember 15 or 20 years (has it been that long?) when the Haskell people like dons were banging on about: 1) Moore's law being dead, 2) future CPUs will have tons of cores, and 3) good luck wrangling them in your stone age language! Check out the cool stuff we've got going on over in Haskell!

VBprogrammer•47m ago
Yeah, I wrote an essay on STM in Haskell for a class back in 2005 I think.
lmm•23m ago
Yeah, remember when we used to care about making better programming languages that would perform faster and avoid errors, instead of just slapping blockchains or AI on everything to get VC money. Good times.
doliveira•17m ago
Only half-joking: maybe Java was a mistake. I feel like so much was lost in programming language development because of OOP...
qprofyeh•49m ago
@OP perhaps there’s a comparison bug in withdraw(): if (a.balance <= amount)
DeathArrow•45m ago
When working with high throughput concurrent code like consumer producer pipelines, it's better to avoid shared mutable state entirely. Something actor like fits better and C# or Go channels works wonders.
IshKebab•34m ago
Sure, but sometimes shared mutable state is better, especially from a performance point of view. For example blurring an image.
janetpacker•4m ago
Isn't that a typical case where you don't have to share anything? Divide the image into N chunks, let N threads handle each one, no sharing, just need a single sync point at the end to wait on completion.
Nican•23m ago
This is a nice article, and I appreciate the examples. The next problem to solve is how to persist state on disk across two different accounts after a transfer has been done.
juliangmp•17m ago
I found that a lot of the problems I had been having with mutexes, stem from the fact that traditionally the mutex and the data it protects are separate. Bolting them together, like Rust's Mutex<T> does, solves a lot these problems. It let's you write normal, synchronous code and leave the locking up to the caller, but without making it a nightmare. You can't even access the data without locking the mutex.

This isn't an attack on the (very well written) article though. Just wanted to add my two cents.

stackghost•9m ago
>Ugh, a correct transfer function should conceptually just be the composition of our well encapsulated withdraw and a deposit functions, but defining it correctly has forced us to remove the locking from both withdraw and deposit, making both of them less safe to use.

I know OOP isn't cool any more, but the above is what OOP solves.

TFA's transfer() and withdraw() functions aren't compliant with double-entry accounting anyways, so you'd mark them private and only expose Transfer to callers. Let the class handle its own details.