Writing

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

40

40 articles total

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

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

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

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

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

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

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

Claude Opus 4.7: Benchmarks, Breaking Changes, Migration Guide

Claude Opus 4.7 ships 87.6% on SWE-bench Verified, a new tokenizer, xhigh effort, and four API breaking changes. Here is the full deep dive and migration guide.

Apr 16, 202615 min read

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Debezium Outbox Pattern: Implementing CDC in Microservices

Step-by-step guide to implementing the Transactional Outbox Pattern with Debezium CDC in microservices. Solve the Dual Write problem with reliable data consistency.

Dec 10, 20257 min read

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

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

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

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

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

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

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

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

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

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

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

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

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

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