frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Concurrency, interactivity, mutability, choose two

https://www.n16f.net/blog/concurrency-interactivity-mutability-choose-two/
14•billiob•3d ago

Comments

mrkeen•44m ago
This doesn't follow at all!

  Dropping interactivity [keep Concurrency, mutability]:

  The most popular choice is to drop interactivity: since there is no one to randomly access runtime data, there are no concurrency issues. C, Rust, Go, the list of languages that go this way is long.
No-one to randomly access runtime data? Do "other threads" not count? There are no concurrency issues in C?

  Dropping mutability

  What if you could not really change data? Instead of reading the value of a variable, you could have the runtime systematically (and safely) copy the value and return it to you.
Why would you copy anything? Copying is defense against mutation. It's what you do for safety when you're working in a language with pervasive mutation, and it's opt-in and manual, meaning it works about as well as other opt-in and manual operations, like malloc and free.

Peeking over the fence at an immutable language and thinking "that runtime does too much copying, which is bad!" is like peeking over the fence at a GC language and thinking "that runtime does too many mallocs and frees, which is bad!"

phil-martin•19m ago
I believe the article is written from a lisp point of view where it interactivity is inspecting and modifying the application itself while it is running. It’s assuming that the software has already been written with no existing concurrency issues, but when a person comes along and does something unexpected and rewrites pose of the application or in the example they gave, modifying a hash map, things break.

They used C as an example because under normal circumstances you compile a binary and don’t modify it at runtime.

I’m not doing to defend it to strongly though, I _think_ that is what they were getting at, but to be honest I found much of it confusing.

Certhas•14m ago
I think the example makes it pretty clear that this is exactly what is meant. I was thrown by the term interactivity at first as well. But I think the trichonomy is sound, and the Erlang Vs Python Vs Rust buckets are quite meaningful, though I would argue it's rare for people to "interact" with running Python programmes in this way.
socketcluster•27m ago
You can substitute the word 'interactivity' with 'statefulness' and it makes the statement more intuitive IMO.

Concurrency + statefulness means you can't have mutability because then you would run the risk of a concurrent update overwriting another. But you can have concurrent read-only state, so long as concurrent writing is not permitted. This is the 'single writer principle' which is a variant of the 'single source of truth principle'. You can't have concurrent writing in this case.

If you have statefulness + mutability then you must do away with concurrency; a different way to avoid the same concurrent overwriting problem mentioned above.

If you have concurrency + mutability, then that's possible if you don't have state... You could have multiple independent, divergent copies of the state but not a single consistent state.

roenxi•19m ago
> But again, there is no free lunch: copying data is slow. Very slow. Of course you can optimize data representations, avoid copying binary blobs (they are ref-counted in Erlang) because it would be untenable. But it will still be horribly slow.

You don't have to copy the data; it is immutable. Why copy something that isn't going to change? Are we being charged for empty RAM? Different objects can share the same structure. Famously, this is what Clojure does. Theoretically it can be faster than mutating objects because you only have to write the parts that are changing (which is the same as a mutable object), you lose something to overheads (might be nearly negligible) and have enormous gains in situations where you might need a copy of an object for some reason because that is free; there isn't any reason to actually do a copy unless the data itself is going to be mutated.

AI's top startups are barely publishing their research

https://www.science.org/content/article/ai-s-top-startups-are-barely-publishing-their-research
435•YeGoblynQueenne•11h ago•226 comments

The coolest use for the Vision Pro

https://christianselig.com/2026/07/vision-pro-house/
636•robbiet480•12h ago•250 comments

I Have Thoughts on the iPhone Air

https://christianselig.com/2026/07/iphone-air-review/
25•janandonly•57m ago•18 comments

Show HN: Open-source engine running Gemma 4 26B in 2 GB RAM on any M-series Mac

https://github.com/drumih/turbo-fieldfare
781•gitpusher42•17h ago•273 comments

Superlogical

https://www.superlogical.com/
682•yan•17h ago•409 comments

LLM Honeypot

https://llm2human.pages.dev/
224•8thom•10h ago•57 comments

The Productivity Mirage

https://frantic.im/mirage/
216•msephton•9h ago•71 comments

Keychron announces first open-source firmware for gaming mice

https://www.digitalfoundry.net/news/2026/07/keychron-announces-first-open-source-firmware-for-gam...
368•JLO64•16h ago•147 comments

Logic for Programmers

https://logicforprogrammers.com/
107•_doctor_love•7h ago•13 comments

Anatomy of a Frontier Lab Agent Intrusion: A Timeline of the July 2026 Incident

https://huggingface.co/blog/agent-intrusion-technical-timeline
377•artninja1988•1d ago•209 comments

The Cold Email

https://zachholman.com/posts/cold-email
195•holman•11h ago•76 comments

Concurrency, interactivity, mutability, choose two

https://www.n16f.net/blog/concurrency-interactivity-mutability-choose-two/
14•billiob•3d ago•5 comments

A.I. companies are recruiting electricians and carpenters by the thousands

https://www.nytimes.com/2026/07/29/business/economy/data-center-electricians-training.html
279•thm•18h ago•339 comments

Kimi K3-256k

https://www.kimi.com/code/docs/en/kimi-code/models
425•monneyboi•13h ago•124 comments

ESP32-C6 Power Consumption: Arduino vs. Zephyr vs. ESP-IDF Comparison

https://www.qoitech.com/blog/esp32-c6-power-consumption-comparison/
15•hasheddan•4d ago•2 comments

Angels in Coptic Magic I: Introduction

https://www.coptic-magic.phil.uni-wuerzburg.de/index.php/2026/01/16/angels-in-coptic-magic-i-intr...
45•jruohonen•3d ago•4 comments

Show HN: CheapFoodMap – A map of good meals under $10

https://cheapfoodmap.com/
202•jaep1•15h ago•191 comments

Turning a dumb AC unit smart (without losing my security deposit)

https://prilik.com/blog/post/automating-ac-nyc/
162•austinallegro•14h ago•131 comments

Kuna: Decompiler Development in the Age of Coding Agents

https://noelo.org/blog/kuna-release/
30•matt_d•6h ago•7 comments

Some thoughts about Anthropic's new cryptanalysis results

https://blog.cryptographyengineering.com/2026/07/29/some-notes-about-anthropics-new-results/
152•supermatou•16h ago•80 comments

Why the future is local app

https://getapps.cafe/blog/why-the-future-is-local-app
18•knlam•5h ago•11 comments

The Rust on ESP Book

https://docs.espressif.com/projects/rust/book/
154•AlexeyBrin•4d ago•15 comments

Man and the Computer by John G. Kemeny (1972 book by the co-creator of BASIC)

https://archive.org/details/mancomputerbyjoh0000john
46•MilnerRoute•9h ago•13 comments

London’s most equidistant pub

https://equidistance.io/londons-most-equidistant-pub/
36•lambfruit•4d ago•17 comments

Launch HN: Tokenless (YC S26) – Automatic model switching to save money

https://usetokenless.com/
61•rohaga•16h ago•55 comments

A Trampoline

https://dogdogfish.com/blog/2026/07/29/a-trampoline/
106•matthewsharpe3•12h ago•59 comments

Hamburg's Stadtpark: A Park Built to Be Used

https://alsterrunde.com/hamburgs-stadtpark-a-park-built-to-be-used/
150•mertbio•3d ago•40 comments

SalesPatriot (YC W25) Is Hiring FDEs

https://www.ycombinator.com/companies/salespatriot/jobs/M46X6YX-forward-deployed-engineer
1•maciejSz•11h ago

Refactoring cuisine: how an Iraqi stew sailed to Singapore

https://iza.ac/posts/2026/07/the-journey-of-bamya/
54•infinitewalk•3d ago•20 comments

Recursive Filters: SMA, EMA, Low‑Pass, and a Tiny Kalman

https://www.staszewski.xyz/blog/recursive-filters/
40•kamilstaszewski•2d ago•10 comments