Why are we fascinated by AI ?

Why are we fascinated by AI? I’ve been thinking of this for a while now. People are so hyped about AI, especially generative AI. It would be a lie if I said I wasn’t impressed, but behind all the excitement I also paused to analyze the whys. To gain an answer to this, I stepped back and thought about the scenarios where we get fascinated before the AI hype was there....

Some thoughts on Wealth

Some thoughts on Wealth There is being rich and there is being wealthy. The clear line between wealthy and rich can by simplified into two words, Discipline and Lifestyle. Let’s say if we stopped working or doing anything, how long can we survive? If we can survive for a long time, we are wealthy. Wealthy people often may not seem rich as well. Whereas rich people may not last long without working....

CI/CD Setup

Steps I follow to setup a CI CD workflow. Write Dockerfile in the code repo. Write a k8s Manifest file using kustomize template. Following this tree structure. ├── base │ └── app │ ├── deployment.yaml │ ├── kustomization.yaml │ └── service.yaml └── overlay ├── production │ └── kustomization.yaml └── staging └── kustomization.yaml Write a skaffold file ( skaffold init will auto initialize itself ). Build Docker image and Render the k8s manifest using skaffold....

Programming

Programming On a high level, Programming is simply writing instructions to a computer on how to compute or process data and give the desired output, in a programming language. Also, the input and output can be nothing. Either way, a program written involves changing the state of a system. A computer is a state machine and all it does is flip 0s and 1s. These details are abstracted from us as computer science has evolved....

DBMS - Migration in DBMS

Migration in DBMS In an application, It is quite inevitable to have changes on the database. The changes can be on the structure of data or even the data itself. It is a good idea to apply changes to a database as versioned and reversible set of steps. A representation of changes to be done the database can be called Migration. Two types of migration are Schema and Data migrations....

DBMS - Query performance

Query performance in DBMS When we query a database there are certain operations performed, the main operation to consider is the type of scan it would result in. The performance is calculated based on the time taken to do the operations. Various types of operations have different costs based on disk and CPU usage. Cost can be assumed to be the amount of time taken. Therefore, lower the cost better the performance (faster response from DB)...

Authorization in Software Systems

Authorization in Software Systems As we know that, the concept of Autorization is simply checking if a verified user or application is allowed to do something. It generally comes to authorization policies which would be checked to make this decision. The decision is simple, is person X allowed to access resource R ? This can be further broken up to Create, Read, Update, Delete Access. There are multiple patterns to achieve access control in software systems....

Docker - Docker Compose

Docker-compose is a tool that helps us define and run multiple services together. We declare the services and their attributes in a configuration file and the docker-compose tool reads it and issues the command to docker CLI in order to start and run the services. It helps us abstract all the creation of different components, building or pulling images etc… To run multiple services for a project. Once a compose-file is declared, we can run everything all at once with a single run command, we can also manage them via the docker-compose interface....

Docker - Building an image

Docker images are built from a Dockerfile, which is a blueprint for how to prepare a ready-to-run image. We can relate it to steps we perform in a computer to get something installed and running. We can start with a base image that corresponds to an OS (like ubuntu, alpine, Debian etc…) or we can even start from essentials installed in an OS. Basic steps are Start from the base image Run commands Specify default run command Here’s a basic example from nodejs...

Docker - Overview

Docker is a platform that provides lightweight isolated runtimes for software. It helps us to package the software and its dependencies in a ready to run format. We can say its sort of works like VMs except, docker uses the kernel of our base OS. This is achieved by few techniques done with docker, File system snapshot - Dockerfile is used to build a filesystem snapshot that contains all the required files to run the software....