- 14 June 2023
I use Jupyter Lab to teach CIS-15: Python Programming for Everyone. My assignments are distributed as Jupyter Notebooks that are filled out by students and turned in. Some assignments have automated checking that students can use to see how I will evaluate their code. Sounds like a job for nbgrader, but it’s not for me and here’s why.
- 24 August 2022
The easiest way to run Ubuntu on a flash key is, of course, to download the Ubuntu ISO and use Startup Disk Creator. This process creates a bootable USB disk that has a read-only system drive with a writable overlay to make it feel like a “real” system. But doing so also has some significant limitations:
- 11 August 2022
You’ve got some software that you want to deploy to Kubernetes. The first step is to create the Kuernetes manifests that implement the application. At minimum you’ll create YAML for:
- 01 August 2022
Go to the website of the Cloud Native Computing Foundation and you’ll be confronted with this picture of the cloud world:
- 20 July 2022
This project was inspired by running LXD containers for the last few years. They took the place of VMware VMs and I was really happy with how much easier they are to build and manage. I started to wonder, would it be possible to run
systemd in an unprivileged container in Kubernetes? It turns out the answer is no. This post is what I learned from the experience and how I eventually implemented unprivileged servers.
- 19 July 2022
Wanna see the code? It’s in this GitHub repository.
- 18 July 2022
Since the dawn of the modern operating system, computer classes have used a shared login server to create a work environment for students. In the cloud era we’ve used virtual machines in place of physical servers (IaaS) to make our workloads more convenient to manage. But, our severs are still pets, they are precious to us, because they are stateful appliances running bespoke applications. Should anything go wrong with them it’s a crisis that requires our full attention.