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
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
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.
I have spent quite a bit of time over the past few weeks trying to see how development will fit into the course of my career moving forward. With the help of some great people like Matt Stone and Matt Oswalt I am charging ahead with Python. This post is about setting up my Mac to be ready to start coding. Sure I have the default install of Python installed but I have seen that I need more of an IDE than what is provided by default. Watching Matt Stone code in VIM I was impressed but I have just never spent enough time in VIM to be comfortable. So I am going to go with Atom and extend it to meet my requirements. What follows will be that process.
OSX is a bit of a hassle when it comes to application management. A solid package manager solves that. Now I can’t say how good Brew is I can say it has lots of fans and it seems to work for what I need.
So start by installing Brew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
With Brew installed now we can use it to setup Python. I had a few issues but its because I had tried some other install steps that broke the Brew Process. Once I fixed those it was easy.
So Just do the following to install Python 2.7.x
brew install python
As you can see I have updated this post to show Sublime Text as my IDE. I really wanted to love Atom but it just had a bunch of random issues that I could not work around. Since moving to Sublime Text all those issues have vanished.
So start with Download Sublime Text from here.
After you install and run Sublime Text you should check out this superb writeup at RealPython.com on how to turn Sublime into a full featured IDE for Python. This is what I use and while it is has things I don’t need right now, it is so close to perfect there is no reason for me to mess it up by trying to edit it down. Just follow it and then your good to go.
Thats about it. From there open up any .py file and you should see any of the PEP8 markers no the left side and all the python syntax broken out.
With that done you have a base of what you need for for development for Python in OSX. I have had help from the following sites pulling all this together.
A little over four years ago I wrote: “the best $1.80 I ever spent.” In that post I broke down the concept of what my value was and how I was no longer going to play by the rules. The organization that I joined on December 14, 2010 was Language Access Network. They let me break those rules and do great things. In coming to work there I took on the role of CTO and went from just a guy who does networks to being someone who the business looked to for ideas, strategy and vision. That has been HUGE for me. I have learned so much ranging from finances, to how to build a team and much more than I could ever cover here. I also got to learn why I really do what I do as I laid in this post. For me that was a turning point, not only in how I did my work for Language Access Network, but also how I saw my role in technology and society.
So it is with much regret that today I am writing to say that after more than four years working with a great team at Language Access Network and Carenection and building a team of amazing people, I am taking my leave. All the proper people have been notified, the resignation letter sent, the offer letter accepted and now all that is left is this – tell people where I am going and why I am going there.
So lets start with the where part. Beginning February 16, 2015 I will be employed by Brocade as a Practice Principle on the Professional Services Delivery Team. I can’t go into a lot of details about what I will be doing just yet, but you can bet you will be hearing about them as things progress. What I can say is that the opportunity with Brocade is going to let me help change the way we do networking in the future. As I stated in the post Why I do what I do. “Being driven by what you do is great, being driven by who you have helped is better.” So yes, I will be leaving a company whose entire ethos is to help others in a critical point in their lives and care, but I will be joining a team that is going to be helping people like me do their jobs better and more efficiently. That excites me. Add that to the All Star Team that Brocade is putting together around SDN, and it’s the perfect opportunity for me to move back into a technical role and do something else amazing in my career.
This is hard. It is hard leaving people who I really care about and a business that I have sunk my soul into over the past four years. It will be challenging (BUT THRILLING) to go back to being a tech again. But that’s OK because some of the best things in life are hard and if you put the effort into doing them well its worth it in the end.
So to my Team at Carenection – keep winning! You’re the best group of engineers I have had the opportunity to work with. To the Language Access Team – you make an amazing difference every day and I will miss hearing about the wins. And for me… a challenge awaits.