Blog
-
Migrating a Website with Claude
Sunday, 27 September 2026Recently used Claude Code to help me migrate from AWS Amplify to Google's Firebase for site hosting to consolidate platforms and bills. -
Book review: Domain-Driven Design
Tuesday, 9 July 2024Domain Driven Design by Eric Evans seems to have a place as a classic in the software engineering and architecture space today. It is often referenced, and there are many derivative books and commentaries on implementing Evans' ideas and practices. After hearing about the book for many years, I decided to invest in it myself and give it a thorough read. -
Validating Requests with Spring Boot 3
Saturday, 3 February 2024A few years ago, I documented my experience setting up Spring Boot to perform robust validation of HTTP requests. I've just gotten around to upgrading that repository to the Spring Boot 3 release, and I want to update my previous findings and share with you my experience upgrading the sample repo.
-
Getting Started with Docker Part 1: Running Containers
Sunday, 24 September 2023Containers and container architecture are now standards in software development and infrastructure today. Docker seems to be the canonical implementation of container technology, though it is not the only one. Podman is a robust Docker alternative that helps manage containers. This post is part 1 in a series that serves as a brief introduction to containers and a primer on getting up and running with Docker.
-
Getting Started with Docker Part 2: Building Images and Docker Compose
Sunday, 24 September 2023This post is part 2 in a series on getting up and running with Docker. It would be best to walk through part before continuing with this post, but if you are already familiar with Docker and running containers, feel free to pick up here. This post will cover building your own Docker images and working with Docker Compose for container orchestration.
-
Azure SQL connections with Spring Boot
Wednesday, 22 February 2023Recently, I was standing up a new Azure SQL database instance for a project, and I decided to explore using Azure Active Directory to authenticate to the database rather than database credentials. Using Azure AD should allow better management of identities, credentials, and access as well as providing support for Managed Identities from Azure services like App Service. I've written up my notes here and in the
feature/azure-sqlbranch of my Spring Boot Azure sample app on GitHub to help keep notes for myself and others.There are two categorical ways to authenticate to an Azure SQL database: database credentials managed by the database server or using an Azure AD account. When using an Azure AD account, there are several variations of authenticating depending on whether you're using a service account, Managed Identity, or your own Azure AD credentials. In this post, I'll document some common steps for authenticating with standard database credentials as well as the developer workflow of using your own Azure AD account on your local machine.
-
Building a Media Browser with Go and Google Cloud
Sunday, 21 June 2020For a long time, I've been a fan of running a home media setup with Kodi as a front-end for different media types. I recently had to decommission the ten-year-old PC that was functioning as a media server, and I wanted to explore hosting this media in the cloud. This led me to create Media Browser - a web-based media browser written in Go.
-
Working Effectively with Distributed Teams
Tuesday, 31 March 2020Working from home is a hot topic right now, isn't it? Over the years and especially lately, there has been a plethora of articles written about remote work and all the tools and practices to help you be successful. I know I risk adding to the cacophony of information on the subject, but I do want to assemble some of the resources that I have found most helpful and share some of my own experiences. I hope this sparks some new thinking and discussion among you and your peers!
-
Validating Requests in Spring Boot
Wednesday, 12 February 2020A frequent feature I find myself implementing for APIs is some kind of domain model validation. This is either because there are business requirements related to the data being handled or because of a need to protect the system.
In a Spring Boot application, a lot of validation conveniences are afforded to developers, but implementing _good_ validation practices still requires some effort that I would call non-trivial (as in, I cannot remember it off-hand). In this post, I document some reminders and tips for implementing validation in Spring since I went through this exercise recently.
-
vJUG: Fully Reactive: Spring, Kotlin, and JavaFX Playing Together
Tuesday, 24 December 2019Recently, I watched a recorded vJUG session: Fully Reactive: Spring, Kotlin, and JavaFX Playing Together. Unfortunately, I was not able to tune in live to this one, but I am grateful that the vJUG team puts effort into recording every session. This presentation was given by Trisha Gee of JetBrains. I'm used to reading the JetBrains newsletter that she curates, "Java Annotated Monthly", so I was excited to see her present.