Stacey on Software: Coding

  • How to answer 'What's wrong with PHP?'

    I spec'd a new project the other day. Nothing new, we do this all the time, probably a few dozen times a year. We went through the usual…

  • Unit Testing: It's About Confidence

    I was reading this post , which raises some interesting points, but it sidesteps what I believe is the absolutely most important reason…

  • Am I a whiny little bitch because I want Java6 on my Mac?

    This post set me off today. Apparently, because I want a modern Java on my Mac, I'm being selfish. Actually more specifically I'm being a…

  • Property Binding in UIs

    So my ranting continues. My friend is adamantly refusing to change his Servlet/JSP habits and I'm afraid I have to take it out on everyone…

  • Why, oh why, Wordpress, have you made it so difficult to publish code snippets.

    This started as a post about how Java EE 5 has improved my experience in writing webservices based applications. However, for the past hour…

  • Database Queries - Programmatic Criteria vs. EQL?

    So, an associate of mine is really enjoying programmatic database query criteria, and now it's spilled over onto me :) The use-case that…

  • Wow, this isn't the Web Services I used to know...

    OK, so around 2005 we did some projects with WebServices. They were successful, but we wrote a lot more code than we wanted to. We hand…

  • Living with Maven2

    I often see a lot of complaining about the Apache Maven build tool. In fact, sometimes I do a lot of complaining about it myself. The fact…

  • Performance Profiling with JBoss Seam - Part 1

    So, I decided I had had enough of looking at 400-600ms server prep times for Seam pages on a project we're working on. It just didn't seam…

  • Performance Profiling with JBoss Seam - Part 2

    On my last post, I began dissecting what might be causing JBoss Seam to be "slow" on one of our projects. In this post, I'm going to show…

  • Wishing for the days of XML Deploy-time configuration??!!

    Wow, so here's a short one for you. I'm tuning an application to utilize the Hibernate 2nd level cache. The application uses Hibernate…

  • Today

    Today. Today we are better than yesterday, but not as good as we will be tomorrow. Today our tools are better than they were yesterday, but…

  • SSL-Explorer killed by Barracuda ?! Forked as Adito ?!

    I say again, ?! I have used SSL Explorer for years, it's an incredible piece of software that gives you a simple web console to initiate…

  • [DRAFT] Using Squid + Apache for Maximum Web App Performance

    In this guide, I'm going to go through how I've configured high-performance web applications in the past using Squid and Apache to front-end…

  • The Concept of Millitasks

    Since I've been back at TWM and getting involved in the day to day operations again, and I'm back on task to formalize our procedures…

  • Java EE 6 and Netbeans 6.8 Released

    It's finally here, Java EE 6 represents another serious step forward in the core Java server technology stack. It's kind of anti-climactic…

  • Using Java EE 6, Without Java

    So this month, Java EE 6 was released. So many new capabilities are now part of the baseline stack, it's very cool. After tweeting about how…

  • Java EE 6, Untestable?

    Trying to work something out and it just doesn't look possible right now. Since Java EE 6 was officially released earlier this month, I've…

  • Testable Java EE 6

    OK, so some progress has been made. I've abandoned using the Maven dependency indicated by Netbeans 6.8 and the org.codehaus.mojo.archetypes…

  • Java EE 6 Mess, Continued

    OK, found another brick wall :) So if you recall, I have a Maven 2 build. I now have discreet API jars isolated for JPA 2, Servlet 3, and…

  • iPhone Applications and Intermediate Tooling Considered Harmful

    I have to say, I admire Steve Jobs for taking the hard line on so many issues. It isn't easy, and he's sure taking the flack for it these…

  • Cannibal: A simple Object permissions framework for Ruby

    I'm proud to announce that we're releasing one of our newer frameworks into the open-source community - specifically under the Simplified…

  • Apple: Thank You for Leaving Flash Out

    Something has been weighing heavy on my mind for a while now. Years, in fact. I didn't realize it however until the past few weeks while…

  • 7 Simple Steps to a Successful Software Project

    1.  Imagine an end-result in only the coarsest detail Let's face it, we're all human. We can't juggle everything in our heads, and we don't…

  • Lies, Damned Lies, and Code Comments

    Your project is lying to you. That comment that someone wrote way back over that block of code? Yeah, it was relevant a year ago. Today, it…

  • Wicked Code

    There is a particular class of problem, a Wicked Problem , that denies solution. These problems are difficult or impossible to solve due to…

  • Sanitizing your input considered harmful.

    Yeah, you heard me. I love those sensationalist headlines. I've been frustrated lately trying to bring some associates along in their web…

  • [DRAFT] The 'No Code' Constraint

    When you've done a code kata many times, it helps to find new ways to increase the level of difficulty of the kata. We often introduce…

  • Technical Debt and The Big Rewrite

    It is so easy to sweep things under the rug. I’ll fix that comment later. One day, I’ll need to refactor this. Oooo this code is stinky, no…

  • Why Kata?

    In 2011, Daniel Kahneman launched a book called Thinking Fast and Slow. It summarized decades of research and presented one core thesis…

  • Testing Against The Edges

    I have found a new thing. A test culture so pervasive and intrinsic that they want to test  everything . So much so that they have chosen an…

  • [DRAFT] Emergent Design: Refactoring and the Stable Dependencies Principle

    The Stable Dependencies Principle (link on C2 - wiki.c2.com/?StableDependenciesPrinciple) is often expressed as a principle applying between…

  • Act on Fact, Not Conjecture

    So, how much of a part do your feelings play in how you write software? Feelings are important. Feelings are your "spidey sense", your…

  • AI Programmers Will Take Our Jobs!

    So, this hit my newswires today: https://www.newscientist.com/article/mg23331144-500-ai-learns-to-write-its-own-code-by-stealing-from-other…

  • A Leaf on the Wind

    I've been coaching other teams for over a year now (I spent 15 years coaching my own teams), but I still have a small software development…

  • The Worthiness of the Fizzbuzz Kata

    I see a lot of misunderstanding around doing code kata in the work that I do. Just this week, I had a conversation with my apprentice about…

  • Exploring Farming Metaphors for Software Development

    Our friends who live down the road from us, always have such a beautiful garden and take amazing care of their animals. The way they've…

  • Lenses

    I started wearing glasses a few years ago, entering in to that cycle of a new prescription every few years to renew my focus. Thinking about…

  • What is an Agile Technical Practices Coach?

    The Past Software development today is very different than 10 years ago, and worlds apart from what it was 20 years ago. 20 years ago, we…

  • Who are you?

    What’s your job title? What does it say about you? What doesn’t it say about you? We are human beings, doing what we can with the tools we…

  • Coding Is Social

    This past weekend, I took part in the PTBOGameJam03 event in Peterborough, Ontario, an event that has steadily grown since August 2016. In…

  • Thinking over Typing 2.0

    Thinking over Typing 2.0 As a developer, I've found it possible to describe to ChatGPT my general programming style and have it generate a…

  • Simplistic Example

    A Simplistic Example Let's start from a simplistic example so that you can get a sense of where I'm thinking. The way I work as a developer…

  • Diversion #1: Agents

    The idea of an Agent is something that has developed over the course of applying Large Language Models (LLMs) to problem solving. You can…

  • Diversion #2: LangChain & Pydantic

    I've been doing a lot of my ML coding in Python. Honestly, for a long time I resisted it, but the tooling moves so fast and is so simple to…

  • Structured Semantics

    Back in June, I was playing with structured semantics as a way to interact with an LLM for applications. Today, I watched a video that made…

  • Leveraging Iteration and Decoupling

    You gotta love the "AI" newsfeed these days, fast and furious. So, along the path of writing this 6th instalment, a number of things emerged…

  • Complex Example

    Stepping Up the Complexity Up to this point in the blog series, we've laid a little groundwork, and demonstrated a very simplistic example…

  • London and Chicago Style TDD, A Design Perspective

    London and Chicago Style TDD, A Design Perspective In the field of TDD, two primary schools of thought have emerged, that are often used in…

  • The Bionic Developer

    This post has moved, I have renamed it. Read the post here - What Is A Developer? I've been using the word "bionic" for a few years now as…

  • What Is a Developer?

    Thanks to a colleague, I came across this article today, and it's been energizing. The author and his editors at O'Reilly have put together…

  • Agents are Hard

    Today, in "building LLM agents is hard". I'm experimenting with a novel problem-solving model using the little Qwen2.5 14B parameter model…

  • It Will Do Whatever Fool Thing You Ask It

    A group of us sat down to do the Bowling Kata the other day, to see if we could get the GenAI to do the implementation as we wrote the spec…

  • What Is a Developer? Part 2 - Test Boundaries

    The seed for this article series is here , it's long and a bit ranty, but I wanted to draw a bunch of ideas into one place that we could…

  • A Quick Update - Trying to Dig Myself Out

    It's been 4 months since the last post, and I wanted to put out this interstitial post just to cover the time lapse. Since my last post…