Setting up Observability in your app

Observability is a very important topic to consider in any application just like Tests. It helps understand a lot about how our system works, and measure a lot of aspects to make data-driven decisions. It can mostly be a go-to guide to what is happenning in your system, and how to improve it. Parts of Observability I’d like to categorize Observability into 3 parts: Logging: Logging is the logs we generate from our application usually in levels like info, debug, error, warn, etc....

Phoenix - Overview

Phoenix web framework had been there since a while and it caught my attention with it’s LiveView feature. The framework is built on top of Elixir and the BEAM VM is designed for highly concurrent, distributed systems. This means Live view and sockets are gonna be really feasible with Phoenix. Getting Started We need to install Elixir brew install elixir and then install Phoenix using mix. mix archive.install hex phx_new Mix is the build tool for Elixir and Phoenix uses mix to create new projects and manage dependencies....

Gleam Overview

Gleam is a statically typed language for the Erlang VM (BEAM). It is designed to be a productive and fun language to work with. Gleam is a compiled language, which means that it is compiled to BEAM bytecode and runs on the Erlang VM. It is a functional programming language with a strong type system that helps catch errors at compile time. Few things I like about Gleam are: Gleam ships with all language tooling just like Go....

Vim Inspired modern IDEs

I learned vim a while ago but really didn’t use it for main projects or daily work. Lately I decided to rebuild my neovim config from scratch and really enjoyed setting up and using all the parts. It inspired me to setup similar configurations in other modern editors. While looking around the internet for similar setups, I found that zed is a very attractive choice for a good combination of vim and modern IDE features....

Mock Service Worker - Overview

Mock Service Worker (MSW) is a library that helps you mock HTTP requests in your tests. We can use it to define request handlers to respond different mock data mainly for testing. Let’s see how to use MSW in browser environment. Installation Install msw package bun install msw Setup Create a index.js which will be used to setup MSW and ship to browser. import { HttpResponse, http } from "msw"; import { setupWorker } from "msw/browser"; // handlers const userHandler = () => { return HttpResponse....

TypeScript Overview

TypeScript has gained popularity for it’s ability to add type system to Javascript. Typescript code will be transpiled to Javascript code which can be run in any browser. Few things I like about TypeScript are Static Typing: TypeScript provides static typing which helps in catching errors at compile time. Strong Tooling: TypeScript has strong tooling support with features like code completion, refactoring, etc. Community: TypeScript has a large and active community that provides support, libraries, and tools....

Connecting to Consul & Vault using Golang

Consul is a tool for service discovery and configuration. It provides a way to discover services and manage configurations in a distributed system. Vault is a service that help us to manage secrets and protect sensitive data. It provides a secure way to store and access secrets like API keys, passwords, certificates, etc. Both are similar tools provided by HashiCorp Where we can access the services using the HTTP API....

Log Rotate in Linux

Logging is an essential part of any system. It helps us to debug and monitor the system. Log files are a common way to store logs generated by a system or application. When there are a lot of logs generated by the system, it can consume a lot of disk space. To manage the log files, we can use the logrotate utility in Linux. Log rotate configuration Setting up log rotate to manage logs is simple....

Sharing files from SharePoint to Azure Blob Storage using Python

Let’s see how we can share files between two cloud storage solutions - SharePoint and Azure Blob Storage using Python. We will be simply copying all the files from a sharepoint site to an Azure Blob Storage container. Sharepoint sites will have a drive associated with it and we can access the files in the drive using the Graph API. We will be using the requests library to interact with the Graph API....

C - Overview

C is an amazing low-level programming language that has stood the test of time. It was developed by Dennis Ritchie in the early 1970s at Bell Labs and has since become one of the most widely used programming languages. C is known for its efficiency, flexibility, and portability, making it an ideal choice for system programming, embedded systems, and low-level programming. Few things I like about C are The ability to directly manipulate memory and hardware....