Archive

Programming

Programming notes on Go, backend systems, algorithms, tooling, and software design.

Programming

Software Programming Design Patterns in Golang

Introduction Code can be written in any way till the time it works, but if you write them following certain time-tested design patterns, it can lessen …

Programming

Golang Garbage Collector Comes With A New Feature

Introduction The Garbage Collector (GC) is responsible for clearing up memory in the heap section of the main memory which becomes inaccessible, like …

Programming

Asymptotic analysis of algorithms and Master Method

What is Asymptotic Analysis of algorithms? Asymtotic analysis is the way of expressing how fast or slow an algorithm is, especially for large inputs. …

Programming

How to resolve merge conflict in vim

Introduction vim is definitely the best (IMHO) editor for editing any kind of text of computer and git for maintaining versions. While working with …

Programming

Microservice Architecture and its implementation in Golang using go-micro

What is microservices architecture? It is a variant of Service Oriented Architecture (or SOA). Service-Oriented Architecture (SOA) is an architectural …

Programming

Web Development in Clojure

Introduction Recently, I got interested into learning the functional paradigm of programming because of many factors with the concept of immutability …

Programming

Learning Clojure and Emacs

Why these two, together? Clojure, a dialect of Lisp, is best suited to be a programmed in the legendary Emacs editor, which also happens to be …

Programming

How to install a package on linux using Golang

Why Recently I was trying to write a script in golang that would install a package on my Ubuntu server. I did know that os/exec library allows you to …

Programming

Understanding REST and principles behind designing RESTful HTTP APIs in Go

What is REST REST, acronym for Representational State Transfer, is the architectural approach to building web services. Let’s discuss a few …

Programming

What is Go programming language and why you should learn it

What is Go? The Go programming language (A.K.A Golang) is an open-source language built by Google. Some of the biggest names in the world of Computer …

Programming

Git tips and tricks

Git is arguably the foundation tool of Open Source and software engineering (VCS) part in general, second biggest gift of Linus Torvals to the world …

Programming

Understanding Recursion

Introduction Recursion is often regarded as the one of the most complex concepts to understand in computer programming. IMHO, recursion is the …

Programming

What is functional programming?

Introduction A functional program is set of rules that govern a specific output on providing an input. The basic operation in functional programming …

Programming

How to update Golang

For updating golang, you need to first uninstall golang. Check where is the go directory. Run which go. The output might be similar to:- …

Programming

How to migrate dependency management to go modules in a Golang project

Introduction Go didn’t had any official dependency management tool till the version 1.10, but gophers heavily used the third party dependency …

Programming

Process level monitoring and alerting in Prometheus

Introduction Most of the Linux systems these days use systemd for service management, is responsible for starting rest of the system and is assigned …

Programming

Alert Manager in Prometheus

Introduction Alerts are the most important feature of any monitoring system. You can although, always keep a tab open to monitor each and every event, …

Programming

Monitoring a Linux/windows server using Prometheus

Why monitor? Monitoring of a system is key to its smooth functioning. Going to the battlefield (production) without having proper monitoring setup …

Programming

Brief Walkthrough of concurrency model in Go

Introduction Around the year 2005, CPU manufacturers reached the limit of increasing the speed of the processors physically, which may also be thought …