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
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
"Top 5 Free React UI Libraries to Use in 2025"
#DEVCommunity
dev.to/pmbanugo/top...
Top 5 Free React UI Libraries to Use in 2025
Explore the best free React UI libraries available. Enhance your development experience and ship quickly to production!
dev.to
May 2, 2025 at 4:13 PM
I'm exploring writing a a Node-API for @nodejs.org using @ziglang.bsky.social Calling Zig code from JS and vice versa works to a limited extent. now doing the actual thing I need has been from one error to another.

GitHub copilot helps a bit but these LLMs don't understand Zig well🥲
a cat wearing a blue shirt is sitting on a laptop computer
Alt: a cat wearing a blue shirt is sitting on a laptop computer
media.tenor.com
April 29, 2025 at 10:15 PM
revisiting working with strings in @ziglang.bsky.social today. I need to grok how to with slices and fill any gap in my basic understanding.
Perhaps I'll put this down into a long-form article so I can reference whenever I need it
April 22, 2025 at 3:36 PM
Do people picking new languages still consider C or C++? Or is it mostly legacy that experienced folks are happy with?

I mostly see Rust or Go, and maybe a bit of Zig.
April 16, 2025 at 9:17 AM
Do you know you can prefetch and prerender natively in the browser?

Here’s @timvereecke.bsky.social explaining what speculation rules is.

youtube.com/shorts/gISnY...
What is speculation rules in the browser? Watch the full video to learn more
YouTube video by Tech with Peter Mbanugo
youtube.com
April 11, 2025 at 3:33 PM
@cloudflare.social open-sourced their Workers runtime (workerd) and not many knows about it. This means that you could run in on-premise or on your own cloud.

I wrote a blog about it a while ago, but might be a good time to share again: pmbanugo.me/blog/running...
Running Cloudflare Workers on Docker and Kubernetes
Learn how to run Cloudflare Workers on Docker and Kubernetes.
pmbanugo.me
April 9, 2025 at 12:45 PM