Advertisement ยท 728 ร— 90

Posts by Peter Mbanugo

GitHub - pmbanugo/tina: A shared-nothing, thread-per-core concurrency framework. Designed for massive concurrency because There Is No Alternative (TINA) A shared-nothing, thread-per-core concurrency framework. Designed for massive concurrency because There Is No Alternative (TINA) - pmbanugo/tina

For those curious, the link is at github.com/pmbanugo/tina

5 days ago 0 0 0 0
GitHub star history for https://github.com/pmbanugo/tina

GitHub star history for https://github.com/pmbanugo/tina

2 weeks after public release, Tina is gaining some eyeballs. if you haven't already, check it out โ€” don't say I didn't tell you :)

I'm currently working on adding a HTTP lib extension, and in the process decided I had to change some things at the core for better socket handling.

5 days ago 0 0 1 0
GitHub - pmbanugo/tina: A shared-nothing, thread-per-core concurrency framework. Designed for massive concurrency because There Is No Alternative (TINA) A shared-nothing, thread-per-core concurrency framework. Designed for massive concurrency because There Is No Alternative (TINA) - pmbanugo/tina

If you are building servers or infrastructure systems that simply cannot fail, I'd love your architectural critique.

Check out the code, the docs (work-in-progress), and run the examples here:

github.com/pmbanugo/tina

6 days ago 0 0 0 0
demostrate the core unit of execution in Tina

demostrate the core unit of execution in Tina

Instead of coloured functions or promise hell, you write Isolates (They don't block nor await).

An Isolate receives a message, updates its state, and returns an Effect (Yield, Receive/Reply, IO, Crash) to the user-space scheduler.

6 days ago 0 0 1 0
shows the three foundations of Tina

shows the three foundations of Tina

The architecture maps directly to the hardware constraint:

1. The Shard (Cell): 1 OS thread pinned to 1 CPU core.
2. The Isolates: lightweight processes representing a unit of concurrent execution.
3. The Grand Arena: A single memory block, partitioned at boot.

6 days ago 0 0 1 0
shows the major things the framework rejected, and how it works around them.

shows the major things the framework rejected, and how it works around them.

I achieved this by strictly limiting what the programmer can do. Architecture constraint solves problems better than language features.

So I chose these constraints:

๐Ÿšซ No Garbage Collection.
๐Ÿšซ No async/await.
๐Ÿšซ No Mutexes.
๐Ÿšซ No hidden allocations after boot.

6 days ago 0 0 1 0
comparing Tina to Erlang/BEAM, Seastar, Tokio

comparing Tina to Erlang/BEAM, Seastar, Tokio

Software engineers usually have to compromise between speed and safety.
You get the BEAMโ€™s "let it crash" reliability, but pay with VM/GC overhead. Or you get C/Rust speed, but fight mutexes and async/await fragmentation.

Tina was built to reject this compromise.

6 days ago 0 0 1 0
shows the pillars of the Tina framework, and the compromise it rejects

shows the pillars of the Tina framework, and the compromise it rejects

What happens when you combine Erlang-style concurrency + ScyllaDB's Seastar speed + deterministic simulation?

Meet Tina: A strictly bounded, fault-tolerant, thread-per-core concurrency framework. ๐Ÿงต๐Ÿ‘‡

6 days ago 2 0 1 0
Advertisement

I like this reflection. Quite an interesting post.

1 week ago 0 0 0 0

Why? Does it hold if youโ€™re pro vs anti coding agent?

1 week ago 0 0 0 0

Looks beautiful

1 week ago 0 0 0 0
Preview
Why Queues Donโ€™t Fix Overload (And What To Do Instead) Why adding Kafka or bigger queues won't save your server from traffic spikes. Learn the physics of backpressure, load shedding, and the latency death spiral.

Why Queues Donโ€™t Fix Overload

My Saturday musing, published as a blog post
pmbanugo.me/blog/why-que...

Do you agree?

1 week ago 0 0 0 0

AI coding accelerates software pollution and further advances bad education on what it takes to make software

Just as ppl expected the increase in software performance with 5 - 20x hardware performance decades ago. Theyโ€™re doing a similar thing with AI - better hardware & models

1 month ago 0 0 0 0

๐Ÿ’œ๐Ÿซ‚

1 month ago 1 0 0 0

My current experiment is around stealing some ideas from the BEAM and combining with some from Seastar (C++ framework)

Hopefully it comes out good enough for me to share it publicly.

Imagine-> BEAM (fault-tolerance) + Seastar (Shards) = ๐Ÿ’ญ

1 month ago 0 0 0 0

In programming reliable software systems, first you make them correct and fault tolerant, then you make them fast.

1 month ago 1 0 1 0

Elimination is a core part of software optimisation. But it also carries over into other areas of life.

If you can eliminate, thereby reducing the amount of task or functions you would like to do, you have enough memory space to juggle the vital few

2 months ago 1 0 0 1
Advertisement
Preview
Building a Formal Verification Tool from Scratch A deep dive into building a TLA-based formal verification tool from scratch. Learn systems programming, virtual machines, parsers, compilers, and formal method by building a real tool.

Most bugs exist because we only test scenarios we thought of.

What about the ones we didnโ€™t imagine?

Iโ€™m building a formal verification tool from scratch and documenting everything โ€” parser, VM, state-space exploration.

You can follow along in my journey:

pmbanugo.me/series/forma...

2 months ago 2 0 0 0
Preview
Series | Peter Mbanugo - Consultant, Trainers, and Programmer Curated multi-part article series on DevOps, JavaScript, and software development

I've got some blog post series if you want to follow my journey into building a compiler and virtual machine, along the line learning about formal method and TLA

MOre info at pmbanugo.me/series

2 months ago 1 0 0 0
Preview
Series | Peter Mbanugo - Consultant, Trainers, and Programmer Curated multi-part article series on DevOps, JavaScript, and software development

I've got some blog post series if you're looking to learn about single-producer, single-consumer queue

MOre info at pmbanugo.me/series

2 months ago 1 0 0 0

Thank you

2 months ago 1 0 0 0

Thanks

2 months ago 1 0 0 0

Congrats. I hope to be a GDE like you some day

2 months ago 0 0 0 0

Besides stacks/queues, Are there data structures or algorithms in it that are fundamental to making a compiler and VM?
Iโ€™m curious about compilers and VM and currently figuring out how they work and how to make one.

2 months ago 0 0 1 0
Speculations about Web Performance - Barry Pollard - performance.now() 2025
Speculations about Web Performance - Barry Pollard - performance.now() 2025 YouTube video by Web Conferences Amsterdam

I also talked about prerender until script (and other improvements to the Speculation Rules API!) a few months ago at @perfnow.nl , so if you prefer your learning though video (and can put up with my um's and err's) then you can check that out here:

www.youtube.com/watch?v=DqE9...

2 months ago 3 1 0 0

Adapting old programs to fit new machines usually means adapting new machines to behave like old ones.
โ€”Alan Perils

3 months ago 0 0 0 0
fabulous_dsa.odin/binary_fuse_filters at main ยท pmbanugo/fabulous_dsa.odin AN adventure and experiment on Data Structure and Algorithms, implemented in Odin - pmbanugo/fabulous_dsa.odin

It was a great exercise in translating theory into a Data-Oriented implementation.

Check out the repo here: github.com/pmbanugo/fab...

hashtag#DataStructures hashtag#Learning hashtag#Coding hashtag#Odin hashtag#ComputerScience

3 months ago 0 0 0 0
Advertisement

implemented the algorithm in Odin as part of my deep dive into Data Structures and Algorithms.

๐—ง๐—ต๐—ฒ ๐—ง๐—Ÿ;๐——๐—ฅ:
Binary Fuse Filters use a peeling algorithm to compress data down to theoretical limits. The implementation achieves:
โœ… ~9 bits per entry
โœ… 0.4% False Positive Rate
โœ… Branchless query logic

3 months ago 0 0 1 0

Turning academic papers into working code

I recently dove into the paper "๐˜ฝ๐™ž๐™ฃ๐™–๐™ง๐™ฎ ๐™๐™ช๐™จ๐™š ๐™๐™ž๐™ก๐™ฉ๐™š๐™ง๐™จ: ๐™๐™–๐™จ๐™ฉ ๐™–๐™ฃ๐™™ ๐™Ž๐™ข๐™–๐™ก๐™ก๐™š๐™ง ๐™๐™๐™–๐™ฃ ๐™“๐™ค๐™ง ๐™๐™ž๐™ก๐™ฉ๐™š๐™ง๐™จ" by Graf and Daniel Lemire. I wanted to understand how we can store millions of keys efficiently in memory without the overhead of standard hash tables or Bloom filters.๐Ÿงต

3 months ago 0 0 1 0
Preview
Building a Formal Verification Tool from Scratch: Part 1 (Die Hard Edition) What if you could explore every possible timeline of your distributed system to find the bugs you haven't imagined yet? I'm building a TLA model checker from scratch to understand how formal verificat...

I used the Die Hard water-jug puzzle to understand model checking, by building a naive solver.

I only defined the rules; the strategy emerged from exploring every timeline/state.

Thatโ€™s why formal verification catches bugs tests miss.

Part 1: pmbanugo.me/blog/tla-for...

3 months ago 0 0 0 0