Blog
-
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-sql
branch 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.
-
Lessons learned with self hosted Kubernetes: OpenShift 4 & Octant from VMware
Friday, 11 October 2019In late September, I attended the Triangle Kubernetes and OpenShift Meetup. The two topics for the evening were: "Lessons learned building a self hosted Kubernetes: OpenShift 4" and "Understanding Your Kubernetes Cluster with Octant".
-
Triangle Kubernetes and OpenShift Meetup: Log Aggregation & Graph Databases
Sunday, 22 September 2019In July, I attended the Triangle Kubernetes and OpenShift Meetup. They had two topics by different speakers: "Log aggregation for Kubernetes using Elasticsearch" and "Using a Graph Database to Understand Complex Infrastructure".
-
Introduction to Flexbox
Wednesday, 10 August 2016There are plenty of good resources on flexbox in the community already, but I would like to provide my own take on this newer CSS feature. I will not cover all of the features available in flexbox, but instead walk through some of the basic properties, provide some practical examples that I have come across in my own work, and finally leave you with a few tips, tricks, and links to help make working with flexbox a little bit easier.
-
New Blog! Again...
Monday, 21 March 2016Hi everyone! This is not the first time that I have started a blog, but I have only occasionally set one up for myself. I had an account on Wordpress.com and on Blogger, but this time I really wanted to build and host the blog myself. So that's what this is!