IC4 Weekly #02 — Bun, Misogi, and Doing Hard Things
Exploring Bun runtime, Zig programming language, libuv, Lua, the Misogi concept for productivity, and insights from indie hacker Pieter Levels.
After my first post on 31st December 2025, the response was encouraging. Many people subscribed even though I didn’t explicitly ask. I’m glad to see that it’s adding value to you guys.
I’ll keep sharing what I find genuinely useful, not just posting for the sake of consistency.
Thank you, everyone!
Tools and Technology
1. Bun
Bun is a replacement for your typical Node.js runtime except it is much faster.
I came across Bun runtime couple of weeks back while exploring alternate Node.js runtimes. The story behind this project is interesting. Jarred Sumner was building a Minecraft-style game for the browser. As the project grew, every small change meant waiting ~45 seconds for the Next.js dev server to reload (I’m sure almost every JS dev faced this issue for large frontend projects as well). It was painfully slow and super distracting. Out of pure frustration, he decided to experiment and started porting esbuild’s JSX and TypeScript transpiler from Go to Zig. Three weeks later, he had something that actually worked and he named it Bun.
You can read the whole story here: Bun joins Anthropic
Code: github.com/oven-sh/bun
Reading the story behind Bun sparked something for me. Jarred Sumner built it before we had LLMs or coding agents. Reading through someone else’s code has always been painful because of the sheer cognitive effort involved. But now we have pair programming agents and coding models that can do much of that work for us. It made me realize: I can actually read through almost any large open source codebase now, and even customize it for my own needs.
2. Zig — General-purpose Systems Programming Language
I came across Zig while reading about Bun. It’s often described as a pragmatic successor to C. Zig gives you low-level control (direct memory access, pointers, hardware) but without hidden behavior like garbage collection or implicit allocations. Errors are part of the type system, so you have to handle them explicitly, which makes control flow easier to follow.
The standout feature for me is the C interoperability. You can import C headers directly and compile C code without writing bindings. This means you can incrementally migrate an existing C codebase to Zig rather than rewriting everything from scratch.
If someone wants to write a compiler, interpreter or a rendering engine etc, now Zig is the ideal choice over C/C++.
3. libuv
While exploring Node.js and Bun internals I came across this library called libuv — a cross-platform support library which was originally written for Node.js. It’s designed around the event-driven asynchronous I/O model.
To put it simply, JavaScript engines inside browsers only run JavaScript. Everything else such as networking, the DOM, CSS, HTML parsing, rendering, and devtools is handled by the browser itself, and browser JavaScript has no direct access to the file system.
Node.js/other JS engine CLIs work differently. It allows JavaScript to interact with the outside world including files, network, and other I/O operations. To make this possible, Node.js relies on libuv, which handles asynchronous I/O and cross-platform support. Because libuv is portable, it is not limited to Node.js and is used by many other languages and runtimes as well.
4. Lua — Embeddable Scripting Language
I came across it because libuv is also used by Luvit, a Lua runtime. Lua shows up everywhere: Roblox, World of Warcraft, Neovim configs, embedded systems. Its small footprint and simple C integration make it easy to drop into larger projects when you need a scripting layer.
Looks like it is widely used for game development and embedded systems due to its minimal syntax, efficient C-based core, and versatile data structures like tables. Another interesting fact which I didn’t expect is that this language has been available since 1993!
Productivity Concepts
1. Misogi
Misogi (禊) is a traditional Japanese Shinto ritual of purification through washing.
Misogi concept can be applied to productivity as well:
Do something SO HARD on one day a year that it has impact on the whole year.
For example, take a decision that is causing lots of stress, or ask for help you never asked for, reach out to random people on LinkedIn for career advice. It can be anything, but you have to break your mental barrier which will impact your life greatly.
For example, I took a decision to start this newsletter. I was not sure how this was gonna go, but I took a leap. Similarly, try something you never tried so far which will help you in the near future.
A few ideas:
- Go on Camera: If you never talked on camera so far, then record yourself talking something or create a video resume of yourself. Observe how your voice sounds, your hand movements, your eye contact, your overall posture. Your first video will be bad but keep trying until you get comfortable.
- Start that side project/business you’ve been thinking about for a while.
- Do an activity you were always scared of.
2. Eat That Frog
Eat That Frog is a productivity concept where, for example, you have 10 tasks to be completed today, then start with the biggest, hardest, and most important task first and then the remaining tasks. The reasoning behind this concept is to put your entire focus and that morning energy into a big and time-consuming task, so that you will not find any reason to procrastinate it :)
People
Pieter Levels
I saw this guy Pieter Levels in an interview. An indie hacker and digital nomad who earns $3M ARR by creating products while travelling across the world. It is an eye opener that you don’t need a big company or a team to achieve success these days. All you need is a laptop and mindset.
- Digital Nomad: A location-independent worker who uses technology to work remotely while traveling, living in different places, or moving around the world, rather than being tied to a single office or home base.
- Indie Hacker: An independent creator who builds and monetizes their own software or digital products, often solo or in a small team, focusing on autonomy, financial freedom, and sustainable, manageable growth rather than rapid scaling through venture capital.
Books
5 Types of Wealth — by Sahil Bloom
Author argues that money isn’t the real measure of wealth. He breaks it into five categories: Time, Social, Mental, Physical, and Financial. I find it helpful in prioritising — often overlooked — wealth we already have. Worth checking out.
Quote of the week (from this book): “If you do not change direction, you may end up where you are heading.” — Lao Tzu
Final Thoughts
Here’s something I love about exploring software: pull on one thread and you’ll find five more.
This issue is a good example. I started by looking at Node.js alternatives, which led me to Bun. Bun is written in Zig, so I went down that rabbit hole. While digging into Bun’s internals, I found libuv, and libuv led me to Lua through Luvit. One curiosity branched into four.
When you’re exploring something for work or out of curiosity, don’t stop at that one piece. Look around and you’ll start to see where it fits in the bigger puzzle.
That’s it for this week’s exploration!
What’s one thing you’ve been putting off that would change your trajectory? Reply and let me know — I read everything.
See you next week.