There is a new Raspberry Pi 3 in the house

770a5614-2Just in time for Pi day, the Raspberry Pi 3 Model B+ is announced as the top-of-the-line Raspberry Pi . They’ve boosted both processing speed and network capabilities, while keeping the price the same as the older model.

The new board shares many of the same specs as its predecessor (that came out over two years ago), but brings the processor speed up to 1.4GHz — about a 15% increase.

They’ve also added support for dual-band 802.11b/g/n/ac Wi-Fi — effectively almost tripling the Wi-Fi throughput of the base Pi 3 and the have improved the wired performance as well.

Wireless performance

Tx bandwidth (Mb/s)

Rx bandwidth (Mb/s)

Raspberry Pi 3B 35.7 35.6
Raspberry Pi 3B+ (2.4GHz band) 46.7 46.3
Raspberry Pi 3B+ (5GHz band) 102 102


Wired performance

Tx bandwidth (Mb/s)

Rx bandwidth (Mb/s)

Raspberry Pi 3B 94.1 95.5
Raspberry Pi 3B+ 315 315

They also stated “We will shortly launch a PoE HAT which can generate the 5V necessary to power the Raspberry Pi from the 48V PoE supply.” That should add some flexibility for those interested in PoE.

I think I have 3 Raspberry Pi’s around the house doing various functions. Now I’ll have to find another reason to buy one.


Pi day 2018

piOnce again it is 3/14 – PI day. The officially recognized and yet irrational celebration of Pi.


Did you know: 

Eat a pizza today, it is the most appropriate entrée for Pi day. Naturally, the official dessert is pie.

Repairing Windows 10 WiFi network disconnects – not has hard as it used to be

In the past month or so, my wife’s laptop has started experiencing Wi-Fi network drops. These were coming at an ever-increasing rate, until the machine was almost unusable on the network. I tried a range of repairs and diagnostics and although they always got the computer back on the network – it continued to drop off-line.

Finally, I was fed up and decided to just reinstall windows 10 (64-bit, home edition). I used to reinstall the OS on my machines on a regular bases – say every 6 months, to clean out the gunk that builds up, but I haven’t been doing that lately because things have been running smoothly.

First thing I did was ensure the ‘normal’ backup was running. Then I made another backup, just in case. Next I downloaded the Windows install and started the process. I am used to having to doing clean installs, but was in for a surprise when it asked if I wanted to install windows but keep the personal files.

I thought: “What do I have to lose?” I have everything backed up and it may save a great deal of time, performing backup restores and installing apps…

Sure enough, it took a process that would normally take me 4 hours or more down to less than 2 hours. Granted, there were a number of reboots and auto upgrades along the way, but it was almost all automated.

It appears that her machine is back on the network… and productive. Now I need to make sure the backups are running…


What’s the real outcome of Salesforce’s AI predictions?

automated decisionsYesterday. I was catching up on my technology email and came across this post stating that Salesforce now powers over 1B predictions every day for its customers. That’s a pretty interesting number to throw out there, but it makes me ask “so what?” How are people using these predictions to make greater business impact.

The Salesforce website states:

“Einstein is a layer of artificial intelligence that delivers predictions and recommendations based on your unique business processes and customer data. Use those insights to automate responses and actions, making your employees more productive, and your customers even happier. “

Another ‘nice’ statement. Digging into the material a bit more Einstein (the CRM AI functions from Salesforce) appears to provide analysis of previous deals and if a specific opportunity is likely to be successful, helping to prioritize your efforts. It improves the presentation of information with some insight into what it means. It appears to be integrated into the CRM system that the users are already familiar with.

For a tool that has been around since the fall of 2016, especially one that is based on analytics… I had difficulty finding any independent quantitative analysis of the impact. Salesforce did have a cheatsheet with some business impact analysis of the AI solution (and blog posts), but no real target market impact to provide greater context – who are these metrics based on.

It may be that I just don’t know where to look, but it does seem like a place for some deeper analysis and validation. The analysts could be waiting for other vendor’s solutions to compare against.

In the micro view, organizations that are going to dive into this pool will take a more quantitative approach, defining their past performance, expectations and validate actuals against predictions. That is the only way a business can justify the effort and improve. It is not sufficient to just put the capabilities out there and you’re done.

It goes back to the old adage:

“trust, but verify”


Simplicity, the next big thing?

Complex processRecently, Dynatrace conducted a survey of CIOs on their top challenges. Of the top six, almost all deal with concerns about complexity. There is no doubt there are numerous technologies being injected in almost every industry from a range of vendors. Integration of this multivendor cacophony is ripe with security risks and misunderstanding – whether it is your network or IoT vendor environment.

Humans have a limited capacity to handle complexity before they throw up their hands and just let whatever happens wash over them. That fact is one of the reasons AI is being viewed as the savior for the future. Back in 2008, I wrote a blog post for HP that mentioned:

“the advent of AI could allow us to push aside a lot of the tasks that we sometimes don’t have the patience for, tasks that are too rigorous or too arduous.”

IT organizations needs to shift their focus back to making the business environment understandable, not just injecting more automation or data collection. Businesses need to take latency out of decision making and increase the level of understanding and confidence. A whole new kind of macro-level (enterprise) human interface design is required. Unfortunately, this market is likely a bit too nebulous to be targeted effectively today other than through vague terms like analytics…  But based on the survey results, large scale understanding (and then demand) appears to be dawning on leadership.

The ROI for efforts to simplify and encourage action, should be higher than just adding a new tool to the portfolio ablaze in most organizations. We’ll see where the monies go though, since that ROI is likely to be difficult to prove when compared to the other shiny balls available.


Ever lose a drive partition in Windows?

Drive gone badEver have encounter a drive gone bad? That is exactly what happened to me over the weekend. I had a perfectly viable drive that fell off a shelf. It looked OK, but when I went to plug it in, Windows didn’t see it. It didn’t have anything critical on it, but it wasn’t totally backed up to another file. Lesson one – always have multiple backups on everything that means something to you.

I started the Windows Administrative Tools -> Computer Management (needs to be launched as administrator) and then opened Disk Management. The drive was visible to this tool and a partition was showing, but Windows didn’t mount it. The partition was healthy but in a protected state (I don’t remember exactly what that state was).

I then did something stupid — which we’re all prone to do at 5AM. I looked for information about that partition state on the Internet and what to do about it. The recommendation was to clean the drive – sound benign right?  I used to Windows Diskpart command to ‘clean’ the drive. Now, I was left with a drive with no partitions!!! The only hope was a real drive analysis to find the files off the partition.

I went digging on the web for a tool that would analyze the drive and pull the files off. There are many them out there for a price, but I was looking for something open source. I stumbled across TestDisk (an open source partition recovery tool from CGSecurity). This looked like exactly what I wanted, and it had a detailed wiki with step-by-step instructions. Using this tool is not for the faint of heart, some technical background is required, but did the job.

I started the analysis, found the partition, told it where I wanted the files copied on another drive and recovered the files – success. It only took the better part of a day.

The purpose of this post is more to archive what I did, so I (and others) can find it later. I hope I never have to go through this again.


Adding more complex triggers with IFTTT to control your home IoT

IoT HomeI have been using IFTTT for quite a while with my various IoT devices, doing simple things like turning on lights when my garage door opens or when there is motion near my home. One of the great things about IFTTT is its simplicity. If ‘this’ triggering event happens, do ‘that’. This simplicity is also one of the frustrating limitations of doing more complex tasks.

If I want to only turn on the porch lights when it is dark out, but keep them off when it is light, there is no way to do that natively within the system. They have thought about expansion capabilities through the ability to send and receive information from websites that can provide stateful information – IFTTT supports both trigger and response through a capability called webhooks. There are some free services to support this capability that you can experiment, if you don’t want to bring up your own website.

The one I looked at is: and there is a good explanation of it on Medium. It is still in beta though.

Apilio has three building blocks:

  • Variables – to contain state information
  • Conditions – to evaluate variables
  • Logicblocks – to determine the actions from a Boolean analysis of the conditions

As an example, I decided to use Apilio with IFFF to turn my lights on when there was motion in front of my house but only when it is dark out. To accomplish this, I had to perform the following steps:

  1. Configure your IFTTT webhook connection on your webhooks settings/documentation page in IFTTT and enter that key into your Apilio profile. This key enables a secure connection between the website and IFTTT.
  2. Next define the variables in Apilio where you would like to store state information. In my case, I created a Boolean variable darkOutside. Note that there are URLs that when accessed will set the variable to True or False. You’ll need these URLs in the next step.
  3. Define two IFTTT rule Applets that set the variable to True at sunset and False at sunrise, using the capabilities of the Weather Underground trigger supported by IFTTT.
  4. Define a condition in Apilio that if darkOutside is True then it returns true, otherwise False. I named it DarkOutsideCondition
  5. Next, I made an Apilio logicblock that performs a simple logical AND operation that if it is triggered and the DarkOutsideCondition is True, it triggers applets back in IFTTT. I called the logicblock lights_on_when_dark. It has a URL to force its evaluation (from the logicblock show command) and a place to store a IFTTT trigger event name, if it is evaluated. One for True (called LightsOn) and another for when it is evaluated False (called LightsOff).
  6. Since I have a Ring doorbell with motion sensing that interfaces with IFTTT, I made an IFTTT Applet for when motion is sensed to initiate the evaluation trigger of the logicblock lights_on_when_dark.
  7. Now I just needed to create 2 more Applets, one to turn on the lights if it gets a webhook event called LightsOn and another if IFTTT gets the webhook event LightsOff that turn the lights on accordingly.

This may seem a complex but really only consists of:

  • a variable, a condition and a logicblock in Apillio
  • five applets in IFTTT:
    • set the darkOutside variable to true at sunset
    • set the darkOutside variable to false at sunset
    • receive a LightsOff trigger and turn the lights off
    • receive a LightsOn trigger and turn the lights on
    • catch the Ring motion sensor trigger and force and evaluation of the lights_on_when_dark logic block.

This is a fairly simple example. There are also some additional examples on the Apilio site, but hopefully this walkthrough will help you get started with enough context to overcome some of the areas that confused me.

I also have a IFTTT applet to turn the lights off at sunrise, just so there is another way to turn the lights off. I should have the ability to add some delay sensing so that I can turn the lights off after they have been on for a defined period (say a half hour), to keep my energy costs down.