Peter Mbanugo
pmbanugo.me
Peter Mbanugo
@pmbanugo.me
Software engineer/consultant, trainer, and author
@pluralsight.

Interested in Web performance, CI/CD, scalable/fault-tolerant systems

https://www.youtube.com/@pmbanugo
Christmas sale discount 50%

Limited seats available
𝗜𝗳 𝘆𝗼𝘂 𝘄𝗮𝗻𝘁 𝘁𝗼 𝗯𝗲 𝗮 𝟭𝟬𝘅 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗲𝗿, 𝗿𝗲𝗶𝗻𝘃𝗲𝗻𝘁 𝘁𝗵𝗲 𝘄𝗵𝗲𝗲𝗹. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗗𝗮𝘁𝗮𝗯𝗮𝘀𝗲. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗹𝗼𝗮𝗱 𝗯𝗮𝗹𝗮𝗻𝗰𝗲𝗿. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗣𝘂𝗯/𝗦𝘂𝗯 𝗲𝗻𝗴𝗶𝗻𝗲.

Join this workshop where you will build a nats.io pub/sub server from scratch.

𝗙𝗼𝘂𝗻𝗱𝗶𝗻𝗴 𝗠𝗲𝗺𝗯𝗲𝗿 𝗽𝗿𝗶𝗰𝗲 (𝟲𝟬% 𝗼𝗳𝗳) 𝗲𝗻𝗱𝘀 𝗼𝗻 𝗗𝗲𝗰𝗲𝗺𝗯𝗲𝗿 𝟭 𝟭𝟭:𝟱𝟵 𝗣𝗠 𝗛𝗦𝗧.

Go to protocol-zero.pmbanugo.me
Stop Trusting Magic Boxes. Build Your Own Pub/Sub.
Don't just use Redis/NATS. Build it. A 2-day workshop & course on System Programming. Pre-Order now for 60% OFF.
protocol-zero.pmbanugo.me
December 21, 2025 at 12:26 PM
Reposted by Peter Mbanugo
𝗜𝗳 𝘆𝗼𝘂 𝘄𝗮𝗻𝘁 𝘁𝗼 𝗯𝗲 𝗮 𝟭𝟬𝘅 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗲𝗿, 𝗿𝗲𝗶𝗻𝘃𝗲𝗻𝘁 𝘁𝗵𝗲 𝘄𝗵𝗲𝗲𝗹. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗗𝗮𝘁𝗮𝗯𝗮𝘀𝗲. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗹𝗼𝗮𝗱 𝗯𝗮𝗹𝗮𝗻𝗰𝗲𝗿. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗣𝘂𝗯/𝗦𝘂𝗯 𝗲𝗻𝗴𝗶𝗻𝗲.

Join this workshop where you will build a nats.io pub/sub server from scratch.

𝗙𝗼𝘂𝗻𝗱𝗶𝗻𝗴 𝗠𝗲𝗺𝗯𝗲𝗿 𝗽𝗿𝗶𝗰𝗲 (𝟲𝟬% 𝗼𝗳𝗳) 𝗲𝗻𝗱𝘀 𝗼𝗻 𝗗𝗲𝗰𝗲𝗺𝗯𝗲𝗿 𝟭 𝟭𝟭:𝟱𝟵 𝗣𝗠 𝗛𝗦𝗧.

Go to protocol-zero.pmbanugo.me
Stop Trusting Magic Boxes. Build Your Own Pub/Sub.
Don't just use Redis/NATS. Build it. A 2-day workshop & course on System Programming. Pre-Order now for 60% OFF.
protocol-zero.pmbanugo.me
December 1, 2025 at 10:25 PM
𝗜𝗳 𝘆𝗼𝘂 𝘄𝗮𝗻𝘁 𝘁𝗼 𝗯𝗲 𝗮 𝟭𝟬𝘅 𝗽𝗿𝗼𝗴𝗿𝗮𝗺𝗺𝗲𝗿, 𝗿𝗲𝗶𝗻𝘃𝗲𝗻𝘁 𝘁𝗵𝗲 𝘄𝗵𝗲𝗲𝗹. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗗𝗮𝘁𝗮𝗯𝗮𝘀𝗲. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗹𝗼𝗮𝗱 𝗯𝗮𝗹𝗮𝗻𝗰𝗲𝗿. 𝗕𝘂𝗶𝗹𝗱 𝗮 𝗣𝘂𝗯/𝗦𝘂𝗯 𝗲𝗻𝗴𝗶𝗻𝗲.

Join this workshop where you will build a nats.io pub/sub server from scratch.

𝗙𝗼𝘂𝗻𝗱𝗶𝗻𝗴 𝗠𝗲𝗺𝗯𝗲𝗿 𝗽𝗿𝗶𝗰𝗲 (𝟲𝟬% 𝗼𝗳𝗳) 𝗲𝗻𝗱𝘀 𝗼𝗻 𝗗𝗲𝗰𝗲𝗺𝗯𝗲𝗿 𝟭 𝟭𝟭:𝟱𝟵 𝗣𝗠 𝗛𝗦𝗧.

Go to protocol-zero.pmbanugo.me
Stop Trusting Magic Boxes. Build Your Own Pub/Sub.
Don't just use Redis/NATS. Build it. A 2-day workshop & course on System Programming. Pre-Order now for 60% OFF.
protocol-zero.pmbanugo.me
December 1, 2025 at 10:25 PM
November 24, 2025 at 8:13 PM
Stop building To-Do apps. 🛑

If you want to be a 10x programmer, reinvent the wheel. Build a Database, a load balancer, Pub/Sub engine.

I’m launching a workshop where we build a NATS-compatible server from scratch. More info at protocol-zero.pmbanugo.me

Founding Member pricing is live from 27 Nov.
Stop Trusting Magic Boxes. Build Your Own Pub/Sub.
Don't just use Redis/NATS. Build it. A 2-day workshop & course on System Programming. Pre-Order now for 60% OFF.
protocol-zero.pmbanugo.me
November 24, 2025 at 10:55 AM
I've been experimenting with ZeroMQ for a couple of months and recently stumbled on NATS.

Played around with it and implemented some parts of the core NATS protocol in @deno.land

I'm making available only a few slots with 60% off only during Cyberweek.

More info: protocol-zero.pmbanugo.me
November 22, 2025 at 8:36 PM
black friday offer incoming. still putting ginishing touches protocol-zero.pmbanugo.me

I need to record the video to show off demo and talk about the package
Stop Trusting Magic Boxes. Build Your Own Pub/Sub.
Don't just use Redis/NATS. Build it. A 2-day workshop & course on System Programming. Pre-Order now for 60% OFF.
protocol-zero.pmbanugo.me
November 20, 2025 at 10:10 PM
Programmers' Biggest Lies: Programming with Assertions
youtu.be/U2Jr66nYRDA
Programmers' Biggest Lies: Programming with Assertions
YouTube video by Tech with Peter Mbanugo
youtu.be
November 9, 2025 at 10:33 AM
Programmers' Biggest Lies: Programming with Assertions
youtu.be/U2Jr66nYRDA
Programmers' Biggest Lies: Programming with Assertions
YouTube video by Tech with Peter Mbanugo
youtu.be
November 5, 2025 at 1:36 PM
Processed 1 BILLION rows (14.8GB file) 4.7x FASTER 🤯 with a single-threaded Node.js. How?

*Byte Parsing
*Integer Math
*Used hashing to keep Map lookups fast.

Full technical breakdown and code in the linked blog post: pmbanugo.me/blog/nodejs-...

#Nodejs #1BRC #Performance #JavaScript #Programming
Node.js Performance: Processing 14GB Files 78% Faster with Buffer Optimization
Learn how to optimize Node.js for processing large files: 14GB of data processed 78% faster using buffer streaming, byte-level parsing, and hash-based lookups. Complete guide with benchmarks, profilin...
pmbanugo.me
October 3, 2025 at 1:39 PM
Big Data > ML > Web 3.0 & Crypto > AI > (AGI?)
September 16, 2025 at 5:19 PM
Too many tools = information overload for AI agents (and devs). In my latest post, I explain why treating MCP/tools like a direct mapping of REST endpoints often backfires — and show a simpler approach that reduces eight similar endpoints into just two useful tools.
MCP/Tools Are Not REST API: Here's a Better Design
MCP/tools are sometimes designed like REST APIs. I'll show you how to design better tools for AI agents and models.
pmbanugo.me
August 16, 2025 at 9:45 PM
What if Node.js EventEmitter worked across multiple processes and machines—with zero setup?

I built Demitter, a lightweight distributed pub/sub system for Node.js.

Think emitter.emit() and emitter.on()but distributed. 🚀

GitHub: dub.sh/zuxpUJT
Demo 🎥: www.youtube.com/watch?v=LqQS...

#javascript
August 1, 2025 at 5:33 PM
In the Age of AI, is Code Literacy Your Superpower?

pmbanugo.me/blog/ai-code... In the Age of AI, is Code Literacy Your Superpower?
In the Age of AI, is Code Literacy Your Superpower?
Explore the importance of code literacy in the age of AI and how it can empower individuals to harness Gen AI effectively.
pmbanugo.me
June 28, 2025 at 4:20 PM
How coding agents are being used today. Who would have thought Gemini would overtake GPT as the preferred model for coding
June 11, 2025 at 7:59 AM
If you're looking for a networking library to use in Zig, you can try uSockets. It comes with an eventloop and other low level primitives for building networking apps.

I published a package which makes it easy for you to integrate it in your @ziglang.bsky.social project github.com/pmbanugo/uSo...
GitHub - pmbanugo/uSockets.zig: build.zig for the uSockets C library
build.zig for the uSockets C library. Contribute to pmbanugo/uSockets.zig development by creating an account on GitHub.
github.com
June 4, 2025 at 3:41 PM
A lot of people supporting anti-immigration are themselves immigrants.

I think they’ve come to associate “immigration” to mean Africans (coloured folks) who they believe ran away from their poor countries to take free money/food from Europe/US.

Crazy
June 4, 2025 at 1:15 PM
I’m looking for the best way to send data between two threads in libuv? This isn’t using thread pool, so queue-work() wouldn’t be an option?

It’s mostly one way communication and no shared data.
May 31, 2025 at 6:57 PM
Learn me some concurrency and event loop.

Is this the piece to finally give me better understand of event loop at a basic level?

Maybe try implementing something basic in @ziglang.bsky.social
May 26, 2025 at 3:45 PM
Most of this week has been finishing up technical article about Speculation Rules and finally getting to add it to my website.

Yesterday was about tweaking my fetch server implementation using uWebSockets (mostly fixing the junk LLM added to it), which improved speed!

Today's for Zig + libuv
May 16, 2025 at 2:12 PM
Just put up a short guide about using libuv from Zig, and a bit about the error i faced with "dependency loop". It's actually my first blog post about @ziglang

pmbanugo.me/blog/intro-u...

Like to make this short post as reference for my future self
May 10, 2025 at 10:08 PM
So this is why people get excited about having their logo on Time Square... to impress investors and satisfy themselves 😅
May 10, 2025 at 9:04 PM
After 48 hours, I finally get my @ziglang.bsky.social code, (which interacts with libuv) to compile. I'm going to take a long break before I run it to make sure it's working.

Moments like the past 2 days make me question why I chose to try Zig. Perhaps just to to JS (or C#)
a man with a beard wearing a fur coat looks at the camera
Alt: a man with a beard wearing a fur coat looks at the camera, with expression of excitement/success
media.tenor.com
May 8, 2025 at 2:43 PM
Reposted by Peter Mbanugo
Remembering my Grandparents who served during WWII, and those often forgotten: 2.5 million South Asians (including Hindus, Sikhs, and Muslims), 1 million Africans (mainly Kenyans), and the 10s of thousands of Caribbeans (mainly Jamaicans).

When they fought Fascism they fought it together.

#VEDay
May 8, 2025 at 7:26 AM
Quite an interesting need. Deno didn't click for me, but I was hoping it would have been a better alternative to Bun, b'cos I feel Bun doesn't yet know what to focus on. I was betting on Bun (it's fast in many places) but the stability in other areas is concerning.

I've settled for Node (again)
May 7, 2025 at 11:40 AM