Anatomy of a Blog Post

Did the title of the post catch your eye?  It’s probably a play on words or a quote from a movie.  If the title didn’t do it, the picture normally linked right under it should.  It’s probably something goofy or illustrative of the title.  After that, the next few sentences launch into an overview of the problem.  My blog posts all start out like my real life stories – lots of context so we’re all on the same page before we start discussing things.  Without a good setting, the rest of the story is pretty pointless.  The last sentence of the first paragraph is usually a question or statement relating the background to the main point.

This is the paragraph where the central point discussion starts.  Now that everyone is on the same page, the real analysis can start.  With the opening setting in mind, it’s time to lead into whatever the main point of this blog post will be.  I usually bring up commonly discussed aspects of the problem, such as urban legend or commonly held beliefs.  That way, people are nodding their heads as they read along.  Everything should be laid out on the table as an overview before diving into the topics in depth.

This is a section header designed to catch your eye or a central point that I want to reinforce.

Here is where I start dissecting the points from above.  Each point gets a paragraph and a discussion about the salient points.  Falsehoods are refuted.  Truths are reinforced.  If this is a review, there is discussion of a major section or general theme of the reviewed item.  Self contained sections are easy to digest. Plus, I’ll just keep repeating them all until I’ve brought up all the points from the introductory paragraph.  It try to keep these depth discussions to around three paragraphs because it’s easier for people to remember things with less than twenty seven parts.

There's probably some code or output in this section.  It's easier
 to type in one of these boxes.  Plus, you can usually just copy 
and paste whatever it is into your device.

Here’s where I start trying to wrap everything up and bring all the points and discussion together.  That way the big picture has now been fully developed and fleshed out.  If there are any other pieces that aren’t germane to the discussion or forward-looking statements about how the situation may change in the future, I’ll put them here as things to ponder as you get up from your desk to walk around and hope they hit you later and make you want to leave a comment.


Tom’s Take

Alliteration is awesome, right?  This is the section where I offer my own opinion about things.  Yes, many of my posts are already overloaded with opinion, but here is where I relate the whole thing to me and my outlook on things.  This is also the section where I use the “I” word, whereas I try to avoid it above.  I literally draw a line on the page so people realize this is something a bit different that what comes above.  In many ways, this can serve as a too long, didn’t read portion if you’re only interested in opinion.  I freely admit that I borrowed this idea from Stephen Foskett and his “Stephen’s Stance” closers.  I’ll probably make a flippant comment here and there, but I try to keep things coherent and on point.  And finally, when I wrap up, I usually call back to the title of the post or central theme in a funny way to reinforce what I’ve just talked about.  Anatomically speaking, of course.

If you’re curious where I got the idea for this 300th blog post, you can watch the video from Da Vinci’s Notebook for “Title Of The Song”:

Incremental Awesomeness – Boiling Frogs

Frog on a Saucepan - courtesy of Wikipedia

Frog on a Saucepan – courtesy of Wikipedia

Unless you’ve been living under a big rock for the last couple of weeks, you’ve no doubt heard about the plunge that Apple stock took shortly after releasing their numbers for the previous quarter.  Apple sold $54 billion dollars worth of laptops, desktops, and mobile devices.  They made $13 billion dollars in profit.  They sold 47 million iPhones and almost 23 million iPads.  For all of these record-setting numbers, the investors rewarded Apple by driving the stock down below $500 dollars a share, shaving off a full 10% of Apple’s value in after-hours trading after the release of these numbers.  A lot of people were asking why a fickle group of investors would punish a company making as much quarterly profit as the gross domestic product of a small country.  What has it come to that a company can be successful beyond anyone’s wildest dreams and still be labeled a failure?

The world has become accustomed to incremental awesomeness.

Apple is as much to blame as anyone else in this matter, but almost every company is guilty of this in some form or another.  We’ve reached the point in our lives where we are subjected to a stream of minor improvements on things rather than huge, revolutionary changes.  This steady diet of non-life changing features has soured us on the whole idea of being amazed by things.  If you had told me even 5 years ago that I would possess a device in my pocket that had a camera, GPS, always-on Internet connection, appointment book, tape recorder, and video camera, I would have either been astounded or thought you crazy.  Today, these devices are passé.  We even call phones without these features “dumb phones” as if to demonize them and those that elect to use them.  We can no longer discern between the truly amazing and the depressingly commonplace.

When I was younger, I heard someone ask about boiling a frog alive.  I was curious as to what lesson may lie in such a practice.  If you place a frog into a pot of boiling water, it will hop right back out as a form of self-preservation.  However, if you place a frog in a pot of tepid water and slowly raise the temperature a few degrees every minute, you will eventually boil the frog alive without any resistance.  Why is that?  Well, by slowly raising the temperature of the water, the frog becomes accustomed to the change.  A few degrees one way or the other doesn’t matter to the frog.  However, those few degrees eventually add up to the boiling point.

We find ourselves in the same predicament.  Look at some of the things that users are quibbling over on the latest round of phones and other devices.  The Nexus 4 phone is a failure because it doesn’t have LTE.  The iPad Mini is useless because it doesn’t have a Retina screen.  The iPhone 5 is far from perfect because it’s missing NFC or it’s not a 5-inch phone.  The Nexus 7 needs more storage and shouldn’t be Wi-Fi only.  Look at any device out there and you will find that they are missing features that would keep them from being “perfect”.  Those features might as well be things like inability to read your mind or project information directly onto the cornea.  I’ve complained before that Google is setting up Google Glass to be a mundane gadget because they aren’t thinking outside their little box.  This kind of incremental improvement is what we’ve become accustomed to.  Think about the driverless car that Google is supposedly working on.  It’s an exciting idea, right? Now, think about that invention in 5 years time when it becomes ubiquitous.  When version 6 or 7 of the driverless car is out, we’re going to be complaining about how it doesn’t anticipate traffic conditions or isn’t able to fly.  We will have become totally unimpressed with how awesome the idea of a driverless car is because we’re concentrating on the things that it doesn’t have.

We want to be impressed and surprised by things.  Even when we are confronted with groundbreaking technology, we reject it at first out of spite.  Remember how the iPad was going to be a disaster because people don’t want to use a big iPhone?  Now look at how many are being used.  People want to walk away from a product announcement with a sense of awe and wonder, not a list of features and the same case as last year.  We’ve stopped looking at each new object with a sense of wonder and amazement and instead we focus on the difference from last year’s model.  Every new software or hardware release raises the temperature a few more degrees.  Before long, we’re going to be boiling in our own contempt and discontent.  And the next generation is going to have it even worse.  Even now, I find my kids are spoiled by the ability to watch TV shows on a tablet in any room in the house on their schedule instead of waiting for an episode to air.  They no longer even need to remember to record their favorite show on the DVR.  They just launch the app on their table and watch the show whenever they want.  Something that seems amazing and life-changing to me is commonplace to them.  All of this has happened before.  All of this will happen again.

Instead of judging on incremental advancements, we should start looking at things on the grand scale.  Yes, I know that some companies are going to constant underwhelm the buying public by delivering products that are slightly more advanced than the previous iteration for an increased cost.  However, when you step back and take a look at everything on a long enough time line, you’ll find that we are truly living in an age when technology is amazing and getting better every day.  Sure, I’m waiting for user interfaces like the ones from Minority Report or the Avengers.  I want a driverless car and a thought interface for my computer/phone/widget.  But after seeing what happens to companies that are successful beyond their wildest imaginations I’ll be doing a much better job of looking at things with the proper perspective.  After all, that’s the best way to keep from getting boiled.

Cisco Live 2013 CAE – Don’t Stop Believing

CiscoLive2013Logo

Cisco Live 2013 is coming to you this year from Orlando, FL.  After a 5-year absence, everyone’s favorite networking company on Tasman Drive returns to the Sunshine State to bring information and discussion to legions of network rock stars with Open Arms.  However, all work and no play makes networkers very dull.  That’s why there is an event to make us all feel appreciated.

What would Cisco Live be without the Customer Appreciation Event (CAE)?  In the past six years that I’ve attended Cisco Live, I’ve been a part of some very exciting times.  Watching Devo in the middle of San Francisco Bay.  Seeing KISS in Anaheim.  Watching the Barenaked Ladies on stage at the House of Blues in Orlando.  There’s always fun to be had and good time all around at the CAE.  This year promises to be no exception.

Universal entry with Cisco logo

The 2013 Customer Appreciation Event is going to be held inside Universal Studios Florida!  I had a great time in 2008 wandering around the Universal backlot.  I got to ride the rides, see the Back to the Future DeLorean, and watch an awesome concert.  It’s nice to have access to such a wonderful theme park and it’s super nice of them to host 10,000 invading nerds looking for geeky t-shirts and lots of pictures next to the T-800 outside the Terminator 3-D ride.  I’m going to make sure to bring an extra poncho again this year just in case we get one of those famous Florida thunderstorms, but I hope the rain holds off long enough for everyone to have a good time. With all the available attractions at Universal Studios Florida, there’s almost too much to do in one evening.  Really, there’s a good time to be had pretty much Any Way You Want It.  And that’s not even taking into consideration the star attraction for the CAE.

The headline band for the CAE always generates a lot of buzz.  Whether it’s KISS, the B-52s, or Weezer, people want to see the best.  The attendees Faithfully come to the CAE to be entertained.  In the last couple of years, Cisco Live has given fans the opportunity to vote on the headline band for the CAE.  This year’s vote was a close one that included some great artists like Beck and Jane’s Addiction.  But in the end, the fans went their Separate Ways with the other options.  I give you the Cisco Live 2013 headline band:

_AS__DSC1361DD.1 copy_JC

The Cisco Live 2013 Customer Appreciation Band – Journey!

Journey!  Folks, I can hear the kareoke now.  While I’m still a huge fan of all the other bands, I think having a headline act with such wide appeal promises to have an epic level of fun for everyone.  I’m really hoping that unlike last year, I’ll get to Stay Awhile at this CAE and enjoy all the entertainment to be had at Universal Studios.  I also hope I get to see all of the awesome attendees there as well.  I promise to keep the Touchin’, Lovin’, and Squeein’ to a minimum.  Okay, I promise I’m done with the Journey puns.  For now.

Cisco Live 2013 is still a few months off, but stay tuned for more great info coming up.  Once I find out who the special guest keynote speaker will be, I’ll be sure to let everyone know.  We’re also in the early stages of planning the big Tweetup and I’ll have the Cisco Live 2013 Twitter list posted soon.  There may also be a few more surprises in store, so be sure to keep your eyes peeled.

On Demand Auto Attendant for CallManager Express

pushbutton

I’ve done my fair share of CallManager Express (CME) installations over the years, many of which were for small businesses.  I usually get to try and replace an old battleship of a phone system that has been running for a long time but has either finally given up the ghost or can’t be repaired due to the company being out of business.  When I do replace these units, the usual desire is to make it behave the same way as the old system.  For the most part, this is a pretty easy proposition.  That is, until it comes to auto attendants.  The automated recording that helps callers find the correct extension or leave a message is becoming an important part of the small business as employers start cutting back on expenses and use fewer people and more technology.  One case recently that had me baffled was a request for an on-demand auto attendant.

This particular customer had an old phone system that had finally failed.  They had decided on a CME system to replace it.  One feature they said they could not live without was the ability to toggle on a recording to handle calls.  This usually happened during lunch or during a meeting when all people at the office would be involved in some manner or another.  The receptionist wanted to push a button and enable the recording until the meeting or lunch had passed, then come back and toggle off the recording to allow calls to be answered by a human being again.  I nodded along slowly as the wheels started turning, because to my knowledge there was no feature inherent to the system that would do this.

After some thinking and planning and more than a few failed lab mockups, I finally found the answer in a combination of unlikely related features.  The first involved handling incoming calls to multiple phones in a manner that would allow redirection of calls.  This isn’t possible with parallel hunt groups in CME, as logging a phone into a hunt group changes all the forwarding behaviors of the phone.  It will only obey the hunt list settings and ignore almost everything else, include call-forward all.  The second issue was finding a way to have the auto attendant answer the call when invoked, as the standard method of using auto attendants either involve enabling it for all calls at all times or using a schedule to enable specific greetings after hours or on holidays.  As an aside, this is the real value in a solutions integrator.  It’s easy enough to check a few boxes and type a few lines to get something to work the way it says it will on the box.  A real integrator will make a system behave how the user wants it to behave, regardless of whether or not there’s a checkbox to do it.

Step 1: Fix Incoming Call Behavior

This ended up being the most technology-dependent part of the equation.  CME used to have a hard time handling a parallel (or broadcast) hunt group that rang a group of phones at one time.  Prior to CME 4.3, this feature was only available for SIP phones.  After 4.3, Cisco finally ported the parallel hunt group to SCCP phones (my preferred method for configuring phones in CME).  The only catch was that the phone hunting behavior followed the rules for hunt groups.  In order to make the incoming calls do something else, I had to find a way to make the calls ring multiple phones without a hunt group.  The answer actually came to me when I found an old page referencing a hacked together broadcast hunt group prior to CME 4.3.  This ingenious solution used a group of overlaid directory numbers (DNs) to mimic a broadcast hunt group.  A group of DNs was necessary because a DN in CME can only be single or dual-line.  With a dual line phone, two calls can hit the phone at once.  The third call is forced off to voice mail or some other behavior as dictated by the call forwarding configuration.  The second part of this solution was delivered in CME 4.0 – the octo line.

For those not familiar, the octo line creates a special DN capable of handling eight simultaneous incoming and outgoing calls across multiple extensions.  This looks to me like an attempt to create a basic form of call queuing in CME.  By creating a construct to handle more than two calls at once, you’ve in effect created something to can do basic call center call routing.  In this case, I created one octo-line DN and put it on the two phones used by reception at this business:

ephone-dn  1 octo-line
  number 100
  description Outside Call
  name Outside Call

Now I can make the calls ring on two phones without creating a hunt group.  That also means I can call-forward the phones as needed.

Step 2: Invoke Auto Attendant On Demand

This one was a bit trickier.  Enabling an auto attendant for a dialed number is easy.  How do we make that number only work when toggled?  Time schedules were out for this customer, as they were never sure when they were going to need to enable the auto attendant.  That means I have to find a way to call the auto attendant DN when needed.  But how to do that on CME?  The answer came to me in a flash of insight – night service.

Night service is a configuration setting that allows a system to be configured for a time schedule when the participating phones will ring in a special manner or pattern.  The idea is that when a business is closed, a designated phone can be monitored by personnel, such as janitorial staff or second shift, and be answered without modifying the open hours configuration.  In this case, we’re going to use the night service code to invoke the night service configuration when needed.  Normally, this command would be used when night service is active in order to disable it.  Here, we’re doing the exact opposite.  Also one more thing to note – the night service code command requires the code to be prefixed with an asterisk.  That works well, as the asterisk isn’t usually dialed as part of a number, so this signals that it’s something special.  I usually use either the extension number (as below) or the last four digits of the main telephone number as a mnemonic trigger.  The first part of the config is easy:

telephony-service
  night-service code *100

Now, we need to go back to the octo-line DN that we previously configured and add an additional setting to control the night service function.  In this instance, I’m using 501 as the pre-configured auto attendant dial-in number:

ephone-dn 1 octo-line
  call-forward night-service 501

The only remaining task to make this a true “push button” service is to enable a speed dial on the ephone itself.  That part is also easy:

ephone 1
  speed-dial 1 *100 label Auto Attendant

Now all the user needs to do is push the button on their phone labeled “Auto Attendant” and it will enable night service for all incoming calls.  Pushing the button again will disable it.  You can also add the command night-service bell to the ephone-dn in order to display a message that night service is active.

There are a number of other tricks that you can do with the basic building blocks presented by CME to make it behave just like a customer’s old phone system.  This should allow you to ease any transition and allay any fears they might have.  After all the users are comfortable with the new phones and phone behavior, you can start introducing new features to them like unified messaging or single number reach.  People are very open to change once they figure out nothing has really changed.

Independence From Oversight

Secrets

Just when I think I’ve just about run out of things to write about when it comes to blogging and independence, the real world goes and gives me a nice topic on a silver platter.

For those that may not have heard, there was a bit of an issue at the 2013 Consumer Electronics Show (CES).  At most of these shows, the various media outlets that cover the event will look at the gadgets or products that the vendors are showcasing and pick a few to win “best of show awards.”  Most of the time, this involves writing a little bit about the product and giving it some press.  CNET does this for the CES every year.  This year, one of the products they were going to give an award to was the multi-channel commercial skipping DVR from Dish Networks called Hopper.  According to a few reports, this was going to be the Best in Show winner out of everything at CES.  There was just one problem.  The parent company of CNET is CBS Interactive.  CBS, along with ABC, NBC, and Fox, is suing Dish over the Hopper DVR.  When word got out that CNET was about to give a huge award to a product that CBS despises and wants to destroy, the big wigs at CBS interactive stepped in and rescinded the award for Hopper and told the CNET editors to revote.  There was a footnote in the article noting that CNET wouldn’t award to products under litigation in the future, but the genie was already out of the bottle.  There was a lot of discussion about the rights that CBS Interactive had to step in and squash the award based on something going on in a different area of CBS.  One of CNET’s writers quit over objectivity issues.  People started wondering how you could be objective if you had overlords with agendas.  I sat back and smiled to myself.

Many people take to social media to find a voice when they can’t have one.  Anonymous Twitter accounts, nameless blogs, and even venting on Facebook allow people to stay in the shadows while airing dirty laundry or putting frustrations out in public.  These people get a lot of value out of using social media to feel better without being seen.  The risk of being found out and muzzled is very real.  That is something I absolutely will not stand for.  When I started this blog, I did it to put my thoughts down on paper.  I had a lot to say and wanted to see if anyone would read it.  Now, over two years later, I’ve said a lot of things.  Some are funny.  Some are insightful.  Others still are inflammatory or even downright rude.  But each of them represent thoughts and feelings that are mine.  If someone else were to come to me and ask me to remove a post because they disagreed with the content, we’d have a nice discussion and perhaps an offer to draft a rebuttal.  However, the post would stay up.  If I had someone come to me and order me to delete something because it didn’t jive with the corporate byline or didn’t fit the image that was being project, I would come unglued.  No one tells me what to write.  By the same token, no one tells me what not to write.

I’m generally respectful of embargoes and requests for delayed posting.  I understand the reasoning behind that.  There are press kits and release dates and other things that go into product launches.  If you give me awesome info ahead of time and ask me to hold off writing about it until a certain date, I’ll give you the benefit of the doubt.  After all, you asked nicely.  Other times, I write about things that may not be public knowledge, like the Meraki acquisition.  I went out on a bit of a limb when I posted that.  Had someone contacted me and asked me to take it down, I would probably have smiled and asked, “So it’s true then?”  The information that I used to draft that post was one part accidental public leak, one part conjecture, and one part analysis.  There would have been no reason to remove it.  For someone to ask me to put the genie back in the bottle smacks of a kind of control that hasn’t been seen in the broader media in more than 30 years.

Asking anyone to take down a disagreeable blog post is akin to asking Woodward and Bernstein to unpublish their articles about Watergate.  It’s like asking the New York Times to rescind the Pentagon Papers.  Those of us that write have a right to make our opinions heard.  That those opinions may conflict with the opinions of others is the basis for discussion and compromise.  You don’t have to agree with anything I say.  That doesn’t mean that I’m not going to say it.  People take umbrage with what I say.  They write articles disagreeing with me, sometimes vehemently.  I don’t ask them to take down their writing.  I look at it as a challenge.  I see it as an opportunity to make my position even more clear and win some of the undecided people over to my side.  The same applies to my writing.  I will correct errors or restate points when they are unclear.  But I will not remove a post because someone is upset about it.

I answer to one person on this blog: me.  I’m the name behind everything here, and I’m the one that must answer for what’s written.  No one can force me to put something up.  No one can force me to take something down.  That comes with a lot of responsibility.  It’s storm that you have to weather some times.  In the end, it speaks volumes about integrity and fairness and all sorts of other things we sometimes take for granted in both the old and new media.  I also have to be cognizant of this going forward.  I’ve already found myself in situations where my blog has had an impact on future employment, both good and bad.  I feel that this is important enough to me to bring up quickly in the negotiation process.  My blog is a part of me.  An extension of my will and thoughts.  If you aren’t willing or able to deal with the things that I say here and feel that you have some right to dictate terms to me,  then I think the conversation is over.  And as my mother will be the first to tell you, I can be very stubborn when the time comes.

I think what’s most important in this whole story is that you must find a voice that allows you to say what you feel needs to be said.  You should never put yourself into a position for anyone to tell you what you should and shouldn’t write or say.  The only way the someone can be truly objective and open is to create from a position free from constraint.  It’s only after we’re free to say what we want when one’s real voice can be heard.

Frame of Reference

Got a second?  Awesome.  Go grab a watch.  I promise this won’t take long.

Back already?  Even better.  That probably took a few seconds to find, right?  Now, look at the watch and count off thirty seconds.  Just wait and watch.  I’ll be here when you’re done.

Thirty seconds doesn’t seem like a lot of time.  It feels longer when you’re watching each second pass looking at a watch or a clock.  For some things though, thirty seconds is an eternity.  In the IT world, thirty seconds might as well be a year to some protocols and processes.  Think about some things that can happen in thirty seconds:

6 EIGRP hello packets (by default)

300 OSPF hellos when configured for sub-second failover (ip ospf dead-interval minimal hello-multiplier 5)

VMware notices a host has failed and HA starts moving it to a different hypervisor (12 seconds from last hello to start isolation, 15 seconds from start of isolation to begin moving hosts)

3.75 gigbytes of data transferred over a 1 Gbps link

All that in such a short amount of time.  Yet, for most of us thirty seconds isn’t worth bothering to notice.  We think on time scales of a minute or an hour or even a day.  I recently had to quote the amount of time that it would take for me to install a new system.  When I told them it would take me 40 hours, the response was incredulous.  How on earth could it take that many hours to install this widget?!?  When I told them I thought a week was plenty of time to take care of this thing, the person responded with “Oh.  Why didn’t you say that it would only take you a week the first time?”  I shook my head in disbelief.

When we start talking about a project, we all need to make sure our frame of reference matches.  I deal with lots of projects as an education VAR that need to be done in a specific time frame.  I have a lot more flexibility than others in my maintenance windows.  Spring breaks and summer vacations are prime times to rip out pieces of the network and replace all manner of things.  However, despite my best efforts to wrap everything up by the end of my window, I’m always warned that extra projects need to be completed “before school starts.”  My frame of reference for my extended maintenance window was several weeks.  Now, my project is being extended and compressed into the span of a few days, since this extra work always seems to come around the first of August.  If this had been discovered and planned for ahead of time, it could have been completed with a minimum of fuss.  My frame of reference of a few weeks was totally different that the customer’s frame of reference of a few days before school starts.

It’s a fact of life that people run on totally different frames of reference.  Some think about the day in minute-long increments.  They always seem busy and sometimes on edge.  Every part of the day is filled with something.  Others have a longer-term approach.  Their schedule is measured in days or even weeks.  They can seem lackadaisical or even relaxed.  Their outlook is that things will be done in due time.  When these two types of people meet on a project, the results can be disastrous.  The hares will spend a lot of time spinning their wheels, waiting for the rest to finish and gradually become bored and antsy. The tortoises will become overwhelmed shortly, feeling rushed without taking the time to digest what’s going on.  The key to getting buy in from everyone is to make sure that the frames of reference and time schedules are agreed upon before commencement of the project.  Making sure everyone is on the same page helps alleviate issues after everything gets started.


Tom’s Take

I know that syncing a frame of reference can be hard.  I’m one of the “hares” above.  I’m a hard charger and a quick mover.  When I work with others that don’t share the same attitude, I tend to find myself growing disillusioned.  I’ve found over the years that the key to preventing this is to make sure that I lay everything out ahead of time with the people that I’ll be working with.  I want to make sure we’re all synced up before we get started.  By getting on the same page before opening the book, there’s no need to worry about confused expectations.  Besides, all it takes is thirty seconds of explanation to save hours of pain down the road.

Change The CCIE Portal Login!

It’s been said that achieving the CCIE is one of the more painful processes in networking and certification.  There’s a lot of time and effort that must be expended to obtain those singular digits that identify you as an internetworking expert in the eyes of Cisco.  However, the pain doesn’t always end after you get your CCIE.

All the information accrued by a CCIE candidate lives in a database somewhere at Cisco.  The access method for this database is somewhat archaic.  When you attempt to access any information from the http://www.cisco.com/go/ccie landing page, you must first log in using your Cisco Connection Online (CCO) login.  This is a pretty standard login for anything on the Cisco website, from software downloads to partner page access.  Once you input the information to log into your CCO account, you aren’t automatically granted access to the CCIE portal.  Instead, you are redirected to https://tools.cisco.com/CCIE/Schedule_Lab/CCIEOnline/jsp/UpdateProfile_Form.jsp.  For those that might not otherwise be familiar with this page, here’s what it looks like:

CCIE Login Page - Thanks to @MrTugs

CCIE Login Page – Thanks to @MrTugs

Anyone that has taken the CCIE written, tried to schedule the CCIE lab, or has passed the lab knows the pain of this page.  In order to access your score report or CCIE logos or even schedule a lab exam, you must first provide the laundry list of random information.  The candidate ID is easy enough to find since it’s the CSCO number that tracks you through the Cisco certification program.  The rest of the info is the pain point.

Why is it that almost twenty years after the inception of the program that I still need to provide my written score report information?  I could understand providing all this information the first time I log into the system.  PearsonVUE and Prometric require similar information from your first testing score report in order to tie your database record to a test and begin to track you in their system.  If I had to provide the score report for the first time to tie the CCIE written exam to my CSCO number, I would totally understand.  However, I need to provide my written score EVERY. TIME. I. LOG. IN.  Even after I pass the CCIE lab, I still need to remember that score to access my certification record.  If you’re someone that has taken several recertification exams it can be painful.  If you’re been a CCIE as long as Terry Slattery, it’s downright excruciating.  If you’re considering a multiple CCIE, the process is even worse.  You have to log into the system with your specific track score report in order to schedule a lab.  Don’t have your CCIE Voice score report handy?  Better not log in with your CCIE R&S information.  You won’t have access to schedule the lab for Voice.  It’s almost like the CCIE database is a series of separate databases running on someone’s desktop in RTP.

EDIT: Marko Milivojevic (@icemarkom) pointed out to me that the database is consistent if you are a multiple CCIE holder.  Using any one of your written exams allows you to log in and see all of your records.  You still need to use a track-specific written test to schedule the associated lab exam, however.

Cisco has a certification tracking database located at http://www.cisco.com/go/certifications/login.  It holds all the information related to non-CCIE certifications.  It also happens to be integrated with the CCO login completely.  I used to have to login to the Cisco Cert Tracker with my CSCO ID, but now I just have to login with my regular CCO login and I’m passed right on through to the pertinent information.  There’s even a field in the Cert Tracker for my CCIE number.  However, there is no information to be found related to the CCIE itself.  I’m pretty sure this has a lot to do with the historical separation between the CCIE team and the rest of the certification organization.  The CCIE was always held apart from everything else, both due to its grandfatherly status in the certification industry and the lack of any prerequisites to take the written exam.  It has only been recently that the CCIE team has been folded into the greater Cisco Certifications team.  If they truly are a part of the greater whole, it’s high time to start bring the CCIE portal over to the Cert Tracker.

I can’t see any reason to continue to require CCIEs in good standing to remember a decade-old score report in order to access a logo or look up a lab exam date.  I can see logging in with the score report information the first time to tie everything together to a candidate record.  But after that, you should only need to login with your CCO login or your CSCO number.  That information should be a unique enough value to guarantee non-overlapping logins.  You already require the CCIE candidate to have a valid CSCO number in order to take the written at a PearsonVUE testing center.  Why not use it as the sole login credential?


Tom’s Take

I’ve known too many CCIE candidates that have frantically tried to recall their written test information when the dreaded lab score report email comes.  I had my info saved in Chrome so it would auto-fill when I got to that page.  It worked until I changed laptops and didn’t import my Chrome info.   I had to dig through a filing cabinet to track down the information I needed to login.  Think about the CCIEs that have been certified for more than a decade.  Why should they be forced to produce information that has been lost to time?  My written score has been displaced by RSTP timers and EIGRP admin distance numbers.  Sure, I could keep that info somewhere safe (like a 1Password entry), but I think the better fix would be to bring the CCIE database into the 21st century and integrate it with all the other tools that Cisco provides.  You can stage the migration over the course of a few months.  Even just allowing your CCO login to access the CCIE portal would be a huge step forward.  I know this is a delicate process that has been going on for many years.  But the process is broken and silly and it’s time that someone fixed it.

 

IP Addresses in Entertainment

Fake IP

Every time I sit down to watch a TV show or movie and they mention computers or hacking, I get amused.  I know that I’m probably going to see some attempt to make computer hacking look cool or downright scary.  Whether it be highly stylized like Hackers or fairly accurate like the power plant hack in The Matrix Reloaded, there are always little details that get glossed over.  In many cases, one of these is the IP addressing of the systems themselves.  If the producers and writers of the film even choose to show an IP address on the screen, it’s usually so wrong that I laugh at a totally inappropriate moment of drama.

The practice of using fictitious numbering schemes for things in entertainment goes back several decades.  The first known instance of a movie using a fake number for something was in Panic in Year Zero back in 1962.  For the first time, the writers used a fictitious phone number starting with 555 instead of a real telephone number.  Even though 555 prefixes were used for things like directory assistance, they weren’t widely deployed.  As such, the 555 prefix became synonymous with a “fake” phone number.  555-0100 through 555-0199 are the only official numbers in that range set aside for fictitious use, however many people still associate that prefix with a phone number that won’t work in the real world.

Hollywood has been trying for some time to come up with IP addresses that look real enough to pass the sniff test but are totally false.  Sometimes that works.  Other times, you end up with Law and Order.  In particular, the SVU flavor of that show has been known to produce IP address ranges that don’t even come close to looking real.  This page documents a couple of the winners from that show when the police start tracing an offender by their IP address.  Some of them look almost real.  Others seem to have an octet that jumps above 255.  Still others have 4-digit octets or other oddities that don’t quite measure up.  Sure, it heightens the suspense when people can see what the detectives are doing, but for those of us that know enough to be dangerous, it pulls you out of the moment.  It would be like watching ER and hearing the doctors start talking about brain surgery, only to start cutting open a patient’s arm to get to it.

TCP/IP has a large number of address ranges that can be used in a fictitious manner. For instance, Class E experimental addresses (240.0.0.0/4) were set aside and hard coded into most OSes as unavailable.  The address range for example use and documentation purposes 192.0.2.0/24 can also serve as a safe fictitious range.  Then there’s RFC 1918.  These addresses are used for private network ranges and must be NATed to work correctly on the public internet due to their non-routability.  These would be perfect for use in movies, as they represent networks that most people use daily.  They would look believable to those of us that know what to look for.  However, I think the producers and writers avoid doing that because of the inherent curiosity of people.

The greatest example of this comes courtesy of Tommy Tutone.  The band hit radio gold with their song “867-5309/Jenny” back in 1982.  Unlike 555, 867 is a widely used prefix code in the North American Numbering Plan (NANP).  There are numerous stories of people that have received that phone number and been cursed with popularity.  One story from Brown university tells of unsuspecting freshmen that move into the dorm room with that telephone number.  The phone calls never stop until a request is made to shut down the line.  Even back in 1982, the regional Bell companies were seeing huge spikes in telephone calls to that one number.  In many cases, they had to disconnect it in order to keep the traffic to a reasonable level.  If you’re curious, you can hear some of the messages left for the unfortunate possessors of that cursed number over at http://www.jennynetwork.com

People are compelled to try things they see in movies.  This article in the Chicago Tribune talks about the writer memorizing a realistic looking number from a movie and going home to call it several times before giving up.  The movie Magnolia included the real number 877-TAME-HER which the movie studio used to record Tom Cruise giving an in-character speech about his system for the purposes of marketing.  That’s all well and good in the real world when someone gets a few occasional prank calls or other harmless issues.  What happens in a computer network when someone sees a 10.0.0.0/8 address on TV and then decides to try and hack it?  What if they call the police and say that the computer address of a murder or a predator is on their network?  This can cause huge issues for network admins.  The nightmare of trying to explain to people that just because the Gibson in Hackers 3 is at 192.168.1.2 doesn’t mean they get to assault the mail server every day would get old really fast.  And when it comes to IPv6, the opportunity for even more trouble arises.

I was a long-time player of the MMORPG City of Heroes.  One of the reasons that I liked playing it so much was the lore and back story to the world.  I was one of the players that read all of the fluff text to get a better sense of what the writers were trying to do.  Imagine my surprise when I was playing a new mission a several months ago and ran across a little Easter egg.  One of the writers decided that the imaginary world of Paragon City had long ago ran out of IPv4 addresses and decided to upgrade to IPv6.  One of the consoles in the game had a reference to an IPv6 address - 3015:db6:97c4:9e1:2420:9b3f:073:8347.  I was excited.  Finally, someone in the entertainment industry realized we were running out of IPv4!  Then I started thinking.  Right now, the allocations to the RIRs all start with 2001.  Eventually, once we get the intergalactic Internet up and running, we might end up getting into the 3000 range.  It might be a hundred years before the address above is allocated to someone.  By then, most everyone will have forgotten City of Heroes ever existed.  Putting real IPv6 addresses in movies and on TV does run the risk of having people “hacking the Gibson” when you least expect it.  I think you’ll see that even in those far-flung ranges, the odds of a fake address on TV coinciding with a real IPv6 server or workstation address, even on a global scale, is pretty slim.  Despite the fact that all our systems will be globally reachable, the IPv6 address space is so large that no two systems are likely to even overlap.  Add in neighbor discovery, duplicate address detection, and the uniqueness of a MAC address (which forms the basis of EUI-64 addressing and SLAAC) and you can see how difficult it would be.


Tom’s Take

In case the name of my blog didn’t warn you…I’m a nerd.  When I see something inaccurate in a movie, I tend to point it out.  That’s why I don’t watch Armageddon any more.  I understand that writers and directors are trying to entertain people.  When you’re trying to do that, sometimes the details get sacrificed for the sake of telling a good story.  However, when it comes to something that can represented easily for the most realistic look possible, the creative team involved should do that.  Whether it be the night sky in Titanic or the address of the mainframe in a techno thriller, I want the people that care about the production values of a movie to show me how much they care.  With the advent of IPv6, I think creating fake addresses to put in movies and other entertainment will be easier.  Given the vast range of available space it doesn’t take too much effort to pull out something “techy sounding” to put in a movie script.  Trust me, the nerds out there will thank you for it.

Mountain Lion PL-2303 Driver Crash Fix

Now that I’ve switched to using my Mac full time for everything, I’ve been pretty happy with the results.  I even managed to find time to upgrade to Mountain Lion in the summer.  Everything went smoothly with that except for one little hitch with a piece of hardware that I use almost daily.

If you are a CLI jockey like me, you have a USB-to-Serial adapter in your kit.  Even though the newer Cisco devices are starting to use USB-to-mini USB cables for console connections, I find these to be fiddly and problematic at times.  Add in the amount of old, non-USB Cisco gear that I work on regularly and you can seem my need for a good old fashioned RJ-45-to-serial rollover cable.  My first laptop was the last that IBM made with a built-in serial port.  Since then, I’ve found myself dependent on a USB adapter.  The one that I have is some no-name brand, but like most of those cables it has the Prolific PL-2303 chipset.  This little bugger seems to be the basis for almost all serial-to-USB connectivity except for Keyspan adapters.  While the PL-2303 is effective and cheap, it’s given me no end of problems over the past couple of years.  When I upgraded my Lenovo to Windows 7 64-bit, the drivers available at the time caused random BSOD crashes when consoled into a switch.  I could never nail down the exact cause, but a driver point release fixed it for the time being.  When I got my Macbook Air, it came preinstalled with Lion.  There were lots of warnings that I needed to make sure to upgrade the PL-2303 drivers to the latest available on the Prolific support site in order to avoid problems with the Lion kernel.  I dutifully followed the directions and had no troubles with my USB adapter.  Until I upgraded to Mountain Lion.

After I upgraded to 10.8, I started seeing some random behaviors I couldn’t quite explain.  Normally, after I’m done consoling into a switch or a router, I just close my laptop and throw it back in my bag.  I usually remember after I closed it and put it to sleep that I need to pull out the USB adapter.  After Mountain Lion, I was finding that I would open my laptop back up and see that it had rebooted at some point.  All my apps were still open and had the data preserved, but I found it odd that things would spontaneously reboot for no reason.  I found the culprit one day when I yanked the USB adapter out while my terminal program (ZTerm) was still open.  Almost instantly, I got a kernel panic followed by a reboot.  I had finally narrowed down my problem.  I tried closing ZTerm before unplugging the cable and everything behaved as it should.  It appeared the the issue stemmed from having the terminal program actively accessing the port then unplugging it.  I searched around and found that there were a few people reporting the same issue.  I even complained about it a bit on Twitter.

Santino Rizzo (@santinorizzo) heard my pleas for sanity and told me about a couple of projects that created open source versions of the PL-2303 driver.  Thankfully, someone else had noticed that Prolific was taking their sweet time updating things and took matters into their own hands.  The best set of directions to go along with the KEXT that I can find are here:

http://www.xbsd.nl/2011/07/pl2303-serial-usb-on-osx-lion.html

For those not familiar with OS X, a KEXT is basically a driver or DLL file.  Copying it to System/Library/Extensions places in in the folder where OS X looks for device drivers.  Make sure you get rid of the old Prolific driver if you have it installed before you install the OS PL-2303 driver.  Once you’ve run the commands list on the site above, you should be able to plug in your adapter and then unplug it without any nasty crashes.  One other note – the port used to connect in ZTerm changed when I used the new drivers.  Instead of it being /dev/USBSerial or something of that nature, it’s now PL2303-<random digits>.  It also changed the <random digits> when I moved it from one USB port to another.  Thankfully for me, ZTerm remembers the USB ports and will try them all when I launch it until it find the right adapter.  There is some discussion in the comments of the post above about creating a symlink for a more consistent pointer.


Tom’s Take

Writing drivers is hard.  I’ve seen stats that say up to 90% of all Windows crashes are caused by buggy drivers.  Even when drivers appear to work just fine, things can be a little funny.  Thankfully, in the world of *NIX, people that get fed up with the way things work can just pull out their handy IDE and write their own driver.  Not exactly the easiest thing in the world to do but the results speak for themselves.  When the time comes that vendors either can’t or won’t support their hardware in a timely fashion, I take comfort in knowing that the open source community is ready to pick up the torch and make things work for us.

2012 Depleted, Time to Adopt ::2013

It’s been 366 days since my last post about goals for 2012.  How’d I do on my list for the past year?

1. Juniper – Dropped the ball on this one.  I spent more time seeing Juniper gear being installed all over the place and didn’t get my opportunity to fire up the JNCIA-Junos liked I wanted.  I’m planning to change all that sooner rather than later.  Doug Hanks even gave me a good head start on immersion learning of the MX Series.

2. Data Center – I did get a little more time on some Nexus gear, but not nearly enough to call it good for this goal.  Every time I sat down to start looking at UCS, I kept getting pulled away on some other project.  If the rumblings I’m hearing in the DC arena are close to accurate, I’m going to wish I’d spent more time on this.

3. Advanced Virtualization – While I didn’t get around to taking either of the VCAP tests in 2012, I did spend some more time on virtualization.  I was named a vExpert for 2012, gave a virtualization primer presentation, and even attended my first VMUG meeting.  I also started listening to the vBrownBag podcast put on by ProfessionalVMware.  They have a ton of material that I’m going to start reviewing so I can go out and at least take the DCD test soon.

4. Moving to the Cloud – Ah ha! At last something that I nailed.  I moved a lot of my documents and data into cloud-based storage.  I leveraged Dropbox, Skydrive, and Google Docs to keep my documentation consistent across multiple platforms.  As I continue forward, I’m going to keep storing my stuff in the big scary cloud so I can find it whenever I need it.

Looks like I’ve got two fails, one tie, and one win.  Still not the 50% that I had hoped for, but it’s funny how real life tends to pull you in a different direction that you anticipate.  Beyond attending a few more Tech Field Day events and Cisco Live, I also attended a Cisco Unified Communications Partner Beta Training launch event and the Texas IPv6 Task Force Winter Summit.  It was this last event that really got me thinking about what I wanted to do in the coming year.

I think that 2013 is going to be a huge year for IPv6 adoption on the Internet.  We’ve been living in the final depletion phase of IPv4 for a whole year now.  We can no longer ignore the fact that IPv6 is the future.  I think the major issue with IPv6 adoption is getting the word out to people.  Some of the best and brightest are doing their part to talk to people about enabling IPv6.  The Texas IPv6 Task Force meeting showed me that a lot of great people are putting in the time and effort to try and drive people into the future.  However, a lot of this discussion is happening outside of people’s view.  Mailing lists aren’t exactly browsing-friendly.  Not everyone can drop what they’re doing for a day or two to go to a task force meeting.  However, people do have the spare time to read a blog post on occasion.  That’s where I come in.

In 2013, I’m going to do my part to get the word out about IPv6.  I’m going to spend more time writing about it.  I’m going to write posts about enabling it on all manner of things.  Hypervisors, appliances, firewalls, routers, and even desktops are on the plate.  I want to take the things I’m learning about IPv6 and apply them to the world that I work in.  I don’t know how service providers are going to to enable IPv6.  However, I can talk about enabling CallManager to use IPv6 and register IP phones without IPv4 addresses.  I can work out the hard parts and the gotchas so that you won’t have to.  I’ve already decided that any presentation that I give in 2013 will be focused on IPv6.  I’ve already signed up for one slot later in the year with a possibility of having a second.  I applied for a presentation slot at the Rocky Mountain IPv6 Task Force meeting in April.  I want to hone my skills talking to people about IPv6.  I’m also going to try and make a lot more blog posts about IPv6 in the coming year.  I want to take away all the scary uncertainty behind the protocol and make it more agreeable to people that want to learn about it without getting scared off by the litany of RFCs surrounding it.  To that end, I’m going to start referring to this year as ::2013.  The more we get familiar with seeing IPv6 notation in our world, the better off we’ll be in the long run.  Plus, it gives me a tag that I can use to show how important IPv6 is to me.

A shorter set of goals this year doesn’t mean a more modest one.  Focus is a good thing in the long run for me.  Being an agent of change when it comes to IPv6 is something that I’m passionate about.  Sure, I’m still going to make the occasional NAT post.  I may even have some unnice things to say about vendors and IPv6 support.  The overall idea is that we keep the discussion focused on moving forward and making IPv6 more widely adopted.  It’s the least I can do to try and leave my mark on the Internet in some other way besides posting cat pictures or snarky memes.  It’s also a goal that is going to keep progressing and never really be finished until the lights are turned out on the last IPv4 webserver out there.  Until that fateful day, here’s hoping that ::2013 is a good year for all.