Technical Presentations: stop waiting, just get started.

As I write this, I am leaving VMworld 2016. It has been an amazing conference, I was able to reconnect with friends, work in the Hands on Labs, and present a session focused on security in healthcare. This is my second year presenting at VMworld, another year of struggling to meet deadlines, building slides, and trying to make sure I was ready. I wanted to share my experience, my struggles, and my opinion on this, mostly to provide the community with some encouragement to get up and share your knowledge with the rest of us.

What topic would you want to listen to?


The best sessions I have found started with a conversation. This year, I was talking with my manager, bemoaning the lack of security in technical architectures. Sure we threw in the checkbox items, but we missed the larger picture. We always assumed security was a product, missing the point that it was a design principle. After some heated debate, we realized that almost every part of the VMWare product set related to security. I am not a security specialist, which we decided made the messaging even more powerful.


When you are thinking about what to present, think about what interest you. Make your presentations credible, make them interesting to you. If you are presenting something you are passionate about, you are going to be more engaging. The best presentations involve the speaker making wild gestures, modulating their voice, and end with heated friendly discussions. Passion is everything, and if you believe in what you are saying, the passion should be natural.


Ask for help!


One of my biggest mistakes this year has been not asking for help. I took on too many tasks, spent too much time debating content with internal teams who wanted to help, and didn’t ask for the help I could have used. I work in a company full of amazing smart people. I have met so many people on Twitter and other medium who would have loved to help. I wrote a majority of the presentation myself, and waited far too long to get more eyes on. The best thing I did was to join a local Toastmasters group which did help me with the speaking skills.


We have all started somewhere, and nearly all of us want to help. There are more opportunities than every to be involved in community. Having a speaking mentor, using Toastmasters, looking within your team are all great ways to get some help. There is no weakness in admitting you need help, and it is a great way to meet new people who often become life long friends.


Rehearse, Rehearse, Rehearse, then Rehearse some more


I can’t say it enough. Knowing your content is key. I am very cautious about memorizing my content, but I know the slides inside and out. I write out an outline with key phrases to jog my memory. By the time I got to VMworld I had rehearsed so many times my brain hurt. When I got on stage, I knew my slides, I knew my content, and I still forgot half the things I wanted to say. Imagine if I had failed to rehearse.


Rehearsing is not fun. Very few people enjoy standing in front of a mirror, or a camera, practicing their content over and over. Having someone give you feedback is thought to take, especially when you pour yourself into a presentation, but it sure beats getting negative feedback from your audience.


One of my favorite parts about being in the technology field is being a part of this community. Every conference, no matter how good the sessions are, the best thing is the reunion with all the people I have worked with and met over the years. While we may give each other a bad time, we are a big community, and we are all here to support each other. Presenting can be a terrifying thing, but all of us have an important story to share that will help someone else. Give back to the community, your community by getting involved. Tell your story, and grow your career, there are so many of us who want to help you, so what are you waiting for?
Technical Presentations: stop waiting, just get started.

Ubiquiti’s Amplifi: My first install

I have to admit, I am becoming a bit of a Ubiquiti Fan Boy.  Since I started moving my family to all streaming media, wireless has been a huge challenge.  Trying to get internet to every corner of the house, without running cable through the walls, caused me to try out a number of products.  While most had a simple manageable interface most fell down on performance or features.  Last week, based on my recommendation, a friend of my wife purchased and asked me to install it for her to resolve her poor wireless coverage.

Initial Setup

The initial setup was pretty simple.  It consists of a base router/access point.  Once I had plugged that in and restarted the cable modem, I was prompted to download the app.  It nearly immediately found the wireless system, and walked me through a simple setup wizard.  The longest part of the install was the update.  All said and done the system was up and running, with both wireless extenders appropriately placed  in around 5 min.  I had her test the most remote TV with Netflix, and the most remote computer to validate.  The improvement in service was instant for her.

Management Interface

The management interface was very simple and intuitive.  Everything was available on my iPhone, no web interface to speak of, but really not necessary.  The main screen of the app displays the status of the main device and the two extenders.  This leads me to believe that it is unlikely there will ever be more than 2 extenders, which is probably sufficient for most home users.

The guest network was particularly interesting, the ability to schedule the guest ssid made it unique.  The thought being that if you have guests over, you can schedule the guest wireless for a few hours and have it shutoff automatically when they are gone.  The wireless device map shows who is connected to the network, not unique, but it is much simpler to use, and far more accurate than previous devices I have seen.


As with any product, there is always room for improvement.  One of the things I would have liked to see what a bit more on the traffic analytics, and more specifically restrictions and parental controls.  A number of the “mesh wireless” competitors are adding these in as software updates, so I would think that this will come in a future release, but it would have been a huge win for Ubiquiti if they had brought this in the initial offering.  It can be done, but it is not intuitive for the audience they intend the product for.

The app is great, but I would have liked to see a full web client with all the features of the app.  The concept of mobile first is great, but sometimes when I am working, I don’t want to dig out my phone to make changes.  It is great to be able to just open a new tab and make any changes right there.


Which leads to remote management.  This one is not a huge issue for most users, including the target audience, but for those of us who travel for work, and manage our home network, and home networks of our family, having remote access to the network is fairly important.  It actually caused me to choose a Ubiquiti’s Unifi system over Amplifi for my mother who lives 2 hours away.  I did not want to explain to her how to manage wifi on an app, it is easier to let her focus on facebook and pictures of the grandkids.


I try not to do many product reviews, but I felt like this one was worth the time to write up.  Ubiquiti has really done a great job here, it won’t replace my Unifi system at home, but if they had the Amplifi system available when I installed it last year, I would likely have gone that direction.

Ubiquiti’s Amplifi: My first install

Building a Unifi Wireless Controller with a Raspberry Pi 3

rpi3Previously I talked about my Unifi wireless configuration.  A critical part of ubiquity’s wireless is the controller.  In a traditional home wireless configuration, the router, wireless access point, controller, and often a small switch are all built into the same device.  This makes the system simpler, but far less powerful and flexible.

As I was exploring my options, I originally put the controller software on my mac mini we use as a media server.  This caused some issues with port mapping since it uses port 8080 and 8443.  One of my other media management products used port 8080 so I started looking for another solution.  I tried following the documentation, which entailed building MongoDB, a painstaking process on an arm processor, so I opted to install the Debian package from the Ubiquity website.  Pretty simple, but here are my lessons learned, and some quick shortcuts to get it done.  As a side note, this seems to work on a Raspberry pi B+, but the performance is pretty spotty.  The Raspberry pi 3 B+ is much more suited to the task.

The first step is to install the latest version of raspian.  I opted for the “lite” version since I have no need for the desktop interface.  Once you boot up and go through the basic setup, including the wifi configuration, you will need to grab the latest package from the the Ubiquity site,  Make sure you grab the debian package as noted here.

Unifi Controller Download

Installing the package is pretty straight forward.  SSH into the Raspberry PI and run the following after you download the software.

sudo dpkg -i unifi_sysvinit_all.deb

This should return several errors.  To fix this, run the following commands.

sudo apt-get install -f
sudo dpkg -i unifi_sysvinit_all.deb

The second run of dpkg may or may not be necessary, but I like to be thorough.

Once that is done, simply open a browser on your computer and go to http://<raspberry pi ip>:8080.  It will walk you through a pretty simple setup, and voila, you are done.

I did look at the cloud key, but for the extra cost, the reviews didn’t seem positive.  At the cost of the Raspberry PI it is a simple and cost effective controller with minimal setup/maintenance.

Building a Unifi Wireless Controller with a Raspberry Pi 3

Who moved my VMware C# Client?

Years ago I was handed a rack of HP servers, a small EMC storage array, and a few CDs with something called ESX 2 on them. I was told I could use this software to put several virtual servers on the handful of physical servers I had available to me. There was a limited web client, available, most of my time was spent on the command line over SSH. The documentation was limited, I spent most of my time writing procedures for the company I was at, quickly earning my self a promotion, and a new role as a storage engineer.

Today VMware is announcing that the next release of the vSphere product line will deprecate the C# client in favor of the web client. As I have gone through this process, both as a vExpert and a VMware employee, there have been many questions. During our pre-announcement call with the product team at VMware, there were a number of concerns voiced about what will work on day 1 and what this does to the customers who have come to rely on performance. Rather than focus on the actual changes, most of which are still to be determined, it seemed more helpful to talk about the future of managing systems, and the future of operations.


When I started working on server administration, the number of systems one admin might manage was pretty low, maybe less than a dozen. With the advent of virtualization and cloud native applications, devops and no-ops, administrators are managing farms of servers, most of them virtual. We often hear about pets vs. cattle, the concept that most of our servers are moving from being pets, something we care for as a part of our family, to cattle, something we use to make money, if one of our cattle have a problem, we don’t spend too much time on it, we have many others, we can just make more.

Whether it is a VMware product, Openstack, or another management tool, abstracting deployment and management of systems is becoming more mainstream, and more cost effective. In this model, a management client is far less important than APIs and the full stack management they can enable. For the few use cases where the client is needed, the web client will continue to improve, but the true value is these improvements will drive new APIs and new tools developed for managing systems. While change is never easy, a longer term view both where we came from, and where we are going with the interfaces reminds us this is a necessary change, and less impactful than it may seem at first glance.

Who moved my VMware C# Client?

Automating my home: Sprinkler Automation


When I first heard about sprinkler automation, I couldn’t conceive of a reason to invest more into a system that was pretty much hands off.  Our house has 5 zones mostly covering the backyard, and as pretty simple.  What finally sold me on the idea was my wife asking me to go into the garage to hit the rain delay when I was getting dressed for work one morning.  I started thinking about how silly it was that I had to go to all that effort just to shut down the sprinkler system for a day due to weather.  The final straw though was when I tried to change the programming.  I had thought my old home thermostat was painful to program, this made me want to give up on watering all together.

Doing a little research, I found out that our local water district will pay a substantial rebate for automated sprinkler systems.  I dug into why this was, and what the potential savings might be.  I found some systems with external sensors in ground to monitor the ground saturation, but the reviews on those were a bit troubling.  Many reviews stated they required constant recalibration, and it seemed the technology might be a little immature at this point.  For the most part, the mid range systems I was looking at all used local public weather station data to determine if they needed to run.  The interfaces were designed for smartphone users, very user friendly, and designed for family use.

Based on rebates, and ease of use, I took the plunge with the Rachio 2.  Setup was pretty simple, wiring it up was the toughest, just because I had a hard time getting the wires to seat.  Not any fault of the product, but my hands are too big to handle the low voltage wiring.  Joining the wireless was great, although I did typo my wifi password a couple times, but again, my own fault.  The configuration of zones was flawless, it walked me through the process, testing each zone, and then labeling it with a friendly name.  I was even able to take pictures of each zone and load them in.

As a bonus I was able to share the system with my wife.  Rather than logging in with a single account, I can give her access, and if I ever have a landscaper to keep up my yard, I can give them limited access to adjust as needed.  A small thing but pretty amazing they went to that level of detail.  Another nice touch is, it notifies me when it is watering, and it lets me know when it makes adjustments due to changing weather conditions.

All in all, I couldn’t be happier, and I would recommend if your water district offers a rebate, it is a no brainer.  Little improvements and quality of life gadgets like the Rachio 2 help manage our house, even when we aren’t there, and keep me from going out to the garage when I am half asleep to find the rain delay button.