<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Soham Kamani</title><description>I write about programming, technoloy, and my journey to being a better developer.</description><link>https://www.sohamkamani.com/</link><item><title>Build a Full-Stack App with SvelteKit and PocketBase in a Single Binary</title><link>https://www.sohamkamani.com/blog/pocketbase-svelte-kit-app-tutorial/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/pocketbase-svelte-kit-app-tutorial/</guid></item><item><title>About Me</title><link>https://www.sohamkamani.com/blog/about/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/about/</guid></item><item><title>A Complete Guide to UUID Versions (v1, v4, v5) - With Examples</title><link>https://www.sohamkamani.com/blog/uuid-versions-explained/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/uuid-versions-explained/</guid><description>This post will describe UUID v1, v4, and v5, with examples. We will go through their implementation and differences, and when you should use them</description><category>uuid</category><category>uuid4</category><category>collision</category><category>datascience</category></item><item><title>Should I write that blog post? 📝</title><link>https://www.sohamkamani.com/blog/write-that-blog/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/write-that-blog/</guid><category>blogging</category><category>blog</category><category>other</category></item><item><title>AI Prompt Tuning: Using Meta-Prompting To Improve Your Prompts</title><link>https://www.sohamkamani.com/blog/ai/prompt-tuning-with-meta-prompting/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/ai/prompt-tuning-with-meta-prompting/</guid></item><item><title>How To Write Reader-Friendly Technical Blog Posts</title><link>https://www.sohamkamani.com/blog/writing-better-blog-posts/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/writing-better-blog-posts/</guid><description>In this post I summarize the processes and techniques I use to write blog posts, and some tips that I&apos;ve learned over the years</description></item><item><title>How to Write Good Documentation (And Its Essential Elements)</title><link>https://www.sohamkamani.com/blog/how-to-write-good-documentation/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/how-to-write-good-documentation/</guid><description>A comprehensive guide on how to write good documentation for your code and libraries</description><category>documentation</category></item><item><title>A Gentle Introduction to SQL Queries</title><link>https://www.sohamkamani.com/blog/sql-guide/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/sql-guide/</guid><category>sql</category></item><item><title>Monitoring The Health Of Your Golang Application Using the Detective Library</title><link>https://www.sohamkamani.com/blog/application-monitoring-healthchecks/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/application-monitoring-healthchecks/</guid><category>architecture</category></item><item><title>Mastering AI Agent Skills</title><link>https://www.sohamkamani.com/blog/ai/what-are-ai-agents-and-how-to-make-your-own/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/ai/what-are-ai-agents-and-how-to-make-your-own/</guid></item><item><title>How Games Are Programmed: An Introduction To The Core Concepts Required To Program A Video Game </title><link>https://www.sohamkamani.com/blog/game-programming-introduction/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/game-programming-introduction/</guid><description>An introduction to the core concepts required to build a video game, while building a game of snake</description><category>game</category><category>architecture</category><category>javascript</category></item><item><title>Why We Should Stop Using Gifs</title><link>https://www.sohamkamani.com/blog/stop-using-gifs/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/stop-using-gifs/</guid><category>gif</category><category>web</category><category>html</category></item><item><title>Web Security Basics - An Introduction to the Essential Concepts Behind a Secure Website</title><link>https://www.sohamkamani.com/blog/web-security-basics/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/web-security-basics/</guid><description>A comprehensive introduction to web security basics like XSS, CSRF, SQL injection, and other important concepts to keep in mind when creating a website.</description></item><item><title>How to Install and Run a Kafka Cluster Locally</title><link>https://www.sohamkamani.com/blog/install-and-run-kafka-locally/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/install-and-run-kafka-locally/</guid><category>kafka</category></item><item><title>Using the BusyBox Docker Image for Building Applications : A Complete Guide</title><link>https://www.sohamkamani.com/blog/docker/busybox-guide/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/docker/busybox-guide/</guid><description>This post will go through how to build and run a BusyBox container in Docker and run custom executables on it, using Go (Golang) as an example</description></item><item><title>Polymorphism in Go - without interfaces 🦆</title><link>https://www.sohamkamani.com/blog/golang/2019-03-29-polymorphism-without-interfaces/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/2019-03-29-polymorphism-without-interfaces/</guid><description>A demonstration on using polymorphism in Go without using interfaces</description><category>go</category><category>golang</category></item><item><title>Factory patterns in Go (Golang) 🏭</title><link>https://www.sohamkamani.com/blog/golang/2018-06-20-golang-factory-patterns/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/2018-06-20-golang-factory-patterns/</guid><description>A tutorial explaining how factory patterns are implemented in Go, with example code showing how to create factory functions and factory methods</description><category>go</category><category>golang</category><category>factory</category></item><item><title>A Comprehensive Guide of Arrays and Slices in Golang (and their differences)</title><link>https://www.sohamkamani.com/blog/golang/arrays-vs-slices/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/arrays-vs-slices/</guid><description>This post will cover everything you need to know about arrays and slices in Go, and the differences between them.</description><category>go</category><category>golang</category><category>array</category><category>slice</category></item><item><title>Tensorflow Introduction and Basic Operations</title><link>https://www.sohamkamani.com/blog/data-science/tensorflow-introduction/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/data-science/tensorflow-introduction/</guid><category>machine</category><category>learning</category><category>tensorflow</category><category>python</category><category>datascience</category></item><item><title>Creating a MongoDB Replica Set Using Docker</title><link>https://www.sohamkamani.com/blog/docker/mongo-replica-set/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/docker/mongo-replica-set/</guid><description>This tutorial is a beginner friendly way to set up your own MongoDB replica sets using docker, and docker-compose.</description></item><item><title>Linear Regression with Python</title><link>https://www.sohamkamani.com/blog/data-science/linear-regression-python/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/data-science/linear-regression-python/</guid><category>python</category><category>math</category><category>machine_learning</category><category>statistical_learning</category><category>datascience</category></item><item><title>An Introduction to Channels in Go (Golang)</title><link>https://www.sohamkamani.com/blog/golang/channels/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/channels/</guid><description>An introduction on channels in Go, and how to visualize them</description><category>go</category><category>golang</category><category>channel</category></item><item><title>Golang Constructors - Design Patterns For Initializing Variables</title><link>https://www.sohamkamani.com/blog/golang/constructors/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/constructors/</guid><category>golang</category></item><item><title>How to Use Context in Golang (Deadlines, Cancellation, and Passing Values)</title><link>https://www.sohamkamani.com/blog/golang/context/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/context/</guid><description>How to use Go&apos;s context package to make faster and more robust applications.</description><category>go</category><category>golang</category><category>context</category></item><item><title>Data races in Go(Golang) and how to fix them</title><link>https://www.sohamkamani.com/blog/golang/data-races/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/data-races/</guid><description>What is a data race? What causes it? How to fix it?</description><category>go</category><category>golang</category></item><item><title>Golang&apos;s &apos;Defer&apos; Keyword: What It Is and How It Works</title><link>https://www.sohamkamani.com/blog/golang/defer/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/defer/</guid><description>This post talks about the special &quot;defer&quot; keyword in Go. We look at some advanced features and code examples to know how and when to use &quot;defer&quot; in your Go application.</description><category>golang</category></item><item><title>Using Enums (and Enum Types) in Golang</title><link>https://www.sohamkamani.com/blog/golang/enums/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/enums/</guid><description>How to implement enumeration types in Go (Golang), illustrated with examples and sample code</description><category>go</category><category>golang</category></item><item><title>Mastering Error Handling in Go: A Comprehensive Guide</title><link>https://www.sohamkamani.com/blog/golang/error-handling/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/error-handling/</guid><description>Dive deep into Go error handling, covering best practices, custom error types, and techniques for effective debugging.</description><category>go</category><category>golang</category></item><item><title>Command Pattern in Go (Golang)</title><link>https://www.sohamkamani.com/blog/golang/command-pattern/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/command-pattern/</guid><description>This article explains how to implement the command design pattern in Go with example code, as well as sample use cases.</description><category>go</category><category>golang</category><category>command</category></item><item><title>Executing Shell Commands in Golang</title><link>https://www.sohamkamani.com/blog/golang/exec-shell-command/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/exec-shell-command/</guid></item><item><title>Golang functions vs methods 👯‍♀️</title><link>https://www.sohamkamani.com/blog/golang/functions-vs-methods/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/functions-vs-methods/</guid><description>What is the difference between functions and methods in Go? When do we use them?</description><category>go</category><category>golang</category></item><item><title>Golang - Implementing Heap Data Structure (and Heap Sort)</title><link>https://www.sohamkamani.com/blog/golang/heap/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/heap/</guid></item><item><title>Build a web application in Go (golang)</title><link>https://www.sohamkamani.com/blog/golang/how-to-build-a-web-application/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/how-to-build-a-web-application/</guid><description>An end to end tutorial on how to build a full stack web application in golang</description><category>go</category><category>golang</category><category>web</category></item><item><title>Making REST API Requests in Golang using the HTTP Client</title><link>https://www.sohamkamani.com/blog/golang/http-client/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/http-client/</guid></item><item><title>How to Use Iota in Golang</title><link>https://www.sohamkamani.com/blog/golang/iota/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/iota/</guid><category>golang</category></item><item><title>A Complete Guide to JSON in Golang (With Examples)</title><link>https://www.sohamkamani.com/blog/golang/json/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/json/</guid><description>This post will describe how to marshal and unmarshal JSON in Go. We will learn how to convert from JSON raw data into Go types like structs, maps, and slices</description><category>go</category><category>golang</category><category>json</category></item><item><title>Golang Make Function - Initializing Slices, Maps, and Channels (Size and Capacity)</title><link>https://www.sohamkamani.com/blog/golang/make/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/make/</guid></item><item><title>Golang Omitempty Explained</title><link>https://www.sohamkamani.com/blog/golang/omitempty/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/omitempty/</guid><category>golang</category></item><item><title>Functional Options in Go: Implementing the Options Pattern in Golang</title><link>https://www.sohamkamani.com/blog/golang/options-pattern/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/options-pattern/</guid><description>This post describes how to use the option pattern to implement functional options in Go. Functional options provide greater flexibility and a more explicit interface when creating new objects.</description><category>go</category><category>golang</category><category>options</category></item><item><title>Using Maps in Golang - With Examples</title><link>https://www.sohamkamani.com/blog/golang/maps/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/maps/</guid></item><item><title>Creating an OAuth2 Client in Golang (With Full Examples)</title><link>https://www.sohamkamani.com/blog/golang/oauth/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/oauth/</guid><description>This post explains how to implement OAuth 2.0 in a Golang application</description><category>go</category><category>golang</category><category>oauth</category><category>security</category></item><item><title>Implementing JWT based authentication in Golang</title><link>https://www.sohamkamani.com/blog/golang/jwt-authentication/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/jwt-authentication/</guid><description>A tutorial on building a web application in Go that uses JWT (JSON web token) based authentication</description><category>jwt</category><category>golang</category></item><item><title>Using a Mutex in Go (Golang) - with Examples</title><link>https://www.sohamkamani.com/blog/golang/mutex/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/mutex/</guid><description>This tutorial describes how to use mutexes to prevent race conditions in Go (Golang), as well as the different kinds of mutexes (sync.Mutex and sync.RWMutex)</description><category>golang</category></item><item><title>How to Implement Password Authentication and Storage in Go (Golang)</title><link>https://www.sohamkamani.com/blog/golang/password-authentication-and-storage/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/password-authentication-and-storage/</guid><description>This post demonstrates how to sign up and sign in users using password authentication in Go</description><category>go</category><category>golang</category></item><item><title>Using a PostgreSQL Database in Go (in Production)</title><link>https://www.sohamkamani.com/blog/golang/sql-database/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/sql-database/</guid><description>This post will go through how to interact with an SQL database in Go, and how to make your Go application production ready when it comes to connecting and querying your database server.</description><category>go</category><category>golang</category></item><item><title>Implementing RSA Encryption and Signing in Golang (With Examples)</title><link>https://www.sohamkamani.com/blog/golang/rsa-encryption/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/rsa-encryption/</guid><description>A comprehensive guide on RSA Encryption and Signing, and how to implement them in Golang</description><category>go</category><category>golang</category><category>options</category></item><item><title>Time in Golang - Working With Time, Duration, and Dates (With Examples)</title><link>https://www.sohamkamani.com/blog/golang/time/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/time/</guid><description>This tutorial will teach you how to work with Time in Go (Golang) - including how to parse and format date-time strings, add and subtract time durations, and get the current system time.</description><category>go</category><category>golang</category></item><item><title>A Guide On SQL Database Transactions In Go</title><link>https://www.sohamkamani.com/blog/golang/sql-transactions/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/sql-transactions/</guid><description>This article explains what database transactions are, and how to implement them in Go (Golang)</description><category>sql</category><category>go</category><category>golang</category></item><item><title>Session Cookie Authentication in Golang (With Complete Examples)</title><link>https://www.sohamkamani.com/blog/golang/session-cookie-authentication/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/session-cookie-authentication/</guid><description>How to authenticate users using sessions and cookies in a Golang server application</description><category>go</category><category>golang</category><category>web</category><category>session</category><category>security</category><category>uuid</category></item><item><title>Type Conversion and Type Assertion in Golang - Everything You Need to Know (With Examples)</title><link>https://www.sohamkamani.com/blog/golang/type-conversion/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/type-conversion/</guid><description>Explaining type assertions and type conversions in Go(Golang), and when to use them</description><category>golang</category></item><item><title>Making an interactive Telegram bot in Go (Golang)</title><link>https://www.sohamkamani.com/blog/golang/telegram-bot/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/telegram-bot/</guid><description>This tutorial will go through a straightforward set of steps to get a responsive telegram bot up and running from scratch in Golang</description><category>telegram</category><category>chat</category><category>bot</category><category>go</category><category>golang</category></item><item><title>Variables in Golang - Everything You Need to Know</title><link>https://www.sohamkamani.com/blog/golang/variables/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/variables/</guid></item><item><title>Implementing a Kafka Producer and Consumer In Golang (With Full Examples) For Production</title><link>https://www.sohamkamani.com/blog/golang/working-with-kafka/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/working-with-kafka/</guid><description>This post will show you how to create a Kafka producer and consumer in Go (Golang). It will also show you the various configuration options, and how to tune them for a production setup.</description></item><item><title>Monitoring for Google App Engine: How to View Logs and Metrics</title><link>https://www.sohamkamani.com/blog/cloud/appengine-monitoring/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/cloud/appengine-monitoring/</guid><description>We will learn how to view application logs for our AppEngine application, as well as view metrics for throughput, latency and resource usage.</description></item><item><title>Authenticating Applications with Service Accounts in Google Cloud</title><link>https://www.sohamkamani.com/blog/cloud/gcp-authentication/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/cloud/gcp-authentication/</guid></item><item><title>Vertex Ai</title><link>https://www.sohamkamani.com/blog/cloud/vertex-ai/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/cloud/vertex-ai/</guid></item><item><title>How to Lazy Load Disqus Comments in Your Hugo Webpage</title><link>https://www.sohamkamani.com/blog/hugo/lazy-load-disqus-comments/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/hugo/lazy-load-disqus-comments/</guid><category>hugo</category><category>golang</category></item><item><title>App Engine Scaling - Basic, Manual, and Automatic Scaling (With Examples)</title><link>https://www.sohamkamani.com/blog/cloud/appengine-scaling/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/cloud/appengine-scaling/</guid><description>In this post, we&apos;ll learn how to manage and scale your App Engine resources, and the difference between basic, manual, and auto scaling. We&apos;ll also learn how to manage instance classes to increase the memory and CPU available to each instance.</description></item><item><title>Using the Builder Pattern in Javascript (With Examples)</title><link>https://www.sohamkamani.com/blog/javascript/builder-pattern/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/builder-pattern/</guid><description>Learn how to use the builder pattern in Javascript, and see some code examples, as well as advanced concepts like validation and fixed attribute options.</description><category>javascript</category></item><item><title>Using Enums In Javascript</title><link>https://www.sohamkamani.com/blog/javascript/enums/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/enums/</guid><description>How to implement and use enumerations (or enum types) in Javascript</description><category>javascript</category><category>enums</category></item><item><title>Implementing Set Data Structures in Golang (With Examples)</title><link>https://www.sohamkamani.com/blog/golang/sets/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/golang/sets/</guid><description>This post describes how we can use the existing native data structures to implement sets (and hash-sets) in Go.</description><category>golang</category></item><item><title>D3 Geo Projections Explained 🗺</title><link>https://www.sohamkamani.com/blog/javascript/d3-geo-projections/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/d3-geo-projections/</guid><description>This post explains how D3 projections work and how D3 draws maps with GeoJSON</description><category>javascript</category><category>d3</category></item><item><title>How to Set Expiry Time (TTL) for LocalStorage With Javascript</title><link>https://www.sohamkamani.com/blog/javascript/localstorage-with-ttl-expiry/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/localstorage-with-ttl-expiry/</guid><description>This post will explain how to implement expiry times for items stored in the browsers localStorage.</description><category>javascript</category><category>html5</category></item><item><title>How To Sync Your Data Between Google Sheets And Firebase</title><link>https://www.sohamkamani.com/blog/javascript/google-firebase-sync/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/google-firebase-sync/</guid><category>google</category><category>sheets</category><category>firebase</category><category>data</category><category>sync</category><category>other</category></item><item><title>Javascript Closures Explained (With Examples)</title><link>https://www.sohamkamani.com/blog/javascript/closures/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/closures/</guid><description>In this post, we will understand what closures are, and go through a few examples to solidify our understanding of them.</description><category>javascript</category><category>closure</category><category>js</category></item><item><title>An Introduction to Promises in Javascript</title><link>https://www.sohamkamani.com/blog/javascript/promises/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/promises/</guid><category>javascript</category></item><item><title>How Is Javascript Asynchronous And Single Threaded?</title><link>https://www.sohamkamani.com/blog/javascript/single-thread-and-async/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/single-thread-and-async/</guid><category>node</category><category>javascript</category></item><item><title>Javascript Symbols Explained</title><link>https://www.sohamkamani.com/blog/javascript/symbols/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/javascript/symbols/</guid></item><item><title>Making a Testing Framework in Node.js (Without any External Libraries)</title><link>https://www.sohamkamani.com/blog/nodejs/create-testing-framework/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/create-testing-framework/</guid><description>This post describes how to create a test runner for Node.js in only a few lines of code, without using any external libraries</description><category>node</category><category>javascript</category><category>testing</category></item><item><title>How express.js works - Understanding the internals of the express library ⚙️</title><link>https://www.sohamkamani.com/blog/nodejs/expressjs-architecture/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/expressjs-architecture/</guid><category>javascript</category><category>node</category><category>js</category><category>express</category></item><item><title>A Complete Guide to HTTP/2 in Node.js (With Example Code)</title><link>https://www.sohamkamani.com/blog/nodejs/http2/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/http2/</guid><description>This post will explain what HTTP/2 is, and how we can make use of its features in Node.js. We will learn how to create an HTTP/2 client and server, along with some advanced concepts like routing and timeouts.</description><category>node</category><category>javascript</category></item><item><title>Node.js File System Module - How to Read and Write Files and Directories</title><link>https://www.sohamkamani.com/blog/nodejs/file-system/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/file-system/</guid><description>A complete guide to working with the file system with Node.js. This article explains the most common operations like reading, writing and creating files with Node.js, with working examples</description><category>node</category><category>javascript</category><category>file</category></item><item><title>Using Nightwatch.Js To Test And Take Screenshots Of Your App</title><link>https://www.sohamkamani.com/blog/nodejs/nightwatch-js/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/nightwatch-js/</guid><category>node</category><category>html5</category><category>nightwatchjs</category><category>e2e</category><category>testing</category></item><item><title>Implementing JWT Authentication in Node.js</title><link>https://www.sohamkamani.com/blog/nodejs/jwt-authentication/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/jwt-authentication/</guid><description>In this post, we will learn how to implement JWT (JSON Web Token) based authentication in Node.js, and build a complete server application as an example</description><category>jwt</category><category>node</category><category>javascript</category></item><item><title>Building a REST API With Node.js Express and MongoDB</title><link>https://www.sohamkamani.com/blog/nodejs/mongodb-express-rest-api/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/mongodb-express-rest-api/</guid><description>A tutorial on building a REST API with Node.js using Express.js and MongoDB</description></item><item><title>Implementing OAuth 2.0 with Node.js</title><link>https://www.sohamkamani.com/blog/nodejs/oauth/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/oauth/</guid><description>This post explains how to implement OAuth 2.0 using Node.js</description><category>javascript</category><category>node</category><category>js</category><category>nodejs</category><category>oauth</category><category>security</category></item><item><title>How to Execute Shell Commands With Node.Js</title><link>https://www.sohamkamani.com/blog/nodejs/executing-shell-commands/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/executing-shell-commands/</guid><description>This tutorial will teach you how to execute shell commands, and even your own custom shell scripts with Node.js.</description><category>nodejs</category></item><item><title>How to communicate between Python and NodeJs 🐍</title><link>https://www.sohamkamani.com/blog/nodejs/python-communication/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/python-communication/</guid><category>jekyll</category><category>update</category><category>javascript</category></item><item><title>A Guide On SQL Database Transactions In Node.js</title><link>https://www.sohamkamani.com/blog/nodejs/sql-transactions/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/sql-transactions/</guid><description>This article explains what database transactions are, and how to implement them in Node.js</description><category>sql</category><category>javascript</category><category>node</category></item><item><title>Adding a Redis Cache To Your Node.js Server</title><link>https://www.sohamkamani.com/blog/nodejs/redis-cache/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/redis-cache/</guid><category>javascript</category><category>node</category><category>js</category><category>redis</category><category>caching</category><category>cache</category></item><item><title>RSA Encryption, Decryption and Signing in Node.js (Javascript) - With Examples</title><link>https://www.sohamkamani.com/blog/nodejs/rsa-encryption/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/rsa-encryption/</guid><description>A comprehensive guide on RSA Encryption, Decryption and Signing, and how to implement them in Node.js</description><category>node</category><category>javascript</category><category>rsa</category></item><item><title>Making (and deploying) an Interactive Telegram Bot in Node.js</title><link>https://www.sohamkamani.com/blog/nodejs/telegram-bot/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/telegram-bot/</guid><category>telegram</category><category>bot</category><category>javascript</category><category>nodejs</category></item><item><title>What is Idempotence - Using Idempotence for System Design (With Examples)</title><link>https://www.sohamkamani.com/blog/system-design/idempotence/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/system-design/idempotence/</guid></item><item><title>Implementing a Kafka Producer and Consumer In Node.js (With Full Examples) For Production</title><link>https://www.sohamkamani.com/blog/nodejs/working-with-kafka/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/working-with-kafka/</guid><description>This post will show you how to create a Kafka producer and consumer in Node.js. It will also show you the various configuration options, and how to tune them for a production setup.</description></item><item><title>Deploying a Java Application to Google App Engine</title><link>https://www.sohamkamani.com/blog/java/appengine/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/appengine/</guid><description>In this tutorial we will learn how to deploy and run a Java Spring Boot application to Google App Engine.</description></item><item><title>A Complete Guide to Using Google BigQuery in Java (With Examples)</title><link>https://www.sohamkamani.com/blog/java/bigquery/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/bigquery/</guid><description>This post will highlight the basics of BigQuery and how to read, write and administer your BigQuery dataset in a Java application.</description><category>java</category></item><item><title>Session Cookie Authentication in Node.js (With Complete Examples)</title><link>https://www.sohamkamani.com/blog/nodejs/session-cookie-authentication/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/nodejs/session-cookie-authentication/</guid><description>How to authenticate users using sessions and cookies in a Node.js server application</description><category>nodejs</category><category>javascript</category><category>web</category><category>session</category><category>security</category><category>uuid</category></item><item><title>Running a Maven Project from the Command Line (and Building Jar Files)</title><link>https://www.sohamkamani.com/blog/java/cli-app-with-maven/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/cli-app-with-maven/</guid><description>A tutorial on how to run a java application with maven commands on the command line</description><category>java</category></item><item><title>Working with Google Cloud SQL in Java: A Step-by-Step Guide to Creating, Connecting, and Querying Your Database</title><link>https://www.sohamkamani.com/blog/java/cloudsql/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/cloudsql/</guid></item><item><title>Creating An MCP Server with Spring Boot</title><link>https://www.sohamkamani.com/blog/java/creating-an-mcp-server/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/creating-an-mcp-server/</guid></item><item><title>Working with Google Cloud Storage in Java - How to Upload, Download and Modify Files</title><link>https://www.sohamkamani.com/blog/java/google-cloud-storage/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/google-cloud-storage/</guid></item><item><title>Using the Gemini API in your Java Application</title><link>https://www.sohamkamani.com/blog/java/gemini-vertex-api/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/gemini-vertex-api/</guid></item><item><title>Working with PostgreSQL in Java - Using the JDBC Library</title><link>https://www.sohamkamani.com/blog/java/jdbc-postgresql/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/jdbc-postgresql/</guid><description>In this tutorial, we&apos;ll learn how to connect to a Postgres database using JDBC, and run basic SQL queries (Select, Insert, Update, Delete) in our Java application.</description></item><item><title>Build a RAG-Powered Chat App with Spring AI and PGVector</title><link>https://www.sohamkamani.com/blog/java/spring-ai-rag-application/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/spring-ai-rag-application/</guid></item><item><title>Using OpenRouter in Java Spring Boot: One API for ANY AI model (GPT, Claude, Gemini, etc)</title><link>https://www.sohamkamani.com/blog/java/openrouter/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/openrouter/</guid></item><item><title>What are Virtual Threads? (And How to Use Them in Spring Boot)</title><link>https://www.sohamkamani.com/blog/java/virtual-threads-spring-boot/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/virtual-threads-spring-boot/</guid><description>A practical guide to understanding and enabling Java&apos;s new Virtual Threads in a Spring Boot 3.2+ application to dramatically improve performance and concurrency with just a single line of code.</description></item><item><title>How to Encode and Decode Base64 Data from the Command Line (With Examples)</title><link>https://www.sohamkamani.com/blog/unix/base64-encode-decode/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/unix/base64-encode-decode/</guid><description>A tutorial on encoding and decoding data into Base64 using Unix command line tools</description></item><item><title>Spring OAuth2 Authentication</title><link>https://www.sohamkamani.com/blog/java/spring-oauth2-authentication/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/spring-oauth2-authentication/</guid></item><item><title>Implementing JWT Based Authentication in Spring Boot (Using Spring Security)</title><link>https://www.sohamkamani.com/blog/java/spring-jwt-authentication/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/spring-jwt-authentication/</guid><category>spring-security</category></item><item><title>Implementing a Kafka Producer and Consumer In Java (With Full Examples) For Production</title><link>https://www.sohamkamani.com/blog/java/kafka/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/kafka/</guid><description>This post will show you how to create a Kafka producer and consumer in Java. It will also show you the various configuration options, and how to tune them for a production setup.</description></item><item><title>Building a Chat Application with React and Websockets</title><link>https://www.sohamkamani.com/blog/reactjs/chat-application/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/reactjs/chat-application/</guid><description>An end to end tutorial on building a chat application with React</description></item><item><title>Rest API Calls Using Redux - Full Tutorial</title><link>https://www.sohamkamani.com/blog/reactjs/redux-call-api/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/reactjs/redux-call-api/</guid><category>react</category><category>redux</category><category>apis</category></item><item><title>Making REST API calls with TypeScript (With Examples)</title><link>https://www.sohamkamani.com/blog/typescript/rest-http-api-call/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/typescript/rest-http-api-call/</guid><description>A tutorial on how add types to REST API calls using Typescript.</description><category>api</category><category>typescript</category><category>javascript</category></item><item><title>How to Combine React Contexts</title><link>https://www.sohamkamani.com/blog/reactjs/combining-context/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/reactjs/combining-context/</guid><description>How to combine and merge two or more React contexts</description><category>react</category><category>context</category></item><item><title>React-Redux &quot;Connect&quot; Explained</title><link>https://www.sohamkamani.com/blog/reactjs/redux-connect/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/reactjs/redux-connect/</guid><category>react</category><category>redux</category><category>connect</category></item><item><title>The Java Ecosystem Explained - How Java Runs Your Code</title><link>https://www.sohamkamani.com/blog/java/ecosystem/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/ecosystem/</guid></item><item><title>Using React with Typescript</title><link>https://www.sohamkamani.com/blog/reactjs/typescript/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/reactjs/typescript/</guid><description>Tips and tricks on how to use React with Typescript</description><category>react</category><category>typescript</category></item><item><title>Creating a RESTful HTTP Server in Spring Boot (Java) - With Full Examples</title><link>https://www.sohamkamani.com/blog/java/spring-rest-http-server/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/spring-rest-http-server/</guid><description>This tutorial will explain how to run a RESTful HTTP server using the Spring Boot framework.</description></item><item><title>Building Smart Agents with Spring AI</title><link>https://www.sohamkamani.com/blog/java/creating-ai-agents-with-spring-boot/</link><guid isPermaLink="true">https://www.sohamkamani.com/blog/java/creating-ai-agents-with-spring-boot/</guid></item></channel></rss>