I wanted to share the applications and services running in my homelab, but I realized that understanding my network configuration is essential for grasping the complete picture. This blog post serves as a necessary introduction before diving into the specifics of my homelab setup. To keep this post focused, I won’t try to list every service running in my homelab — that’s for another post. Instead, I’ll walk through a few unique configuration details, such as where this site is hosted and how external ingress reaches my network. ...
Creating a Language Server for Protocol Buffers
As a software engineer, there’s a particular satisfaction that comes from scratching your own itch by building the tool you need. That’s exactly how Protols—my Language Server Protocol (LSP) implementation for Protocol Buffers—came to life. The Problem: Navigating Protobuf Hell At work, we use a lot of protobuf files. And I mean a lot. While protobuf is fantastic for defining APIs and data structures, navigating between dozens (sometimes hundreds) of .proto files was becoming a genuine pain point. I found myself constantly using grep or Vim’s search to jump between message definitions, enum declarations, and imports across different packages. ...
Accessing VSOL from LAN: A Raspberry Pi Bridge Setup
If you’ve ever wanted to access your VSOL ONU’s web interface (usually at 192.168.1.1) from your LAN (say 192.168.0.0/24), you might have hit a wall—especially if your router doesn’t allow assigning multiple WAN IPs. In this guide, I’ll walk you through how to bridge that gap using a Raspberry Pi or any other device with at least two network interfaces. We’ll use the following setup Prepare the Raspberry Pi Connect the Pi’s eth0 to your Router’s LAN port. Connect eth1 (USB-to-Ethernet adapter or secondary port) to ONU’s bridge port. Your Pi now has two interfaces: one in your LAN and one going to the ONU. ...
AI experience and making of Secret-link
“Beauty of an AI, Brains of a Human - Together beauty with brains” AI has been making headlines frequently due to its growing influence in software development, ranging from AI-powered code completion to AI agents that resolve issues and even develop new features. Its growth has been exponential over the past few years. As a curious software engineer, I couldn’t remain oblivious to all this. I tend to rely on AI extensively in areas that don’t particularly interest me, such as frontend development and UI design. In these domains, I’m more than happy to let AI take the lead, while in others, I prefer to keep it in a supporting role. ...
Multi-Monitor setup in Fedora Asahi Remix 40
As an owner of the base Mac mini M2, I was eager to run Linux on it. Virtual machines weren’t an ideal solution due to the limited RAM and storage on my device. Thankfully, there’s a Linux distribution designed specifically for Apple Silicon: Fedora Asahi Remix. The installation process was surprisingly straightforward, and one of the best features was the ability to set up Fedora alongside macOS. This dual-boot configuration meant that if anything went wrong, I could easily remove the Fedora partition and revert to macOS without losing any data or needing to reinstall the operating system. ...