Migrating from Hover DNS to Google Cloud Platform DNS

I recently helped migrate a Hover DNS domain into Google Cloud Platform DNS. Hover does not provide any public API or supported export functionality. Google has no import function built into their cloud console and provides no assistance. In case anyone else is looking to do a similar migration, here are the steps I used to automate migrating all DNS records with no disruption to any services.

Read More

Security, standards, and frameworks for industrial IoT

Industrial IoT Trust

As the world moves towards embracing the internet of things for industrial assets, the importance of considering security cannot be understated. Industrial IoT poses unique challenges to security in combining Information Technology security with Operational Technology security. Many of these assets were designed to serve critical functions and their reliability is paramount. All of the systems that power our modern lives are undergoing a revolution where they will be controlled or interact with software. Assets will be connected to the internet for updates, pushing data, or even remote control. How can we make these industrial IoT systems secure by design?

Read More

Automated drip irrigation system for a hanging basket garden

My wife and I love enjoying Chicago summers on our back porch. Two years ago we decided to buy hanging planter baskets. We were excellent at purchasing plants but did not plan ahead to ensure there was sufficient light, water, or nutrients. Any project manager with a thousand yard stare knows what happened next. Within a few weeks it was a irrecoverable garden of death. Last year I decided to try again, but not fail. I used a fully automated drip irrigation system and the results speak for themselves. Here is how I pieced it together.

Read More

Stop using R plot and learn to love ggplot

ggplot Diamond Comparison

When I first got started I always found myself using R’s “plot” capability because, well, it is easy! Unfortunately, it lacks some advanced features — and the plots it produces are really ugly looking (subjective, but I bet you will agree with me). Luckily, there is a better tool for the job – ggplot. With only a few tricks you will find it just as easy to use.

Read More

Trying AT&T Flow Designer with IBM Watson IoT

The AT&T IoT Platform’s “Flow” at https://flow.att.io has recently announced they support IBM Bluemix with Watson IoT Platform. This is a great hybrid cloud strategy for IoT. After taking a quick look, the flow platform is an impressively customized version of Node-RED. Let’s take it for a spin!

Read More

Using a raspberry pi with a microphone to hear an audio alarm using FFT in python

If your smoke alarm or, in my case, water alarm goes off you want to know right away – even if you are currently half way across the world traveling in China. I run a fish tank. I take many precautions but you really can’t be too safe. I bought a set of Honeywell water sensors which I highly recommend. Sadly, this particular alarm is not IoT enabled. In fact, last I checked all the IoT alarm systems were terribly reviewed and overpriced. Hopefully that gets fixed soon. Until then, I needed to make do with what I had.

Read More

Getting started with LoRa using a LoPy for IoT

LoPy

When a colleague first told me about LoRa, I was skeptical that it was even real. I can use a small handheld device to transmit messages up to 40km to another device for free? It sounds too good to be true, but it’s real. Of course, there is a catch – less bandwidth. But who cares? If all I need to send from my IoT device is perhaps some longitude, latitude, and basic sensor data — LoRa is a great technology.

Read More

Comparing diamonds with linear regressions using python R in jupyter notebooks

Buying a ring is a big decision. You have the whole “are they the one” decision. I can’t help you with that. Then you have the reality that this could likely be the first major financial decision that will impact both of you. Wouldn’t it be nice if you could save hundreds or even thousands of dollars?

I am not here to convince you to avoid buying a diamond (thanks, De Beers). Instead, I am going to show you a basic statistical programming technique with python and R known as a “linear regression model.” I will use a jupyter notebook to execute data analysis so you can see step by step how it works.

You might be able to use this to shop smartly by allowing you to compare an actual cost in store to a predicted price. My wife and I built and used this code in 2013 while engagement ring shopping together. Hope it helps others!

Let’s get started!

Read More

Learning to screen scrape data using Google Chrome and curl

Pricescope.com Results

Screen scraping can be effective at getting free data very quickly. When attempting to screen scrape large amounts of data, I often use Google Chrome’s “Developer Tools” to obtain the steps necessary to recreate a web request. Here is an example process I used to screen scrape data from pricescope.com which contains a database about diamonds for sale online. I will use this data in an upcoming post on how to build statistical models.

Read More