Author: Josh O'Brien

To New Adventures.

First and foremost, I want to express my profound gratitude for an amazing eight years at Sauce Labs. From 2016 to now, I’m extremely proud of what we’ve accomplished. I am grateful to have had the opportunity to build not just one, but two world-class teams during my time at Sauce, working alongside many others of that same caliber. It is because of these incredible individuals that the following announcement is difficult to make: I will be ending my time at Sauce Labs on September 30, 2023.

I am leaving behind extraordinary people who will undoubtedly continue to drive Sauce Labs forward long after I am gone. Without them, none of the amazing achievements we accomplished would have been possible. I want to extend my heartfelt thanks to those who believed in me back in 2016, when I was brought in to overhaul the infrastructure, to all of my staff who joined me as we tackled some really tough challenges, and to those who continued to have faith in me when I was promoted to VP and asked to oversee IT in addition to the Operations teams I already managed. It has been an exciting and educational journey, and I will dearly miss all of those who made success possible.

As I wrap up this chapter, I find myself uncertain about what comes next. I have been speaking with some inspiring individuals who are embarking on their startup journeys, and I am also considering starting my own consulting firm. What I know for sure is that I am ready for the next challenge. I want to help companies thrive and overcome small hurdles before they become insurmountable obstacles, so they can accelerate both their people and their business. If you’re looking for someone to assist you in this capacity, please reach out, and we can figure something out. If you’re in need of a COO or CTO class professional, I am also open to discussing those opportunities. With that said, I am officially Open to Work.

Things Change. Some New content.

Once again it has been awhile. But I wanted to get some new content out. This year I was elected as a member of the board for WAA. Part of my time on the board will include writing articles for our membership. From the second I heard this I knew what I wanted to do. I wanted to combine a career in tech with the auction business. For those who don’t know about the side hustles I have going on that will be a post for another day. So with here you go, this is a repost of my first new letter article, Revolutionizing Auctions with Automation and AI. I hope you find it interesting.

Revolutionizing Auctions with Automation and AI

My career up to this point has been in technology. With that has come the need to automate large-scale and tedious tasks. In the past, that would have meant buying expensive tools or learning how to program in a language like Python. But things have changed drastically in the past few years. Now we have cost-effective, highly intuitive, and intelligent tools like Zapier and ChatGPT.

As a quick primer, tools like Zapier integrate with other platforms like Google Docs, Office 365, Mailchimp, CRM, and many others. This allows you to automate tasks that in the past would have been manual and tedious. For example, if you track all of your new consignment users in a CRM, you can automate adding any new consignors to a custom MailChimp mailing list. This would cut down at least three steps of exporting the list and uploading it to Mailchimp, enabling you to have an always up-to-date mailing group to notify consignors of upcoming auctions they may wish to add items to. You can go much further and add multiple steps, but this example is phase 1 of automating the data for your business.

Moving forward, we have AI tools like ChatGPT. This opens up a totally different set of opportunities. We should think of AI tools like this as our specialized assistant. In my case, there are few things I am really good at, a lot of things I can do, and billions of things I will never be able to do well enough to do myself. It is the second two areas where we can leverage this virtual expert. So as an example, I can write marketing copy, but I am not great at it. So I go to ChatGPT and ask the following:

“Please write me ad copy for an online auction starting on April 18, 2023, and closing on May 2, 2023. The auction has something for everyone. The lead items for the ad are a 2005 Jeep Grand Cherokee and a 1975 Starfire 1801 Pleasure with an outdrive engine. Other items in the auction include many kitchen and household items, a video poker machine, vintage video games, vintage board games, many Christmas decorations, and many vintage items. Lots of books. A garage of tools and ice fishing equipment. Please ask me questions to produce the best outcome.”

This simple request, in under 15 seconds, provided me with an over-the-top ad copy and a description for our auction that is running right now. So over-the-top, in fact, I had to follow up by asking the tool:

“This looks pretty good, but can we tone it down just a bit and get rid of emojis?”

To which it responded with a much more reasonable copy that we ended up using. But it’s not just that. I have also used ChatGPT to come up with a variable auction % split for a large customer that we are working with. It was not perfect, but through the conversation, it took care of lots of math and planning that, had I done by hand, I may have messed up. Something like this may seem overwhelming, but truly, if you can text message or email someone, you can use this!

Once you have a handle on these tools, the sky’s the limit. For example, we have combined Google Sheets, Zapier, ChatGPT, and Google Docs with a Zap in Zapier. That integration allows us to put all of our core information about an auction into a spreadsheet. Zapier sees we have added a new line, and it parses out specific data and feeds it to ChatGPT, asking it to create ad copy and descriptions for the auction and output them to

To wrap this up, I promised it would be cheap and easy. So far, I have outlined the easy part. As for cheap, there are free versions of both of the tools we have discussed, and many other applications have free versions to get started, which may even be free forever based on your size. However, to get the level of integration I discussed in the last section, you need to invest some money. The monthly fee for Zapier for the level of integration I have talked about here is $19.99 per month, and the cost for ChatGPT Plus, which is required to integrate ChatGPT with external applications, is $20 per month. Nevertheless, these costs are reasonable and are outweighed by the significant benefits that automation and AI can bring to your auction business.

One final thing.  I am really bad at spelling and punctuation.  So I had ChatGPT review this article for me and clean it up.

The Lost Year: Back to Work

2015 was tough just no getting around it.  I started the year working with an amazing team as the CTO of a company I really believed in and the COO of the company that was supposed to be my future.  By the end of 2015, I had been through 3 jobs (all of my own choosing), I had spent most of the year just trying to find out what my employers really expected of me and honestly never getting an answer.  I don’t know if I can explain in words what it is like to go from the top of your game with people counting on you to make all the right decisions to people not even caring if you showed up to work.

But for me, it was a combination of things.  For the first time ever I really experience depression.  Having grown up with parent’s who deal with it and my wife who has made huge progress in her own mental health this was a shock to the system.  But I found out that it is something that I can cope with when presented with it and push through so that was a win.  Anxiety was not new to me.  Starting in early 2014 when a critical project refused to go right no matter what I did I started having mild anxiety attacks and they really screwed with me.  Being depressed is one thing but feeling totally out of control and on edge is a whole other thing that I was not really equipped to deal with.  But through luck, hiking, and lots of time to let my mind and body disconnect from years of stress that I had never dealt with the anxiety slipped away and for now has become dormant.  However, the hardest part was the self-doubt and that compounded both the depression and the anxiety.

After years of winning and moving forward, I had started to face failure no matter how hard I tried in my mid-30s.  Let me tell you that is a tough time to face failure with 3 kids, a mortgage and staff counting on you not to fuck up.  So when I jumped from a CTO/COO role to just being a cog in a big company I did so with plans to do more big things and get back on the winning path.  Roughly a year later that had not happened.  For about six months I had really been wondering if I had what it took to get back on the horse and do big things again.  I considered a few things, start back from scratch and become the best network engineer I could be and downsize my expectations for my future.  Honestly, that had lots of upsides and no matter how hard I try I would never be as good as most of my friends and engineers I look up to but I could do what I was good at which if fixing broken networks.  Option 2 was to find a nice safe role where I was where I consistently bang out what was expected of me and hopefully retire in 30 years but there was lots of stuff wrong with that plan so I pretty much said screw that from day one.  I am a lot of things but I am not lazy and willing to lay down and die.  If I am going to go out it will be swinging even it is failing my CCIE for the 400th time if that is even possible.  The final and most challenging (thus most likely for me to choose) was to go find a challenge that was bigger than my experience but allowed me to use my strengths.  If you are reading this you probably already know what I chose.

Just short of a year on from the decision to take on a Sr. Director of Operations role things are still humming along.  I write this hoping others see it and know that they are not alone when it feels like it is all coming unglued and years of work is slipping away.  For me, it took a year of soul-searching and unexpected downtime followed by doubling down.  Just remember to keep moving forward.

A Few Easy Steps: Cisco Switch, Setup IP Device Tracking

In this session of A Few Easy Steps, we will be setting up IP Device Tracking on a Cisco IOS Switch. In General this will work on any Cisco IOS switch.  Session Prerequisites:

  • You have terminal or console access to your Cisco device.

Session Assumptions:

  • You have host devices connected to your switch

Our goals of this session are:

  • Globally enable IP Device Tracking
  • Setup all ports for IP Device Tracking
  • Show output of IP Device Tracking All Command

Read more

What did you Expect? Part 5, Basic Error Handling.

In the first four parts of What did you Expect, we covered the basics of getting started with automating interactions for network equipment.  In the first few posts it was important have a networking environment that  was 100% stable.  The last thing I needed when I was trying to learn to use python to automate network devices that were randomly unresponsive and would crash my code.  In order to accomplish that I built a test network you can read about here in GNS3, created a basic configuration to enable a IOS device to be remotely managed.  I also wrote a quick multi-device ping tool to verify that all the devices are responsive before we run remote code against them.  I made my life easy.  But as all operators know our lives are not that cut and dry.  So I started to break things…and my code did not like me. Read more

Get Coding!

So lets start off with I am an old dog and I am learning new tricks.  My entire career I have avoided the dreaded programing.  In college I slid by my degree requirement for a coding class by taking Visual Basic for Industrial applications.  I hated it.  Debugging drove me nuts and there is still a hole in my bedroom wall at my parents where that brick of a VB found itself one night around 2am.  From there I was just gun shy and honestly had plenty of other things going on that could afford to ignore learning anything outside of the basics of HTML and CSS.

Cut to today,  I am in my late 30’s and going through a career transition of sorts.  My timing for the transition is decent because the network industry is also going through a bit of a transition.  For awhile now all the cool kids have been doing automation and Dev/Ops in the Server, OS and application space.  But networks are trickier.  I will leave out all the discussion of why because that horse has been beat dead a few times online.  In this transition over the past six months or so I have found myself doing things I would never have guessed even a year ago.

So what types of things you ask.  Ok for one I am now doing dev work.  Mind you it is not great dev work and I will never be a professional developer but I have been writing code.  In one case even some minor code for a library that is now in production with clients…scary huh.  But mostly I am coding to learn and help move other people along the Path to Automated Networking including myself.

automated networking

Read more

Back to the basics. Installing Ubuntu Server 14.04

Back in 1996 when I started this game there were lots of things I had not done.  Now days it seems like everyone I meet is 18, running service provider networks and writing code in all the hip new languages.  That is not the reality of the world.  The reality is that we all start someplace.  So I am going to create some content with the assumption you have never done some of the basics.  This first one is a video showing a basic Ubuntu Server 14.04 LTS install.  Enjoy.



A Few Easy Steps: Cisco IOS, Setup for Automation

In this session of A Few Easy Steps, we will be doing the initial setup for automation on a Cisco IOS Device. In General this will work on any Cisco IOS Device.  Session Prerequisites:

  • You have a Cisco Console Cable
  • You have a serial port
  • You have a Terminal Program that you can access your Serial Port

Session Assumptions:

  • Hostname is already set
  • Domain name is:  SPC.DEV
  • RSA modulus is  1024 bits
  • Our Admin interface is:  FA0/0
  • The Interface has already had its IP Address assigned
  • Enable Password is: password
  • Username is : pytest
  • Password is:  pytest
  • We are using VTY ports 0-5

Our goals of this session are:

  • Setup IP Domain Name
  • Create RSA key for SSH
  • Set Enable Password
  • Setup Username
  • Setup Password
  • Turn interface FA0/0 on
  • Enable SSH on VTY 0-5
  • Set Login to Local Authentication

Read more

What did you Expect? Part 4, Working with Flat Files.

So far so good.  In Part 1 we connected to a Cisco switch and and performed basic Authentication with Expect.  Part 2 we expanded on that and added configuration to our code that added a VLAN and configured an interface.  But as I have already stated we are writing quite a bit of code just to configure a single switch.  So the next step is to add multiple devices and flat files.  I mean yeah we could setup a static list in our code and add our devices to that but why?  Our real goal here is to create functional code that we can use to do real things in real networks.  So that means pulling a list of devices from NMS, IPAM or even our nasty old excel files.  Plus this helps us address  the idea of adding authentication files and other flat file resource pools.  Eventually we will transition the use of flat files into databases so we can do even more cool stuff but we will hold off on that for now.

Read more

What did you Expect? Part 3, Fixing Stuff and Scaling Out.

When you setup to learn new things you are bound to get a bit sideways once and awhile.  With writing code I think that is even more the case.  You start out with an idea and if your lucky like I have been so far it starts to flow and things just work.  But in the spirit of learning in manageable chunks and sharing the experience with you I started targeting a single host.  When I tried to make the leap to multiple hosts things got interesting.  Along with that it became clear that these posts were going to get messy quick.  So lets clean all that up and move on to the cool stuff. Read more

Setup GNS3 Automation Network in OSX

I have been working to learn how to use Python to automate interactions with network devices.  Due to what I have in my lab and the fact that we have GNS to model Cisco Networks I started with IOS.  In order to really test out the automation scripts I have been building, I felt it was necessary to run them against at least ten devices to make sure they would scale out and recover well from errors.  In order to do that I had to build out a 10 device lab.  This is how I did it. Read more

NAT Store: The books you read and the stuff you use.

One of the lines that I have taken to heart in Life is  “your only difference between now and ten years from now will be the books you read and the people you meet”.  I read it years ago and since then I have doubled down on my reading.  Prior to this I was reading lots of fiction and technical documents around doing my jobs as a network engineer.  Since then I have expanded into Finance, Marketing, Strategy and more.  I can’t begin to tell you the difference in my life it made.  While I won’t go into details actions I took as a direct result of what I was reading helped me go from a mid five figure salary to a solid six figure salary and on a pace that made me part of the businesses I was with not just an employee. Read more

What did you Expect? Part 2: Working with VLANS

So we started off in Part 1 breaking down what a basic SSH connection and authentication looks like using Python and Expect.  To add some context to this I am using the pexpect library for Python.  This library falls back on system level tools like the the SSH client inside OSX or Linux.  I can’t speak to how this works with Windows so just be aware of that as we move forward.  In the long term I will start adding more complexity such as the ParaMiko and NetMiko libraries that use integrated SSH clients but for now I want to keep this as simple as possible so both you and I can get the most value out of these posts. Read more

What did you Expect? Part 1: Connecting to Cisco IOS

Most of my career I have been an network operator.  In that time there have been many repetitive tasks that I wish I could have automated but I simply did not not have the skill or knowledge to do anything about it.  So when Big Matt Stone sat down and showed me what writing code in Expect inside of Python was all about I was BLOWN AWAY!  This is part one of who knows how many in my series of starting to use Expect to automate network tasks. Read more : Digital Life Segmentation

In 2015 I am really surprised that I am writing this.  At this point I have been using email since 1994.  Granted I was a bit ahead of the curve but not by a huge margin.  So If I am generous and say that 1996 was the year that email became a mainstream technology then we have been using it for close to 20 years!  By doing so we have also been partaking in social media for that long.  Granted email is not twitter or a blog or Facebook but you are interacting with potentially large quantities of people and potentially doing so badly.  With 20 years of experience we have learned quite a few things like;

  • It is pretty easy to spoof email.
  • Reply All may have implications you did not intend (send to entire company).
  • Email is pretty easy to monitor.
  • You can do real damage with email.

So it is shocking to me that again in 2015 we see this article pop up that states as part of the Ashley Madison Hack more than 15,000 of the emails that were used on the site and are now compromised are either .MIL or .GOV Addresses.  This is bad for lots of reason that thousands of other people are talking about so I am not going to re-hash it all.  But in my mind what is bad is that after all the time we have had to understand how compromised email as a platform is and how compromising it can be by being tied to an individual people still use their work email for stupid shit.

Let me give a smaller example…I wont use names of individuals or companies but this is a real story at a real company that I worked for in my career.  One day I was talking to another employee at their desk early on in their employment.  As part of that conversation they pulled up some questionable content in their email and I made a statement something along the lines of “You should keep that crap in your personal email not work.”  This led to a discussion about how they are not allowed any privacy based on the email system being owned by our employer and that by doing compromising things on a work system they could expose the entire company and our clients to problems including hacking and or litigation.  Quite a bit of time passed and one morning I showed up to work to find that major drama had ensued around the same employee.  Without his knowledge the employee had been dating a married woman who was estranged from her husband.  As part of this relationship they were both using work email systems to discuss personal matters about their relationship.  The husband in the equation at some point accessed the wife’s webmail account and became privy to the other side of the situation.  The drama then kicked into high gear as the husband farmed email addresses from as many employees of both the company I worked for and the wife’s company from there email interactions (for real business) and composed an email airing years of dirty laundry.  I felt bad for the guy in my office and while it did not get him fired right away I don’t think for a second it was was not part of him leaving within six months of the event.  On his part he could have prevented much of the drama by using personal email.

Beyond this drama filled model I have also been a member of remediation teams in several companies where email system administrators were monitoring email of executives and other staff and leveraging personal information to their benefit at least until they were discovered and fired.  So the take away from all of this is that YOU MUST SEGMENT PERSONAL AND WORK EMAIL!  Come on people personal email is free now and it is solid.  My guess is the same people using work emails for the personal things listed above are probably also using them to communicate with potential new employers.  These practices are damaging to how you are viewed in your community at large.  As a reverse you are also doing yourself no favors if your doing business for your company or an employer from @gmail, @AOL, @HOTMAIL or other private type email systems.

The long and short of it is a large segment of our digital communities are failing to segment their digital lives.  Drama at work should not go to deep into your personal life and drama in your personal life should not compromise your ability to do you work when it comes to your digital lifestyle.  Split this stuff up people as a favor to yourself and everyone around you.