Blog

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

I Built AiFlow: A Visual Development Environment for Agentic AI Workflows
September 22, 2026Medium

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.

LLMLangGraphAgentic AILangChainAgentic Workflow
The 4th Dimension of Browsers and Websites
June 20, 2026Medium

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.

ChatbotsAi And Web 3Web DevelopmentAIBrowsers
Scientist → Engineer → Developer
May 21, 2026Medium

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.

AIInnovationScienceSoftware EngineeringStartups
AI Can Write Code. Engineers Still Own the Consequences.
May 11, 2026Medium

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.

AIEngineering LeadershipHuman-in-the-LoopLife Sciences
Don't Forget to Lock the Doors
July 31, 2025Medium

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.

AI TrustMCPAI AgentsSecurity
Unplugged Coder: A Startup Idea for the AI Era
July 26, 2025Medium

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.

AIDeveloper SkillsStartup Idea
When Your Brain Wants to Prompt, but Your Hands Want to Code
July 20, 2025Medium

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.

AI DependencyHands-on CodingDeveloper Mindset
Archive — 8 older posts
December 15, 2015WordPress

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.

JavaSpringRESTfulMockito
September 18, 2015WordPress

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.

JavaSpring ELHazelCastCache
REST Request / Response Simple Life Cycle
January 2, 2015WordPress

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
RESTful Content Negotiation: Simple Message Dissection
December 27, 2014WordPress

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.

JavaJAX-RSRESTful
January 31, 2014WordPress

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.

Java
January 27, 2014WordPress

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.

Java
January 9, 2014WordPress

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.

Java
December 29, 2013WordPress

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.

jQuery MobileJavaScriptPhoneGapGoogle App Engine