A closer look at the latest AWS service for running container apps

One of the most popular requests, well, actually the only request, following the Java 16 Records article was for a discussion on how to package a Java 16 application as a Docker container image. So, tag along as we containerize our Java 16 app and then take it for a spin on the latest AWS offering for running container apps: AWS App Runner.

Photo by ines mills on Unsplash

To quickly recap, the application we are working with is Guessing Game — a Dropwizard web application that we previously retrofitted to use Java 16 records. …


Make your Hue light’s color show the outside temperature — take two

It’s finally time to revisit the amazing piece of Clojure code created way back in 2017 to control Hue connected lights based on outside temperature. Join in as we bring the code up to date and add support for the temperature sensor tucked away inside the Hue motion sensors!

Photo by Todd Diemer on Unsplash

A Little Bit of Background

To quickly reiterate, the idea here is to let one of our multicolor Hue lights change color based on the outside temperature. This all started as a quick weekend project and the code has now been running for almost four years, updating us on the outside temperature. It has become a…


Solving life’s minor nuisances with code

In this article we will address one of life’s insignificant annoyances by writing a quick command-line tool for controlling Denon AVR home cinema receivers using Java, Picocli, GraalVM, and Alfred.

Photo by Andrew Neel on Unsplash

The Problem

Most mornings, as I sit down at my desk, I find myself wanting to put on some music. With the Sonos app on my Mac, that should be easy enough. But, I also need to power on the receiver for any sound to actually be heard. So I have to get up, walk over to the receiver and turn it on and, as I get back to my desk, I…

With JDK 16 reaching General Availability on 16 March 2021, Java records formally became a part of the language. Through retrofitting an existing application, we will take a closer look at what this feature provides, why it is useful, and how it can be used.

Photo by Lucas Alexander on Unsplash

Update June 28, 2021: Check out this follow-up on packaging and deploying this application as a container on AWS App Runner!


The JDK Enhancement Proposal describes records as “classes that act as transparent carriers for immutable data”. …

Vår omgivning blir allt mer komplex och de system vi utvecklar förutsätts kunna lösa allt mer komplicerade problem. För att lyckas med detta behöver vi få till ett kreativt samarbete mellan utvecklare och verksamhetsexperter. Vi behöver också tillgång till verktyg och metoder för att stötta oss under utvecklingsarbetet.

Att så snabbt som möjligt gå från idé till fungerande mjukvara är, eller kommer att bli, en kritisk förmåga hos allt fler företag och organisationer allteftersom digitaliseringen breder ut sig. Men majoriteten av de organisationer som bygger mjukvara i dag har inte mjukvara som primärt verksamhetsområde, eller domän. …

Photo by Frances Gunn on Unsplash

I had this idea for a little weekend project to let one of our multicolor Hue lights in the house change color based on the outside temperature. Perhaps not particularly useful, but fun! So, for this project I needed a lightsource that could be programmatically controlled to change color, some sort of temperature measurement source, a few lines of code to control the light based on temperature, and a computer to run it on.

Update May 11, 2021: A followup to this story is now live!

In my presentation Internet of Things: An entertaining and mostly correct reflection on where…

Patrik Fredriksson

Developing software, products, teams, and organizations

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store