Go is one of my favorite programming languages. Several things make the Go programming language unique. From flexible interfaces to robust concurrency abstractions. One that stands out to me is the channel in Go. Good abstractions hide the complexity of an implementation from the user of the programming interface. Channels are an excellent example. To implement something that looks like Go's cha… read more
Growing up, Pidgin English was everywhere. It is essentially a blend of broken English, slang, and words borrowed from native languages. The look on people's faces when they hear me speaking Pidgin English over the phone always cracks me up. It's usually a mixture of surprise and confusion—confusion because they can't quite make sense of what I'm saying, and surprise because they can still recognize a few English … read more
One of the best ways to learn a programming language, concept, or framework is to build something with it. I have always been curious about how databases work internally, and since many popular database systems have significant portions of their codebases written in C, I decided that one of the best ways to deepen my understanding of the language was to build a database from scratch.
At the same time, I want… read more
If you've been a software engineer for a little while you must've come across excellent advice like: "Do Not Repeat Yourself", "Do Not Re-Invent the Wheel", and so on. Several opensource libraries and frameworks often have battle-tested code that solves your problems. For example, why build a new Java-based backend … read more