Stacey on Software: Coding

Advocacy
  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • [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…

  • 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…

  • [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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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 #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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…

  • 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…