Personal

You are currently browsing articles tagged Personal.

Crossing the Threshold

Last week while attending the CloudStack Collaboration Conference in my home city of Denver, I had a bit of a realization. I wanted to share it here in the hopes that it might serve as an encouragement for others out there.

Long-time readers know that one of my projects over the last couple of years has been to become more fluent in Linux (refer back to my 2012 project list and my 2013 project list). I gave myself a B+ for my efforts last year, feeling that I had made good progress over the course of the year. Even so, I still felt like there was still so much that I needed to learn. As so many of us are inclined to do, I was more focused on what I still hadn’t learned instead of taking a look at what I had learned.

This is where last week comes in. Before the conference started, I participated in a couple of “mini boot camps” focused on CloudStack and related tools/clients/libraries. (You may have seen some of my tweets about tools like cloudmonkey, Apache libcloud, and awscli/ec2stack.) As I worked through the boot camps, I could hear the questions that other attendees were asking as well as the tasks with which others were struggling. Folks were wrestling with what I thought were pretty simple tasks; these were not, after all, very complex exercises. So the lab guide wasn’t complete or correct; you should be able to figure it out, right?

Then it hit me. I’m a Linux guy now.

That’s right—I had crossed the threshold between “working on being a Linux guy” and “being a Linux guy.” It’s not that I know everything there is to know (far from it!), but that the base level of knowledge had finally accrued to a level where—upon closer inspection—I realized that I was fluent enough that I could perform most common tasks without a great deal of effort. I knew enough to know what to do when something didn’t work, or wasn’t configured properly, and the general direction in which to look when trying to determine exactly what was going on.

At this point you might be wondering, “What does that have to do with encouraging me?” That’s a fair question.

As IT professionals—especially those on the individual contributor (IC) track instead of the management track—we are tasked with having to constantly learn new products, new technologies, and new methodologies. Because the learning never stops (and that isn’t a bad thing, in my humble opinion), we tend to focus on what we haven’t mastered. We forget to look at what we have learned, at the progress that we have made. Maybe, like me, you’re on a journey of learning and education to move from being a specialist in one type of technology to a practitioner of another type. If that’s the case, perhaps it’s time you stop saying “I will be a <new technology> person” and say “I am a <new technology> person.” Perhaps it’s time for you to cross the threshold.

Tags: , ,

For the last couple of years, I’ve been sharing my annual “projects list” and then grading myself on the progress (or lack thereof) on the projects at the end of the year. For example, I shared my 2012 project list in early January 2012, then gave myself grades on my progress in early January 2013.

In this post, I’m going to grade myself on my 2013 project list. Here’s the project list I posted just under a year ago:

  1. Continue to learn German.
  2. Reinforce base Linux knowledge.
  3. Continue using Puppet for automation.
  4. Reinforce data center networking fundamentals.

So, how did I do? Here’s my assessment of my progress:

  1. Continue to learn German: I have made some progress here, though certainly not the progress that I wanted to learn. I’ve incorporated the use of Memrise, which has been helpful, but I still haven’t made the progress I’d like. If anyone has any other suggestions for additional tools, I’m open to your feedback. Grade: D (below average)

  2. Reinforce base Linux knowledge: I’ve been suggesting to VMUG attendees that they needed to learn Linux, as it’s popping up all over the place in all sorts of roles. In my original 2013 project list, I said that I was going to focus on RHEL and RHEL variants, but over the course of the year ended up focusing more on Debian and Ubuntu instead (due to more up-to-date packages and closer alignment with OpenStack). Despite that shift in focus, I think I’ve made decent progress here. There’s always room to grow, of course. Grade: B (above average)

  3. Continue using Puppet for automation: I’ve made reasonable progress here, expanding my use of Puppet to include managing Debian/Ubuntu software repositories (see here and here for examples), managing SSH keys, managing Open vSwitch (OVS) via a third-party module, and—most recently—exploring the use of Puppet with OpenStack (no blog posts—yet). There’s still quite a bit I need to learn (some of my manifests don’t work quite as well as I’d like), but I did make progress here. Grade: C (average)

  4. Reinforce data center networking fundamentals: Naturally, my role at VMware has me spending a great deal of time on how network virtualization affects DC networking, and this translated into some progress on this project. While I gained solid high-level knowledge on a number of DC networking topics, I think I was originally thinking I needed more low-level “in the weeds” knowledge. In that regard, I don’t feel like I did well; on the flip side, though, I’m not sure whether I really needed more low-level “in the weeds” knowledge. This highlights a key struggle for me personally: how to balance the deep, “in the weeds” knowledge with the high-level knowledge. Suggestions on how others have overcome this challenge are welcome. Grade: C (average)

In summary: not bad, but could have been better!

What’s not reflected in this project list is the progress I made with understanding OpenStack, or my deepened level of knowledge of OVS (just browse articles tagged OVS for an idea of what I’ve been doing in that area).

Over the next week or two, I’ll be reflecting on my progress with my 2013 projects and thinking about what projects I should be taking in 2014. In the meantime, I would love to hear any feedback, suggestions, or thoughts on projects I should consider, technologies that should be incorporated, or learning techniques I should leverage. Feel free to speak up in the comments below.

Tags: , , , , , , ,

I’m back with another “Reducing the Friction” blog post, this time to talk about training an e-mail spam filter. As you may recall if you read one of the earlier posts (may I suggest this one and this one?), I use the phrase “reducing the friction” to talk about streamlining and simplifying commonly-performed tasks so as to allow you to improve your own personal efficiency and/or adopt more efficient habits or workflows.

I recently moved my e-mail services off Google and onto Fastmail. (I described the reasons why I made this move in this post.) Fastmail has been great—I find their e-mail service to be much faster than what I was seeing with Google. The one drawback, though, has been an increase in spam. Not a huge increase, mind you, but enough to notice. Fastmail recommends that you help train your personal spam filter by moving messages into a folder you designate, and then telling their systems to consider everything in that folder to be spam. While that’s not hard, it’s also not very streamlined, so I took up the task of making it even easier and faster.

(Note that, as a Mac user, most of my tips focus on Mac applications. If you’re a user of another platform, I do apologize—but I can only speak about what I use myself.)

To help make this easier, I came up with this bit of AppleScript:

(Click here if you don’t see a code block above this paragraph.)

To make this work on your system, all you need to do is just change the two property declarations at the top. Set them to the correct values for your system.

As you can tell by the comments in the code, this script was designed to be run from within Apple’s Mail app itself. To make that easy, I use a fantastic tool called FastScripts (highly recommended!). Using FastScripts, I can easily designate an application-specific shortcut key (I use Ctrl-Cmd-S) to invoke the script from within Apple Mail. Boom! Just like that, you now have a super-easy way to both help speed up processing your e-mail as well as helping train your personal spam filter. (Note: if you are also a FastMail customer, refer to the FastMail help screens while logged in to get more details on marking a folder for spam learning.)

I hope this helps someone out there!

Tags: , , ,

No Man is an Island

The phrase “No man is an island” is attributed to John Donne, an English poet who lived in the late 1500s and early 1600s. The phrase comes from his Meditation XVII, and was borrowed later by Thomas Merton to become the title of a book he published in 1955. In both cases, the phrase is used to discuss the interconnected nature of humanity and mankind. (Side note: the phrase “for whom the bell tolls” comes from the same origin.)

What does this have to do with IT? That’s a good question. As I was preparing to start the day today, I took some time to reflect upon my career; specifically, the individuals that have been placed in my life and career. I think all people are prone to overlook the contributions that others have played in their own successes, but I think that IT professionals may be a bit more affected in this way. (I freely admit that, having spent my entire career as an IT professional, my view may be skewed.) So, in the spirit of recognizing that no man is an island—meaning that who we are and what we accomplish are intricately intertwined with those around us—I wanted to take a moment and express my thanks and appreciation for a few folks who have helped contribute to my success.

So, who has helped contribute to my achievements? The full list is too long to publish, but here are a few notables that I wanted to call out (in no particular order):

  • Chad Sakac took the opportunity to write the book that would become Mastering VMware vSphere 4 and gave it to me instead. (If you aren’t familiar with that story, read this.)
  • My wife, Crystal, is just awesome—she has enabled and empowered me in many, many ways. ‘Nuff said.
  • Forbes Guthrie allowed me to join him in writing VMware vSphere Design (as well as the 2nd edition), has been a great contributor to the Mastering VMware vSphere series, and has been a fabulous co-presenter at the last couple VMworld conferences.
  • Chris McCain (who recently joined VMware and has some great stuff in store—stay tuned!) wrote Mastering VMware Infrastructure 3, the book that I would revise to become Mastering VMware vSphere 4.
  • Andy Sholomon, formerly with Cisco and now with VCE, was kind enough to provide some infrastructure for me to use when writing Mastering VMware vSphere 5. Without it, writing the book would have been much more difficult.
  • Rick Scherer, Duncan Epping, and Jason Boche all served as technical editors for various books that I’ve written; their contributions and efforts helped make those books better.

To all of you: thank you.

The list could go on and on and on; if I didn’t expressly call your name out, please don’t feel bad. My point, though, is this: have you taken the time recently to thank others in your life that have contributed to your success?

Tags: , , ,

Divorcing Google

The time has come; all good things must come to an end. So it is with my relationship with Google and the majority of their online services. As of right now, I’m in the midst of separating myself from the majority of Google’s services. I’ve mentioned this several times on Twitter, and a number of people asked me to write about the process. So, here are the details so far.

The first question that usually comes up is, “Why leave Google?” That’s a fair question. There is no one reason, but rather a number of different factors that contributed to my decision:

  • Google kills off services seemingly on a whim. What if a service I’m come to use quite heavily is no longer valuable to Google? That was the case with Google Reader, a service for which I still haven’t found a reasonable alternative. (Feedly is close.)
  • Google is closing off their ecosystem. Everything ties back to Google+, even if you don’t want anything to do with Google+. Communications with Google Talk to external XMPP-based services no longer works, which means you can’t use Google Talk to communicate with other users using XMPP (only other Google Talk users).
  • Support for XMPP clients will stop working in May 2014 (which, in turn, will cause a number of other things to stop working). One thing that will be affected is the ability to use an Obihai device to connect to Google Voice, which will no longer work after this change.
  • The quality and reliability of their free service tiers isn’t so great (in my experience), and their paid service tiers aren’t price competitive in my opinion.
  • Google’s non-standard IMAP implementation is horribly, awfully slow.
  • Finally, Google is now doing things they said they’d never do (like putting banner ads in search results). What’s next?

Based on these factors, I made the decision to switch to other services instead of using Google. Here are the services that I’ve settled on so far:

  • For search, I’m using a combination of DuckDuckGo (for general searching) and Bing Images (for image searches). Bing Image Search is actually quite nice; it allows you to search according to license (so that you can find images that you are legally allowed to re-use).
  • For e-mail, I’m using Fastmail. Their IMAP service rocks and is noticeably faster than anything I’ve ever seen from Google. The same goes for their web-based interface, which is also screaming fast (and quite pleasant to use). The spam protection isn’t quite as good as Google’s, but I’m still in the process of training my Bayes database. I anticipate that it will improve over time.
  • For IM, I’m using Hosted.IM and Fastmail, both of which are XMPP-based. I’ll use Hosted.IM for one domain where my username contains a dot character; this isn’t supported on Fastmail. All other domains will run on a Fastmail XMPP server.
  • For contact and calendar syncing, I’m using Fruux. Fruux supports CardDAV and CalDAV, both of which are also supported natively on OS X and iOS (among other systems). Support for CardDAV/CalDAV on Android is also available inexpensively.

That frees me up from GMail, Google Calendar, Google Talk, and Google Contacts. I’ve never liked or extensively used Google Drive (Dropbox is miles ahead of Google Drive, in my humble opinion) or Google Docs, so I don’t really have to worry about those.

There are a couple of services for which I haven’t yet found a suitable replacement; for example, I haven’t yet found a replacement for Google Voice. I’m looking at SIP providers for my home line, but haven’t made any firm decisions yet. I also haven’t found a replacement for FeedBurner yet.

Also, I won’t be able to completely stop using Google services; since I own an Android phone, I have to use Google Play Store and Google Wallet. Since I don’t have a replacement (yet) for Google Voice, I have a single Google account that I use for these services as well as for IM to Google Talk contacts (since I can’t use XMPP to communicate with them). Once Google Voice is replaced, I’ll be down to using only Google Play, Google Wallet, and Google Talk.

So, that’s where things stand. I’m open to questions, thoughts, or suggestions for other services I should investigate. Just speak up in the comments below. All courteous comments are welcome!

Tags: , , ,

Happy Thanksgiving 2013

In the United States, today is Thanksgiving—a day to give thanks for the many things we have in our lives. I just wanted to take a moment today to give thanks for a few of the most important things in my life:

  • My Lord and Savior, Jesus Christ
  • My beautiful and loving wife, Crystal
  • My awesome kids (Summer, Johnny, Elizabeth, Michael, Rhys, Sean, and Cameron)
  • My sons-in-law (Matt and Christopher)
  • My exchange student, Tim
  • My granddaughter, Lexi
  • My health
  • My career

If you celebrate Thanksgiving, I encourage you to take a moment and consider the important things in your life for which you should be thankful.

If you don’t celebrate Thanksgiving, that’s OK too—it might still be beneficial to reflect upon the good things in your life.

Happy Thanksgiving!

Tags:

A Short Dry Spell

It’s been a couple of weeks since I published anything here, so I wanted to just provide a brief update. I know that posting something about why I haven’t posted something is…odd, I guess you could say. In any case, a number of factors—some personal, some professional—have contributed to why I haven’t been able to generate some useful new content in the last couple of weeks. Of course, there are blogs that go for months between posts, so a small gap of a couple weeks isn’t really a big deal. After over 8 years (I started blogging in May 2005), I think you can rest assured that I have no intention of shutting down anytime soon.

However, despite this dry spell, I am determined to continue with my Learning NVP blog series (part 1 is here), as a great many people have expressed interest. Fortunately, I made some headway on some blockers that were preventing progress, and that gives me hope for new content soon. I’m also exploring new posts on Puppet, Open vSwitch (OVS), OpenFlow, and—who knows—maybe VMware will have some snazzy announcements at VMworld that will give me new fodder for posts. We’ll see.

So, bear with me as I work through this short bout of writers’ block. I hope to be back soon with some new content. Thanks!

Tags: , ,

A few weeks ago I published a Reducing the Friction blog post centered on helping to streamline the tasks involved in processing e-mail. (Recall that there is a distinction between managing e-mail and processing e-mail.) In this Reducing the Friction post, I’d like to revisit the idea of processing e-mail with a slightly different take: using text expanders to streamline composing and replying to e-mail messages.

As much as we all love to bash e-mail as a productivity killer, it has become something of a necessary evil in most professional environments. As such, we’re better off (in my opinion) reducing the time and effort it takes to deal with this necessary evil so that we can get on to bigger and better things. The use of text expanders—tools like TextExpander, Typinator, TypeIt4Me, and others—can actually help in a number of ways.

Here are a few ways that I use a text expander tool (my choice is Typinator) to help in composing and replying to e-mail messages:

  • There are common phrases that I find myself using on a regular basis, such as “Thanks for your message” or “Sorry for the delay in responding.” Rather than typing these phrases out every single time I use them, I set up a text expansion shortcut to type them for me. So, I just type the three or four character shortcut, and Typinator automatically substitutes the full phrase. Most of the text expansion utilities also have the ability to make these expansions case-sensitive (I know Typinator does), which allows you to substitute capitalized or non-capitalized versions of the phrase.

  • I prefer to use inline or bottom posting in my e-mail replies (instead of the default top posting), so that the entire thread is easily readable from top (oldest) to bottom (newest). However, this frequently throws people off, so I have some “markers” that I use to help readers navigate. These are phrases like “See my reply below” or “My replies are inline, marked with [SL]” (or similar). Rather than typing these phrases manually, I have my text expansion utility do it for me.

  • While many e-mail clients support signatures, sometimes you might want to use a different signature than the “default” signature you have configured. I prefer to use a text expansion shortcut to supply the signature, which allows me to choose which signature to use on a message-by-message basis. For me, this works better than having the e-mail client automatically tack a signature on the message. (You could just as easily have your e-mail client use a default signature, but change it manually using a text expansion shortcut when desired.)

These are just three examples; I’m sure that you can probably come up with more. In fact, I’d love to see what sorts of additional ideas readers might have. Feel free to add your ideas and thoughts in the comments below. Courteous comments are always welcome!

Tags: , , ,

E-mail is the bane of efficiency for a lot of professionals, especially IT professionals. In this Reducing the Friction post, I’d like to share a few tips or tricks that might help making processing e-mail a bit easier.

Remember that I like to talk about processing e-mail instead of managing e-mail. There is a subtle distinction there—one (processing) implies a task that is to be performed, perhaps on a regular basis; the other (managing) implies an ongoing process that doesn’t end. (Which one would you rather do?)

In presentations that I’ve given on personal efficiency, I provided a set of four steps for processing e-mail. These aren’t necessarily my invention; I’ve culled them together from a variety of sources online and in print. Here they are:

  1. If a message contains a task that you can do in under 2 minutes (replying to the message, doing whatever task is in the message, etc.), then just go ahead and do it.

  2. If the task found in the message takes more than 2 minutes, put it into your trusted system. (Personally, I use OmniFocus, but use whatever system makes sense to you.)

  3. If, after performing the task or putting it into your trusted system, you think you need the information in the message, then archive the message according to whatever system you prefer.

  4. Finally, if after performing the task or putting it into your trusted system you don’t need the message, then delete it.

In looking at these steps, it occurs to me that there are 2 places where we can “reduce the friction,” i.e., make repetitive tasks easier, and that’s in steps #2 and #3. In this post, I’m going to focus on #3. I’ll try to address #2 in a future post.

Obviously, how we tackle automating the task of filing messages away according to some system will depend on the system we use. I use a system whereby all messages are filed away by year. All the messages in 2012 get archived into a 2012 folder (or mailbox), messages from 2013 are filed into a 2013 mailbox, etc. To help simplify this process, I wrote an AppleScript that takes the selected messages and moves them to a folder. Here’s the script (if you don’t see the script below, click here):

For my particular system, I change the value of the variable theMailbox every year to correspond to a mailbox for that year (i.e., 2011, 2012, 2013). Then, to further streamline the process, I bound the AppleScript to a Mail.app-specific keyboard shortcut using FastScripts, as I outlined in an earlier Reducing the Friction blog post on using keyboard shortcuts. Now, the process of filing a message into this year’s archive folder is a simple keyboard shortcut away. Super easy!

If you use a system where you file to a few different folders, you could use multiple versions of this script each pointing to a different folder. If you use lots of different folders/mailboxes…then this script probably won’t help you. (Sorry.)

I think part of the reason my people use lots of different folders if that they use the folders as a way of categorizing messages—each folder represents a particular category, project, person, group, customer, etc. I found an alternate way of handling this categorization process by using a tool called MailTags. MailTags is an extremely powerful add-in to Mail.app that allows you to assign keywords, projects, due dates, notes, etc., to mail messages. Further, it allows you to build Smart Mailboxes (saved searches) on any of these properties as well. If you use Mail.app, I highly recommend MailTags.

As I said, I archive all messages for a given year into a single mailbox. To help with the categorization of messages (or to help provide additional context to every message), I assign at least one keyword to every message. Where applicable, I also assign a project. You can create rules in Mail.app that will automatically assign keywords and/or projects, and I highly recommend that. However, you’ll also want to make it very easy to assign keywords manually. Fortunately, MailTags supports AppleScript, so I was able to write a quick script (click here if you can’t see it below) to do that:

If you want to assign multiple keywords, just modify the script to change the value of assignedKeywords to something like this:

{"Keyword1", "Keyword2", "Keyword3"}

Naturally, you could modify this script to assign a project (I’ll leave that as an exercise for the reader), and you could use FastScripts to create an application-specific keyboard shortcut to run the script. This means that you can easily tag your messages with one keystroke, then file them away with another.

When used in conjunction with a good set of rules, I think these scripts can really make step #3 of the four-step mail processing pipeline a lot easier.

Of course, this is just how I work, and your own workflow might be very different. I encourage you, though, to examine your workflow and see if there are ways you could “reduce the friction.” I hope this post provides some ideas to help make that happen.

Tags: , , ,

I tweeted earlier today that I managed to achieve “Inbox Zero” (an empty e-mail inbox) while at a major industry conference (I’m in Spain for VMworld EMEA). A follower on Twitter asked if I would share my “inbox secret”. It’s not a secret, really, but I thought I’d share it here just in case others are interested in trying to emulate a similar methodology (or are just interested in getting control of your e-mail inbox).

First, you’ll need some infrastructure:

  • Get yourself some sort of “to do” system. I don’t care if you use Getting Things Done (GTD), or just make notes in a plain text file—but find a system and use it. I mean, really USE it. Be ruthless in putting your actions (tasks, “to do’s”) in the system. Personally, I use OmniFocus, but ultimately you’ll need to find the right tool that works for you.

  • Determine an archiving strategy. In other words, what are you going to do with e-mails that have information you might need later, but don’t represent something you need to do? There are a variety of strategies here; some people have a complex hierarchy of folders while others just dump all their messages into one big archival folder. Personally, I use a time-based approach—I archive messages I might need later into an annual folder. So, I have folders for 2012, 2011, 2010, etc., all the way back to 2004.

  • (Optional, but recommended) Find an automation tool. What do I mean by “an automation tool”? You’re looking for some sort of macro/scripting tool that can help streamline common tasks for you. Simply creating (or customizing) some keyboard shortcuts within your e-mail application might be sufficient. Personally, I use AppleScript and a tool called FastScripts to allow me to execute those scripts via application-specific or global keyboard shortcuts.

Once you’ve accomplished those three tasks, then we get to the actual work of managing your inbox. Here’s how it works. For every message that comes into your inbox, one of four things happens (this is your DECISION TREE):

  1. If the message represents something you can do and get done in just a few minutes (a quick reply or an action you can complete), do it and then delete or archive the message.
  2. If the message represents something that will take some additional time (a more lengthy reply or an action/series of actions that will take time to complete), create a task/”to do” entry in your system and then delete or archive the message.
  3. If the message represents something that is not an action but contains information you might need later, archive it.
  4. If the message doesn’t match any of the above rules, delete it.

It’s really a simple system, but it requires discipline. You have to school yourself not to use your inbox as a task/”to do” system—that’s why you find/use a system. And finding an automation tool (as I suggested) helping remove friction or resistance to the system by making it easier to archive messages or create task/”to do” actions. For example, using FastScripts, I have a single keyboard shortcut (Ctrl-Cmd-A) to archive a message to the current year’s archive folder. So, when I’m done with a message in my Inbox—after I’ve responded or created an action—I can archive it with a quick keyboard shortcut.

Hopefully some of this information helps. Feel free to speak up with additional tips, suggestions, or questions in the comments below.

Tags: , , ,

« Older entries