Agent Readiness
Most teams use agents as glorified autocomplete. A framework for assessing and raising both codebase readiness and team adoption — the two dimensions that have to move together.
It is a space for experiments, ideas, art and seed projects.
Most teams use agents as glorified autocomplete. A framework for assessing and raising both codebase readiness and team adoption — the two dimensions that have to move together.
A raymarching shader that tiles infinite animated boxes across the scene, with a sweeping camera and wave-like height animation driven by grid coordinates and time.
Software systems can be expressed using different models with varying levels of plasticity. Understanding this concept helps teams make better decisions about when to invest in upfront design versus diving directly into code.
I've been experimenting with text-first interactive games where the world responds to what you type. Unbound is my framework for exploring a question: what if the computer could actually understand what you meant?
Can we teach a coding agent to follow Test-Driven Development and would it be effective? A fascinating weekend experiment in AI workflow automation with unexpected insights about building custom development workflows.
A practical guide to debugging and profiling Java applications running in Kubernetes pods, including JVM argument setup, IDE integration, and VisualVM profiling.
A concise, slightly humorous take on what software architecture is, who needs architects, and how experience shapes architectural judgment.
A look at Ateji PX, a Java extension for parallel programming, and its powerful parallel constructs.
Updated results for the webapp stacks comparison, including new performance measurements.
Applying the fork/join framework to graph algorithms; DFS example and thread-safety considerations.
Feedback loops are the mechanism through which systems detect and correct errors. Understanding their length, effectiveness, and relationship to model plasticity and mistake rate helps us design faster, more reliable development processes.
An interactive diagram of the AI Coding Factory architecture — workers, runtimes, task managers, and agents.
Exploring modern JavaScript multi-threading capabilities, enabling developers to harness the power of parallelism for improved performance and responsiveness in web applications.
An interactive demonstration showcasing how to embed full-screen iframe experiences in React blog posts. Click the demo link to explore the AI Browser application in immersive full-screen mode.
The future of AI-assisted development isn't about using smarter tools, it's about orchestrating AI into custom workflows that match exactly how you work.
A hands-on exploration of building a VR game for the web using A-Frame, WebXR, and open source tools.
A record-and-replay approach to mocking slow legacy systems so integration tests run fast.
A review of Google AppEngine for Java, its limitations, missing APIs, and why it falls short for real-world Java applications.
Comparing technology stacks for building web applications: performance, productivity, and real-world results.
Short note on the use of class invariants: documenting, testing and pitfalls when using invariants with inheritance.
Interactive slides from my workshop on software development best practices in the agentic era, covering project management, architecture, testing, and AI-driven development workflows.
What if you could point a fleet of AI agents at your Jira backlog and let them work through it continuously?
Before microservices, serverless, and a shelf full of point tools, enterprise teams built on application servers. My PhD work with JBoss gave me intimate knowledge of how these platforms handled cross-cutting concerns.
Creating stunning GPU-powered visual effects in React applications using WebGL and GLSL fragment shaders. Learn how to build a reusable component that brings real-time shader programming to the browser.
Imagine a system that evolves on its own, continuously improving its performance without human intervention. This concept might sound futuristic, but it's becoming increasingly feasible with the right combination of autonomous agents and workflow.
A short essay on how easy access to information can create overconfidence and the illusion of expertise.
Cloud platforms are evolving into richer, more opinionated stacks — could they become distributed operating systems?
How to build a parallel for loop in C# using closures and a ThreadPoolExecutor. Part 2 covers the ForEach implementation and closure pitfalls.
Performance tuning for EJB3 applications: eager vs lazy fetching, transaction attributes, and benchmarking results.
Overview of the fork/join framework in JDK 7 and how it enables fine-grained parallelism and parallel algorithms.
I've tried Github's SpecKit and I'm not impressed. It tries to revive a development approach superceeded 20 years ago by Agile pracitices, and it doesn't even do that well.
A simple self-hosted photo backup solution using Fleabox and a PWA.
Exploring a "megaservices" architecture: one shared service hosting many small apps for rapid incubation, its benefits, trade-offs, and an easy extraction path.
How I automated the process of importing nearly two decades worth of blog posts into my new personal incubator site using scripting, GitHub Copilot CLI, and some creative transformations.
The advent of Agentic AI will re-shape the AI industry in more than one way. We will see the birth of specialized AI Agents built around distinct tasks, datasets, or domain capabilities.
A lightweight approach to emulate named parameters in Java using Param objects and factories.
A critical look at the Actor Model, its misconceptions, and the pitfalls of popular actor frameworks.
How to build a parallel for loop in C# using a ThreadPoolExecutor. Part 1 covers the basics and implementation details.
Benchmarking highly scalable technologies using cloud computing platforms.
Thoughts on distributed vs centralized SCM based on experience with optimistic replication, branching policies, and real-world merge costs.
I've created an AI system that autonomously evolves software by creating different versions of it and performing natural selection.
It turns out that building self-hosted web apps can be surprisingly simple. You don’t need complex backend frameworks, databases, or deployment pipelines because the user, once authenticated, is implicitly trusted.
Layered noise, procedural generation, and mouse interaction combine to create an ever-evolving visual landscape in this advanced GLSL shader demonstration.
How this blog evolved from a simple content platform into an interactive idea incubator where prototypes, experiments, and polished products coexist.
Building an AI-powered web application for 3D modeling controlled by voice, combining Three.js, OpenAI, and the Web Speech API.
A pragmatic look at what microservices actually deliver and the common misconceptions.
A follow-up review of Google AppEngine for Java, highlighting continued limitations and frustrations after several years.
A review of time tracking tools for productivity, including RescueTime and ManicTime.
A cool but unfortunately useless example of Java generics, reflection, and dynamic proxies.
First impressions of IBM Rational Jazz - the new Application Lifecycle Management software that aims to integrate SCM, CI, and issue tracking.
Here is a small collection of bash CLI tools that allow you to automate software development through custom agentic coding workflows.
A metric to evaluate development workflows and coding agents based on the frequency of errors made during the process, rather than just the defects that escape to production.
A compact infographic-style grid summarizing high-level AI industry signals in 2025.
Over the past year, the reliability of AI in coding has surged dramatically. The logical culmination of this evolution is the AI coding factory: a powerful new paradigm where hundreds of autonomous agents work in parallel under human supervision to deliver features at an unprecedented scale.
A conversation with ChatGPT about AI governance, exploring a hypothetical scenario where an AI is given leadership over the world.
Patterns for handling unreliable services and components, with retry helpers and strategies.
How to implement a parallel sort (bubblesort) in GLSL using shaders, with code and explanation.
Explains active and passive replication strategies for fault tolerance in distributed systems.
An Eclipse action delegate pattern using generics to reduce boilerplate when operating on typed selections.
A reflection on Dijkstra's famous article "Go To Statement Considered Harmful" and why it remains relevant today.