Hi!

My name is Dave and I've been a professional programmer for all of my adult life, with my first real programming job back in 1985. Which means I've been doing this for a long time, or at least it seems that way to me.

Very early in my career, I noticed that lots of IT departments struggle to succeed at software development.

It's one of the most difficult things any company can try to do because software development is almost always about exploration, investigation, innovation and learning as you go. Users rarely know what they want, certainly don't know what is possible, and have trouble visualizing how software will work before it is delivered. Programmers, for their part, often have limited understanding of the business and are usually expected to leverage new technologies they've never used before to build working solutions.

For the past 35 years I've spent a lot of time thinking about how we think about building systems.

This website is a place for me to share what I've learned about not just programming, but the entire lifecyle of business applications - from the initial idea to satisfy a business need, right through development and maintenance, to the inevitable day when it's time to replace it with something newer and better.

Since about 2014, I've spent a large amount of my professional time developing desktop applications in JavaFX. There is a surprising lack on the web right now of high quality information about how to use JavaFX properly, and I'm hoping that my articles on this website about JavaFX will fill that hole.

Recent posts

27 minute read

We’re going to look at coupling: What it is, why it’s bad, and the ways that it can creep into your code.

17 minute read

One of the toughest problems beginners encounter is resources that won’t load. Here’s how to figure out how to organize your resources and how find them with your code.

10 minute read

An introduction to ListView and understanding how to use it to display something more than just lists of Strings.

26 minute read

In this article, we taka a look at how TableView handles data, the mechanism that move data in and out of TableCells, and how to work with it.

19 minute read

What is a TableView and how do you use it? Here’s enough information to get you started with TableView the right way.

21 minute read

Once you’ve decided extend Region to create a custom control, there are some basic things you should do to make your new control look professional and unified. Here’s how to do that.

17 minute read

Lot’s of programmers think that FXML instantly gives them as step up on Model-View-Controller, with the FXML File yielding the View and the FXML Controller acting as the Controller. We’ll look at why this isn’t correct, and how you should implement FXML in the context of MVC.