Nathan's Notepad

Field notes from a software developer

Using windeployqt with CPack

Qt is an excellent toolkit for developing cross-platform applications in C++ and CMake/CPack is an excellent build system for C++ applications. The two work very well together and I have used them in a number of projects. Deploying the projects on Windows with CPack, however, requires some extra effort. This article will take a look at my approach to this problem.

A 1 KB Docker Container

No, that’s not a typo or a joke. I have created a Docker container containing a single Unix executable with no dependencies that occupies less than 1 KB of space on disk. There are no other files included in the container — not even libc.

Running Everything in Docker

Docker is a great way to run web applications and services in a container. With Docker, each container is isolated from the host which encourages composability and greatly improves security. In this article, I will describe how I prepared a number of services to run in Docker on one of my servers.

Building and Running Go Apps in Docker

With CGO_ENABLED=0 set, the Go compiler produces binaries with no runtime dependencies, not even libc. This greatly simplifies deploying the application in Docker since no base image is required. However, there are a few caveats and pitfalls that I would like to address in this article.

Building a Thermometer with an Arduino

In an attempt to better understand the effect of temperature and humidity in weather forecasting, I decided to build a small thermometer with an Arduino and a temperature sensor. In a future article, I will explore some of the data that I capture and the software that analyzes the data. This article will focus on the thermometer.