Archive for August, 2008

Breaking out of my ReSharper Rut

I’ve been using ReSharper for over a year, but it recently occurred to me that I’m still only using about 1/4 of the functionality.

Although there are a plethora of cool, productivity-enhancing features in ReSharper, there definitely aren’t a year’s worth of things to learn. In fact, I’m pretty sure that I picked up most of my current repetoire of hotkey knowledge within the first week. Somehow I became complacent soon afterwards and stopped learning new features even though I was thrilled with the ones I had already acquired.

It reminds me of the The Expert Mind, a scientific paper that I wrote about last year in my post Where Do Experts Come From?. According to the authors of that paper, novices and experts start out learning at the same pace, but novices loose interest as soon as the novelty wears off while experts manage to sustain that same pace of learning long afterwards.

I decided that if I ever wanted to shed my novice status when it comes to this tool and become a ReSharper Jedi, then I had to take some strategic steps to restart the learning process.

Here’s what I did:

  1. Favorite Features List: I made a list of all of the features that I am fluent with, which I define as the ones I use on a daily basis without having to pause to remember the hotkey. Although not as critical as the other steps, I still found this activity to be helpful in allowing me to solidify existing knowledge as well as reinforce good habits. I’m also hoping to use this list in my future efforts to convince several stubborn co-workers to start using this tool, which many have not yet installed even though we all have licenses.
  2. Practice List: Next I made a list of all of the features that I’ve tried and found helpful but don’t use very often or very effectively. This is usually because I either habitually forget about the feature or else don’t have the hotkey combination memorized and therefore have to fumble around with the menu system in order to use it.
  3. Try List: Finally I created a list of features that I haven’t tried yet. I populated this list by looking through the ReSharper menu system, going through the embedded tips, and rereading the posts in Joe White’s 31 days of R# series.
  4. Daily Review of Try and Practice List: Next I placed these lists in a OneNote notebook (any simple text editor will work) and pulled it up to review several times a day in order to remind myself of potential new features to try and use.
  5. List Item Promotion: Once I tried a new feature for the first time, I moved it to the Practice list. As soon as I noticed myself using a feature fluently, I moved it to the favorites list. This simple act of promoting features from one list to the next was not only useful in helping to keep me organized and establish concrete goals, but it also proved to be motivating since it gave me a sense of accomplishment every time I was able to move an item.

 Tool_Rut_Notepad_List

Although I’m sure that this simple technique that I thought up certainly played a role in restarting the learning process, I think that my sudden awareness of the psychological ‘novice’ pattern that I fell victim to played an even more critical role.

Once I move the last ReSharper feature from the Practice list, I plan to apply this same approach to other tools, new language features, and uncharted API.

What have you done to break out of a learning rut?

Popularity: 10% [?]

When Del.icio.us Attacks!

My deepest apologies.

I just noticed that I inadvertently spammed everyone subscribed via feedburner with a half dozen del.icio.us feed entries.

The rogue link barrage began when I activated the Feedburner LinkSplicer feature under the false assumption that I would be able to filter saved links based on tags as well as control the start date. Instead Feedburner set forth on an apparently irreversible course of spitting out crap from the last several weeks that I tagged because I eventually might want to read them, not because I thought they were particularly good.

Feedburner has some amazing traffic analysis features, but this particular feature is a usability nightmare. Not only were there no configuration options available, but there was no posted information about how it would work and no way to reverse it after it happened.

For this I am awarding Feedburner an honorary Caffeinated Codey Shoddy-As-Hell Feature Award. For shame…

What makes this even more frustrating to me is that I have serious reservations about publishing delicious links to my feed in the first place.

When it comes to link recommendations, most people clearly prefer the more democratic approach offered by sites like Reddit or Dzone. Those that don’t are probably just too busy drowning in a sea of unread RSS feeds to care and will probably hate me for making them feel even more guilty over shit that they don’t have time to read. If nothing else, I didn’t want to risk burying my legitimate content under a mess of entries that most people will probably just view as spam.

So why did I do it?

I blame it on Reg Braithwaite. His delicious posts have been my single best source for ‘off-the-beaten path’, top-notch posts over the last couple of years and therefore has given me the unrealistic expectation that I can do it in a way that people will like rather than in a way that more closely resembles an ‘Enlarge-Your-Penis’ spammer (not that some of you don’t like those as well).

How am I going to do this?

I make the following three promises.

  1. I won’t ever publish more than three links on any given day or three days in a given week. Most of the time I will probably publish far fewer. I see anything more than that as a blogger simply leaving a breadcrumb trail of their internet surfing habits, which is not what I want to do. I’ve actually set up a second delicious account for my blog so I can still use my primary one for my ancillary TO DO reading list along with a holding bin for potential candidates to publish. I promise I’ll only publish ones that I think are must-reads.
  2. I won’t ever publish a link without commentary. I doubt I’ll be able to resist the urge to be a sarcastic rat bastard at times, but otherwise I’ll just try to explain in a few quick sentences why I liked the post so much.
  3. I’ll eventually use these delicious posts for future Caffeinated Codey posts, a series which I am considering resurrecting from the dead if only so I won’t have to take out a restraining order on Justice or D’Arcy, who are obviously still lusting after the chance to receive more of these coveted awards.

Hopefully, you’ll like this added addition to my blog. If not, please let me know. I’ll probably tell you to go screw yourself, but at least we’ll all feel better afterwards…

Popularity: 7% [?]

Recouping Lost IQ Points from the Internets

I recently read an thought provoking article by Nicholas Carr, entitled Is Google Making Us Stupid?

In the article, Nicholas describes a phenomenon that I have observed happening in myself over the last few years.

Over the past few years I’ve had an uncomfortable sense that someone, or something, has been tinkering with my brain, remapping the neural circuitry, reprogramming the memory. My mind isn’t going—so far as I can tell—but it’s changing. I’m not thinking the way I used to think. I can feel it most strongly when I’m reading. Immersing myself in a book or a lengthy article used to be easy. My mind would get caught up in the narrative or the turns of the argument, and I’d spend hours strolling through long stretches of prose. That’s rarely the case anymore. Now my concentration often starts to drift after two or three pages. I get fidgety, lose the thread, begin looking for something else to do. I feel as if I’m always dragging my wayward brain back to the text. The deep reading that used to come naturally has become a struggle.

The article attributes this general scattering of our attention and weakening of our concentration to our ever increasing usage of Google and the internet, which is structured in a way that promotes skimming and quickly jumping from one source of information to the next rather than focused reading. The author presents a wide variety of historical corollaries, research studies, and anecdotal evidence to suggest that the internet is fundamentally rewiring the ways in which our brain processes information. The overall effect is that we are becoming more like “pancake people”, stretched thin over vast amounts of information which we only interact with on an increasingly superficial level.

Although I admire minimalism and conciseness in writing and find my well-honed Google-Fu to be an essential skill in today’s landscape of information overload, I have to agree with with the author that it is a shame that all the benefits of Google and the Interent seems to be coming at the expense of our more traditional, focused reading skills.

It is just plain embarrassing to run out of steam 1/4 of the way through a Steve Yegge blog post even though I find the article interesting. It makes me feel like an out-of-shape, intellectual couch potato.

But what can be done to counter-act this GIADD (Google Inspired Attention Deficit Disorder)?

I decided to start by overhauling the way I read my RSS Feeds.

In the GTD (Getting Things Done) arena, there is a concept of separating ‘Processing’ from ‘Doing’. Processing just entails making important decisions about whether or not something is worth doing in the first place, what context it best completed in, and where it belongs in your overall organizational scheme. Since processing and doing are two very different activities that require different frames of mind (sort of like the difference between skimming and focused reading), you are supposed to finish all your processing before you move on to the doing or ‘Next Action’ part of the equation. This way you can get into and stay into a flow during each activity.

Since this concept has worked really well for me while processing email, snail mail, and various other inbox items, I decided to apply the same principal to reading blogs.

Here’s my new RSS workflow

  1. Establish Zero Bounce Zone: First I organized my feeds into 4 simple groups as a way of prioritizing which ones I wanted to keep up with the most. I used Favorites, SunnyDay, CloudyDay, and RainyDay since they forced me to think of them in terms of how much time and motivation I had to read. Then I decided which folders I was willing to make a zero bounce commitment to, which means that I make sure I have processed every single post in those groups by the end of each day. I currently have about 30-35 blogs in my ‘No Bounce Zone’. I only process posts in the other 2 folders if I have time, which means I can still keep tabs on good potential sources of information without feeling guilty for having too many unread items in my RSS Reader.
  2. Process All Zero Bounce Feeds Daily: All I am doing here is trying to decide how interested I am in reading the post. Sometimes I can tell just by the title, but sometimes I have to skim it to find out. If it is a very short post that doesn’t take much concentration to read, then I go ahead and just read it. Otherwise, I put a Read++, Read, or Maybe tag on the ones that I am interested in reading. If they aren’t interesting to me, then I just mark them as Read and forget about them (life is too short to read everything). Since all I have to do is make a quick decision about every item in this group, I force myself to take these in order and resist the urge to just process the obviously interesting ones first. This is a bad habit that leads to procrastination and ultimately unprocessed items at the end of the day.
  3. Process Some Optional Feeds If Time: I tend to do this if I am all caught up on my ‘Zero Bounce’ feeds, but still have spare, otherwise unproductive minutes throughout the day that aren’t appropriate for more focused reading.
  4. Read Some Tagged Items: I usually wait until I have at least 20 minutes of quiet, uninterrupted time before doing this. For me, this usually tends to be at night when my kids (and often my wife) are in bed. Having this quiet time along with a large group of quality, pre-selected posts that I know I am interested in reading thoroughly helps me me disengage from my normal internet skimming mindset and get into a more focused reading mode instead. When selecting items to read from this group, I skip around and choose what I am most interested in first. After I finish reading them, I remove the Read tag so it will disappear from my reading queue and replace it with some recommended or technology specific reference tags to make it easy to track down later if needed. I expect this queue to always have a large number of items in it, so I don’t worry about its size as long as I know I am churning through tagged posts at a respectable rate each week.
  5. Periodically Recategorize Feeds and Tagged Posts: Between my interests being in a constant state of flux and the relative quality and content of blogs going in random cycles, I like to recategorize blogs and posts on a regular basis to keep things from going stale.

I’ve been doing this for a couple of weeks now and have already noticed a big difference in being able to focus more on reading. Surprisingly, I’m also getting much faster at skimming and processing since I’ve released myself from the need to comprehend anything beyond what will help me make a decision about whether it is worth reading.

Best of all, I finally feel in control of my RSS Feeds in a way that I never have before. Instead of feeling overwhelmed by thousands of unread items, I feel like it is a manageable workload so I am actually more motivated to keep up with the reading than I as before.

What are some of the things that you are doing to fight GIADD (Google Inspired Attention Deficit Disorder)?

Popularity: 8% [?]

The Blogging Hiatus: Next Stop Shark Jump?

It’s been over 2 months since my last post. I haven’t been blogging very long compared to blogging veterans like Scott Hanselman, Phil Hack, or Jeff Atwood, but I’ve managed to establish just enough of a pattern in the last year (about 150 posts) to be plagued by blogger’s guilt and get peppered with the dreaded “so I noticed you haven’t been blogging lately’ comments from friends.

So for my return post, I decided to reflect on the merits of taking a blogging hiatus.

Is an extended absence a sure sign that a blog is about ready to ‘jump the shark’? Or is an occasional blogging hiatus the only prudent counter-measure to avoiding the precipitous ’shark jumping’ decline in quality that eventually happens to most popular sitcoms and blogs?

Chasing Blog Quality

Certainly anyone with an internet marketing background would advise against ever taking a break from blogging due to the negative affects it would have on SEO rankings, page hit averages, readership trends, or whatever other psychological voodoo is currently used in predicting and influencing online readership patterns.

Since I don’t actually make any money at blogging, I am personally more convinced by the argument recently articulated by Jeff Atwood in Quantity trumps Quality. In this post, he describes an experiment done in a ceramics class where one group was graded based on quantity (pots weighed) while the other group was graded based on quality (only one pot required at the end). Surprisingly, the highest quality work overwhelmingly came from the group that was graded based on quantity.

By this reasoning a blog with more frequent posts will eventually produce more quality, which means that a blogging hiatus should have a negative impact on the quality of a blog. Oops.

Although the implied lesson in Jeff’s post makes perfect sense to me, I am still left with a nagging doubt when I think of the large number of once-quality blogs that I’ve seen “jump the shark” even when the author was consistently churning out a large volume of posts.

Does this mean that there is some additional hidden ingredient that is even more important than consistency and quantity when it comes to producing a quality blog?

Chasing Blog Quality

Have you ever wondered why blogs appear to be edging out more traditional publishing mediums even though traditional mediums tend to produce much more polished pieces of writing due to editors, formal peer review processes, the time advantage, and educational training?

I think that the reason has to due with the essential amateur\hobbyist nature of blogs. The fact that most posts are a labor of love rather than an obligation the author is paid to do imbues them with an authenticity and freshness that makes them appealing despite the abundance of run-on sentences, typos, and the occasional erroneous facts.

If a blogger’s enthusiasm is what makes their writing so compelling, then it follows that the most corroding force in the blogosphere would also be motivational in nature. If writing a post for whatever reason suddenly becomes drudgery for the author rather than an absorbing, joyful activity, then quality will surely decline no matter how good someone has become at the mechanics of a writing a blog post.

Thus, it seems to me that the best way to protect the quality of a blog is to respect the natural ebb and flow of internal motivations and exterior events.

In other words, if you are a blogger and are forcing yourself to work on a post, then do yourself and your readers a favor and stop writing until the source of your inspiration replenishes.

Of course, the risk is that your motivation never comes back.

If that happens to me, I’m going to take the philosophical approach and assume that perhaps I am just meant to be doing another activity instead.

What I Did on My Blogging Vacation

Time will tell whether this break has sufficiently replenished my motivation, but even if it doesn’t at least I enjoyed the the following activities with my extra free time over the last few months.

  1. Smiles, Coos, and Tiny Toes -I’ve been graced with the frenetic energy of my (nearly) 7 year old step-daughter for several years now, but have only recently been initiated into the wonderful world of infants by my rapidly growing 5 month old, Sofia. Seeing her smile at me while I echo back her enthusiastic coos and play with her tiny baby toes is one of my favorite past times these days. It doesn’t matter that I walk around smelling like baby spit-up most of the time and or spend way too much time focused on what comes out (or must go in) a baby’s butt, I’m just happy and grateful to be spending most of my free time with my family these days.
  2. Late-Night Escapism in EarthSea – I used to read quite a lot for pleasure, but I don’t think that I’ve completed one book since I started my own blog. Over the last few months, I’ve enjoyed a new night-time ritual of stretching out on the couch with a good fantasy book after everyone else is in bed. I’ve managed to reread three of the four books in the Earthsea trilogy by Ursula Le Guin during my blogging hiatus. I had completely forgotten how delightful and rejuvenating it can be to completely escape every day life by immersing myself in a good book.
  3. Taking Control of Neglected Areas of my Life – It seems like the better I got at focusing on the latest technology, software development trends, and best practices, the worse I was at taking care of all of the other responsibilities in my life. Throughout my blogging hiatus, I have been religiously following the Getting Things Done approach to personal organization and task management and as a result I have eliminated several metric tons of psychic weight that had accumulated as a result of chronic procrastination. For the first time in my life, I feel comfortably in control of my home, finances, and various other non-work related realms of my life and am now finding myself with excess energy that I am starting to reinvest back into my various software-related addictions.

Wells that’s all for now. Thanks to those of you who stuck around and waited out my absence. Until next time (whenever that may be…).

Yours truly,

A Much Rejuvenated Caffeinated Coder

Popularity: 8% [?]