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

16 minute read

Comments in code are supposed to help other programmers understand your code so that they can build on it, improve it and, sometimes, fix it. Are the comments that you’re leaving in your code helping anyone to do that?

13 minute read

How much code does it take to build a complete Hangman game in JavaFX?It turns out … Not much!

4 minute read

PropertyValueFactory is an obsolete convenience method designed to eliminate boilerplate. We don’t don’t need it any more now that we have Lambda expressions.

8 minute read

There’s a lot of ways that software development projects can fail, or partially fail. Some of these happen when the users don’t understand as much as you think they do about what you’re building, how it will look and how it will work.

14 minute read

Model-View-Controller is generally accepted as a good way to structure an application with a user interface. Since JavaFX implements Reactive programming there’s a natural way to incorporate MVC into a JavaFX application. However, it doesn’t seem to be widely documented and there’s little evide...

11 minute read

In Part 2, we’ll build a filter and converter which will handle decimal data input with a fixed number of decimal places.

8 minute read

JavaFX contains powerful tools to turn simple TextFields into specialized entry fields for any kind of data you can think of.

19 minute read

MineSweeper! Everyone’s favourite time-waster Windows game. Implemented in JavaFX showing how the reactive nature of JavaFX can be used with MVC to create a game.