Blog

  • Building Kafka from Scratch in Go (Part 1)

    Kafka is one of those systems that’s just everywhere. If you’ve worked on anything involving event streaming, async processing, or data pipelines, you’ve probably produced to a Kafka topic, consumed from one, or stared at consumer lag dashboards wondering why your consumer group is falling behind. I’ve done all three more times than I’d like.

  • The Bottleneck Is Not the Code

    I came across Avery Pennarun’s piece “Every layer of review makes you 10x slower” and it hit a nerve. His central argument is simple: every layer of approval in a software process multiplies wall-clock time by roughly 10x. A 30-minute bug fix becomes 5 hours with code review, a week with design doc approval, and 12 weeks once cross-team scheduling enters the picture. The bottleneck is waiting while not performing any meaningful work.

  • On implementing distributed locks

    I’ve been thinking about distributed locks lately. Not because they’re particularly exciting, but because they’re one of those problems that seems simple until you actually try to implement them correctly. You need to prevent two processes from doing the same thing at the same time, across multiple machines. How hard could it be?

  • Setting up Electron with React

    There are tons of desktop UI frameworks, some even multi-platform, but nothing beats the popularity of Electron. Qt does come to mind for better performance and opengl support, but nothing can beat the community support and the code reusability that electron combined with a frontend javascript framework like React provides. I wanted to prototype a cross platform desktop application and this is how I got started.

  • Running Apache Kafka on Docker

    Apache Kafka is an amazing tool! You can use it to send/recieve streams of data - in the millions. There is a lot of configuration that takes place, though.

  • Fixing Fedora's Firefox Video Issues

    I recently installed Fedora on my laptop, overwriting the default windows partition. Its 2019 - “the year of the linux desktop”, just like it has been from the 2000s. Fedora 30 was going to respark my love for the open source OS. One thing I completely forgot was the difference in the user experience between Windows and Linux. Among many other things, I found out soon that my touchpad did not work, my wifi drivers were missing and I had to install kernel-devel packages to manually compile, build and install these drivers to get the network working. Things which I had completely lost touch of, when working on Windows.

  • Setting up a low cost and reliable blogging platform

    I have been, for long, delaying setting up a blog. I always wanted one - a place to share a few things of interest. Cool kids always seem to have one. And now that I had a little bit of free time, it was now or never and I began evaluating my options.

subscribe via RSS