Posts

Code Hygiene in the Age of AI Pair-Programming: Lessons from a Real Codebase Review

  Why "hygiene" and not "quality" Code quality is a big, fuzzy word. Code hygiene is the practical subset of it — the small, mechanical habits that keep a codebase healthy over time: consistent naming, sane file organization, dependency discipline, and the humble but critical CI gate that catches mistakes before they ship. None of it requires deep architectural genius. All of it requires consistency . This matters more than ever now that a growing share of code is scaffolded by AI copilots and written by developers early in their careers. AI-assisted code is often locally excellent — a single function, a single file, will look clean and idiomatic. What it doesn't automatically give you is global consistency across a hundred files written over many sessions. That's still a human job. I recently reviewed a FastAPI backend built almost entirely this way — a junior engineer, working with GitHub Copilot, building a conversational AI product. The architecture ...

GitHub Copilot with GPT-4o vs Cursor with Claude Sonnet 3.7: A Developer's Perspective

As AI- powered coding assistants continue to evolve, developers are spoiled for choice. Among the top contenders today are: GitHub Copilot , recently upgraded with GPT- 4o , OpenAI’s fastest and most powerful model yet. Cursor , an AI- first code editor powered by Claude Sonnet 3.7 from Anthropic. Having used both tools in real development environments, I wanted to share a practical comparison— focusing on code completion accuracy , context awareness , workflow integration , and real- world usefulness . ⚔️ Quick Overview Feature GitHub Copilot ( GPT- 4o) Cursor ( Claude Sonnet 3.7) Model GPT- 4o Claude Sonnet 3.7 Editor Integration VS Code, JetBrains, Neovim Custom AI- powered code editor Local context awareness Basic ( via file open buffers) Deep file tree + git- aware Code Completion Accuracy High Very high Chat + Commands Yes ( in sidebar) Yes, deeply integrated Works offline? No No Price Paid ( via GitHub) Free tier + Paid plans 🤖 Code Completion: Who Understands Me...

Deploy a Next.js Application on Azure Web App ( Part 1)

Image
Today, we are going to deploy a very simple web application build using Next.JS framework on Microsoft Azure Web App. This blog is split into two parts - Part 1: covers local web app development and deployment to azure web app using local machine. Part 2: covers deployment using Gitlab CI Prerequisites Before starting, ensure you have the following prerequisites: Azure Account Subscription : If you don't have one, you can sign up for a free account here . Node.js and NPM : Make sure Node.js and NPM are installed on your local machine. Download them here . Git and Azure CLI : Install Git and the Azure CLI. Git can be found here and Azure CLI here . Docker : You’ll need Docker for building and running your Next.js app in a container. Get it here . (It is optional, we can build image directly on azure also) Table of Contents Setup Boilerplate Repo Build Docker Image (optional) Create an Azure Web App Deploy Web App using Azure CLI Step 1: Setup Repository To get started, yo...

Cybersecurity Essential: OpenSSL

In today’s digital landscape, securing data is paramount. Whether you’re building web applications, managing servers, or developing software that handles sensitive information, understanding cryptography is essential. OpenSSL is a powerful toolkit that software engineers can leverage for a variety of cryptographic functions. In this blog, we’ll explore what OpenSSL is, its core functionalities, and how you can effectively use it in your projects. What is OpenSSL? OpenSSL is an open-source implementation of the SSL and TLS protocols. It provides libraries for secure communication and a suite of command-line tools for performing various cryptographic operations, such as encryption, decryption, certificate management, and generating keys. Its versatility makes it a staple for software engineers and system administrators alike. Core Features of OpenSSL Encryption and Decryption : OpenSSL allows you to encrypt and decrypt files and data using various algorithms, includin...

Top AI Tools

Download and Install Python Download and Install Pycharm Install Jupyter > pip install jupyter Install Transformers > pip install transformers > pip install transformers[sentencepiece] Install Pytorch (Preferred for dev)/TensorFlow (preferred for prod) > pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

MongoDb CheatSheet

CRUD Operations: Create :  db.products.insert({item:"TV",aqty:200,soldqty:1200,avail:true}) db.createCollection("Name") Read : db.products.find({<Condition>},{<Projection>}) Get single document - db.products.findOne() Get all documents - db.products.find() Get documents based on filters - db.products.find({aqty:0}) Get documents with particular fields - db.products.find({aqty:0},{item:1,soldqty:1}) Reading the data with limit(), sort(), skip() functions: db.products.find().sort({aqty:1}).limit(5) db.products.find().sort({aqty:1}).skip(5) Operators : in, ne, nin, lt, gt, lte, gte, or, and IN -  db.products.find({aqty:{$in:[0,200]}}) Less Than & And - db.products.find({aqty:{$lt:200},soldqty:1800}) OR - db.products.find({$or:[{aqty:200},{soldqty:3000}]})            db.products.find({$or:[{aqty:{$lt:200}},{soldqty:{$gt:1800}}]}) Update : add/update property - db.products.updateMany({},{$set:{price:100}}) remove property...

Deep Dive in Asynchronous Programming in Javascript

Image
JavaScript is single threaded language.  Synchronous programming is execution of functions in order. Asynchronous programming is executing a long running process outside the main thread. It does not block code execution on main thread. Although it is achieved usually by running asynchronous function on separate thread. Though javascript is a single threaded language it supports aysnchronous behaviour, to understand how we need to understand JS runtime.