This page summarises my recent contributions to Coder of a feature called Workspace Presets, which simplifies the experience of provisioning new cloud development environments for end user developers. Pull Requests My contributions to Coder’s workspace presets are mostly encapsulated by the following pull requests. Smaller subsequent pull requests corrected some small oversights in these contributions, but the bulk of my work is visible here: Terraform Provider PR Provisioner Daemon PR PostgreSQL PR HTTP/JSON API PR React PR Product Value Workspace Presets are valuable because they reduce the end-user complexity of provisioning cloud development environments. This allows software engineers to create their cloud development workspaces in fewer clicks, without wasting time on optimizing resource allocation or minutiae related to workspace configuration. ...
The Five Dysfunctions of a Team
Introduction The Five Dysfunctions of a Team, by Patrick Lencioni, identifies a pyramid of 5 factors that result in ineffective teams. Here, I summarize my learnings from the book. Lencioni writes from the perspective of dysfunctions, I prefer to flip this logic and think in terms requirements for effectiveness instead of absences that result in ineffective teams. His method is effective, but I find the argument more coherent this way. ...
Transmission Control Protocol
This is my study and summary of RFC 793 - Transmission Control Protocol. This reflects my understanding, which might not be completely accurate. For a more reliable source, consult the RFC itself. Introduction Purpose TCP (Transmission Control Protocol) is meant to provide reliable host to host network communication in packet switched environments. Packet switching Packet switching basically means that data is communicated in discrete units with clear boundaries. Packet is a generic name for these units, but each protocol may define a specific term for what it deems a packet. TCP often calls them segments. ...
Fun with LUKS and LVM
I recently moved 40GB from my luks encrypted root logical volume to my home logical volume and learned a few new things about LUKS, LVM, and how Linux boots. I was frequently running out of space on my home volume, but my root volume always had about 60GB (40%) free. I wanted to shift some of the free space from my root volume to my home volume. The following is not a tutorial. Don’t follow these steps blindly. If you need to use these tools, read the man pages and do your own research before applying them to your own system. ...