M0UNTAIN 0F C0DE

For my Raspberry Pi Image Manager project I wanted to show a progress bar as an image is downloaded. This was easy as a simple HEAD request would include in the response a Content-Length header telling me the size and allowing progress to be calculated.

This worked until I wanted to include the RetroPie image. The RetroPie devs store their images on GitHub, not a problem you might think, business as normal. GitHub however don't allow HEAD requests to downloads, no idea why. So now I had no way of getting the image size without downloading the whole image.

At least not without some hackery...

I am very much an advocate for 2 factor authentication tokens or keys such as a Yubikey, these devices can interface with web browsers through a Javascript API that web browsers expose or in the case of Firefox not expose.

There is a community made extension that fills this gap until the Firefox devs get the U2F JS API implemented in version 57 or 58 however I was never able to get it to work, no matter what I tried and no matter how many times I ran the test it just kept popping up with a message saying "Please plug in your U2F device".

Then I found the source code on GitHub and the last line in the README contained the key...

I recently stumbled across the Pirate Box project and instantly loved the idea. Put simply it's a wifi based file sharing platform that's completely disconnected from the internet. The only way to access or upload files from a pirate box is to be physically within range of the it's access point.

Once I saw that it had an SD card image for the Raspberry Pi I naturally wanted to build my own but also wanted to do something a little different...

Me and the team at work make extensive use of BitBuckets issue tracker to document and track bugs, issues and suggestions against projects and this works really well for a single repository.

The problem comes when you want to see all the issues in a group of repositories, you can see issues from ALL repositories but can't then order, sort or filter them, this makes it really hard to get an overview of all the issues in a related group of repositories.

Fortunately BitBucket has an API and I have a bunch of spare time...