Stacey on Software: Software-development

Advocacy
  • Software Developers

    I was reading this post the other day and thinking about my particular challenges with software developers. Which I believe I have some…

  • Speak Clearly from Experience

    So today I'm working through some more content management challenges - and hating JavaScript-based WYSIWYG editors. They really really suck…

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

  • Using 'Open Source' Commercially

    I've been writing recently, mostly because our ThreeWiseMen.ca website needs an overhaul for content. Three Wise Men is my software…

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

  • Lies, Damned Lies, and Software Development Estimates

    Yes, that might be an odd headline for me to make, given that I actually run a software development company. Or is it. I was catching up on…

  • Keep It Simple, (Not So) Stupid

    Have you tried this? I mean really, sat down, tried to make something simple. Not simple for you, simple for others. People always say they…

  • End User Experience - Why, Microsoft, why?

    I recently purchased a new laptop for one of my daughters, it came with Vista. This is the first Vista based computer in the house. Let me…

  • Simplicity Lessons from EasyBrandingTools.com

    Life is a learning exercise. I have two contrasting projects on my mind right now that are at different stages of complexity, although they…

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

  • Disappointed.

    Apple didn't ship Java 1.6 with OS-X Leopard. I've been hoping for this for months. At least they updated Ruby to 1.8.6.

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

  • Software Development Estimates

    I've blogged before on the fallacies of software development estimates. I found this posting particularly well thought-out and…

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

  • Learn Your Tools, Learn Others Too

    I've always lived at the fringe of computing, with a foot in the popular and a foot in the obscure. When I was a kid, I had a Tandy TRS-8…

  • Keeping A Lid On It

    So I went to the TSOT Rails Project night last night, it was good to see some familiar faces and I enjoyed the presentations. There was some…

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

  • VMware ESXi At Long Last

    Today we finally got our Dell VM server going again. We had lost 2 disks from our 4 disk RAID5 so we needed to reinstall. So I decided to…

  • Integrity, Transparency and Trust

    At Three Wise Men we've just finished off a reasonably large project, and a few things really struck me in the end about the way we operated…

  • Taking a stand, saying NO to software development quotes

    Starting Tuesday, I will no longer issue quotes for software development. I've been doing a lot of thinking about our Software Development…

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

  • Software For Business Is Not Just A Tagline

    I've been doing a lot of work on my company, Three Wise Men Inc. , lately. Honing down on what makes the business special, getting right…

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

  • Doing Waterfall Badly

    You know, as much as Agile gets a bad rap for companies that poorly or inconsistently implement it, I absolutely hate to see Waterfall…

  • What You Want vs. What You Need

    People are inherently bad at making this distinction. We want lots. We don't need so much. I want a chocolate bar. I really don't need it. I…

  • Outsource? Yes! Offshore? NO!!!

    I read an article (well, it's more of a slide-show) this morning that just set my hair on fire. Now I understand that to many folks in I.T…

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

  • Agility, Software Development Estimates and Buying a House

    Lately, software project estimation has risen to the surface as a discussion topic at Three Wise Men . The flurry of smaller proposals we…

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

  • Continuous Improvement: Tools or Process?

    Any organization who wants to survive needs to realize that they need to implement some level of Continuous Improvement. This is a concept…

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

  • Software Development Is About People

    We as an industry forgot this for a long time, and I am proud to be part of the movement to bring it back. I hear all the time from people…

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

  • Trust in Software Development

  • Decisions In The Dark

    We write software today , it's important to always remember this. Often when we are asked to write software, we are typically provided with…

  • The Chaos in the Matryoshka

    Those that know me know that I'm not afraid of change. I'm a big proponent of "strong opinions loosely held". When something makes sense…

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

  • Avoid Technical Debt with Planning

    So, you get it. Technical debt is bad. So what do you do about it when you have it? First step is probably to try and avoid digging yourself…

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

  • Lightweight Accountability

    If you require project accountability to funders, for grants or tax refunds, you need lightweight processes that integrate with your…

  • [DRAFT] Scoping and Estimating Projects

        I had an exchange with a colleague last night, and it really pushed me back into this gear. Realizing I haven't published these kinds of…

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

  • 2016 Big Steps Forward

    Lots of folks have been complaining lately about 2016. Certainly, as one friend of mine pointed out, as movies and celebrities have become…

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

  • [DRAFT] Getting Started In Software Development

    More than occasionally, I get asked, "How can I learn programming as a beginner?" I have many thoughts on this, and here is just one of them…

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

  • [DRAFT] Labels

    I believe we are experiencing a diversity crisis in this field. Too few voices and life perspectives shaping the devices and software we use…

  • The Long Road

    More than occasionally, I get asked, "How can I learn programming as a beginner?" I have many thoughts on this, and here is just one of them…

  • What is a Hacker?

    This weekend I attended a "hackathon" and was surrounded by folks who didn't really understand the word hacker. They struggled to get…

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

  • Revolution

    We have built, unwittingly, a fundamentally flawed environment for delivering software. Incapable of dealing with bugs and viruses…

  • [DRAFT] Hiring DevOps Won't Buy You Continuous Delivery

    So, I've been lurking around various places in the devops world over the years, and lately I've been cruising job postings related to it. I…

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

  • Oppression in Machine Learning

    Popular media loves to talk about "artificial intelligence" these days. It is a hot topic, one riddled with misunderstanding. Artificial…

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

  • A Nurturing Culture

    I drew this picture to illustrate a few ideas, and it’s long overdue for an explanation beyond the few folks at whom I’ve stood in front of…

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

  • Scientific Management

    In 1909, Frederick Taylor published a paper entitled The Principles of Scientific Management. At this time in history, things got made by…

  • The Work

    When disciplines in software development are so segregated, those outside a discipline may think only of the final result. Developers type…

  • The Work

    When disciplines in software development are so segregated, those outside a discipline may think only of the final result. Developers type…

  • Splitting Product Design and Implementation

    Why do we continue to separate the design of a product from its implementation? When we design a product in one place with one group of…

  • Cross-Functional Agile Teams

    In an agile organization, our primary concern is the flow of value - "concept to cash" as we've heard from the DevOps and Continuous…

  • There Is No Agility Without Technical Agility

    There Is No Agility Without Technical Agility As we wish to adapt continually to an ever-shifting set of stakeholder needs, it is vital that…

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

  • Business Domain vs Systems Domain

    I sat in a meeting yesterday that was probably the best illustration of conflict between business models and systems models that Ive seen…

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

  • Gen AI in Software Development, Not Coding 1

    Gen AI in Software Development, Not Coding 1 I feel like I want to do a "stop talking about Gen AI generating code" series. Maybe I'll just…

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