Home ........ Blog ........ Travels ........ Software ........ Web 3D ........ LinkedIn

Thursday, August 25, 2016

Seven Thoughts on The Seventh Sense

I recently read The Seventh Sense: Power, Fortune, and Survival in the Age of Networks by Joshua Cooper Ramo and some reflection on my career as a network engineer and consultant.

I've been designing information and communications technology (ICT) networks for the better part of my career. The process, the technology, the methodology have all changed - in some cases dramatically. We no longer build networks for objects to connect to; we build networks to transport information. This may seem a semantic debate, but the two scenarios require very different approaches. And what emerges may be a very different architecture. Building houses for people to live in seems straightforward. But having information like, "all the people are disabled veterans" changes the architecture from a two-floor cape to a single-floor ranch, and alters many other design elements.

Following are the seven thoughts I need to document:

Wednesday, June 01, 2016

Extending Knowledge with Chrome Extension

A bit of Google-ing and a read through the examples on Chrome Extensions, and I was able to create my first very simple Chrome extension.

When I come across a movie that I'd like to see - in a newsreader, YouTube trailer - I like to add it to my Netflix queue. This involves opening a new tab, going to Netflix, typing in the movie name in the search bar and then adding it to my saved queue. It'd be nice to just highlight the movie name text in the page I'm reading, right-click and select "Add to Netflix Queue". So that's what my extension does.

I needed to understand the basic extension manifest, how to use 'contextMenus' and the Netflix search URL. Code can be found on GitHub.

I haven't thought about putting it on the Chrome Store because of the graphics using the Netflix logo. This is not an extension authorized by Netflix so I don't want to have any issues around that. That would of course make installation easier as well as make Chrome not complain and remove the extension on each relaunch due to it not being in the Chrome Store.

I could also look into the Netflix API to see if I could authenticate if not already logged in and do some other checking, but for the version, I'm more than happy I could hack something together that actually works!

Thursday, May 26, 2016

Counterproductive Productivity

After a discussion with a co-worker today, I got to thinking about the artificial walls we're building as we outsource while technology continues to get more integrated. It seems counterproductive.

Programmability and "software-defined" are the latest buzzwords, with vendors providing Application Program Interfaces (API) for integration. But integration points expose only the bare minimum for stable operations. This cause is two-fold: to protect their internal systems as well as limit the non-standard use cases and allow the provider economy of scale. The effect can dramatically limit the options for creative, innovative interoperability.

Can a VoIP vendor offer third-party instant messaging integration; "yes". Will a provider reselling that vendor's system as a service permit third-party instant messaging integration? Maybe not, if their model doesn't include that third-party or they can't measure and thus charge per IM. And that limits what the consumer can due with the service.

I always say the technology is not the limiting factor; we can do anything with technology. Especially someone like me - tenacious, wide skill set, master of none, but I have enough tools in the toolbox to figure something out. If I can't find a hammer I can use a crowbar creatively to pound something into place.

But with a managed service where the vendor is providing the toolbox, maybe all they offer you is a hammer, and then you know, "everything starts to look like a nail."

Monday, March 21, 2016

Remote Send from the Comfort of Your Packet Crafting Shell

I've been spending a lot of time updating the Perl Packet Crafter to a new version - a complete rewrite with lots of new features and plugins.

During the course of testing, I thought about remote sending and remote capture, that is, using the shell to create the packets and passing them to an agent on a remote machine for sending. Like a the old Network General / Associates distributed Sniffer concept, but distributed sender in this case.

Low and behold, WinPcap and Wireshark have the remote capture functionality, but remote sending? That required some research.

Tuesday, November 24, 2015


I needed to test IPv6 overlay on DMVPN. Easy enough; there are plenty of DMVPN configuration guides out there and even some on IPv6. I tested on a version of 12.4T on 7200-series routers in GNS3 and the config was really as simple as taking my working IPv4 DMVPN setup and adding the same commands with an "ipv6" prefix, using IPv6 addresses and adding IPv6 EIGRP.

Tuesday, August 25, 2015

Perl Automation Saves the Day - 6 of them in fact!

How does one analyze 182,000+ lines of Excel looking for correlations? I suppose there may be some Excel magic, but when IP addresses are involved - and I know Excel hasn't had an out-of-the-box IP network sort order, methinks I'm in for a long slog.

The background: I have an export from a customer IP address management tool and we needed to verify the block type assignments were correct. To do this, I needed to understand the top-level aggregates (IP network and mask) for each top-level container (site). There were around 50 aggregates in each of 6 containers. I then needed to verify if the 30,000+ subnetworks in each container did or didn't fall within the 50 associated aggregate blocks.

Where to begin? Looking at, analyzing and deciding on 1 line per second would still take almost 6 and a half working days (8 hours / per day); and 1 per second is a gross underestimate of the actual time required. I needed to automate this somehow.

Friday, August 21, 2015

Notepad++, DBGP and ... Python!

My recent work with Notepad++ got Perl debugging working with the DBGP Plugin. Originally written for PHP debugging, I did a little tweaking on the Perl side and got it working.

I don't know a lick of Python, but could I get Python to work with the DBGP Plugin too? Worth a shot!


Copyright © VinsWorld. All Rights Reserved.