Writing

Technical deep-dives, tutorials, and perspectives on software engineering, tooling, and building products.

56

56 articles total

HTTP QUERY Method: The Safe GET With a Body (RFC 10008)
WEB DEVELOPMENT

HTTP QUERY Method: The Safe GET With a Body (RFC 10008)

The HTTP QUERY method (RFC 10008) gives you a safe, idempotent, cacheable request with a body. What it fixes, how caching works, and who supports it today.

Jul 2, 202612 min read
http-query-methodrfc-10008http+3
How to Build a Stateless MCP Server for the 2026-07-28 Spec
TECHNOLOGY

How to Build a Stateless MCP Server for the 2026-07-28 Spec

Step-by-step build of a stateless MCP server using the 2026-07-28 spec. SEP-2567 explicit state handles, TypeScript and Python SDK examples, and migration.

Jun 30, 202613 min read
stateless-mcp-servermcp-2026-07-28sep-2567+3
How to Upgrade Next.js for May 2026 Security Release (13 CVEs)
SECURITY

How to Upgrade Next.js for May 2026 Security Release (13 CVEs)

Next.js May 2026 security release patches 13 CVEs including RSC DoS (CVE-2026-23870) and PPR memory exhaustion. Step-by-step upgrade to 15.5.18 or 16.2.6.

Jun 25, 202613 min read
nextjs-may-2026-security-releasecve-2026-23870react-server-components+3
iOS 27 for Developers: Breaking Changes and New APIs
TECHNOLOGY

iOS 27 for Developers: Breaking Changes and New APIs

iOS 27 for developers: breaking changes, deprecations, Liquid Glass, Core AI, and Foundation Models APIs you need to handle before you recompile in Xcode 27.

Jun 23, 202613 min read
ios-27-for-developersios-27xcode-27+4
S3 Glacier Instant vs Flexible vs Deep Archive: Cost and Speed
DEVOPS & INFRASTRUCTURE

S3 Glacier Instant vs Flexible vs Deep Archive: Cost and Speed

S3 Glacier Instant vs Flexible vs Deep Archive compared: retrieval times, restore tiers, minimum durations, and real us-east-1 costs to pick the right class.

Jun 19, 202613 min read
s3-glacier-instant-vs-flexible-vs-deep-archives3-glacieraws-storage-classes+4
How to Add Custom MCP Tools to Your Slack AI Bot
TECHNOLOGY

How to Add Custom MCP Tools to Your Slack AI Bot

How to extend a Slack AI bot driven by Codex, Claude Code, or Cursor with custom MCP tools: build a FastMCP server in Python, wire it per-agent, gate destructive calls behind Slack approvals.

Jun 18, 202615 min read
custom-mcp-tools-slack-botmodel-context-protocolfastmcp+4
How to Migrate Vercel AI SDK 5 to 6: Breaking Changes Guide
WEB DEVELOPMENT

How to Migrate Vercel AI SDK 5 to 6: Breaking Changes Guide

Step-by-step Vercel AI SDK 5 to 6 migration. Codemod walkthrough, useChat parts model, ToolLoopAgent replacement for streamText, and tool approval.

Jun 16, 202612 min read
vercel-ai-sdk-5-to-6-migrationai-sdk-6tool-loop-agent+3
How to Build a Self-Hosted Slack AI Bot with any CLI Agent
DEVOPS & INFRASTRUCTURE

How to Build a Self-Hosted Slack AI Bot with any CLI Agent

How to build a self-hosted Slack AI bot driven by any CLI agent: Socket Mode app, Python glue, token streaming, Approve and Deny buttons, session resume across Codex and Claude Code.

Jun 11, 202622 min read
self-hosted-slack-ai-bot-cli-agentslack-botopenai-codex-cli+4
10 Best Claude Skills for Developers in 2026
TECHNOLOGY

10 Best Claude Skills for Developers in 2026

10 best Claude skills for developers in 2026. Real picks I use every week, ranked by impact and GitHub stars, with direct install links for each.

Jun 9, 20265 min read
best-claude-skills-developersclaude-codeclaude-skills+3
How to Set Up Sanity Studio in Next.js 16 (Embedded Dashboard)
WEB DEVELOPMENT

How to Set Up Sanity Studio in Next.js 16 (Embedded Dashboard)

How to set up Sanity Studio in Next.js 16 step by step: install next-sanity, mount the embedded /studio route, write a real post schema, query from a Server Component, fix CORS, and deploy to Vercel.

Jun 4, 202616 min read
sanity-studio-nextjs-setupsanity-cmsnextjs-16+4
How to Version REST APIs in Spring Framework 7 (Spring Boot 4)
SPRING BOOT

How to Version REST APIs in Spring Framework 7 (Spring Boot 4)

Spring Framework 7 API versioning is built in. Learn the version attribute, all four resolver strategies, baseline versions, and Sunset deprecation headers.

Jun 2, 202611 min read
spring-framework-7-api-versioningspring-boot-4rest-api+3
How to Set Up an SSH Tunnel for Local Database Access
DEVOPS & INFRASTRUCTURE

How to Set Up an SSH Tunnel for Local Database Access

Set up an SSH tunnel to reach a remote Postgres, MySQL, or Redis from your laptop without exposing the database port. With autossh and a systemd unit.

May 28, 202612 min read
ssh-tunneldatabasedevops+3
Spring AI 2.0 MCP Annotations: From Tool to Production
SPRING BOOT

Spring AI 2.0 MCP Annotations: From Tool to Production

Spring AI 2.0 MCP annotations tutorial: build a production MCP server with @McpTool, async progress reporting, Streamable HTTP transport, and Claude Code wiring.

May 26, 202611 min read
spring-ai-2.0mcpspring-boot+2
Why MCP 2026-07-28 Spec Drops Sessions and Goes Stateless
TECHNOLOGY

Why MCP 2026-07-28 Spec Drops Sessions and Goes Stateless

MCP 2026-07-28 spec release candidate drops sessions for a stateless protocol core. Here is why it changed, what breaks, and how to plan your migration.

May 24, 202612 min read
mcp-2026-07-28-specmodel-context-protocolmcp-stateless+3
TanStack npm Supply Chain Attack 2026: How OIDC Beat SLSA
SECURITY

TanStack npm Supply Chain Attack 2026: How OIDC Beat SLSA

On May 11, 2026, attackers hijacked TanStack's release pipeline mid-build to publish 84 malicious npm packages with valid SLSA provenance. Here's how.

May 22, 202617 min read
tanstack-supply-chain-attacknpm-securitygithub-actions+3
PostgreSQL 18 Temporal Foreign Keys with Spring Boot JPA
SPRING BOOT

PostgreSQL 18 Temporal Foreign Keys with Spring Boot JPA

PostgreSQL 18 temporal foreign keys with Spring Boot: WITHOUT OVERLAPS, PERIOD clause, Hibernate daterange mapping, and the ON DELETE gotcha nobody mentions.

May 21, 202611 min read
postgresql-18spring-boothibernate+2
Spring Boot 4 AOT Data Repositories: The Underrated Feature
SPRING BOOT

Spring Boot 4 AOT Data Repositories: The Underrated Feature

Spring Boot 4's AOT data repositories generate query implementations at build time, cutting startup and unlocking GraalVM native image support.

May 15, 202612 min read
spring-boot-4-aot-repositoriesspring-dataspring-boot-4+2
Java 26 Structured Concurrency: What Changed in the Sixth Preview
JAVA DEVELOPMENT

Java 26 Structured Concurrency: What Changed in the Sixth Preview

Java 26's JEP 525 refines structured concurrency with a new onTimeout joiner and List return types. Practical guide with code and virtual thread patterns.

May 12, 202612 min read
java-26-structured-concurrencystructured-concurrencyvirtual-threads+2
Claude Code Routines: Async CI Automation Just Became Real
TECHNOLOGY

Claude Code Routines: Async CI Automation Just Became Real

Claude Code Routines automate PR reviews, CI fixes, and nightly triage on Anthropic's cloud. Here's everything that shipped at Code with Claude 2026.

May 8, 20267 min read
claude-code-routinesclaude-codeci-automation+2
Next.js 16.2 AGENTS.md and next-browser: A Hands-On Guide
WEB DEVELOPMENT

Next.js 16.2 AGENTS.md and next-browser: A Hands-On Guide

Next.js 16.2 ships AGENTS.md by default, bundles the full docs in node_modules/next/dist/docs, and adds next-browser CLI for AI agents. Hands-on guide.

Apr 28, 202615 min read
nextjs-agents-mdnext-browsernextjs-16-2+2
Postgres Connection Pool Sizing: How PgBouncer Saved My Launch
DEVOPS & INFRASTRUCTURE

Postgres Connection Pool Sizing: How PgBouncer Saved My Launch

A real war story on Postgres connection pool sizing: why pool=500 nearly killed my launch, and how PgBouncer transaction mode multiplexed 5000 clients onto 25 backends.

Apr 24, 202622 min read
postgres-connection-poolpgbouncerpostgresql+3
Vercel AI Gateway: One Key for Every LLM, With BYOK Support
TECHNOLOGY

Vercel AI Gateway: One Key for Every LLM, With BYOK Support

Vercel AI Gateway unifies hundreds of AI models behind one API key with fallbacks, BYOK, and zero markup. A hands-on deep dive with AI SDK v6 code.

Apr 23, 202618 min read
vercel-ai-gatewayai-sdkllm+3
Java 26 HTTP/3 in the HttpClient: A Complete Developer Guide
JAVA DEVELOPMENT

Java 26 HTTP/3 in the HttpClient: A Complete Developer Guide

Java 26 HTTP/3 ships in the built-in HttpClient via JEP 517. Learn the opt-in API, Http3DiscoveryMode, fallback behavior, and HTTP/2 benchmarks.

Apr 21, 202617 min read
java-26-http-3java-26http-3+3
Claude Opus 4.7 API Pricing, Benchmarks & Breaking Changes 2026
TECHNOLOGY

Claude Opus 4.7 API Pricing, Benchmarks & Breaking Changes 2026

Claude Opus 4.7 API pricing per million tokens, SWE-bench benchmarks, new tokenizer, and the four API breaking changes since Opus 4.6. Full migration guide.

Apr 16, 202615 min read
claude-opus-4-7anthropicclaude-api+3
Claude Skills vs MCP vs Projects: Which One Should You Use?
TECHNOLOGY

Claude Skills vs MCP vs Projects: Which One Should You Use?

Claude Skills, MCP servers, and Projects solve different problems. Here is the honest comparison, token costs, and a decision framework for picking right.

Apr 15, 202618 min read
claude-skillsmcpclaude-projects+3
Amazon S3 Files: AWS Just Turned Object Storage Into a File System
DEVOPS & INFRASTRUCTURE

Amazon S3 Files: AWS Just Turned Object Storage Into a File System

S3 Files lets you mount S3 buckets via NFS with sub-millisecond latency. Here is how it works, what it costs, and why AWS also killed SSE-C by default.

Apr 9, 202611 min read
amazon-s3-filesaws-s3cloud-storage+2
Claude Mythos and Project Glasswing: Anthropic's Locked-Down AI Model
TECHNOLOGY

Claude Mythos and Project Glasswing: Anthropic's Locked-Down AI Model

Anthropic's new Claude Mythos model scores 93.9% on SWE-bench Verified and finds zero-days autonomously. Here is why it is not getting a public release.

Apr 8, 20268 min read
claude-mythosanthropicai-security+2
Why I Replaced useEffect Data Fetching with Server Actions
WEB DEVELOPMENT

Why I Replaced useEffect Data Fetching with Server Actions

I ripped useEffect data fetching out of my Next.js 16 app and replaced it with Server Components and Server Actions. Here is what broke and what got better.

Apr 7, 202610 min read
server-actionsuseeffectnextjs+2
Tail-Call Optimization Explained: Why Recursion Doesn't Have to Blow Your Stack
TECHNOLOGY

Tail-Call Optimization Explained: Why Recursion Doesn't Have to Blow Your Stack

Learn how tail-call optimization lets you recurse without stack overflows. Covers TCO in Elixir, Scala, Clojure, and why Java still doesn't support it.

Apr 4, 202611 min read
tail-call-optimizationrecursionfunctional-programming+4
The Axios npm Hack: How North Korea Hijacked 100M Weekly Downloads
SECURITY

The Axios npm Hack: How North Korea Hijacked 100M Weekly Downloads

On March 31, 2026, Axios was hijacked on npm by North Korean hackers. Here is the full technical breakdown, how to check if you're affected, and how to protect your projects.

Apr 1, 202613 min read
npm-supply-chain-attackaxiossecurity+3
You Can Now Pay by Just Saying It. Here Is What Razorpay and NPCI Just Pulled Off
TECH & INDIA

You Can Now Pay by Just Saying It. Here Is What Razorpay and NPCI Just Pulled Off

Razorpay and NPCI just launched Agentic Payments on Claude, letting AI complete UPI transactions on your behalf. Here is a breakdown of how it works, why India is the right place for it, and what it means for the future of commerce.

Feb 26, 20268 min read
fintechaiupi+3
The Future of Security: AI-Driven Anomaly Detection with Spring AI
SECURITY

The Future of Security: AI-Driven Anomaly Detection with Spring AI

Move from static rules to dynamic behavioral analysis. Learn how to intercept Spring Security Lifecycle events and feed them into a local LLM or Vector DB to detect account takeover attempts in real-time.

Feb 22, 20264 min read
Spring BootSpring AISecurity+2
Zero Trust Architecture: Implementing Least Privilege in Spring Boot Microservices
SECURITY

Zero Trust Architecture: Implementing Least Privilege in Spring Boot Microservices

Move beyond perimeter security. Learn how to implement mTLS, JWT propagation, and fine-grained Attribute-Based Access Control (ABAC) using custom AuthorizationManagers in Spring Security 6.

Feb 15, 20264 min read
Spring BootMicroservicesZero Trust+2
Full-Stack Social Identity: Spring Security 6.x + Next.js 16 + Auth.js
SECURITY

Full-Stack Social Identity: Spring Security 6.x + Next.js 16 + Auth.js

Building a secure "Backend for Frontend" (BFF) architecture using Next.js 16, Auth.js, and Spring Security 6.4 as a stateless OAuth2 Resource Server.

Feb 8, 20264 min read
Spring BootNext.jsOAuth2+2
The Component Revolution: Mastering Spring Security 6.x Bean Migration
SECURITY

The Component Revolution: Mastering Spring Security 6.x Bean Migration

The definitive guide to migrating from WebSecurityConfigurerAdapter to the SecurityFilterChain bean model. Understand the "why", master the "how", and future-proof your security configuration.

Feb 1, 20264 min read
Spring BootJavaSecurity+2
10 Essential Java Libraries to Reduce Boilerplate Code (Beyond Lombok)
JAVA ENGINEERING

10 Essential Java Libraries to Reduce Boilerplate Code (Beyond Lombok)

Stop writing getters, setters, and mappers. Discover the essential Java libraries like MapStruct, Records, Retrofit, and jOOQ that will cut your codebase in half.

Jan 19, 20264 min read
javaboilerplatelibraries+2
Fixing LazyInitializationException in Spring Boot: The Right Way
JAVA ENGINEERING

Fixing LazyInitializationException in Spring Boot: The Right Way

The #1 error in JPA explained. Why open-in-view is bad, and how to use JOIN FETCH, @EntityGraph, and DTOs to fix it permanently.

Jan 13, 20264 min read
javaspring-boothibernate+2
Handling Clock and Timezones Correctly in Java
JAVA ENGINEERING

Handling Clock and Timezones Correctly in Java

Why LocalDateTime.now() destroys your tests and how to use java.time.Clock to handle timezones like a pro in production applications.

Jan 7, 20263 min read
javaspring-boottesting+2
Integration Testing with TestContainers in Spring Boot: A Practical Handbook
JAVA ENGINEERING

Integration Testing with TestContainers in Spring Boot: A Practical Handbook

Stop writing brittle tests with H2. Learn how to use Testcontainers to run your integration tests against real Dockerized databases in Spring Boot 3.1+.

Dec 25, 20254 min read
javaspring-boottesting+3
Solving Spring Boot CORS Errors Once and For All
JAVA ENGINEERING

Solving Spring Boot CORS Errors Once and For All

The definitive guide to fixing Access-Control-Allow-Origin errors in Spring Boot. Learn the difference between @CrossOrigin, Global Config, and Security Filters.

Dec 21, 20254 min read
javaspring-bootcors+2
Goodbye middleware.ts, Hello proxy.ts: The Next.js 16 Migration Guide
NEXT.JS MASTERY

Goodbye middleware.ts, Hello proxy.ts: The Next.js 16 Migration Guide

Next.js 16 has killed `middleware.ts`. Learn how to migrate to `proxy.ts`, why auth in middleware is now considered unsafe, and how to master the new Node.js-based proxy layer.

Dec 19, 20255 min read
nextjs 16proxy.tsweb-development+3
How to Implement the Debezium Outbox Pattern in Spring Boot
SYSTEM DESIGN

How to Implement the Debezium Outbox Pattern in Spring Boot

Production walkthrough of the Debezium outbox pattern in Spring Boot. Worked example with code, Kafka topics, and the dual-write problem solved end to end.

Dec 10, 20257 min read
microservicessystem-designspring-boot+3
Sanitizer-Lib is Now Live on Maven Central
JAVA LIBRARIES

Sanitizer-Lib is Now Live on Maven Central

Great news for Java developers! Sanitizer-Lib, the library that eliminates input sanitization boilerplate, is now officially available on Maven Central. Here is how to add it to your project.

Dec 8, 20253 min read
javamaven-centralopen-source+2
The Day a React Patch Broke the Internet
SYSTEM DESIGN

The Day a React Patch Broke the Internet

If you tried to open X (Twitter), Canva, or Discord on December 5th, you likely saw a 500 error. The internet didn't just blink; it stumbled hard. Here is the technical breakdown of the React2Shell outage.

Dec 8, 20255 min read
system-designreactcloudflare+1
JSON to DTO Converter: Instantly Generate Java Classes from JSON
DEVELOPMENT

JSON to DTO Converter: Instantly Generate Java Classes from JSON

Free online JSON to DTO converter. Instantly generate production-ready Java Records, Lombok classes, and Jackson-annotated DTOs from any JSON payload.

Dec 3, 20253 min read
javajsondto+3
Google Antigravity: Why I Think It Changes Everything
TECHNOLOGY

Google Antigravity: Why I Think It Changes Everything

My personal take on Google Antigravity, the new agentic AI platform, and what it means for the future of our craft.

Dec 1, 20253 min read
AIGoogleAntigravity+2
Java 25 Performance: How Compact Object Headers Save 20% Memory
PERFORMANCE

Java 25 Performance: How Compact Object Headers Save 20% Memory

Let's talk about JEP 519. It's a game-changer in Java 25 that slashes object overhead by 50%, saving you a ton of heap memory.

Dec 1, 20255 min read
javaperformancejvm+1
The One System Design Question That Failed 80% of Candidates in 2025
SYSTEM DESIGN

The One System Design Question That Failed 80% of Candidates in 2025

It sounded simple: "Design a Rate Limiter." But there was a twist that caught almost everyone off guard.

Nov 28, 20256 min read
system-designinterviewbackend+1
Building a Modern Documentation Generator with Next.js 16
OPEN SOURCE

Building a Modern Documentation Generator with Next.js 16

I got tired of setting up docs for every project, so I built a documentation generator that actually makes it fun. Zero config, MDX support, dark mode, search—the whole deal.

Nov 19, 20256 min read
nextjsreacttypescript+4
Why `1 == 1` is True but `128 == 128` is False in Java — The Integer Caching Trap Explained
JAVA TIPS

Why `1 == 1` is True but `128 == 128` is False in Java — The Integer Caching Trap Explained

Discover the surprising behavior behind Java's Integer caching mechanism and why `==` comparisons can lead to unexpected results.

Jul 20, 20254 min read
javaintegercaching+4
My Thoughts on Vibe Coding
DEVELOPMENT STORIES

My Thoughts on Vibe Coding

A personal take on vibe coding—when it works, when it hurts, and how I used it on rabinarayanpatra.com to add dark mode and a blog audio feature.

Jul 18, 20254 min read
web-developmentpersonal-projectsdeveloper-life+3
How I Turned Daily Problem Solving into a DSA Habit (and Stuck with It)
CAREER & INTERVIEW PREP

How I Turned Daily Problem Solving into a DSA Habit (and Stuck with It)

A first-person, friendly walkthrough of how I built a consistent daily DSA problem-solving habit, the routines I use to stay motivated, and the systems that keep me improving without burning out.

Jul 6, 20258 min read
dsahabit-buildingproblem-solving+3
Top Java Interview Questions for 2025: Quick Prep Guide
CAREER & INTERVIEW PREP

Top Java Interview Questions for 2025: Quick Prep Guide

Currently interviewing for Java roles? Get the essential questions and answers I'm seeing in 2025 interviews. Covers Virtual Threads, modern concurrency, memory management, and Spring Boot internals with practical examples.

Jul 2, 202515 min read
javainterviewcareer+4
Mastering Virtual Threads in Java 25: The Complete Guide to Lightweight Concurrency
JAVA DEVELOPMENT

Mastering Virtual Threads in Java 25: The Complete Guide to Lightweight Concurrency

Discover how Virtual Threads in Java 25 revolutionize concurrent programming. Learn practical implementation strategies, performance optimizations, and real-world use cases that will transform your Java applications.

Jul 2, 202512 min read
javavirtual-threadsconcurrency+3
Modern Java Development: Mastering Java 21+ Features and Spring Boot Best Practices in 2025
JAVA DEVELOPMENT

Modern Java Development: Mastering Java 21+ Features and Spring Boot Best Practices in 2025

Discover the latest Java 21+ features including Virtual Threads, Pattern Matching, and Records. Learn advanced Spring Boot best practices, performance optimizations, and modern architectural patterns that every Java developer should know.

Jun 30, 202517 min read
javaspring-bootvirtual-threads+4
Sanitizer-Lib: The Java Library That Eliminates Input Sanitization Boilerplate Forever
JAVA LIBRARIES

Sanitizer-Lib: The Java Library That Eliminates Input Sanitization Boilerplate Forever

Meet Sanitizer-Lib - a powerful Java library that automatically sanitizes your data with simple annotations. Zero configuration, Spring Boot ready, and enterprise-grade security for modern Java applications.

Jun 30, 20256 min read
javaspring-bootlibrary+4