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

12 minute read

The Bindings class is a utility library that provides a huge number of helper methods that can create and manipulate Bindings. Understanding how to use this library can make your code much simpler and easier to read.

18 minute read

Interested in programming JavaFX in Kotlin? Here’s what you need to know to write JavaFX code that is so much better than anything you can write in Java.

20 minute read

Dialogs are the basic tools for interacting with the user in a controlled way as part of a procedural flow. They are best thought of as a way to collect and return information from the user.

17 minute read

Here’s some basic information that everyone needs to understand before they can start building screens with JavaFX…The layout classes and how they are used.

19 minute read

Need to understand a Kotlin program, but you only know Java? This article should give you everything you need to know to get started.

24 minute read

How to set up a more complex project with multiple screens with varying levels of connectedness.

31 minute read

Taking a look at the three most common design patterns for building systems with user interfaces. How are they different? Which one is best? Is there anything better?

3 minute read

Introducing a “course” for programmers just starting out with JavaFX. Everything you need to know to get from absolute zero knowledge to building real applications that do real work.