How concurrecy works: A visual guide

#606 – December 22, 2024

A programmer had a problem. "I'll solve it with threads!". has Now problems. two he

Hello, 👋

This is the last newsletter in 2024. I’m going to take a couple of weeks off and I’ll be back on January 6th. There’s a few exciting things planned for the next year already.

Last week, I moved the newsletter over to my home brewed email service provider. It seemed that it worked. We're back to simple format of a "friend sharing links" with you. And the newsletter should land in your inbox a touch more reliably. If you have any feedback or something doesn't work please let me know.

Secondly, I’d like to focus on the content itself. Let me know which areas you’d like me to cover and what you’d like to learn next year. More front-end? Back-end? Architecture? Case studies? A bit of history? Computer science? I'm all ears.

And lastly, I’d like to reach as many programmers as possible. If you like the newsletter please share it with your tech friends and colleagues. It’ll help a lot.

Build Smarter in 2025
sponsored by AssemblyAI

AI is transforming development. As 2025 approaches, developers are leveraging multimodal AI and refining build-vs-buy decisions. Stay ahead with AssemblyAI’s powerful Speech AI models. Test the API for free to explore speech-to-text, speech understanding, LLMs, and more—start building your next AI-driven app today.

How concurrecy works: A visual guide
14 minutes by Waqas Younas

Concurrent programming is hard. Mentally enumerating all the possible states that complex concurrent code might go through is far from easy. Visualizing concurrency can make it easier to understand how these programs operate, especially for those just beginning to learn about concurrency.

What Did Ada Lovelace's Program Actually Do?
20 minutes by Sinclair Target

In 1843, Ada Lovelace published the first nontrivial program. How did it work?

How to Actually Migrate Complex Systems in Infrastructure
14 minutes by Kyle Cascade

The article discusses best practices for large-scale system migrations, emphasizing the "Strangler Fig Pattern" approach where new system components gradually envelop and replace the old system's functionality. The author outlines three key tenets: minimize the time running two systems in parallel, keep migration blockers within your team's control, and never burden customers with migration work.

"Rules" that terminal programs follow
10 minutes by Julia Evans

Julia discusses common behavioral patterns of terminal programs, despite the lack of formal standards. She identifies seven key "rules" that most terminal programs follow, including: non-interactive programs quitting with Ctrl-C, TUIs quitting with 'q', REPLs exiting with Ctrl-D on empty lines, using only 16 colors, supporting readline keybindings, disabling colors in pipes, and using '-' for stdin/stdout.

When IBM Built a War Room for Executives
12 minutes by David C. Brock

A recording showcases IBM's Executive Terminal system, which represented a hierarchical approach to computing that contrasted with Douglas Engelbart's more collaborative "Mother of All Demos" from the same year. The video, recently digitized by George Blood LP, reveals a previously unknown chapter in computing history where IBM created a system allowing executives to interact with information specialists through video terminals, reflecting a different vision for the future of computer interaction than Engelbart's more democratic approach.

And I'll wrap up with an unexpected bonus link – Map of Github.

Thank you for your support in 2024. Have a lovely Christmas break and I’ll see you again in January.

Jakub 🎄🎅🏻

newsletters