Raspberry Pi 2.0 Benchmarks

Raspberry Pi 2.0 means it’s time for Raspberry Pi 2.0 benchmarks!

I have run previous benchmarks on various Raspberry Pi units so when I got my Raspberry Pi 2.0, I was immediately curious how its CPU performance compared to my other units. Due to work, my time is limited at the moment but I wanted to get some initial benchmarks out of the door.

So, just how do the 1.0 and 2.0 models compare? Simply, the 2.0 model shows promise.

Continue reading Raspberry Pi 2.0 Benchmarks

Fitbit vs Jawbone – one week of data

Data is awesome and people generate a lot of data. It’s not surprising that a number of companies, such as Fitbit and Jawbone have moved into the space of capturing data from people. it seems that fitness is the first major (adopted) wave of “self quantification” which is being adopted.

Of course, bad data is not entirely useful data. To that end, I’ve wondered about the accuracy of some of these devices. While I cannot address their total accuracy, I have started to poke around whether they compute the same data for the same movements. Specifically, if I wore a Jawbone and Fitbit device for one week, would they have the same data? Fitbit vs Jawbone – one week of data – would I get the same data?

Turns out, no, not really.
Continue reading Fitbit vs Jawbone – one week of data

SDR Antenna Comparison

Recently, I have been fascinated with software defined radio (SDR.) There are a number of cheap
USB dongles which fall into the RTLSDR camp. I believe most of the USB dongles use Realtek (RTL) chipsets, hence the name.

RTLSDRs are interesting because they allow you to scan a wide frequency and cost maybe $20 on Amazon of eBay. After getting a few, however, I started to wonder how limiting the stock antenna might be. The stock antennas which come with most RTL-SDR USB dongles are meant to pick up digital TV in Europe and are pitifully small.

RTLSDR Antenna

I wondered – would a proper antenna make a difference? The answer, in short, is yes.

Continue reading SDR Antenna Comparison

Programmatically pull Walk Score data

The other day I wanted to help get a set of Walk Score data for analysis and analytics (educational.) To their credit, Walk Score does have an API but getting a key turned out to be annoyingly difficult to me. Specifically, I used my GMail address but this website URL. Since the domain didn’t match, apparently they need to manually review my request.

Annoying. Rather than wait, it was just easier to programmatically pull Walk Score data with Python.

Continue reading Programmatically pull Walk Score data

GlowColors lib

Everything in this post is my own work, provided for educational purposes only, and anything in this post is my own viewpoint and does not reflect any viewpoint (or otherwise) of my employer.

Whew, I always love when I start posts with disclaimers!

I am a big fan of colors. Awhile back, an unnamed company released a headwear which has LEDs embedded in it. This is a pretty cool piece of tech because the LEDs are paired with an IR send and receive capability so the headwear can both change color in response to messages it receives and also influence the color of surrounding headwear. Needless to say, I was curious.

After a few pairs of the headwear (RIP, pieces of hat) and some late nights, I discovered the protocol and message construction for this particular pair of headwear. Using an Arduino with an IR LED, I was able to manipulate this headwear to change colors based on my whim. To make things easy, I decided to write a Python library to generate the messages which I could feed, in turn, to an Arduino project.

Oh yeah, this was about two years ago.

Since a lot of time has passed and it’s still pretty interesting, I have decided to release the library, known as the GlowColors lib, publicly. You can find the latest release in this GitHub repository.

A few notes on this library.

  • You can change one or both ears. Changing just one, however, can be tricky because you have to set both and then unset one.
  • It is possible to create a “show” with the headwear but that functionality is in a yet unreleased version of the library, sorry.
  • This library is a lot of fun; please use it responsibly and do not cause trouble with it. I am also not responsible for what you do with it.

Chromebook vs HP Stream

Over the past several years, there have been several generations of budget friendly laptops costing less than $250; each generation has promised an expanded set of functionality at a reduced cost. Often, choosing a budget laptop entailed making some hard choices with performance, features, and style.

Recently, an interesting battle has been brewing in the budget laptop segment – Microsoft has partnered with several OEMs to release very-budget laptops. One of the most widely-publicized (and most colorful) is the HP Stream. Needless to say, I was curious how the performance of the HP Stream compares to a similar Chromebook, in this case the Acer Chromebook 11.

Chromebook vs HP Stream. How do they compare? Interestingly.
Continue reading Chromebook vs HP Stream

FreeNAS 9.3 CSRF Issue

I love FreeNAS and use it at home for my own NAS needs. Recently, FreeNAS released their newest stable release, 9.3. I felt adventurous one evening and decided to upgrade. Everything seemed to work OK until one day when I went to log into the Web UI. When I discovered I had run into a FreeNAS 9.3 CSRF Issue. No matter which username and apssword I entered in, I was getting CSRF errors from Django (which FreeNAS uses for the UI.)

This left me a bit stumped until I ran across this thread on the FreeNAS forums. I need to reconfigure my HTTPS/certs but I figured it would be helpful to pass along the (temporary) fix for anyone else having this issue. Credit for this fix goes to Ramboxman on the FreeNAS forums (thank you!)

To fix the CSRF login issue in FreeNAS, I did the following.

  1. SSH’d into FreeNAS server (I had to use the console since I disallow sudo or root access via SSH)
  2. Type vi /etc/local/rc.d/django
  3. Find the following line in the file – if [ ${webguiproto} = "https" ]; then
  4. Change that line (make sure to hit ‘i’ to enter edit mode in vi) to if [ ${webguiproto} = "https" -a ! -f /tmp/alert_invalid_ssl_nginx ]; then
  5. Exit vi (:w! and then :q)
  6. Type in the following and hit enter to restart Django /etc/local/rc.d/django restart

That is it – when you try to log in, the CSRF issue should be gone. Your issue is likely caused by the GUI sing HTTPS but the browser using HTTP. Change the FreeNAS settings, albeit if temporary, to use HTTP or HTTPS+HTTP so the problem does not reoccur.