Because managing logs is important. Period.

Before the rest of the article, let’s all agree that generating proper logs is crucial for any application in production. Whether it be structured logging, such as in JSON format, or just plain strings printed, there must always be some form of trail on what the software is doing, to be used when (not if) the application misbehaves. Here I use “application” as a general term to describe any kind of software or code or tool that can potentially behave unexpectedly.

Generating logs is not enough of course. What use are logs that aren’t there when you need them? Generated…


Version-controlled Virtual Machines? I’ll take that.

Virtual Machines, or VMs for short, are fairly popular in the Software industry and among developers. And for good reason — who would mind a disposable OS, within an OS! Right? They are fairly easy to use, allow you to run multiple OS’s on a single host OS, completely independent of each other (okay, there are some limitations in performance compared to bare metal performance, but let’s leave that aside for now).

One of the bigger problems with using VMs that I felt prevented them from being as convenient as, say, an actual local environment, was the initial setup. Setting…


Because do you really need to implement your own authentication service?

You’ve probably come across a number of applications with the “ Login with Github” option, and why not — developers love Github more than Google or Facebook. When developing your own side-projects, you often want to implement some sort of authentication or user-data management. But you really don’t need to implement your own authentication services for every project — OAuth using applications like Github does the job perfectly well.

Why should I use Github OAuth, and not my own, superior, custom authentications service?

Using Github OAuth over your own solution has several advantages:

  • Github’s authentication and data management approach is probably better than yours (please don’t be offended).
  • Convenient for users, since they won’t…

If you have ever heard of message queues like Apache Kafka and been confused about the what, why, and how of messaging queues in modern applications, this one is for you.

If you have had any amount of interest in things like scalable architectures and microservices, there is a good chance you have come across messaging queues. Perhaps you have heard of companies making use of Apache Kafka, or an alternative like RabbitMQ, those two being the most popular messaging queues in use today. And, perhaps, just like me, you were confused by what messaging queues did and how they helped modern distributed architectures. Let’s try to understand that.

First things first, let’s get the absolute basics out of the way. What even is a messaging queue?

What is a message queue?

Message queues or brokers…

Dakshraj Sharma

Fullstack Developer and Devops Engineer | Learning all the time.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store