Uncategorized

You are currently browsing the archive for the Uncategorized category.

Here we are – the first day of 2018 and Im anxious and excited to get 2018 off to a good start.  Looking back – it just occurred to me that I didn’t write one of these for last year.  Not sure what happened there, but Im glad to be getting back on track.  So let’s start with 2017…

2017 was a great year for me.  I started the year continuing my work at IBM with the Watson group.  About half way through the year (I think) I was offered the opportunity to transition to a role in the Cloud Networking group.  It was an opportunity I couldn’t pass up to work with folks whom I had an incredible amount of respect for.  So I began the transition and within 3 months had fully transitioned to the new team.  Since then, I’ve been heads down working (the reason for the lack of blog posts recently (sorry!)).  But being busy at work is a good thing for me.  For those of you that know me well you know that “bored Jon” is “not happy Jon” so Im in my own little heaven right now.  Im learning a lot and getting to work on new things and ideas that I wouldn’t have had exposure to elsewhere.

2018 looks to be another busy year for me on the job front but, as usual, I have other goals as well.  So without further blabbering from me, here are my 2018 goals…

  • Get better at time management – This is a big area I can work on with many facets.  First and foremost – I’d like to work on being more productive in the morning.  A typical day for me involves getting up between 6 and 7am.  I help my wife get the kids ready – she takes them to day care – and I usually go to my office and get to work.  I’d like to try and see if its feasible for me to get up earlier to try and get some things done before I start my work day.  5am seems a bit early – so Im not sure what the right time is but any time I have in the morning would be free time that I could get things done in.  The bigger challenge for me here will be making sure I got to bed at a decent time to make this feasible.  As it stands now – I typically work until midnight or 1am and I often get caught up in something and push this to 3 or 4.  While its great to get work done – this isn’t a great model for me to follow and I realize that.  So I need to work on that.  The other piece of this is working to be better at sorting out my work/life balance.  It seems almost trite to bring up – but its often hard for me to draw clear lines between work and life.
  • Be healthier – The downside of working from home is that the cafeteria is always open.  I snack almost all day long.  This is driven by many things – skipping breakfast and/or lunch is a big reason I typically snack so Im going to get better at having actual meals.  Im also going to make a point of buying better food to snack on.  The other area that bites me is that I live in Minnesota.  During the summer I can run in the morning or over lunch.  During the winter (when it’s -15 without the windchill right now!) I don’t care to go out to run.  Im going to try and find a better way to work out inside and try and stick with it.
  • Blog more – Since starting at IBM the amount of blogging I’ve done has gone down considerably.  I want to fix that.  I view blogging as one of the means that I can give back to the networking community and Im disappointed with my current cadence of blog posts.
  • Give another talk – While I’ll admit I was hesitant to do it – I managed to give my first talk last year at CHINOG07 (see here!).  I actually really enjoyed doing it and Im hoping I can find another topic and another conference I can give a talk at.

So there you have it – my goals for 2018.  You’ll note that I’ve taken running a marathon off the list.  I still want to do this, so maybe I’ll add it back onto the goal list later on 🙂

I hope you all had a great 2017 and have an even better 2018!

This is one of those ‘I must be living under a rock’ things.  I’m not sure how I’ve never heard of TMUX before but it’s really pretty awesome.  I initially came across it when searching for a way to share a terminal session with another user.  It does that quite well but it’s also a great terminal session manager allowing for pane, window, and session management.  Let’s take a look at a quick example to show you what I mean.

Here we have a server called ‘tmuxtest’.  The server already has TMUX on it by default but if it’s not there you can easily install it (sudo apt-get install tmux, etc).  So let’s say I want to start a new session.  The easiest way to do this is to just type ‘tmux’..

Now we’re in TMUX.  We are in what’s called a ‘session’.  The session can contain multiple panes and multiple windows.  For instance, if I wanted to create a second pane I could do by pressing ‘Ctrl-b + %’…

Notice that the screen on the right, the new one, has a green boarder around it.  That’s my active screen.  Now if I want to split this screen horizontally I can use ‘Ctrl-b + “‘…

You might be figuring it out, but ‘Ctrl-b’ is the magic key sequence in TMUX.  Here’s a list of commands that relate to panes…

As you can see, we can select different panes pretty easily by using the arrow keys and end them as we typically end windows with ‘exit’.  So that’s all well and good, but that didnt buy us much.  What else is there?

Well before I forget, remember that we’re in a session that I can attach and detach to.  Have you ever needed to start a download on a remote server and worried about losing your connection and having the download crash?  I have!  So why not run it in a session?  Simply start a TMUX session, start the download, and then detach from the session (Cltrl-b d)…

Now I shut my laptop and go home.  When I get home, I get on VPN, log back into the server, and see that the download is still running (the size is increasing) and the TMUX session is still there which I can reconnect to…

I can reconnect to the session by using ‘tmux attach -t <session ID or name>’ which in this case is ‘3’…

Pretty cool huh?  Here are some commands that are relevant to dealing with sessions…

And before I get too far ahead of myself, I should talk about windows as well.  A session can have multiple windows.  For instance, if I start a TMUX session I can press ‘Ctrl-b c’ (I’ll do it twice)..

Notice how along the bottom I now have 3 sessions?  They’re labelled 0, 1, and 2.  I’m currently on the ‘2’ sessions which we can tell by the asterisk being next to it.  I can change between windows by pressing ‘Ctrl-b p’ or ‘Ctrl-b n’ which stand for previous and next.  Here are some other commands related to windows…

Ok – so now for the terminal sharing.  We know how to create a session and how to attach and detach from them.  Surprisingly, that’s all we need to know to share a session between two users using the same account.  For instance, let’s have two users log into the server both using the ‘user’ account. We’ll have the first user create a session called ‘watchme’ with the command ‘tmux new -s watchme’.  Now if we have another person log in to the same server, with the same user account, they can see that session by using ‘tmux ls’…

All the second user has to do is attach to that same session using the ‘tmux attach -t watchme’ command…

Pretty slick huh?  But what about if you have two different users on the same server?  Unfortunately, it’s not as easy to share sessions between multiple users, but it is still possible by creating a socket that both users can reach.  For instance, if we log into the same server with two different users we can see that by default user2 can’t see user1’s sessions…

However, we can specify a socket file for TMUX to use and make it accessible by both users like this…

Notice how we create the session under user1 as normal with the exception of passing a parameter to the ‘-S’ flag.  The ‘-S’ flag tells TMUX to create a socket at the specified location, in this case ‘/var/tmp/tmuxsocket’. Then I detach from the session, and change the permissions on the file so that all users can access it with the ‘chmod 777 /var/tmp/tmuxsocket’ command.  Now, user2 can see the session by telling TMUX where to look for the socket.  Is this secure?  Gosh no.  Is this probably something you should only do with another user that you fully trust?  Yes.  But if you fit that criteria, it’s drop dead simple to share a session.  That or you can both use the same account as we saw in the first example.

In any case – TMUX is pretty awesome.  I plan on making it a permanent addition to my toolbox.

A new adventure…

As the title says, I’ll soon be starting off on a new adventure.  After almost 6 years working in various networking roles at United Health Group I’ve decided to move on.  The decision to leave wasn’t an easy one for me to make.  I’ve built lots of great relationships and had the opportunity to work with some truly gifted individuals.  Many of the people I worked with have had a profound impact on my development as a network engineer and architect.  While I can’t possibly list all of the names, I want to sincerely thank all the people that have motivated and supported me during my tenure with UHG.  There are countless people that gave me opportunities I couldn’t have had anywhere else and for that I am truly grateful. 

So while it’s hard for me to close out this chapter of my career, I’m anxiously looking forward to starting the next one.  In late August I’ll be starting in my new role as a network engineer at IBM within the Watson business unit.  I’m excited about the opportunity and literally can’t wait to dig in!

In other news, some of you may have noticed that there hasn’t been a lot of new blog content lately.  The reasons for that mostly fall under the ‘usual suspect’ category.  Work has been extremely busy and the bulk of my free time has been dedicated to a new project I’m working on (more to come on that soon!).  Needless to say, once that project is completed, and I’ve settled into my new role, I look forward to getting back to a more normal cadence of content creation here on the blog.

Thanks for hanging in there with me, it’s been a busy summer!

« Older entries