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.

Problems with rsync and link-dest

I use rsync to back up many servers and other machines. Because of my very different sources and targets, I have a collection of very complex bash scripts that manage these backups. When I moved one stage of these backups to a new server, it started behaving strangely - and it was difficult to discover why.

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.

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