↓ Skip to main content

PragmaticCoding
#

This is website about practical and pragmatic approaches to building software and managing technology.

From Merriam-Webster:

Pragmatic
#

Dealing with the problems that exist in a specific situation in a reasonable and logical way instead of depending on ideas and theories : practical as opposed to idealistic.

If you’re a programmer doing real work, or someone building a Homelab, then you’re probably primarily interested in building stuff that works, works well and keeps working for a long time. And you are going to be faced with problems every day. Problems that you need to solve, and implement so you can move on to the next thing. That’s what this website is all about; talking about practical, pragmatic approaches to building applications and systems that just work.

JavaFX
#

I spent 7 years working with JavaFX to build enterprise applications integrated with legacy applications. During that time, I developed an approach to JavaFX that lets me build complex, scalable applications that don’t make your brain melt when you work with them. If you’re interested in learning how to do this, you’ll find dozen of articles explaining the essential elements and techniques you’ll need to know. There’s even a 13 part course designed for Absolute Beginners in JavaFX.

Self-Hosting
#

About a year ago I embarked upon a project to “decloud” my household and all of its technologies. I’ve created a Homelab with a cluster of tiny Lenovo computers running Proxmox and a few dozen virtual servers running on them. I’ve implemented an OPNSense firewall and redundant, load-sharing ISP connections.

Throughout it all, I’ve been shocked at how much my decades of experience as an “IT Guy” - not just a programmer but someone responsible for planning and maintaining a corporate IT infrastructure - has been a virtual requirement for success. Can non-professionals do this? My goal is to try to provide some guidance for technical minded but non-professional people to plan and build their own self-hosting infrastructure.

Kotlin and General Programming
#

As a professional programmer for nearly 40 years, and as someone who has always spent a lot of time thinking about how we think about programming (metathinking!), I have developed a very pragmatic approach to coding. Hence the name of this website.

I have found that while coding can be complicated, it doesn’t have to be complicated. There are some key concepts that, once you embrace them, tear out vast amounts of complexity in any application. Virtually every programming article that you find on this website, and every snippet of example code that you find, places an emphasis on understanding and following these fundamental principals. In fact, my Absolute Beginner’s course in JavaFX is almost more about how to leverage the techniques to write uncomplicated code than it is about screen widgets and Bindings and other tools.

If you’re a Java programmer, you owe it to yourself to try Kotlin. Kotlin is everything that you secretly wanted Java to be but didn’t realize it. A few years back, I started writing all of my example code in Kotlin and I think it actually makes it easier to understand the concepts I’m trying to illustrate, even if the readers aren’t all that familiar with Kotlin. I’ve included some articles to help you get started with Kotlin.

Recent Ramblings

A New Website

August 10, 2026

After 5 years with my old, blog-based, website it was time to transition to a new modern website design that integrates blogging with structured content. Here's how things have changed.

Blog Entry 2

June 24, 2026

If you are self-hosting, then you should probably have a public domain registered. In this article, we'll look at why you should do this, and the things that it helps.

Blog Entry 2

June 24, 2026

If you are self-hosting, then you should probably have a public domain registered. In this article, we'll look at why you should do this, and the things that it helps.

Recent

Observable Lists - The Basics

22 mins
ObservableLists are used in a number of JavaFX elements, such as TableView, ListView and ComboBox. But what are they, and what can you do with them?

An Introduction to Properties

28 mins
If you are a beginner with JavaFX and are wondering, “What are all these Property things anyway?”, then this is the article for you. Besides the Properties themselves, we also cover the basics of using them with Bindings and Listeners. Read this article and you should have a good idea how to start out with JavaFX Properties.

Guide To the Observable Classes - Part I

The place to start looking at the Observable types is with the generic classes and interfaces. These are the observable wrappers that you can use around any other class of object. More importantly, the hierarchy here is exactly the same as the hierarchy that is used for all of the typed observables. If you can understand how generic observable classes and interfaces relate to each other, without worrying about what kind of data is inside them, and special classes added to handle those types, then you’ll automatically be able to understand how they work when they are typed.