A blog about software engineering, devops and web development covering topics like php, javascript, docker, microservices etc.| Geshan's Blog
Imagine being able to open a pull request or close an issue without leaving your IDE/Editor. This is made possible by the GitHub Model Context Protocol (MCP) server. In this post, you will learn how to use the remote GitHub MCP server with GitHub Copilot on VS Code. Let's get started!| Geshan's Blog
Learn how to deploy Gemma 3 on Google Cloud Run using Google AI Studio, also understand the magic behind the process.| Geshan's Blog
Software scalability is an interesting issue to have. Read this 2500+ words post to know dev and ops aspects to focus on for achieving scalable software.| Geshan's Blog
Learn how to deploy Gemma 3 on Google Cloud Run using Google AI Studio, also understand the magic behind the process.| Geshan's Blog
Learn how generate, create and deploy a geo-location guessing app using Google AI Studio and run it on Google Cloud Run step by step.| Geshan's Blog
With Cloud Run, just bring your code! Google handles the complex server stuff and scaling, so you don't have to. Typically, you could run only web services with a URL on Google Cloud Run as services. For some time now, you can also run Cloud Run Jobs to execute a task to completion, which might take longer than minutes or even hours. In this beginner-friendly post, you will learn how to run jobs on Cloud Run Jobs on a schedule. Let’s get going!| Geshan's Blog
Amazon Elastic Container Service (ECS) is a fully managed container orchestration service that simplifies the deployment, management, and scaling of containerized applications on AWS. It manages containers without the need to learn Kubernetes. With Fargate, resource management can also be serverless. In this post, you will learn how to deploy a built container image from Amazon Elastic Container Registry (ECR) to Amazon Elastic Container Service (ECS) provisioned with Fargate. The goal is to ...| Geshan's Blog
Ollama gives you one of the easiest ways to run most open LLMs on your machine. It is open-source and easy to use. In addition to using it with a command line or its APIs, you can use it with a web user interface using Open WebUI. This post will teach you how to run Ollama and Open WebUI to run any open LLM with a web-based chat interface like ChatGPT. Let’s get started!| Geshan's Blog
Ollama is open-source software that makes running most open LLMs seamlessly on your own machine (or even on the cloud). Written in Go lang, Ollama is user-friendly and easy to start. In this post, part 3 of the Ollama blog posts series, you will learn about using Ollama’s APIs for generating responses (LLM inference) and much more; let’s get going!| Geshan's Blog
Ollama is an open-source tool that helps you run open LLMs on your machine or a server. It is the glue layer between your machine (or hardware) and the open LLM of your choice. In this post, you will learn about the Ollama command you can use to get the most out of it; let’s get going!| Geshan's Blog
LLMs generally reply in a nondeterministic format; it does not always comply with the formatting instructions given. This is where controlled generation (structured output) comes into play, where you ask an LLM to reply to comply with a given schema. In this post, you will learn how to use Gemini over Vertex AI and controlled generation to get structured output that follows a schema on job listings to summarize and categorize them. Let's get going!| Geshan's Blog
I started writing the year-in-review (recap) posts from 2019, so this will be the sixth consecutive year I will write a yearly recap. Taking some time to reflect on things accomplished this year from a professional point of view, I think it will be a good rear mirror view to look back at 2024; let’s dive in!| Geshan's Blog
Do you feel your resume, LinkedIn profile, or GitHub contributions must convey the right message? Your CV, LinkedIn profile, and GitHub repositories are your digital storefront, and keeping them fresh and relevant is key to attracting opportunities. In this post, we'll explore leveraging Google Gemini 2.0's real-time streaming capabilities to improve your CV, LinkedIn, and GitHub profile, focusing on practical examples and actionable strategies for you to land a tech role. Let's dive in!| Geshan's Blog
Updating existing data is a core requirement of any web application; doing it efficiently will make your life easier. PostgreSQL, a robust and feature-rich relational database, offers a powerful and elegant solution for managing these updates: INSERT ON CONFLICT UPDATE. It is helpful to combine insert and update to Upsert and use the same logic for both operations. In this post, you will learn how to use INSERT ON CONFLICT UPDATE in Postgres to Upsert data effectively with practical examples....| Geshan's Blog
Environment variables are essential for configuring your Node.js applications, allowing you to tailor settings for different environments like development, testing, and production. While you can set environment variables directly in your system or terminal, a more elegant and organized approach is to use a .env file. This file allows you to store all your environment variables in one central location, keeping them separate from your code and making it easy to manage different configurations.| Geshan's Blog
Working with dates and times is a common task in software development. In JavaScript, you have the built-in Date object, but it can be a bit cumbersome and has its quirks. There are third-party libraries like date-fns to help manipulate and format dates in JavaScript. However, the fundamental task of comparing two dates can be quickly done using the built-in methods, as you will learn in this post. You will start from the basics and move to use a third-party library, date-fns, for date compa...| Geshan's Blog
Reading a JSON (JavaScript Object Notation) file in Node.js is a common task for web developers, especially those working with backend and server-side applications. This tutorial will guide you through the process, breaking down the steps to efficiently read JSON files using both the native Node.js fs module and the fs-extra npm package. Let's dive into the world of JSON file handling and equip you with the knowledge to tackle this task seamlessly!| Geshan's Blog
Writing code is a small part of your job as a software engineer. You will also be communicating and managing expectations. In this post, you will learn about where software engineers get blocked while executing a task and how you (as a product person) can unblock them. You will also figure out ways to unblock yourself as a software engineer. Let’s get started!| Geshan's Blog
When writing unit tests for your JavaScript code, especially when dealing with time-dependent functionalities, it's crucial to control and mock the behavior of the native Date object. This ensures that your tests are deterministic and produce consistent results regardless of the current date and time. In this guide, you'll learn the easiest way to mock Date in Jest without installing any extra NPM packages. This approach leverages Jest's built-in mocking capabilities with Fake timers and sett...| Geshan's Blog
While watching a long YouTube video have you felt like it would have been great to have relevant chapters? Especially for long podcasts or talks, you want to jump to the part that is most important and relevant to you but you need to pull the progress bar here and there to get to the crucial part. In this blog post, you will create a YouTube video chapters timing generator using Google’s Gemini LLM over Vertex AI, let’s get going!| Geshan's Blog
Kubernetes, the de-facto container orchestrator, has revolutionized how we deploy and| Geshan's Blog
Query parameters are essential for building dynamic and flexible APIs. They allow clients to filter, sort, and paginate data, making your API more versatile and user-friendly. If you're working with Nest.js, a popular Node.js framework, harnessing the power of Nest.js query parameters is straightforward and intuitive. This guide will walk you through the process, providing clear example and explanations to help you master this crucial aspect of API development step-by-step. Let’s get started!| Geshan's Blog
Jest has been the most popular testing library for JavaScript for the last 5 years. You can use Jest each to write fewer tests and get more test code coverage. In this post, you will learn how to use the Jest’s each method to write efficient unit tests that result in better code coverage. Let’s get started!| Geshan's Blog
Deno is a relatively new runtime environment for JavaScript and TypeScript that has gained some attention in recent years. Docker is the leader in the container world and is the defacto tool for building, shipping, and running applications in containers. In this post, you will learn how to run a basic Deno application with Docker and Docker Compose. Let’s dive in!| Geshan's Blog
JavaScript try catch is an essential tool for handling errors and exceptions in your code. It provides a mechanism to gracefully handle unexpected situations and prevent your program from crashing. In this comprehensive beginner-friendly guide, you will delve into the intricacies of JavaScript's try...catch mechanism, giving you a clear understanding of how to handle errors gracefully with useful examples. Let’s get started!| Geshan's Blog
Renaming a column in Postgres might seem straightforward, but as your database grows and your application scales, it's crucial to consider the impact of these changes. A simple rename can cause downtime or even break your application if not executed correctly. This post delves into the intricacies of renaming a Postgres column, providing a clear path from a basic example to a real-world scenario with zero downtime.| Geshan's Blog
RabbitMQ is one of the most popular open-source message brokers in use today. Knowingly, unknowingly you would be using RabiitMQ under the hood of many applications that you use daily. In this beginner-friendly post, you will learn how to use RabbitMQ with Docker and Docker Compose, let’s get started!| Geshan's Blog
Learn how to create a useful e-commerce product description generator using Gemini Pro API over Vertex AI on GCP with Python code example| Geshan's Blog
Learn how create a private Amazon Elastic Container Registry (ECR), then build and push a Node.js Hello World app's Docker image to it.| Geshan's Blog
Learn how to use 10 useful docker commands in this intro guide like run, exec, logs and cp to get more done with Docker.| Geshan's Blog
In this 1000+ words guide, you will how to install and use nodemon for a great Node.js development experience. Nodemon automatically restarts your script, know how it is done efficiently.| Geshan's Blog
Docker has changed the way software engineers work in the past 5 years, find more in this post.| Geshan's Blog
Learn how to use JavaScript Promise.all with a real-life Axios API get call code example compared to a sequential call.| Geshan's Blog
Use these 3 completely free Node.js hosting services to host your Node.js application. Follow this guide to see how to deploy your Node.js app to these services.| Geshan's Blog
Learn what Ollama is, its features and how to run it on your local machine with DeepSeek R1 and Smollm2 models| Geshan's Blog
Learn how to run and host Gemma 2:2b with Ollama on Google Cloud Run in this step-by-step tutorial. You can use Gemma with an API, too, using Ollama| Geshan's Blog
Follow this step by step guide to know how to use docker multi-stage build with a Node js app demo| Geshan's Blog
Follow this 2500+ word step-by-step tutorial to learn Node.js and PostgreSQL together. You will build a REST API for quotes using Express Js in this guide.| Geshan's Blog
Follow this step-by-step tutorial to learn Node.js and MySQL together. You will build a REST API for quotes using Express Js in this guide.| Geshan's Blog
Docker is super useful for development environment because if it runs on your machine, it runs anywhere. It makes on-boarding new team members a lot easier.| Geshan's Blog
Learn how to set up and run MySQL with docker and docker-compose in this step-by-step tutorial. It also shows how to add MySQL to an existing project.| Geshan's Blog
Learn how to set up and run PostgreSQL with docker and docker-compose in this step-by-step tutorial. It also shows how to add Postgres to an existing project.| Geshan's Blog
Learn to insert multiple rows at once in Postgres with a single insert statement and the copy command in this useful tutorial.| Geshan's Blog
Learn the main concepts docker compose, in this handy tutorial. You can get staretd quickly with docker compose reading this.| Geshan's Blog
Learn the main concepts of containerization and Docker, from image, Docker file to running containers in this blog post.| Geshan's Blog
Learn how to use docker compose depend_on proprely to start the dependent service first, make it healthy then only start the main container| Geshan's Blog
Learn how to create a simple summarizer with Gemini API on Vertex AI with Node.js that runs on the CLI.| Geshan's Blog
Discover the boundless potential of Google Cloud Shell Editor, the useful online code editor to get things done without leaving the browser.| Geshan's Blog
Learn how to write and deploy a basic Node.js API with Duet AI on VS Code, in this step-by-step tutorial with 20+ screenshots!| Geshan's Blog
In this tutorial, you will learn how to set up environment variable sin docker compose in the docker-compose.yml file and an external .env file with substitution and precedence.| Geshan's Blog
In this extensive guide to Serverless Containers you will learn what they are and 3 services by the Big 3 Clouds to run them including Google Cloud Run.| Geshan's Blog
In this tutorial you will learn how to set up and use ON DELETE CASCADE in Postgres with a working example of Author and Quotes.| Geshan's Blog
In this tutorial you will learn how to use React fragments editing a simple but useful app that fetches latest HackerNews stories. Read it!| Geshan's Blog
In this tutorial, learn how use Axios timeout to make your app efficient, performant and resilient to external API failures.| Geshan's Blog
In this tutorial, learn how to add a React search bar to an existing app step-by-step.| Geshan's Blog