Prompt the user for a rune at the terminal in Go

I’ve been spending a lot of my spare time working on a Go project called Deckard. It’s a command line interface (or CLI) for handling database schema changes. Recently, I found myself wanting to prompt the user for a rune before running a command in that CLI. Why would I do this? Deckard handles schema […]

Posted in GoTagged

Your application should not be responsible for Database Migrations.

A herd of animals migrating

Classic database/schema migration patterns are a nightmare for modern systems. As Software Engineers push for a more distributed ecosystem, one is tempted to ask: “Why should the code that manages one system, live with the application code of another system?” “But Brad, this is really convenient”. I agree that it is really convenient when you’re […]

What Is Gradle Scan?

Newly budding plants

A Gradle scan is a build scan that provides insights into how your build ran and why it did what it did. Once you’ve generated a scan, you can share that with other members of your team (or anyone who may help diagnose issues) via a URL. Here’s a sample scan! Creating a Gradle Scan […]

Adapting Traits for Kotlin

A Macbook pro with code on the screen, a small notepad and blue ink gel pen.

Traits are a pattern introduced in Scala (at least, this was my first introduction to them) that help avoid deep class hierarchies in favor of composition. If you don’t have Scala experience, but do have Java experience, you can treat this similarly to Java 8 Interfaces. However, I still prefer to call them Traits. Although […]