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:

https://github.com/debian-pi/raspbian-ua-netinst

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)

Favorite Software/Tools 2013

Written by Joshua Lyon on .

I recently upgraded my work laptop and as part of the process I have been reinstalling all of my favorite software utilities. I had my last laptop for a few years and some of these tools have become an integral part of my daily workflow without me even realizing it. I figured I would share a quick list of these tools as you might find them helpful as well.

  • Google Chrome - by far one of my most used applications on a day-to-day basis. One of my favorite features about Chrome is they have really simplified the customization experience. I simply downloaded Chrome and logged in with my Google account - shortly thereafter all of my favorite extensions, bookmarks, and more started downloading.
  • Google Drive - I have started relying heavily on Google Chrome for storing my most accessed documents. All of my school work and personal document get put into the Google Drive folder on my computer and are instantly accessible from my iPad, Galaxy S3, and more. It was really convenient to get back up and running on my new computer. After installing and setting up Google Drive, all of my files were synced back to my new computer and I was up and running again.
  • FastStone Capture - I take a lot of screenshots and FastStone makes it easy to get quick screenshots of just the content I am interested in. It also has a really handy editor built in which lets you add commentary, draw arrows, and blur things out among many other tools.
  • Actual Multiple Monitors - I use multiple monitors at work and it has always bothered me that Windows does not natively extend the taskbar to the second window. Actual Multiple Monitors (AMM) does a great job of recreating the Windows taskbar on your second screen. What is particularly helpful about this is your applications only show up in the taskbar of the monitor they are running on! No more looking through dozens of icons to find the right window.

Note: All of the above applications were installed on an Ultrabook running Windows 7 64-bit edition and Windows 7 32-bit edition.