GIT and Jinja – Like Peanut butter and Pickles!

Thanks to @mierdin for point this out. It looks like the wordpress format is causing some strange word-wrap issues. For a better view please click here to see the full post without presentation issues. 


Using GITHub to build our Network Configs

As I wrote in this post, one of my goals for this year is to be able to compltely automate the build of my lab environment programatically.

In the last couple of jinja posts, I wrote about the basics of Jinja2 templates and how they can be applied to building network configurations.

In this post, I’m going to take the next step and move those files from my local hard drive out to…


duh duh dahhhhhhhhhh

The cloud.

The cloud


Before we get started…

We’re going to go over some basics on the tools we’re using to make sure everyone’s on the same page. cool?

What’s GIT?

Git is a widely-used source code management system for software development. It is a distributed revision control system with an emphasis on speed, data integrity, and support for distributed, non-linear workflows. wikipedia


GIT is a piece of software that allows you to track changes to files over time.

So what’s GITHub?

“Where software is built Powerful collaboration, code review, and code management for open source and private projects. Public projects are always free. “

GITHub is like facebook for developers. It’s a place where you can sync your local GIT repository to a central location, and then sync that central location to other local repositories.

Different people can connect to the same repository allowing multiple people to work on the same project.

What’s a repository?

A repository is essentially a collection of files that make up a project. You could think of it like a folder or directory. That analogy is not exact as it’s possible for a repository to have multiple sub-folders or directories, but it’s close enough for our purposes.

Is GIT only for Code?

GIT was definitely designed for software developers to as a versioning control system while developing software, but you can use it for tracking changes to things other than

You could use it for anything text format that you want to track changes to over time. For example

  • grocery lists
  • contact list
  • tracking your weight

There are a lot of interesting uses for GIT, one of those that we’re going to use today is looking at storing our Jinja2 templates on a public GIT repository and loading them directly into our python script as part of the code.


Import Required Libraries

Unles you’ve already got them, you’ll need to  pip install jinj2  and  pip install requests these two libraries before loading them into your running environment.

In [1]:
import requests
import yaml
import githubuser
from jinja2 import Environment, FileSystemLoader, Template

Loading Templates from GITHub

Like with most things in python, if it’s useful enough, chances are there’s probably someone else who already put a library together for that. In our case, we’re going to use the python request library to handle loading files directly from our Github repository.


The first thing we’ll do is load the HPE comware switch template from that we used in this post. If you wanted to take a look at this directly on github, it can be found here. All we have to do is to copy and paste the URL from our browser directly into the first input of the requests.get function.

note: The requests function will return a whole object that has various attributes. the ” .text ” at the end of this tells the function to just give us the contents of the file, not of the other information, like the HTTP status_code.

Simple, right?

In [75]:
comware_template = requests.get('').text

Looking at the output

So now that we’ve loaded the contents of the simple_comware.j2 template directly from the Github site into the comware_template variable. Let’s take a look to make sure that we have what we need.

In [76]:
print (comware_template)
<!DOCTYPE html>
<html lang="en" class="">
  <head prefix="og: fb: object: article: profile:">
    <meta charset='utf-8'>
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta http-equiv="Content-Language" content="en">
    <meta name="viewport" content="width=1020">
    <title>Jinja2-Network-Configurations-Scripts/simple_comware.j2 at master · netmanchris/Jinja2-Network-Configurations-Scripts · GitHub</title>
    <link rel="search" type="application/opensearchdescription+xml" href="/opensearch.xml" title="GitHub">
    <link rel="fluid-icon" href="" title="GitHub">
    <link rel="apple-touch-icon" href="/apple-touch-icon.png">

Hmmmmm. That’s not right?

The requests library is reaching out and grabbing whatever we put into that first variable. If we look at the print contents, we can see the first line is<!DOCTYPE html> . So it looks like we’re grabbing the rendered webpage, not just the contents of the file. Thankfully, looking at the GITHub website, there’s an option to look at any of your files in raw mode. So let’s grab that URL and try this again, ok?

In [77]:
comware_template = requests.get('').text
In [78]:
print (comware_template)
#sysname config
sysname {{ simple['hostname'] }}
#vlan config
{% for vlan in simple['vlans'] -%}
vlan {{ vlan['id'] }}
    name {{ vlan['name'] }}
    description {{ vlan['description'] }}
{% endfor %}#snmp_config
snmp-agent community read {{ simple['snmp']['read'] }}
snmp-agent community write {{ simple['snmp']['write'] }}
snmp-agent sys-info contact {{ simple['snmp']['syscontact']  }}
snmp-agent sys-info location {{ simple['snmp']['syslocation'] }}
snmp-agent sys-info version all

Ahhhh… That’s better.


Loading Network Specific Values from GITHub

Now we’re going to load our network specific values which were stored in the YAML file in this post. But this time, we’re going to load them directly from a private github repository.

The free GITHub accounts allow you to have public repositories, which means everyone can see what you’re doing, but if you have a paid version, you can get private repositories for as little as five dollars a month.

The private repositories are secured and can only be accessed by someone with a GIThub username and password who has explicitly been given access to this repository.

I would say that it’s probably a bad idea for us to keep any secure information like usernames, passwords, or SNMP strings in a online repository. But for my purposes, I don’t have anythng of value in this lab environment so I’m not too worried about it.

note: Before you put any sensitive data into an online repository of any kind, be sure to check with your companies data policies to see if you’re breaking any corporate rules.


Creating an Auth Object

First, I’m going to create an auth object, which is basically a single object that represents the username and password for my github account. In my case, I’ve got a file on my local hard drive that will automatically create the auth object for me.

In case you’re interested, the file is called and contains the following code. 


from requests.auth import HTTPBasicAuth

def gitcreds(): auth = HTTPBasicAuth('netmanchris', 'my_secret_password') return auth

In [79]:
auth = githubuser.gitcreds() #you didn't think I was going to give you my password did you?

Loading simple.yaml

We’ll now load the simple.yaml file like we did in this post but instead of opening it from a local file, we’re going to load it directly from the raw version of the file on github. I’d give you the link but it’s in a private repository, so you won’t be able to access it anyways.

Thigs I want to point out

  • yaml.load: takes the response and processes the yaml content directly into a python data structure ( dictionary )
  • .text: takes the “.text” attribute from the requests object which is the content of the page.
  • auth = auth: takes the auth object we created above and passes it as the username and password during the HTTP request.

Make sense?

In [80]:
simple = yaml.load(requests.get('', auth=auth).text)
In [81]:
{'hostname': 'testswitch',
 'ip': '',
 'snmp': {'read': 'supersecret',
  'syscontact': 'admin.lab.local',
  'syslocation': 'lab',
  'trap': [{'target': ''},
   {'target': ''},
   {'target': ''}],
  'write': 'macdonald'},
 'vlans': [{'description': 'management vlan',
   'id': '10',
   'name': 'management'},
  {'description': 'users vlan', 'id': '15', 'name': 'users'},
  {'description': 'phones vlan', 'id': '16', 'name': 'phones'},
  {'description': 'servers vlan', 'id': '20', 'name': 'servers vlan'}]}

Putting it all together

So looking at our list

  • download simple_comware.j2 template from Github public repo: **Check!**
  • download simple.yaml values file from Github private repo: **Check!**
  • rendered templates: **Nope**

So I guess we know what comes next, right?


Rendering the final config

We use the Template function to create a jinja2 template object and then we use the simple variable we created during the yaml section as input into the cw_template object.

In [82]:
cw_template = Template(comware_template)
In [83]:
print (cw_template.render(simple=simple))
#sysname config
sysname testswitch
#vlan config
vlan 10
    name management
    description management vlan
vlan 15
    name users
    description users vlan
vlan 16
    name phones
    description phones vlan
vlan 20
    name servers vlan
    description servers vlan
snmp-agent community read supersecret
snmp-agent community write macdonald
snmp-agent sys-info contact admin.lab.local
snmp-agent sys-info location lab
snmp-agent sys-info version all

Writing the Config to Disk

So far we’ve only been rendering and printing configurations, but it would be kinda nice to be able to have these on disk so that we can open them in our favorite editor before we cut and paste them into a telnet session to our network device.

The next two commands simply write the rendered template to disk with the filename comware.cfg and then we open and print the file to screen just to make sure it worked.

In [84]:
with open('comware.cfg', "w") as file:
In [85]:
with open('comware.cfg') as file:
    print (
#sysname config
sysname testswitch
#vlan config
vlan 10
    name management
    description management vlan
vlan 15
    name users
    description users vlan
vlan 16
    name phones
    description phones vlan
vlan 20
    name servers vlan
    description servers vlan
snmp-agent community read supersecret
snmp-agent community write macdonald
snmp-agent sys-info contact admin.lab.local
snmp-agent sys-info location lab
snmp-agent sys-info version all

What’s next?

So far, we’ve come pretty far. We’ve written a couple of jinja templates, we’ve figure out how to store those files in a centralized control versioning system, but we’re still cut’ing and past’ing those configurations ourselves which is not ideal.

In the next post, we’ll look at using APIs to push the configuraiton directly to a configuraiton management tool.

Questions or comments? Feel free to post below!


Getting started with OpenSwitch

First, disclaimer: I’m an HP employee. HP’s a major contributor to the OpenSwitch project. Just thought you should know in case you think that affects my opinion here.

This is the first in some blog posts that detail my experience with the new OpenSwitch project. It’s an interesting project and i’m hoping that it’s got some legs on it. Imagine, if we actually had the whole industry started to focus around a common network operating system that they could contribute to . Any one could fix bugs or write documentation and feel like you’re helping to drive the whole industry forward. It’s a pretty ambitious project, but something that I think could be very very interesting. So it’s time to get dirty and start to dig into it.

What is OpenSwitch?

According to the webpage “The OpenSwitch Platform is an open source, Linux-based network operating system (NOS) platform. Built under the open source model, OpenSwitch offers the freedom of innovation while maintaining stability and limiting vulnerability.”

You can read more on it here

Mailing Lists

One of the best ways to keep up with what’s going on with any OpenSource project is to subscribe to the mailing list. You can subscribe to the OpenSwitch mailing list by clicking on the following links.

Infra OpenSwitch Infrastructure and Operations Team
Ops-dev OpenSwitch Developers

Kicking the tires

It looks like the OpenSwitch project has put out a version that will work with a combination of VirtualBox, Vagrant, and Docker.

The documentation looks pretty complete and is available here.

What’s next

This idea of a community drive NOS is something that’s been kicked around for awhile. Great time to kick the tires and see how much work has been done and what’s currently available.

Look for more posts soon!


A Tale of Two Companies: Apple loses it’s shine

Trust is a huge reason that we buy from a company. We know a brand, we trust a brand, we are more likely to buy from that brand. Right?

In the last couple of months, I’ve had two issues with a couple of my devices and had two very different experiences. 

Issue 1

I noticed my fitbit surge, smart watch extraordinaire, had a small mechanical issue with it. I tweeted up them up to ask what I could do about it. They suggested I open a support case and send me the link. I was hoping there might be a quick solution, but at least I didn’t have to look for the support link.

Long story short: I opened the support case and I was stunned when the reply came back which told me they would be sending me a new watch right away.  WOW.  This is a $350 item and they just sent me a new one. 

Wow. I couldn’t say enough great things about Fitbit at this point. Great products. Amazing support. I wouldn’t recommend them to anyone who’s interested in gear to help you track your fitness goals. 

Issue 2


Apple iOS 9.0 comes out. I updated on my iPhone and iPad and everything went ok. So I decided to update my son’s iPad mini which was working fine up until that point.  The initial 9.0 ended up completely crashing the device. Yup. Totally crashed. I crashed so bad I couldn’t even finish the install. It was just the bricked iPad screen showing the glowing Apple logo and the lightning connector letting me know I had to connect it to an Laptop to reinstall the iOS version.   

I tried this on my MacBook Air, my MacBook Pro, as well as my Mac Mini.  ( I’m an apple fan ).  None of them worked.   A few days passed and iOS 9.01 was released.  Still nothing.

I opened up a support case with Apple the day a couple of days later. By this time, iOS 9.02 was released. ( Seriously did they test the software before it was released? Two patches in a week?) 

I did manage to get 9.02 installed, but then the iPad kept locking up and would only recover with a full hard reset. ( hold the power and the home button at the same time. ) 

I had an appointment at the Apple store, and given the behaviour, I decided I’d go in anyways.


When I arrive at the Apple store, the iPad mini had already crashed ( woo-hoo! how many times do you take something in and it actually has the problem you’re trying to get fixed! ).  The Apple Genius technician decides that we’ll reinstall iOS 9.02 to see if it will fix the problem. Unfortunately, it’s back to the problem I was having at the beginning. iOS wouldn’t load. 

At this point, the Genius technician, unlucky kid that he is, tells me that my iPad is out of warranty and that it’s going to cost me $220 to get it fixed. He tells me that it’s a hardware issue and that the upgrade is failing because of hardware issue. 

I’ve been in IT for a long time, 20+ years at this point. I get that hardware failures happen and that’s sometimes the way things go. Sucks, but it is what it is.  What I have a hard time with is understanding how there was no hardware issue before iOS 9.0 came out.  All the problems started up after my first attempt to upgrade to iOS 9. 

So basically,, there was no problem before installing the software, there are major problems after TRYING to install the software. There are two patches for the iOS 9 release approx within one week of the first release.  Something smells really fishy here to me, no?


Wow. I can’t believe that I got an “Sorry, but it’s just a coincidence that you tried to install our new software and it broke your device. We can’t help you Sorry .t’s the policy, but we’ll be happy to take your money”   answer here. Holy crappy support batman. 

Trust comes from standing behind your products AND your customers

So in a nutshell, I have a possible non-issue from Fitbit which they resolved with sending me a new watch. I have a major issue with Apple that is MOST likely caused by software that they deny all responsibility for and offer to charge me almost the same price as buying a new iPad mini. 


Who do you think I’m going to be more likely to buy from in the future? 



My two cents

Support is a funny thing. Many companies forget that a customer is a potential future customer, even if they don’t have a support contract. Looks like Apple is starting to walk down the same road that other market leaders have fallen into. Sad to see such a great company lose sight of the most important thing which contributes to it’s success;:  the customers.




P.S. The fact that I upgraded my Mac’s to El Capitan and have had major issues sense the upgrade has not made me any happier.  

Network Management – How to get started

Network Management Skills

In the last few years, I’ve noticed that I’m a little different. It’s not just because I wear coloured socks or my hair looks like I style after Albert Einstein.  I noticed that I’ve developed a different skill set than the majority of my pre-sales or post-sales network professional peers. What skills you ask?  Network Management and Operations.

Why I choose to develop Network Management skills

About five years ago, I took a look at the market and thought ” This stuff is complicated “.  Earth shattering observation, right?   It sounds simple, but then I started looking at some of the tools we had at the time and I realized that NMS tools could really help to automate not only the information gathering, but also the configuration tasks in our networks.  At the time, we had a cool little tool called 3Com Network Director.  It ran on a single PC. No web interface and it really only managed 3Com gear. But it was better than running CLI commands all day long. And the monitoring aspects really helped my customers identify and resolve problems quickly.  This was a moment of inspiration for me.  I choose to develop skills in network management and operations.

Let me say that again.

I choose to develop skills in network management and operations. 

I didn’t choose to develop skills in 3ND, or IMC, or Solarwinds, Cisco Prime, or any of the various other tools. Overtime, I’ve gained experience on all of those products, but I would say my true value is having gone through the process to develop skills in the sub disciplines of network management. Learning a product is only a very small part of the whole domain. 

What does that mean? 

It’s easy to learn a product. They have bells and whistles. Click this check box. fill in this box. etc..    Those skills are important. But they don’t help us understand how to apply the product to resolve our customers business challenges. They don’t help us understand when not to click that box. And they don’t help us to design a network management strategy, or to consult with our customers on operational efficiencies and what can be done to help increase their networks stability, to reduce the MTTR times, or to mitigate pressures put on the operations team. Learning the domain knowledge has helped me to understand WHY we have developed the product features and what they are to be used for.

My Learning Roadmap

To put it simply, I consumed everything I could on the subject. It’s amazing how much free information is out there if you set your mind on finding it. If anyone’s looking to increase their skills in this area, I’ve put together the following list of resources that have really helped me in this domain. I’ve tried to keep this out of vendor specific products, but I’m sure you’ll find that any product you choose will probably have training and learning resources around it as well. This is in NO way inclusive, there are a lot of resource out there. I highly encourage everyone to read, watch, and listen to as many of them as you can and to think about them critically.

Free Resource

Solarwinds SCP training  The Solarwinds SCP training is online and free. What I really liked about this training is that it’s really focused on network management, netman protocols, and the operational aspects of network management. There are, of course, some product specific aspects to the training, but in general this is a really good primer on network management in general. Oh… did I mention there’s a bunch of videos as well?  Great stuff to rip and put on your tablet when you’re stuck on a plane and you’ve seen all the movies. 

Solarwinds has also provided a bunch of whitepapers going further in depth on network management specific subjects which are a great reference.  If you’re interested there’s also the Solarwinds Certified Professional certification if you’re looking for a way to validate your knowledge.

The Information Technology Infrastructure Library  (ITIL) is a compilation of IT service management practices compiled over the last 30 years. There’s a lot of great stuff in here. The books are expensive though.  There is an entire industry that’s sprung up around ITSM.  If you have some commute time to spare, I would highly suggest typing in the words “ITSM” into your favourite Podcast app and sit back and listen. 

If you’re interested, there’s also the ITILv3 Foundations certification if you’re looking for a way to validate your knowledge.

Blogs and Podcast

Social Media is a great way to learn how people apply ITIL concepts to the real world. I particularly like as it’s got a great following of a bunch of smart people who disagree on a regular basis. You never know when the customer you’re going into is operating in a traditional ITIL based ops model, perhaps they are using the Microsoft OperationsFramework, or perhaps they’ve moved on to Agile and DevOps. It’s good to have at least a cursory knowledge in all of this approaches to IT operations, to mention traditional Network Management Frameworks like FCAPS and eTOM

Paid resources

Books are a great way to learn about network management and operations. Here’s my  abbreviated reading list. These are the reference books that sit on my shelf within easy reach. 

Network Maturity Model – This book is actually a academic thesis focused on trying to extend the CMMI models to network specific capabilities maturity models. Of course, network operations is part of the capabilities of an organization, so there’s a lot of great content in here.  The book is definitely academic, but it’s got a LOT of great content in it, assuming you can get through all of the required footnotes and pointers to other academic works. 

Fundamentals of EMS, NMS, and OSS/BSS – This books is wonderful. It covers all aspects of traditional telecom management from FCAPS to eTOM, as well as looking at OSS/BSS architectures which usually exist only in Service Provider networks. Great information in here.  My biggest problem with this book is the font size. I have glasses and it’s tiny.  Worth the effort to make it through, but plan on multiple reading sessions. This is not a book you’re going to get through in one sitting.

Network Management Fundamentals – Cisco Press book that’s a great read. A lot of information in here is covered in some of the other books. What I like about this is that it written as an introduction to network management for people already working in the field. This is not an academic text.

Network Management: Accounting and Performance Strategies – Cisco Press book again. This one focuses strictly on performance management, focusing a lot on Netflow and how it can be applied to accounting and performance in large network.  

Performance and Fault Management – Cisco Press Book again. This is an older book, so the technologies discussed may not be as relevant as they once were. The nice thing though is that we’re talking about operational models and processes here, so the principles still apply. 

VoIP Performance Management and Optimization – Last Cisco Press book. This book looks at the operational aspects of VoIP/IP Telephone/Unified Communications networks specifically. There are a lot of very detailed recommendations in here that can be leveraged to give customer guidance on what they should be doing and what they should be monitoring. This book has helped me a few times when working with customer who have chosen to implement a dual-vendor strategy and want to have HP Intelligent Management Center managing and monitoring there Cisco Callmanager environment in addition to their network.

The Phoenix Project – This book is written as a novel to teach people about the DevOps movement. This is a MUST read for anyone interested in IT operations and the current trends in the industry. It also will help get a first hand accounting of what many customers go through. Read it. Read it. Read it.

The Visible Ops – From the same authors of the Phoenix Project. This book tries to tie DevOps and ITIL together. Interesting read. Many people see DevOps and ITIL as two opposites of the spectrum. Most have had a bad ITIL experience and now the pendulum swings in the other direction. Finding a happy middle is a good goal. I’m not sure they’ve hit the mark, but it’s a start.

Network Management: Principals and Practice – Expensive book. Good information, but the technology is also quite dated. Concepts and knowledge is great. Good diagrams, but it’s sometimes hard to get through the hubs and token ring.

Domain Related Knowledge

Network Management is really about ensuring stability and helping the business to meet their operational requirements with the greatest efficiency possible. In that light, it’s important to understand what some of those operational burdens are. In recent years, businesses have had a ton of GRC (governance, risk, and compliance) requirements put on the operations teams that threaten to break an already overloaded team.   On the bright side, I believe that although they have been forced into these requirements through legislation and governance like SOX, COSO, PCI-DSS, HIPPA, Gramm-Leach-Bliley, etc.  have actually forced network operations teams to get much tighter on their controls, forcing us into more stable and secure networks. 

note: This list is US specific, if international readers can post some examples in the comments section, I would be happy to add them to the list of references.

In my experience, one of the issues with GRC requirements in general is that they are very rarely descriptive of what actually needs to be done. They have generic statements like “monitor network access”  or ” secure the it assets”.  

ISACA noticed this and put together the COBIT framework which is a very detailed list of over 30 high-level processes and over 200 specific IT control objectives. Most of the GRC requirements can be mapped to specific COBIT objectives. COBIT is a good thing to be familiar with. 

 Next Steps

As we move forward in IT, operations and orchestration skills are starting to become some of the hottest requirements in IT. 

Whether it’s products like HP’s Cloudsystem, or industry wide projects like OpenStack, CloudStack or Eucalyptus, having solid Operational knowledge and skills is going to be a requirement for anyone seeking the coveted Trusted IT Advisor role in any customer. 

For anyone looking to gain or just brush up on their network management specific skills.

I would recommend

  • Solarwinds videos as a place to get started with the basics of network management
  • become familiar with the basics of COBIT and GRC in general..  Doing some reading on the various GRC requirements that apply to your specific regions and customers is also a great way to change the conversation from speeds and feeds to the challenges of the business. 
  • Read on OpenStack
  • Learn about ITIL and DevOps

Social Media is always a great way to stay current as well. One of the biggest challenges of operations is the best way to learn it is to do it. Unfortunately, many of the really good Network professionals, whether pre-sales or professional services, don’t get an opportunity as they are usually hands-off or on turning over the keys to an ops team after the project has been delivered. Socialmedia helps to connect to the daily challenges of people who are living in the trenches. 

Get some ITSM experience. If you don’t work in a company where you get to babysit the same environment, you can always do what I did and experiment with it at home.

Anyone else have any suggestions on how to get up to speed? Feel free to comment below!


Letter to Apple

My iPad was stolen… again.


For the second time in 6 months, I had my iPad stolen. 




The story

Yeah. It sucks. The first time I was in Spain with my family and someone picked it up while I was loading luggage.  This time, it was quite a bit more painful, since I was at a work event and my passport was in the iPad case as well.  That’s right ladies and gentleman, stuck in the US with no passport is not a situation I recommend to anyone.  For the record, I don’t think it was any of my work colleges, they were ALL so supportive and were constantly offering me suggestions on where to look and whom to ask.  ( I did exhaust all possibilities ). 

Now this was a 3g iPad, but since I was roaming, I didn’t have the 3G capabilities turned on.  As well, since the convention centre we were at was all captive portal which had to be renewed every 24 hours, I missed my window when I could have used my  ” Find my iPhone” application to use the location services that Apple turns on.

Yes, I checked with the convention centre staff.

Yes I checked with the hotel staff.

Yes I checked with my companies event staff.

Yes, I tried the apple app multiple times.

Yes, we did make multiple announcements throughout the week. 




The issue with Apples Location System


Right now, the Find my iPhone devices are linked to the iCloud functionality. What sucks about this is that if the device is not online, I can’t find it. And because the device is locked, it’s going to require someone to connect it to iTunes and wipe the whole device to access it and get it on a network.  Wiping it will of course cause the iCloud linkage to disappear and now someone else has a gently used and much loved iPad 3 with 64Gb and LTE.  



My Request

As anyone who’s bought a device from Apple in the last few years, we are required to activate the iPad/iPhone devices before we are able to use them. This means that we need to give our information to Apple to register the device. What’s included in this?  The device serial number.


Why can’t Apple institute a stolen iPad reporting system that would enable them to block the activation of any iPad that makes it on that list?  It’s going to cost me $1,000 (taxes) to replace that device. Why does someone else out there who’s dishonest enough to steal my iPad and not return it ( yes, my business cards are in there, and this time my passport too! ) get to simply wipe my device and move on.  Especially when it’s SO easy for Apple to put this kind of a policy in place. 


The only reason for them NOT to do it is because they view it as a residual income stream. They wait until someone like me makes their device a totally integrated part of their work life and then depend on them buying multiple times as the market for stolen iPads increases.

I’m not suggesting that they tell me who stole it, but it would be great if they could work with the local authorities to send someone over to pick up my iPad.  Am I been crazy here? This of course also presumes that the police care enough about the law to through some resources at this issue. 

At the very least, I would like Apple to brick my iPad completely. Don’t let anyone activate that device unless they receive an email from the registered owner, i.e.  Me. 


is that too much to ask?  I want my passport back, I want my iPad back, and I want Apple to help me justify why I spend a premium on their devices. They own the ecosystem and this is the least they could do for me, a loyal customer.  I’m all in. I’ve got iPads ( multiple ) iPhones, Apple TVs, Mini, MacBookPro’s etc…    


Please just brick my old iPad.  It’s serial number is  NewImage. Or better yes, when someone tried to activate it, display a message on the device, tell them it’s stolen and ask them to return it to the closest Apple store. I’d like it back. 





Existential Tiggers and Zen Yogi Camels

As some of you who follow my tweets know, I’ve recently been sent a few boxes of things from my parents house. From tijuanna big birds ( a four foot big bird missing an eye who looks like someone jacked him in an alley in Tijuanna. ) to a 1978 15′ Chewbacca doll, complete with his ammo belt, satchel and bowcaster.

I stumbled upon a set of poems that my friend A. Robert Howerton Esq. put together and this one just needed to go in writting. It’s not tech, but to me, it’s worth immortalizing on the internet. 🙂


Existential Tiggers and Zen Yogi Camels   

by A. Robert Howerton Esq.


Here I stand, the existential tigger.

Bouncing through life

never wanting for the more.

I yearn for pleasure

I find it in your smile.

Here stands the zen yogi camel

Always docile, always serene

Free in the spirit and the mind.

He watches life and absorbs it, but,

he never joins in.

You see, the camel can’t bounce, he is too heavy.

And you’ll never see a tigger watch because his eyes shake when he bounces.



20 years later, I still find wisdom in those words.

Rum-Pooh. I love our Universe

As promised on twitter, I had to blog this out as the universe is just TOO amazing a place not to share this story.

So I recently had a chance to present at an industry event in Las Vegas.  The topic was Compliance and how our products can help you to deal with some of the burden that government, or internal governance and compliance initiatives can put on the networking staff.

Now I firmly believe that configuration management is probably THE most important discipline within the network management domains. Good Configuration management can help you prevent a lot of the other issues that will creep up.

I also fully accept and realize this is not exactly the sexiest or interesting material, so like any good presenter does when faced with some dry material. I tried to add in some anecdotes and metaphors  to make the material a little less dry and a little more memorable.

So the story:

My co-presenter was giving a real-life example of a customer of ours who had two FTE employees who’s entire reason for being was to start at device #1 in the network, and manually go through the configuration to ensure it was in compliance with the various governance policies that the organization had.

That’s right; two people who’s job in life is to login to switches and routers and go through mind-numbing configurations line by line to see if there were any unsecured services, any default vendor credentials, ACLs were in place, etc…

Now I applaud the fact that these guys at least recognized the importance of that kind of attention to detail, but I can’t imagine been the person who actually did this MANUALLY.

When presented with this kind of data point, there’s of course someone in the crowd who has to question the sanity of this.

In this case Lindsey Hill @northlandboy  was the person who chimed in. For those of you who know Aaron, @neelixx was also in the crowd.

” Why would ANYONE do that? Why wouldn’t they write a script and be done with it!?!?!?”

And that’s where the story really begins.

My answer went something like this

” So as you may have noticed… we’re in Las Vegas”

audience laughs

” I was invited last night to a team building session which was advertised as ” Squishies and Freaks”.  Squishies are girl drinks. Very tasty and typically some bright, happy color. Freaks? Well we just had to leave the hotel and go walking the Las Vegas strip for that. “

audience laughs – For those of you who have been to Las Vegas. You know that the strip draws some interesting characters. This particular weekend was the electric daisy circus, which I hear is a 40 to 80 thousand person rave.  ( I didn’t go )  But needless to say, the characters were out, and I had LOTS of characters to pick from. Back to my pitch

”  So there were lots of interesting characters out last night, we saw a man in a Minnie Mouse costume, some stilt walkers, etc… but the most memorable to me was the person in a Winnie the Pooh costume, sitting under one of the overpasses, drinking a Captain Morgan’s rum straight from the bottle. “

As you can imagine, at this point, even my co-presenter is looking at me a little strange. People came to this session to hear about compliance, and I’m on some story about a Rum-Winnie. I was definitely getting a “Get to the point Chris” stare.

” So to answer your questions….  I have absolutely NO idea at all why ANYONE would put two full time people on manually verifying device configurations. I saw a Rum-Winnie last night. I have NO idea why anyone does ANYTHING that they do. All I can tell you is that there is a better way, and we can help you with that “

At this point the audience laughs, my co-presenter is happy that I somehow managed to make that seem relevant and the rest of the presentation goes off without a hitch.

We all pack up, say goodbye to old friends and new, and get on planes to go back to our families.

Fast forward about 5 days.

I’m back in Montreal and there’s a company event where engineers from our labs have been invited as a mini-tech day to talk about the new innovations, etc… that they are working from. There was a dinner invite and I’m a geek. So I just couldn’t pass up the chance to sit down and talk hard-core tech with the people who are working on the next-gen of products.

I arrived a little late because of the kids karate class, and sit down at the free chairs and start chatting with the people. One of them recognizes the new shirt and asked me what I was presenting on in Vegas.

Now it’s not every day that you can bring Rum-Winnie into a technical presentation and somehow make it relevant to the overall content, and this just happened, so I’m happy to share the story.

C’Mon it’s Rum-Winnie!!!!  How could I NOT share this story.

This is where it gets really cool.  Everyone laughs at the story, but the guy sitting across from me starts gets a little twinkle in his eye and starts reaching for his phone.

He plays with it and then hands it across the table…  and…


Turns out this mostly random guy from Austin, Texas that I met at a Jack Astor’s in Montreal who HAPPENED to be in Vegas at the same time that I was who HAPPENED to be out walking the Vegas strip chose to take a picture of the Rum-Pooh that I had randomly decided to use as an example in my presentation!

How freaken cool is the universe we live in?