Scott O'Brien

Ramblings and resources of my online life

Paragliding Tasks Checker

2021-09-20 00:00:00 +0000 UTC

It’s so easy to build react apps these days. Over two nights, I knocked up a quick website to be able to upload igc flight files, and an xctask files to locally compute if you managed to hit the targets.

It’s something to play with more later, but I’m hoping to start putting these widgets into my logbook app to be able to log flights against tasks when they’re done.

App: https://scottyob.github.io/paragliding-task-checker/

Source code: https://github.com/scottyob/paragliding-task-checker

I followed this guide to host on github pages. It basically entailed:

  1. Adding homepage in package.json
  2. Adding in predeploy and deploy scripts package.json
    1
    2
    3
    4
    5
    
    "scripts": {
    //...
    "predeploy": "npm run build",
    "deploy": "gh-pages -d build"
    }
    
  3. running yarn run deploy to deploy it.

resuming

2021-09-11 00:00:00 +0000 UTC

I’ve not been writing or blogging for some time. Over half a decade. It has been about 12 years since I started this blog, and a lot has changed since then. I’ve not found the time to document my tinkerings and projects as work has taken most of my time. I’m going to leave work related things on Linkedin, personal posts on Facebook, but I would like to continue using this site as my partner tends to use her diaries, as a way looking back at what I’ve been playing with.

I tend to have more than a few projects going on, and with this being the first of 5 weeks away on recharge from Facebook, my goal throughout is to start using this to document projects I’m playing with. With trying to squeeze as much paragliding as I can during this time though we’ll see how it goes.

I had this intention probably 12 months or so ago, when I moved the content of this page over from Workpress to Hugo, and changed the hosting to Github pages, but with a bit of spare time to kickstart this effort now, let’s see what happens :)

Very basic MPLS Tutorial

2014-10-02 06:34:14 +0000 UTC

I made this video a while ago and some people on YouTube seem to like it, so here is my very basic MPLS tutorial. Towards the end of the video there’s a live demonstration showing the concepts with Wireshark

Compliance with Cisco IOS Devices & Bulk Changes

2014-07-19 00:11:38 +0000 UTC

One of the biggest problems in the environment I work in is that almost all of the deployment of our 300+ devices is that everything has been hand crafted.  Usually this isn’t such a big problem, but add that with a design decision to route right to the access layer of our campus network with a multi-VRF network and you can start to see how mistakes, or changes in design along the deployment has meant inconsistencies.  Not only that, but when it comes time to go and change something, that means going through and altering near 300 devices, a massive pain that is hard to scale.

Usually this problem is solved with network management solutions.  We have Cisco NCM that’s used for this task, but I have to admit, it’s horrible and hard to do anything other than the basics (not to mention end-of-life’d, probably for good reason).

Now that I’ve got Rancid backing up my configs to git, I decided to write a (very simple) compliance manager myself that will allow us to build compliance checks in standard python.  This works by using my IOSDevice wrapper to load up the configuration files, then dynamically loading a list of classes that subclass the compliance check, and start loading them up to perform the check.

By over-riding specific methods (like checkRequired), you’re able to determine if the check is required on that device, then give a status of if it’s failed or not.  There’s methods for generating fix config (that will later be able to be executed on the end device) then the ability to run commands to check if it’s succeeded.

The reason I decided to write this is because we’re soon going to be ripping out and merging VRF’s and making our routing a lot simpler in the campus network (inter-vrf gateway, etc) and there is no way I’m going to be doing this by hand on each device.

If you’re a python head, check it out!

1
2
3
4
5
6
Switchport Mode Access ........(211/301)
  * b123-ba-asw-01
  * b17-mr-wlc-01
  * sbs-18a-asw-01
  * beg-340-asw-01
...