Blogs


 

What is an Azure Queue?

Azure Queues allow you to store a large number of lightweight messages leveraging Azure Storage. Typical use cases for queues include buffering a set of data or actions for processing. And since the Queues are part of Azure Storage they are super cheap. As of writing this, each queue message can be 64 KB in size and a queue can hold millions of messages (up to the capacity of the storage account).

Examples:

Scott Hanselman has a post showing how an Azure Queue can be used along with Azure WebJobs to offload processing of images. This is a great example as it shows how a real application might accept images from a user in real-time, then use a queue as the hand-off for another service to actually process the images.

As another example, I have used Queues as a temporary staging ground for incoming IoT data from my connected SmartHome where a WebJob then took care of properly sorting the data and moving it to the destination Azure Table Storage location. This allowed me to take advantage of the massively scalable architecture of Azure Queues instead of having my logic running on a Web App where I would have had to take care of scalability.

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.

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

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)

Subcategories

About Me

Josh Lyon Profile Picture

Name: Joshua Lyon
Location: Dallas, TX
E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.
ProfilesGoogle, Twitter, GitHub
Other Sites:
     SharpTools.io
     L2 Technology Services