Skip to content
Fragmented Development


This is a repository for the thoughts, notes, and achievements of Mr. Jacob Hume. It contains posts on a large variety of subjects, technical and otherwise.

Stream decompress archive files on S3

Sometimes I need to uncompress large archives located in remote locations - for instance, in Amazon S3. Most normal approaches to uncompressing archives involve resource-intensive processes, like downloading the entire file into memory - an approach not tenable for multi-gigabyte files.

Removing leading/trailing spaces in the shell

Whitespace causes lots of interesting issues with the command line - whether it is present in file names, arguments, or any other data flowing between commands. Quoting can help, but there's some very particular edge cases I've encountered in my scripts.

Headless server and disk encryption

As an enthusiast of encryption, it always felt a little strange that my servers kept all of their data in the clear. But the problem with encrypting a headless server is that, inevitably, you have to reboot it. So how do you connect to your server and unlock the drive before it boots? It's quite the catch-22.

Show a diff inside of git log

If you've ever needed to view all the changes that are happening in a repository or a branch, there are two flags for the git log command that should interest you: git log -c and git log --cc.

Using QEMU inside a terminal with serial output

I often have a need for a quick virtual machine. Many of them don't require any video output, so having a virtual monitor is a little overkill. Luckily, with a few QEMU switches and brief configuration of the guest VM, you can view console output in a standard terminal on the host system.

For a full list of posts, feel free to check out the Archive!