Archive
Programming
Programming notes on Go, backend systems, algorithms, tooling, and software design.
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 …
ProgrammingGolang 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 …
ProgrammingAsymptotic 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. …
ProgrammingHow 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 …
ProgrammingMicroservice 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 …
ProgrammingWeb Development in Clojure
Introduction Recently, I got interested into learning the functional paradigm of programming because of many factors with the concept of immutability …
ProgrammingLearning 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 …
ProgrammingHow 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 …
ProgrammingUnderstanding 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 …
ProgrammingWhat 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 …
ProgrammingGit 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 …
ProgrammingUnderstanding Recursion
Introduction Recursion is often regarded as the one of the most complex concepts to understand in computer programming. IMHO, recursion is the …
ProgrammingWhat 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 …
ProgrammingHow 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:- …
ProgrammingHow 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 …
ProgrammingProcess 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 …
ProgrammingAlert 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, …
ProgrammingMonitoring 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 …
ProgrammingBrief 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 …