Nathan's Notepad


Field notes from a software developer

Running Windows 98 SE in qemu on Windows

It has (much to my regret) been several years since I last published something on my blog. This article will hopefully be the first of many more to come in the near future as I find more time to return to writing. I’m writing this article both to act as a reference to others who may be interested in retrocomputing and to serve as a set of notes for myself the next time I need to get a Windows VM up and running in qemu.


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.