Blog
Posts & notes on Java, distributed systems, AWS, and agentic AI.

I Built AiFlow: A Visual Development Environment for Agentic AI Workflows
From natural-language descriptions to visual workflows, simulation traces, and AI-powered design reviews — a look at building a visual development environment that converts workflow descriptions into executable designs for agentic systems.

The 4th Dimension of Browsers and Websites
Stop adding chatbots to websites. Start rebuilding the web instead. The web is overdue for a rethink. Not an incremental improvement. Not another framework. Not another “better UX pattern.” A fundamental shift.

Scientist → Engineer → Developer
For years, I felt the need to switch identities constantly — Scientist when exploring ideas, Engineer when designing systems, Developer when building products. This journey has led me to embrace all these roles simultaneously.

AI Can Write Code. Engineers Still Own the Consequences.
GitHub Copilot just landed at work. A senior engineer's perspective on AI productivity metrics, story sizing, and why human intuition — not code generation speed — is still the hardest part of engineering in regulated systems.

Don't Forget to Lock the Doors
We're integrating AI tools into our workflows with enthusiasm — letting them read files, update documents, and act autonomously. But who's watching the watchers? A reflection on AI trust through the lens of an unforgettable story about unlocked doors.

Unplugged Coder: A Startup Idea for the AI Era
A pitch for a coding platform with no AI, no autocomplete, no crutches — a gym for developers to retain the muscle memory that makes us real engineers in an age where we're gaining speed but losing skill.

When Your Brain Wants to Prompt, but Your Hands Want to Code
I just wanted to refactor a function. I ended up questioning my entire relationship with code. A reflection on what happens when your instincts are wired to prompt instead of think — and why occasionally going manual matters.
Archive — 8 older posts
Spring Restful Project with RestController
A walkthrough of building a Spring RESTful project using @RestController, with testing via Mockito and SoapUI. Originally published on DZone.
Rule Engine Implementation with Spring EL
How we replaced client-specific rule coding with a dynamic rule engine using Spring Expression Language and HazelCast — saving deployment cycles and enabling runtime rule updates across a cluster.

REST Request / Response Simple Life Cycle
A simple visual breakdown of the REST request/response life cycle — a useful reference for understanding how HTTP communication flows in RESTful services.

RESTful Content Negotiation: Simple Message Dissection
A hands-on example implementing a JAX-RS service with four GET methods using different @Produces annotations — demonstrating how Accept headers drive content negotiation.
Thread.sleep() in Loops Considered Harmful
A concise post with a practical example showing why using Thread.sleep() inside loops is problematic and how to avoid it.
When to Prefer Enum Instead of Class in Java
If you have a fixed set of predefined objects and no more will be created, Java's enum is the right choice. A BMI example illustrates the benefits: singleton behavior, values(), switch support and more.
Are Local Code Blocks Unnecessary in Java?
A collegial debate: are local code blocks inside methods pointless? The answer is nuanced — avoid them in production code, but they shine in test code for scoping assertions without polluting the surrounding scope.
JQuery Mobile Test Pages
Exploring jQuery Mobile for cross-platform mobile web development — hosted on Google App Engine — and the next step of wrapping it as a native app with PhoneGap.