Remove Folder from Git with History

Written by Joshua Lyon on .

I was just cleaning up my desktop and came across a snippet I had saved which removes a specified folder from a Git repository including removing it from the history of the repository. In general, if something was committed to a repository, you shouldn’t remove it from the history, but there are cases where it makes sense – perhaps a sensitive password or key was unintentionally commited.

The command is pretty simple, but be warned that it can have grave consequences if you remove the wrong thing:

git filter-branch --force --index-filter \
'git rm -r --cached --ignore-unmatch .idea' \
--prune-empty --tag-name-filter cat -- --all

git push origin master --force

In the example above, I removed the default .idea folder that is included with JetBrains IDEs like IntelliJ and Pycharm.


Stick-N-Find iBeacon

Written by Joshua Lyon on .

A summary of my findings with the Stick-N-Find stickers and their usability as an iBeacon / Bluetooth LE proximity device. I ordered a set of Estimote Beacons and Stick-N-Find stickers and have been playing with automation concepts within Android. In particular, I wanted to be able to have my Android device understand the proximity to a location and have a general understanding of indoor positioning.

Note: If you just want to know how to Configure your Stick-N-Find for use in Tasker, jump to Configure as iBeacon

Stick-N-Find Beacon and iPhoneEstimote iBeacon


Install Raspbian on 2GB Card

Written by Joshua Lyon on .

There are several options for running a Raspberry Pi operating system on a 2GB SD card, but in the this blog post I’d like to talk about how to install the ‘official’ distribution, Raspbian, on a smaller SD card. This method requires the minimal Raspbian Unattended Netinstaller which can be found at the following link:

The readme file that is shown on the base GitHub project linked above covers the basics of installing the operating system which I will briefly touch on here and the cover a few additional configuration options I choose to do. Some of the key things I like about the raspbian-ua-netinst project is that it fits on a 512 MB card, it downloads the required components through an internet connection via the Ethernet port, and it can do all the hard work completely unattended.

At a high level, here is what is needed to perform the install. (Reference the github link above for more detailed instructions):

  • Grab a 512 MB or larger SD card
  • Download the 10 MB installer package
  • Format the SD card as FAT32
  • Unpack the installer archive
  • Copy the unpacked files to the SD Card
  • Plug the SD card and a network cable into the Pi
  • Power up the Pi and let it install (this is the unattended part mentioned above)