Friday, 31 July 2009

GTD: “Personal Kanban” – Getting Started

image As you can probably tell from my recent post history, I am really on a “Getting Things Done” push.

Current Task Process

I think my general task processing is now pretty slick (or at least it is for me). In short:

  • I use Remember the Milk.
  • I have “Personal” list got general, repeating tasks.
  • I have a “Work” list to track work items.
  • I have my “Tech ToDo” to track technical skills I want to improve.
  • I have a couple of smart lists to filter out specifics tags (such as articles/videos I have tagged for later review).
  • I maintain a list of “Annual Goals”, which contains failures and successes of the last year, and tasks for this year.
  • Other little system “enhancements” like My Dictaphone and Feeding Google Reader Items to RTM.

“Life Tasks” (Our “Stories”)

Now, on the whole, this system does work really well. However, I do find that it generally breaks down with big fluffy “life” tasks – tasks that you want to do, but are really, really broad and non-deterministic route to completion. They can also be lingering around on tasks lists for quite some time if they have a naturally long, slow time to completion.

From here on out, we are going to call these “life tasks” our “stories” to fall in line with standard Kanban language. I also personally find it “fits” nicely, since most life experiences end up as small stories to regale friends and family with :)

For example, here are some of my current stories (most of which have come off the “Annual ToDo”):

  • Sort/review finances.
  • Another trip to Las Vegas.
  • Sort Fitness.
  • Start my own business.

Now, some of these are relatively small, others pretty “epic”. So what’s the problem with these?

I personally find that integrating these in to a “ToDo” rather odd..

Tasks are Too Easy to De-Value

An item on the ToDo list can be easily viewed as “unimportant”. Also it can be hard to create a sense of urgency with tasks, since all you can really do is set a priority flag or due date on it. I think this misrepresents the task. It is not “urgent” or “due”, it simply need’s to “keep moving”. The problem with keeping “square” items in “circle holes” is that it de-values the position for other tasks. This is of course bad.

Tasks are Too Low-Level

Tasks are binary, they are either complete or incomplete. That means they must be deterministic, which we have already established that our stories are not. A lot of time can be wasted trying to flesh out all of the sub-tasks required, not to mention the overhead and management of those tasks.

It’s Hard to See Progression in Tasks

Most task management systems don’t really do a great job of showing progression for these kind of “open ended” tasks. How can they? Once a task has been broken in to sub-tasks it can be then hard to see how the “main” task is progressing.

Enter Kanban

I don’t really want to go deep into the Kanban process here. There are search engines for that. But I have been reviewing the process for a couple of days now to see if I can make use of, and integrate it into my current GTD system.

So, I fired up MindMeister and started brainstorming. Here is what I have so far:

In essence, I think many of the core concepts/principles of Kanban (and Lean) really fit well in to my way of thinking:

Only Do Things That Add Value

Otherwise, what’s the point? We are aiming to improve our lifestyle here!

Establish Pull

This is basically “only biting off what you can chew” this helps keep you focused and prevents a feeling of being overwhelmed.

Delay Commitment

This is in essence, “don’t bother if you can’t complete the task because you haven’t been given everything you need”. Each stage of the process should ensure a quality and complete handover to the next. Each part of the process focuses on doing one thing well.

Seek Perfection

I always endeavour to do this in each and every task I do. If we do not learn from our experiences, how do we ever expect to keep moving as a civilisation? Once we complete something, retrace our steps and learn from our mistakes and remember what caused successes.

Kanban vs. Tasks

This is where things start getting personal. There are many tasks that I have set up on “repeating” just to prod me and remind me to keep on top of it (i.e. “Do Laundry”, “Read RSS”). Now, being honest these tasks actually add very little real value to my life.

Yeah, sure it’s nice to always wear clean underpants but wearing clean underpants does not really get me closer to any of my goals does it? (don’t take this as “I am going to stop doing the laundry and wearing clean underpants”).

Tasks are “Control”

Thinking about it, I basically come to the conclusion that Tasks are really a “Control” mechanism. They exist not to really “add value”, but rather, they make sure we doing the things that can ultimately add value. They are stepping stones across the lake, of which we can only ever see the next.

Kanban Cards are “Value”

This is where things get interesting, contrary to Tasks, Kanban cards can be quite “open ended”. They may have smaller sub-tasks that must be completed to implement them, but they are a representation of a course of action that will result in additional value.

Tasks Need to Stay Lean

Just because Lean is often associated with Kanban, it does not mean that we cannot take the ideas and apply them to our Task management (remember “Seek Perfection” ;). Always keep a close eye on how your task management process is running as well as focusing on the Kanban board.

Others Trying Personal Kanban

While on my travels through Teh Interwebz, I came across Jim Benson’s Blog. He is doing a great job of blogging his thoughts and experiences with Personal Kanban and I wanted to give him a shout-out. :)

If you are also experimenting with Personal Kanban, then please let me know and I will get your name on here!

Wrap Up

You have probably noticed the “PAIR System” on the mind map – I will be posting on that very soon. In short, this I what I have come up with when trying to distil the Kanban process down to something that makes sense for our life stories.

I really think this methodology can work really well and help keep a constant flow of completed stories that actually make a real difference to the quality of our personal lives.

Don’t “chase the dream”, flow into it!

What are your thoughts? Anyone else there taking the Kanban process and applying it to their personal lives?

Thursday, 30 July 2009

GTD: Biphasic Sleep Experiment – Day 10

Physical State/Tiredness

Still a little sore after my exercise yesterday, so I thought I would have a rest day and hit the iron hard tomorrow.

In terms of tiredness, same old – zero. Now I am keeping my early-evening nap in check, all is well!

Mental State

Still very, very positive. Hailing this as the greatest thing I have done in a long time. I cannot stop myself from getting excited about it!

Diet

Started cutting the crappy foods, more white meat and steamed vegetables. Raw energy levels are grateful :)

Productivity

Tomatoes Completed

Total number of Pomodori/Iterations from The Pomodoro Technique completed.

10 at work, 4 at home. I decided to cut the working eve short and have a couple of beers with a friend!

ToDo List Zero

Are all items that were on the “ToDo” list at the start of the day/added and urgent completed?

I carried a couple of items over to tomorrow since I decided to take the evening off. No biggie though, there’s nothing else on it :)

Inbox Zero

All emails in the Inbox processed. (i.e. relevant tasks created/replies sent)

Yup!

Review

I am finally starting to get used to the fact that I can take some time off now. Gone is the guilt and worry about tasks lingering over my head. I have complete faith that I will not allow myself to get back to the state I was in, so rock on, relax a bit!

Exercise

No exercise today, but looking forward to workout tomorrow!

Summary

As you can see, the blog posts are pretty much BAU. For that reason, I have decided to reduce their frequency on this experiment. I’d rather spend more time blogging on the specifics I am working on now as opposed to what is giving me the free time to do it.

I believe I have covered all the basic angles to getting started, and I will continue to track the above on a daily basis and produce a “digest”.

However, as always, if you have any questions for me, then please do ask!

Tuesday, 28 July 2009

GTD: Biphasic Sleep Experiment – Day 9

Physical State/Tiredness

So, today was the day I was hell-bent on getting some exercise in (since I was meant to start yesterday but never got around to it). But, I ran in to a problem – but not with what you might think..

I awoke as normal, feeling fresh and alert after my 3 hour sleep. I go to work, do my full day (taking a small 30-minute nap at desk) and then return home with only one thing on my mind – grabbing them kettlebells and having my way with them!

Having returned home, I grab a drink, take 20 mins out (having a great chat with @peterlanoie about CI) and then get cracking. After about 30 minutes huffing and puffing I am pretty tired. I remember now why I thought kettlebells were hard – they are hard! This is the first time I have exerted myself in years! I felt pumped,so pumped in fact I happily made some chicken and vegetables for dinner, then got to working on the ToDo list.

I was so happy I didn’t notice that I had been working non-stop 2100 - a whole two hours overdue for my evening nap! Now as soon as I realised this, I knew I was in trouble. As I’ve covered before, the afternoon nap is critical and should not be messed with.

I immediately stopped working and got to bed, I then managed to sleep right through the alarm until 2330 (Added Task to get louder alarm). Crap. I’m not going to take the tame off of my long sleep tonight since I don’t want the problem to cascade. But  really need to keep this in check!

Mental State

While I am pretty pissed at myself for losing control of things temporarily – I am not actually beating myself up for it that much (very out of character for me)..

Why? My ToDo list is still in great shape – I screwed up but I am in a position where it isn’t going to really cost me. Less stress is less stress. Period. This actually makes me even more “pro” the whole experiment! Anything that causes me to let up on myself must be a good thing!

Diet

Same as normal, still focused on keep caffeine down to little/zero. I have now also ditched the sugar in cups of tea (me being British, it’s in my nature to drink gallons of the stuff).

Now that I am getting back on the training horse, I will be taking a lot more care on what I eat in the evenings as well. Supplements are also going to be getting worked back into the diet plan.

Productivity

Tomatoes Completed

Total number of Pomodori/Iterations from The Pomodoro Technique completed.

10 tomatoes down at work, by the end of the day I felt like I had completed a lot. Lots of tests and code written and a new feature almost completed :)

At home I’ve currently only logged only three since I was more focused on getting the training done as opposed to focused work. Obviously I will be aiming to strike a balance between the two in the coming days so I don’t screw up my sleep again!

ToDo List Zero

Are all items that were on the “ToDo” list at the start of the day/added and urgent completed?

Should be by the time I am done for the night.. Due to the hiccup I may end up carrying some non-critical(s).

Inbox Zero

All emails in the Inbox processed. (i.e. relevant tasks created/replies sent)

Yep!

Review

Due to the massive lack of “tracking” at home, it would appear that I have been very “unproductive” but I am cool with this – I got my core focus completed. Sure, while I had a hiccup with scheduling, it’s all teething problems and they will all be ironed out ASAP.

The funny thing is, one of the biggest changes I have gone through of late is simply the refusal to let time go by without getting stuff done. This might sound stupid, but I am being deadly serious about this being a fundamental attitude shift. This is not “oh I should really do this” it’s “I have to do this”. No “if’s”, no “but’s” – no compromise.

Once this starts to really set in, you take bumps in the road in your stride. I have complete faith that I and my “GTD” system will get it sorted. Chill, geek :)

Now that has taken some serious time to get to!

Exercise

I started with an adaptation of of Mike Mahler’s Beginners Kettlebell Workout (free eBook). In short:

  • One-Arm Clean to Military Press (2x10 L/R)
  • One-Arm Bent-Over Row (2x6 L/R)
  • One-Arm Windmill (1x3 L/R)
  • One-Arm Swing (2x10 L/R)

I also threw in these for some fun :D

  • Renegade Row (2x6 L/R)
  • Double Kettlebell Front Squat (2x10)
  • Figure 8’s (1x 10)

By the end of this I was pretty puffed out :D Good fun! I’ve really missed the kettlebells TBH! Looking forward to getting past this initial pain process and upping the routine/weight!

Update

I should also add, I got my blood pressure monitor today. Still waiting for my callipers, but once they have arrived I will also be tracking some basic stats and publishing those.

Summary

A bump in the road, a little annoying, but I am still all good. I am still getting a blinding amount of work done and a lot of this is a learning experience. It would be foolish of me to think that I could get away with pushing myself this hard and not having some bumps in the road!

That said, the core focus for “geek at home” today was really the exercise, and no matter what – I nailed that and had a great time!

Monday, 27 July 2009

GTD: Biphasic Sleep Experiment – Day 8

Physical State/Tiredness

I really feel I am now totally adjusted to the biphasic sleep pattern. I find myself yawning before my afternoon nap (although I don’t feel excessively tired) – but my body knows the nap is coming. I also feel a lot more “awake” during the midnight hours.

Mental State

One thing I have yet to shake is the annoying:

I am coding/geeking out and look at the clock and think “holy crap it’s late! I had better get to bed!

… and then realise I am supposed to be awake, I have done it twice already today :P

Other than that, I am really, really happy!

Diet

After my lame-ass diet over the weekend, and keeping in mind training is on the horizon I pumped myself full of vitamins today. Also grabbed several helpings of fruit and nuts etc.

Productivity

Tomatoes Completed

Total number of Pomodori/Iterations from The Pomodoro Technique completed.

Once I have completed these blog posts, I will be finishing the day on 18 tomatoes. Outside of “tomato time” I also had a good hour or so on the 360, some time chilling out in a coffee shop reading my book and just some relaxed reading while prepping for training.

ToDo List Zero

Are all items that were on the “ToDo” list at the start of the day/added and urgent completed?

Once I publish this. Yes :)

Inbox Zero

All emails in the Inbox processed. (i.e. relevant tasks created/replies sent)

Yes :)

Review

Today was a weird one.. I actually found myself looking to see what other boring admin items I could dedicate one tomato a day to, to clear off. I decided to go for “finances”. Keeping it generic I have started to review where my money is going etc, and of course will taking action on making my money work for me. Blog posts on this are likely to follow!

Exercise

I have a confession to make – I was supposed to start exercise today but I didn’t. It was my own stupid fault. I should have got on with it before my afternoon nap. I didn’t. I then sat down and started tinkering with the setup on my continuous integration server. Boom! Too late to exercise.

I’ve marked the task as “postponed” on my ToDo (which makes me hate myself) so I will be picking this up tomorrow. For those interested, I have opted to start (reasonably) light with Mike Mahler’s Beginner Kettlebell Workout (available in the free eBook). I used to train with kettlebell’s before, and they are AWESOME. I also know they are bloody hard so keen to start light.

I did also order some training aids to help with recording my progress. I’ve got a blood pressure monitor, measuring tape and skin fold callipers on their way.

In terms of aims/goals – I am not looking for a green lid this time around so I won’t be training at psychotic levels. I figured I should apply KISS and just want to look good naked!

So, let project “GLGN” (Geek Looking Good Naked) commence! (by definition I must surely be doomed to failure right?) :D

Summary

I think my biggest challenge now is really finding some negatives for this experiment. I have never been so productive (and felt great with it). The only other time I have done this amount of work is when I’ve pulled all nighters – and we all know how that comes around to bite you in the ass (mentally, physically and general quality of output).

My apologies for not getting started with the exercise today and adding something new to the mix – but the CI setup is coming on nicely and I am learning loads!

I am actually really excited about starting the training routine. Based on how I am feeling right now, I think it will be a cakewalk (or at least getting started and finding the time for it will be) :P :D

Sunday, 26 July 2009

GTD: Biphasic Sleep Experiment – Day 7

Physical State/Tiredness

Bit tired today because I went out and got wasted last night (probably got home and into bed at about 0230). To try and reduce overtiredness today I did turn off the alarm and have an extra few hours sleep (woke up at 0900).

By the end of the night, I was indeed a physical state :D ;)

Mental State

Still riding the “feel good” wave. Amazing how much happier I felt last night going out knowing I had done everything I wanted to get done. This is exactly what I believe “getting things done” is about. Not working more (per se), but enabling you to play more.

Diet

Diet was kind of messed up today, I had some massive kebab on the way home last night and it seems to have messed with my stomach a bit and I’ve kind of lost my appetite.

Will get plenty of good food down my neck tomorrow to compensate :)

Productivity

Tomatoes Completed

Total number of Pomodori/Iterations from The Pomodoro Technique completed.

11 – A nice easy-paced day for a hungover geek :) I am now working my way through hard mode on X-Men Origins : Wolverine :D

ToDo List Zero

Are all items that were on the “ToDo” list at the start of the day/added and urgent completed?

I think I can actually say this now: “as always” ;)

Inbox Zero

All emails in the Inbox processed. (i.e. relevant tasks created/replies sent)

I have one or two pending items to friends on Facebook that I never got around to answering. Will pick these up in the morning though.

Review

Had some fun today playing with build scripts as well as Greasemonkey. Both have been sat on the Tech ToDo for quite some time so it was nice to be able to dedicate a few tomatoes to both of them. Also had a chance to write another blog post – really enjoying the writing actually. I hope you are finding the extra posts useful!

Exercise

I have some basic ideas drawn up for training plan – will post tomorrow with my thoughts (and of course first day of actually doing it).

Summary

So, my first full calendar week is now completed. I have jumped several hurdles and learned HEAPS. To recap the main points:

  • The afternoon nap is critical. DO NOT mess with it!
  • A 30m nap around 1230 eliminates the natural afternoon slump nicely.
  • The ability to fall asleep is actually a skill in itself. Train yourself to fall asleep and things get easier.
  • Meals need to be kept small and light, it messes with naps way too much.
  • Don’t underestimate the power of getting items off the ToDo list! My outlook has improved so much just because I am stressing so much less!
  • Start winding down about an hour  before your main sleep. It can be hard to sleep while the brain is still whirring. I tend to go to bed with a book.
  • Your ToDo list becomes a whole lot more fun when you are doing more of what you want to do rather than what you need to!

To the next step!

GTD: Biphasic Sleep Experiment – Day 6

Physical State/Tiredness

Same as yesterday really. No problems at all with feeling tired and getting to sleep a hell of a lot faster.

I moved my afternoon nap forward by 30 minutes since I am heading out tonight and have a friend coming over.. This made me nervous since I know the afternoon nap is totally critical. Thankfully, this had no ill side effects (although I want this to be an exception).

I awoke after the afternoon nap, got showered and dressed and then went out and had a rocking night getting wasted!

Mental State

Really positive and excited. Today was the first day in a long time where I actually genuinely looked forward to hitting my ToDo list! Admin/boring items only accounted for two tomatoes and the rest were all things I want/like to do!

Diet

I broke my caffeine ban to have one iced latte at a coffee shop this morning. Obviously being so far from my any of my nap periods, this had no noticeable side effects.

You know the routine for meals now, small and light!

Productivity

Tomatoes Completed

Total number of Pomodori/Iterations from The Pomodoro Technique completed.

6 tomatoes completed since I wanted to take some time out today. It’s Saturday and I have been working hard all week. I also wanted to make sure that I enjoy the weekend as well as get things done. The 6 tomatoes completed covered the items that had to be done as well as setting up a build server at home (something I was itching to mess around with). So all good in my mind!

There was plenty of 360 time to be had too :D I have now completed X-Men Origins : Wolverine which is actually kind of cool in itself. I have not had the game long and it shows that I have had enough time to play 360 (and still get everything I have done) that I completed a game! Of which I totally recommend, who doesn’t want to be Wolverine right?

It should be noted that I still do other productive things outside of tomatoes (i.e. read etc).. They are just not "100%-focused” activities. I think my brain is pretty conditioned to make me hate myself if I am not doing something constructive with my time :D

ToDo List Zero

Are all items that were on the “ToDo” list at the start of the day/added and urgent completed?

All important items have been completed. I have also been able to reduce a couple of the repeating “catch up” ToDo’s to a smaller frequency since there is simply not enough work there to warrant a tomato a day. This is awesome since they were boring and lame :)

Inbox Zero

All emails in the Inbox processed. (i.e. relevant tasks created/replies sent)

Yup!

Review

Fun ToDo list. I has it. Need I say more? This has so many positive factors!

Exercise

I’ve been thinking about what exercise I want to bring in to play on Monday.. Will come up with a game plan on these and post these tomorrow.

Summary

I am thinking one week iterations of “clear backlog and raise the bar” might be a good idea. In this one single week I have cleared 80% of the crap in my life (I came up with a few more, so they will be coming on the ToDo and getting nailed as well).

I’m looking forward to getting some regular training integrated into my daily life again. My arms look like pieces of string and it irritates the hell out of me :)

On that note, how much training information would you guys like to see? I am increasingly aware that this blog has not been incredibly technical of late. But if people out there will find something interesting/useful I am keen to share!

RSS - “Really Sh*t Substance”

Apologies for the language in the subject – I was struggling to come up with the right word beginning with “S” to express how I felt! To clear up any worries, no – I am not turning into a hip-and-trendy Rails developer (More swearing)…

Cleaning the RSS House

So, thanks to my biphasic sleep experiment I have finally managed to get down to “RSS Zero” – no unread or starred items. When I started this I had 2000+ unread items and over 8 months backlog of starred items “for later reading” – yeah, the “later” was very late!

This has been a really interesting task on several levels:

  • I was reading a lot of content alongside other content (as opposed to the odd post here and there).
  • I could benchmark where I am at without the “help” of the RSS content. By this I mean, “all those items I never read, did they make a difference?
  • I allowed me to go over and over the reading process – and got me thinking about making it slicker.

Content vs. Content

This was an interesting revelation, I found myself rapidly starting to notice massive differences in the quality of blogs when reading them all together in chunks (I have been dedicating one Pomodoro a day to RSS).

I found there are very few blogs actually posting original “here are my thoughts” content. However, there seem to be shedloads of blogs posting things that annoy me. Here’s my “pet peevs”:

Link “Digests”

There are several blogs that like to post “link digests”. Simply a post containing a bunch of links to other posts/articles. Now, some people may find this useful, obviously I do not, here is why:

  • 99% of the time I am already subscribed to the original authors content.
  • It’s hard to skim-read.
  • Linking without a reason why you are linking makes me have to go in to the article to then realise it is not actually interesting to me. Thanks for wasting even more of my time.

So, all of these people are now unsubscribed from my Google Reader.

I am all for linking to useful articles, but there are better mediums for it/ways of spreading the content:

Using Shared Items on Google Reader (or similar)

This feed mechanism gets me to the content much quicker and allows me to decide.

Posting on Twitter

But do this judiciously since it can hack people off. So “why do it?” you ask – because you are less likely to share crap. 

Post your own thoughts on it

“I read this and it rocked because..”. This also has the benefit of demonstrating you have a brain rather than just the ability to spam people :)

As you can see, I went through a phase of doing it myself. I tried to offer links along with why I am linking them. I later dropped this since I had little feedback and it came with a relatively high maintenance cost but at least I tried to add my own spin.

Regurgitation

This is basically taking someone else’s content and either just reposting it (seen a lot of blatant/borderline plagiarism) or just saying “I read this, it said …”.

This is boring. You are adding nothing to the content. Would you buy a newspaper that said nothing? Just because it is free download RSS, it doesn’t means peoples time is free to waste.

Don’t get me wrong, a lot of the posts on my blog are inspired from what I have read elsewhere. Hell, that is the fundamental basis for most learning. But I always try to take the content, think about it, then post my thoughts. This:

  • Helps you learn more.
  • Shows that you have the ability to think.
  • Provides extra knowledge.
  • Engages other people because it gets them thinking.

For me, the last point is the kicker. This is really the main reason why people want to read the damn RSS feed in the first place right?

Asking Questions, But Not Providing Answers

Lots and lots of posts had lots of “what if’s” but never actually got to providing answers. Now I am not talking about asking for help, that is posed very differently. I am talking about “general discussion” posts that are posed like they contain subject matter but have zero substance. I view this as a real problem because:

Search Engines Will Find You

… and what are people going to be searching for? Answers. You have just added more time wasted on their problem and increased their level of frustration. Google SearchWiki (bad name, great feature*) was a godsend for this. How many times have you gone looking for answers and found lots of unhelpful blog posts? Too many.

I have a several posts here (such as this one) that have pulled in so many visitors because I made a clear point of solving the problem and sharing the knowledge. Note that in the example post:

  • I make it clear in the subject what the problem is and that I solved it.
  • All error messages etc. are in plain text rather than screen grabs. Don’t be lazy, search engines will thank you ;)
  • I outline in clear steps that actions taken to fix the issue.
  • I prove the fix.

Now, this may be easier for hard problems such as an error message. But you can apply the same to thoughts on other posts. Go over what the post made you think, and post your thoughts.

* Bing Dev Team – Are you reading? ;)

The Reader Always Loses

It’s only at the end of the post does the reader realise you have been of zero use. Sad trombone. This is really, really, really bad.

Did I “Need” the RSS?

I had thousands of posts/articles starred for later reading. 99% of these were things I needed to learn at the time of starring. What was really interesting looking at the 8 month timeline is that all the historic stuff I ended up learning anyway.

For me, this really reinforces all of the above. If a blog feed is so uninteresting and unhelpful, people will get what they need elsewhere.

The Reading Process

I never, ever want to go back to having a backlog like that again. To help, I have:

  • Unsubscribed from tons of feeds to “cut the fat”.
  • Added a rolling ToDo to check out my Google Reader Trends to ensure I am not keeping boring feeds in my subscriptions (most RSS software will have similar).
  • Stopped using stars/tags since the process is out-of-band from my main GTD process and instead streamlined getting items from Google Reader to Remember The Milk.

In Summation

Yeah, this post was more of a rant, but I really want my blog to be of use to people and if thinking about what I think makes other blogs bad helps that, then so be it. I really wanted to share my thoughts here to see what others think.

How do you think this blog holds up against the above?

As always, comments very welcome and very listened to. Thanks a lot :)

Saturday, 25 July 2009

GTD: Biphasic Sleep Experiment – Day 5

Physical State/Tiredness

Totally. Freaking. Rocking.

Really feel like I am getting in to the swing of it now. Making sure I am learning fast from previous mistakes (e.g. keeping meals small and light, ensuring I keep the afternoon nap on schedule etc) is really paying off. I no longer feel tired or groggy at all.

I have also found I am learning to sleep quicker. I took a few pointers from one of Pavlov’s Dogs and/or The Clockwork Orange (?) and started listening to the same binaural mp3 each and every time I sleep or nap. I have found now that I rapidly fall asleep when listening to it, which really helps in the shorter nap periods where I quickly go from “doing something” to “needing to sleep” (this is not so bad when I get my long sleep, since I wind it down from 0200 and read a book to make me feel sleepy).

I found it also helps to take deep, slow breaths. Breathe in a nice lungful of air, slowly. Once full, slowly exhale.. Keep doing this a few times and you will start to feel your body naturally relax.

As with all forms of training, you get better at it the more you do it. I tend to be able to relax my entire body quite quickly (I used to do this a lot with martial arts to keep loose and movements fast).

Mental State

Brain still running at full whack all the time, this really does make all of the above all the more important. It can be really hard to settle quickly if you can’t shut your head up :)

Now, this sounds cheesy – but I am feeling really positive and happy as an individual. Not having the stupid, meaningless crap that we all have to deal with every day chewing up all my time really does improve your outlook! I know I will no longer be wasting time. Maybe I am just getting old and conscious of the fact that life is short and we should make it count :P

Diet

Caffeine withdrawal symptoms and dependency now all gone and WOW do I feel better for it! This has actually got me seriously thinking of dropping the alcohol too.. But anyone who knows me and how much I love my Jack Daniels and Coke.. Yeah – still mulling this one over :P

I had a really small snack before my afternoon this time around.. The result? 1.5 hours good sleep and one refreshed geek :)

Productivity

Tomatoes Completed

Total number of Pomodori/Iterations from The Pomodoro Technique completed.

I started really well at work, cranking out lots of code.. Then corporate frustration set in and productivity dropped off. Ended on about 9 tomatoes. This is nothing to do with tiredness levels or the experiment.

I went wild and actually took the Friday night off! My ToDo list was empty! (apart from the one item to write this post – which I was happy to carry). MY TODO LIST WAS EMPTY! xD

So, I only did about 9 tomatoes, and it felt really, really good!

ToDo List Zero

Are all items that were on the “ToDo” list at the start of the day/added and urgent completed?

Hell yeah baby!

Inbox Zero

All emails in the Inbox processed. (i.e. relevant tasks created/replies sent)

Replies sent, spam deleted, pretty much all done via my XDA while on idle-time at random points in the day.

Review

Was really sweet to be able to take the night off.. I can’t remember the last time I actually took a night off without genuinely not worrying. I don’t care how crazy people think I am doing this experiment, that made it totally worthwhile.

Exercise

Light exercise is starting Monday! :S

Summary

It really does keep getting better. Today (day 6) I logged on to my computer and I had two tomatoes of boring crap to do. Two as opposed to the normal six. I am fine with that, I am looking at a lot more of a fun schedule over the coming weeks and I genuinely cannot wait.

Happy geek :)

Thursday, 23 July 2009

GTD: Biphasic Sleep Experiment – Day 4

Physical State/Tiredness

Same as yesterday really, awoke feeling really fresh and alert first thing in the morning. I again took a nap at work at 1230-1300. There has been a fair bit of interest about the napping at work so I thought I would take a minute to talk about it here (see below).

Other than that, I did awake from my afternoon nap rather tired and groggy (took me 15-20 mins to get head together) but I actually think this is related to food since I ate a rather large pizza before sleeping.. :\

I have also found that even though it is great having the brain running longer, it can equally be hard to shut off. I have started going to bed with a book at 0200 so I can start to wind down to sleep mode for 0300. Staying up to 0300 is NOT a good idea, you really need to be going to sleep “FOR 0300” not “AT 0300”.

Napping at Work

Here’s what I do:

At about 1200, I do a quick scoot around the team to see if there is anything they need from me, I then tie off any loose ends as required. I make a point that in about 30 minutes I will be dead to the world :)

I’ve emailed the team to let them know about this experiment (mainly to apologise for any crankiness in the interim etc.) I also warned that there is a likelihood that I will need a nap in the afternoon. So, once it came around and I spoke to the manager about it, there were no surprises.

I asked the manager if he minded that I do it at my desk - I made it clear that I was not going to fall asleep for two hours without realising it, I have an alarm set up etc. I know there is likely to be odd perceptions when you walk in the office and see me snoozing on my desk with a sleeping mask on :) I also use my TomatoTimer app in full screen with the 30 minute timer on, so people know how long I have left. I then whack on a binaural mp3, go to sleep and then TomatoTimer wakes me with a nice loud alarm once my “set break” is over (I am a Pomodoro Technique practitioner).

Likely Issues

“You are a lazy sh*t Rob! Sleeping at your desk! Well I never! I don’t pay you to sleep on the job! blah blah blah

First off, anyone who knows me, knows I am far from lazy. But if you are that narrow-minded and out of touch (like many PHB’s) I would say (in this order):

  • “I am doing this to boost my productivity and brain power. This directly affects my work. Help a geek out.”
  • “Napping in the afternoon totally eliminates the afternoon slump which can quickly add up to hours in work over the week – @robcthegeek says so” (seriously, tell you boss to email me).
  • “If you prefer me to be at my desk doing work, it will only take me 30 seconds to return to ‘work mode’ at my desk if you let me crash there.”
  • “I am entitled to 30 minutes minimum lunch break by law, if I can’t do it at my desk, I will do it elsewhere.”
  • “Your attitude sucks, I think my skills will be best used in another employer. I can’t believe I have gone through four iterations trying to convince you to let me better myself!”

Mental State

Rapidly becoming BAU – very focused, very alert and feeling great at my tiny little ToDo list :)

Diet

Pretty much all symptoms of caffeine withdrawal gone now which is excellent (was a real thorn in side at times). I really appreciate the benefit of natural alertness over synthetic caffeine-fuelled “alertness”. The latter crashes hard :(

As mentioned above, I had a large evening meal and I think this really interfered with the afternoon nap, so I think I really need to keep tabs on that. It is becoming very obvious that the afternoon nap appears to be the key to making this work. Whenever I have had problems, it has been when I have screwed the afternoon nap over in some way.

Late night snack at 0100 rather than 0000. I had a REALLY light snack this time (1 slice of Marmite on toast) since I think it was offset by that damn pizza and didn’t want to propagate the problem to my main sleep.

Productivity

Tomatoes Completed

Total number of Pomodori/Iterations from The Pomodoro Technique completed.

About 10 at work (lost a fair few due to interruptions today) and 9 at home, totalling 19. Nice!

ToDo List Zero

Are all items that were on the “ToDo” list at the start of the day/added and urgent completed?

Yes! As with yesterday, I also got a sneaky couple of items off of tomorrow’s.

Inbox Zero

All emails in the Inbox processed. (i.e. relevant tasks created/replies sent)

All emails that needed replies have had replies sent. Any relevant tasks were of course created as appropriate.

Review

My main GTD/productivity thoughts today were “sustainable pace”. I know I am sailing close to the wind with the experiment, so I wanted to make sure I play it reasonably smart ;)

I am seriously thinking of setting a ceiling limit on the number of tomatoes I do in a day, or following a Kanban-style system where I set ceiling limits on different categories of work (e.g. 2 admin, 4 development etc.)

I am very close to completely clearing out my backlog of crappy RSS, Email and general admin. I am keen to then move into a period of “this is how I want to live my life”. In short, I am seriously thinking of aiming towards self employment sooner rather than later, so I need to get my working lifestyle in check. I do not intend to work at a crazy pace for the rest of my life!

Exercise

Going to be reviewing this over the weekend, thinking I would like to start integrating some light exercise into my schedule to see if it kills me with this sleep level.

Summary

Another rocking day. I am still rather shell-shocked at the massively positive effect this is having on me. I am seeing improvements right across the board in everything I am doing. Like.. WOW!

I am also loving the conversation and interest this has sparked, it’s been real fun talking with you guys and hearing your thoughts (and laughing at the “you’re crazy” and shocked faces) – so for that, I thank you all! :)

I am a bit concerned that this stream may become a little boring across a month (obviously I have my own agenda to push the bar, which should help stem this) – however, if you have anything that you would like me to cover, anything then please feel free to ask and I will see if I can make it a regular appearance on these updates.

Wednesday, 22 July 2009

GTD: Piping Google Reader Items to Remember The Milk

Right, so one thing I had on the ToDo list is to clear out my 8 month backlog of articles in Google Reader that I had starred for “later reading”. This “later reading” never came, and so the problem began.

The Problem

I use Remember The Milk (RTM) for my task management solution. Put simply, I am glued to it. If tasks go on there, they will get done. However, the problem with the RSS is that I had to actively open it and then go to the starred items. This is a whole out-of-band process that put simply, I will never do consistently.

I think another part of the problem is the classic “geeks and ADHD” – we are forever attracted to the sparkly glow of a little bit of knowledge or “oooooooo that looks interesting”. It’s very easy to then tag/star lots of articles based on 2 key words of interest. The sad truth is this, a lot of people really do write crap (of course, I am no exception).

Thinking of a Solution

So, I got to thinking about the two main causes of the problem:

  1. The out-of-band process for marking things “to read”.
  2. Marking things “to read” without really skimming the content enough.

The second is the easiest to solve. Spend an extra 30 seconds when skim reading and really decide if it worth reading further. In (far too) many cases, 30 seconds is enough to get the core content out of the post and/or realise it’s not worth spending more time on.

The first is harder, I needed a way to quickly get the info from Google Reader to Remember the Milk. I know RTM has several options for working with it, so I began looking around.

What I Went With

I then remembered the “Inbox Email Address” (“Settings” > “Info”) this is basically a specialised email address that parses email content into tasks. Bingo.

Looking at the documentation - if we can quickly create an email with the required information from the interesting article from Google Reader, we will be on to a winner. So I went back to Reader to have a look. Then it hit me:

Google Reader Email Google reader has the ability to forward articles via email (open an article, and the bar above appears at the bottom of the post).

Hitting that, we are then prompted to enter our own message, this is where we need to add the formatted text for our task. Note: This took some playing around with to get it right, so copy this char-for-char!

Google Reader Email Content  Here you can see:

  • I have added “RTM Inbox” to my GMail Contacts (this makes it easier to type). The email address is the one from my “Settings” > “Info” > “Inbox Email Address”. Do not share this with anyone.
  • I then slightly edited the subject to what I want the task name to be.
  • I set the “due” date to “Today” (“Tod” works fine).
  • I added a tag, “reading”.
  • I set the URL to the URL of the article (right click the article title in reader and copy link).
  • I then mark the end of the email content with "-end-". This basically tells RTM to not bother to try and parse all the Google crap that is appended to the email :) (if you omit this, it will end up being created as a note on the task).

NOTE: There is no space between the shorthand “command” and the “value” (e.g. “D:Tod”) – Adding spaces seems to cause RTM to fail!

The Result

RTM ResultNice! We now had a task in our normal workflow, which is really quick and easy to get to!

The process becomes pretty quick once you are used to doing it (as with anything I guess) – I rarely use the mouse for it now. I also find that the act of adding it to the all-important ToDo really makes me ask “Is this article worth my time?”.

I hope you found this useful!

GTD: Biphasic Sleep Experiment – Day 3

… and here we go again!

Physical State/Tiredness

The day started brilliantly – I really felt like I was “starting to find my stride”. I awoke fresh, alert and not tired at all. I took the usual power nap at 1230-1300 to freshen up (looks like this will be here to stay) and all was well and rocking.

Sadly, it kind of broke down when I decided to meet some friends for lunch and then stay out. I ended up pushing my afternoon nap back by a couple of hours. Once I awoke from the nap, I did feel overly tired. However, a cuppa and a sandwich appears to have righted that.

Mental State

Even better than yesterday, I can honestly say I cannot remember the last time I woke up feeling as good as I did this morning. The positive effect of the increased alertness and brain being “in gear” is just amplified by the fact that I am really getting stuff done (will cover in a bit). The reduced guilt of not crossing tasks off the list added to the feel good factor of not being a zombie really does make a happy geek!

Diet

Still suffering a little bit with the caffeine withdrawal, but I think the worst is definitely over. The smaller and lighter meals/snacks are really sitting better on the stomach too (I made sure today I had a smaller main meal and a slightly more substantial late-night snack).

Productivity

Following on from my thoughts yesterday about how to measure productivity, this is what I have so far:

Tomatoes Completed

Total number of Pomodori/Iterations from The Pomodoro Technique completed.

11 – and still counting (will update before sleep) 13 in Total. However, I did take a massive break today (i.e. from 1300-1930) meeting friends for lunch and a catch-up. It was actually nice to just walk away from the list knowing I had actually done pretty much everything I wanted to get done today.

ToDo List Zero

Are all items that were on the “ToDo” list at the start of the day/added and urgent completed?

Yes! :) I also completed some additional items that I had marked for tomorrow.

Inbox Zero

All emails in the Inbox processed. (i.e. relevant tasks created/replies sent)

Yes. All that remains is two emails that have a reply pending, but they are not urgent. I have created tasks for tomorrow to review the draft content before sending.

Review

I literally have no loose ends hanging around. I am reading a massive amount more, and what is best, is it seems to be being absorbed a lot quicker. My brain feels like it is on speed but just isn’t getting tired. It may sound like I am over-hyping it, but I am really NOT. I guess today I felt it a lot more since the overall tiredness is a lot less. I generally seem to be processing information faster. I have even spent some time today reading/watching talks on Wetware Refactoring and it all makes sense. In short, it is well known that the more you use the brain, the better it gets. It is a learning, adaptable machine. Just using it for an extra ~3 hours a day is bound to have a positive impact on it’s processing ability.

Exercise

Still pending, although I did really get the stomp on when walking back home from the city centre (totalling a good 30 min walk). Like, seriously, I physically couldn’t walk any faster (would have to break into a run). I didn’t get tired at all.

Summary

I was worried that the hiccup caused by the late afternoon nap would really blow it, it is still early days and I expect to still be fragile. However, all seems well thus far.

I am genuinely starting to enjoy this experiment a lot more (now the tiredness is wearing off). I cannot wait until next week when ALL of my backlog of crappy items (will outline FYI) will be gone, FOREVER! I can then start on increasing my output of the cool stuff that I want to get done (both geeky and non-geeky).

Crappy Backlog

These are tasks that have been mounting over the past few months.. Some sound silly, all easily done.

  • 8 months backlog of blog posts tagged for later reading (this is now down to about 3 months – in three days).
  • A tonne of washing that had just stacked up. This is now down to about 4 more loads, but everything is DONE – i.e everything washed is ironed and put away (I would never be up to date with ironing).
  • Sorting of books for reading, and actually reading them. I completed “The Art of Unit Testing” in a few days and I am now about 10% through “Agile in an Imperfect World”. This is of course all on top of the reading taking place in the RSS feeds.
  • General cleanup/review of GTD process to better tie in with how I operate. Something was amiss or I wouldn’t have been in this mess right? :)

Tuesday, 21 July 2009

GTD: Biphasic Sleep Experiment – Day 2

So, I am just wrapping up my second day of the biphasic sleep experiment. It’s currently 02:18 here in the UK and yes, technically I am in the third day of the experiment.

Physical State/Tiredness

Starting to come down a bit now. Felt a lot better today than I did yesterday after my nap that’s for sure! Starting to feel tired now (but that makes sense since the “day” is drawing to a close).

Mental State

Still feeling great about the experiment. Brain working great still, everything seems much clearer and I am still able to keep focused (even though I am still tired/adjusting).

Diet

I definitely prefer eating lighter in the evening for my main meal and then having a smaller snack at around midnight (normal eating habits in the working day remain unaffected).

Not sure if I mentioned this before, but I have also put myself on a coffee ban since I want my awake periods to be natural rather than synthetic “feel goods” caused by 100 cups of coffee. This is taking it’s toll on me since 1. I could use a cup of coffee right now! 2. I am suffering some caffeine withdrawal symptoms and have had the shakes a couple of times.

Productivity

I have been thinking about how I want to measure productivity.. I think I am going to measure in “Tomatoes vs. Average” (Tomatoes coming from The Pomodoro Technique). I will also be aiming for “ToDo Zero” which basically means I got all the tasks I can do, done.

Didn’t really track much today since I had a relatively chilled day since I have been hitting it hard (and of course starting this experiment). Therefore, I am not at ToDo list zero, but not far off of it, all my boring admin is done, so tomorrow should be pretty interesting :)

Exercise

None done as yet – leaving this until next week once my sleeping pattern has adjusted.

Summary

Not much to report today since I really was just taking it easy. Still find that the later hours are a great time to catch up on reading/writing. Even though I have been pretty lazy throughout the day, having the extra couple of hours really helps rein in the slack :)

I hope you like the diary layout (trying something new). Please let me know your thoughts!

Windows Mobile: Must-Have App – CleanRAM

CleanRAM I decided to upgrade my previous phone to a PocketPC/Smartphone/SomeOtherNamePhone. I ended up with the O2-branded HTC Touch “Diamond”. Overall I have been happy with the phone, but let’s be under no illusions, Windows Mobile Really Does Suck.

I have noticed that the UI will get sluggish, programs take too long to load and generally the system just falls apart. This is often a sign of poor garbage collection and memory just being zapped due to things not being tidied up properly. This is pretty much proven by a soft (switching off-and-on) reset fixing the issue.

So, I began the hunt for a free utility to help free up some RAM. And boy did I find one! It gives me pleasure to introduce CleanRAM (the site is in Hebrew so the link points to Google Translate).

What Does CleanRAM Do?

CleanRAM basically goes through and cleans out the crap on our poor memory-starved device. It has three levels of cleaning (1 being the quickest but least efficient, 3 being the slowest and most efficient). As well as a great scheduling system which causes it to automatically clean at a specified interval.

I have been running it for a couple of days now, with an hourly level 2 clean. My phone has never run better :)

And the best bit? It’s free!

If you are running a Windows Mobile device, and find you are often needing to reset, then definitely check out CleanRAM, it may be of real use to you!

A big thank you to Ronen Peleg for the great software!

Monday, 20 July 2009

Book Review: The Art of Unit Testing (Roy Osherove)

TAOUT I have just finished reading “The Art of Unit Testing with Examples in .NET” by Roy Osherove.

I thought I would take some time out to give you a brief précis of the books content and share my thoughts on the book as a whole.

What Is the Book About?

The book covers using automated (code-based) testing to improve the quality of your code. The idea being that we write additional code that pokes and prods the classes in our production code to ensure it operates as expected.

While examples are given in .NET, the principles and practices are transferable to other modern programming languages such as Java.

What is the Book NOT About?

While some concepts are covered in the book – such as TDD (Test Driven Development) the book is NOT focused on these. The title of the book is very fitting since Roy has done a great job at staying focused on one topic – writing good testable code with good unit tests.

Do not get this book if you are looking for in-depth discussion on:

  • Test Driven Development
  • Behaviour Driven Development
  • Continuous Integration
  • Agile Development
  • Specific Tools

I would also say that this book is really for those that truly want to write code. This is not a “teach yourself in 30 seconds by copying this code” kind of book. It covers the concepts and processes to give you the ability to write the code. There is no companion CD with lots of code to check out.

Summary of Content

Here I will give a quick run-down of the books content and pass my thoughts..

Chapters 1-5

The first half of the book covers the basic concept of “unit testing”, what makes a good unit test as well as what code is testable. There are also chapters on fundamental concepts such as Dependency Injection, Inversion of Control, Isolation (Mocking) Frameworks and the core different between a Mock and a Stub (many people do not know). I think it is great that Roy covers these early on since they make a world of difference to testing (I remember when I first started testing using Debug.Asserts!).

Chapters 6-9

For me, this is where we started getting to the “good stuff”. Roy talks about Writing Maintainable Tests, Static Analysis, Continuous Integration, Introducing Unit Testing to a Team and Working with Legacy Code.

Appendices

To finish the book nicely, there is a couple of appendices that cover Design and Testability and of course a round up of the many tools available to help with Unit Testing.

In Summary

An excellent book, I would recommend it if:

  • You are completely new to Unit Testing.
  • You have been Unit Testing for a short while and looking to see what the next step for you is.

If you have been a hardcore TDD practitioner for years, then I would expect that this book is not for you since you would have likely hashed all the issues covered in the book.

There are a lot of great anecdotes in the book, many of which rang home with me and personal experience. Which (for me) just affirms that the content is good.

A real nice, relatively short read. Great job Roy!

GTD: Biphasic Sleep Experiment – Day 1

This is the first of a series of posts that I will create covering my experiences with my GTD experiment on Biphasic Sleeping.

Me being an idiot, as always I decided to throw myself in at the deep end. I have actually started this experiment on a Sunday to see the effect it has on my “Monday morning blues”.

However, to raise the bar some more, I also went out last night and got really trashed, so I decided that I will go to bed a little earlier for my long sleep (13:30 as opposed to 1500). (Update: I never actually did this)

Sunday Evening/Night

I got my head down for 1.5 hour afternoon nap at 19:30. I dozed off pretty quick because I was tired due to the late night last night. When the alarm woke me, I didn’t feel like it was screaming at me to get up. I woke up feeling a lot more refreshed which was actually quite surprising (I was worried that since I was so tired, I would quickly fall in to deep sleep and actually wake up feeling groggy).

At 00:16 I started writing this blog post ready for completion tomorrow evening. I have yawned a few times, but I don’t feel anywhere near as tired as I thought I would. I was expecting to major crash and burn by 11:30. While I am slurping on some tea (I am a real tea bag), I was also expecting to be needing coffee.. Not yet.

Already having a great time working in the quiet of night. I have read several blog posts that looked interesting, as well as completing two blog posts of my own (the introduction to this experiment and another GTD post on using a dictaphone for task management), which is a good few thousand words of (I hope) useful writing.

Now being honest, I would not have got round to squeezing these in with other (higher priority) tasks on the list. Especially the blogging (I try to be a man of action, not words). So, this has been nice.. But we will see how I feel tomorrow.. :)

Some points to note:

  • I forced myself NOT to drink coffee – I want my wake periods to be natural and unassisted. This was difficult in itself.
  • I was getting real hungry around 00:00, so I decided to throw some Marmite on a couple of bits of toast (I am a lover ;).
  • When it got to bed time, I didn’t crawl to bed exhausted, but I did fall asleep quickly.

The First Monday

First Thing

Right, I have awaken at 06:00 as normal after a 3 hour sleep. I started to settle in bed at 02:45 last night. I was really happy with the productivity last night – everything I could have done on my ToDo, was done!

I feel OK right now. Don’t get me wrong, I do feel tired – which is to be expected, but I don’t feel heavy-headed/exhausted. I didn’t find it hard to get out of bed at all, if anything I found it easier.

Will see how the tiredness levels are affected as the day goes on. I will be taking a sleeping mask in to work with me, I have a distinct feeling I will need a power nap later.

  • I found I wanted a smaller breakfast since it wasn’t that long ago I last ate.
  • I skipped coffee, instead having a pint of water :)
  • I didn’t feel any loss of energy on the ~3 mile walk to work.

Working Morning

Once I got in to office, I quickly settled in to work. My brain seemed to be working fine – great in fact.I genuinely felt no difference. I was coding in no time, quickly running through the red-green-refactor iterations until lunch time.

  • Again, ZERO coffee. This has been a first for me for a LONG time.
  • I snacked as normal on a handful of fruit & nuts.

Lunchtime/Afternoon

I ate some more food at about 12:30 (same time) – I have recently got back into the better habit of grazing so I never eat a big amount of food at one time during the working day.

Now, I always have my afternoon slump at about 14:00. I normally push through this by downing loads of coffee and hoping for the best. Obviously, now on a caffeine ban, I cannot do this. So, instead I decided to don the sleeping mask, kick off my shoes, put the office chair into recline, put some Aphex Twin on the headphones and then got 30 minutes of shut-eye. This was a bloody fantastic idea.

I quickly went to sleep and actually felt myself relax and fall into REM sleep (which was kinda weird). My computer then later beeped at me telling me to wake up. I was able to work solid until 16:30 feeling totally refreshed. I am thinking I will most likely do this every day from now on. I left the office having completed 13 Pomodori – which I believe is a personal record.

  • No coffee to pull me through the afternoon slump.
  • Nap replaced the coffee, which was much more effective.
  • Extremely productive working day, I found it much easier to focus and brain quickly got into gear.

Evening

I got back from the office and had some chow. I then felt a bit tired so kind of milled around a bit and played some 360 until my nap at 19:30. It was nice to not feel guilty about doing this, I know my ToDo is in great shape.

Then the inevitable happened, when I awoke from my 1.5 hour nap, I felt tired, REALLY tired! So I decided to go back to sleep for another 1.5 hours to shake it off. I then awoke at 22:30 feeling much better.

I then quickly got to processing emails etc, and of course working on this blog post. I know I have set the bar bloody high with this experiment, so after a productive first evening/working day, I am going to have an easy going night and just do some reading :)

And this is the whole point, I want to be able to have more time to take it easy. I am sick and tired of feeling like “there is not enough hours in the day”. The first logical response to that is to make more hours in the day.

Now, even if I complete this experiment and then revert back to monophasic sleeping. I would have had a month where I would have had approximately 3.5 days, yes FULL DAYS (24 hours) of extra awake time to “get on top of things” that in itself would be immensely useful!

  • Needed 1.5 hours extra sleep after nap.
  • Survived a whole day without coffee to perk me up.

Wrap Up

A very small bump in the road (the extra napping time) for what I feel like was a blindly good (and interesting) first day.

  • Peace of mind caused by massively smaller ToDo list totally worth the (actually small – at this stage) amount of tiredness.
  • Brain already seems much more active and focused.
  • Coffee appears to be rapidly heading towards the “barred” list for a normal working day as a “energy provider”. It’s all LIES! Sure, I enjoy a coffee-and-code session at Costa’s, but I think that may end up being the only time I drink coffee,
  • Loving the quiet time in the night to read/write to my hearts content, it is sooooooooo peaceful and I genuinely find it really relaxing (I don’t feel like I am “working” or “studying”).
  • I am very conscious that I might just be riding the “feel good” wave of adrenaline and excitement, so I totally expect the “wrap up” on future posts to be much more negative very soon!

I will probably be looking to bullet point thoughts for the day in future (unless people prefer the diary-like narrative?). I am also thinking of ways to log things such as:

  • Productivity
  • Diet
  • Impact of Exercise/External Factors etc.

Any ideas on what kind of metrics/other information people would like to see, please do comment and let me know, I will see what I can do :)

Sunday, 19 July 2009

GTD Experiment: Biphasic Sleeping

Biphasic Anyone who knows me (or follows me in Twitter @robcthegeek) knows that I am a really interesting in keeping my productivity up. This has involved research into many topics:

All of the above are under constant review. I have now reached a point where I feel like I want to take another “big step”. I am at a point in my life where I have a ton of stuff I want to do, and relatively little commitment to honour.

Sleep? Seems Kinda Lazy..

OK, so sleep isn’t “lazy” per se, but I often awake wondering if we really do “need out 8 hours”. I have previously heard of great success with alternate sleeping patterns. Sure, I have heard of complete “epic fail” stories too, but in those cases it often seemed that the subject was either undisciplined, was obviously doing it all wrong or just simply had underlying mental issues.

In terms of my previous experience with lack of sleep/non-standard sleep:

  • Insomnia due to stress/external pressures – Always fun, especially when the hallucinations start.
  • General lack of sleep due to “work needing to be done”, often then leading to caffeine highs and crash-and-burn lows.
  • Huge sleeps due to pure exhaustion, mainly caused by overtraining.

Obviously, none of these are good – but they all fall into one or both of these categories:

  1. External factors that are outside of my control.
  2. Me not personally taking control.

As with ANY form of physical training, when done properly (i.e. dependent on your goals), the results can be highly beneficial.

The main goal for me here is to have more time to get things done. So I am just thinking “why not?”.

Sleeping Patterns Defined

First, lets begin with a run-down of the terms used:

  • “wake time” - time spent awake (collectively throughout the day).
  • “nap” – a short sleep. I will also say that when I use the term, it also means a sleep “on” not “in” (i.e. I sleep on the bed but do not get too comfortable in the bed).
  • “long sleep” – in the biphasic sleep pattern, this is the longer of the two (which will be “in” bed).

So, what are “alternative sleeping patterns”? Let’s first go through a “normal” sleeping pattern.

Monophasic

Regular people sleep for one solid block a night (normally 8 hours). This is a monophasic pattern, which could be considered to have the following pro’s and con’s:

Pro’s
  • Allows plenty of time for recovery from fatigue with training etc.
  • Works nicely with the rest of the world since it is “the norm” (e.g. people are awake at the same time).
  • People simply love their bed!
Con’s
  • You enter deep sleep, and can often find it hard to wake.
  • If your sleep is interrupted, it can really affect the effectiveness of the sleep.
  • It’s long! Time asleep is time that could be spent doing stuff!

Polyphasic

The opposite end of the spectrum to monophasic. Polyphasic sleep means many short naps at fixed, regular intervals.

Pro’s
  • The most efficient in terms of squeezing the most “wake” time out of the day.
  • You never get into deep slumber, so always awake fresh and alert.
  • Naps are harder to interrupt since they are smaller
Con’s
  • Severely impacts normal working schedule. The regular naps will directly clash something, somewhere.
  • Naps are real short, so will likely not provide enough recovery time for any fatigue caused by training etc.

Biphasic

Biphasic is the “happy medium” between monophasic and polyphasic sleep patterns.

Pro’s
  • Does not affect schedule of working day since no naps are required during business hours.
  • While not returning as much wake time as polyphasic, it’s still pretty damn good.
  • Centres wake time in the middle of the night, where everything is quiet (can be excellent for doing those tasks you do not want interrupted).
Con’s
  • Can affect some early-evening social events.
  • Those with spouses/partners may dislike going to bed on their own.

My Plan

Keep it short, simple and a little flexible:

  • Wake up at 0600.
  • Go to work. Possibly have a small power nap at about 1230 if required.
  • Come home from work, eat dinner etc.
  • Take a short nap from 1930 until 2100 – this gives me a bit of time if I need to expand the sleep for any reason.
  • Wake until 0300.
  • Sleep until 0600.

Total Sleep Time: 4.5 Hours
Total Wake Time: 19.5 Hours.
That’s an extra 3-3.5 hours per day, at a productive, quiet time!

The experiment is to take place for one month (whether I like it or not!)

Other Points

Here are some snippets of information that I learned while on my travels and thought I would just make a note of them here.

Natural Sleep Cycle

The body’s natural sleep cycle works is 90 minutes. This is why sometimes you awake feeling fresher losing 30 minutes sleep rather than gaining any. Therefore, any changes to the schedule (e.g. I need extra sleep to recover) should be added at 1.5 hour increments.

Movement of “The Nap”

A few other people that have conducted the same experiment have reported that they can move the early-evening nap by as much as three hours with little side effect other than perhaps some yawning. This is useful to know, and I am sure I will end up moving it at some point.

REM (Rapid Eye Movement) Sleep

Many people who have alternative sleeping patterns have noted an increase in their creativity and general alertness. Upon looking in to this, I came across some interesting points. REM sleep is the state of sleep where the dreams start to kick in and the creative juices start flowing. REM sleep occurs within 90 minutes of falling asleep (see previous note on sleep cycle) and interestingly those that practice alterative sleeping patterns get to deeper into REM sleeping state faster. I definitely recommend reading this article on it: “Sleeping on it - how REM sleep boosts creative problem-solving

Wrap Up

Right, I think I have covered enough.. I will be starting this experiment very soon. Of course, I will be blogging my progress and noticeable side effects :)

GTD: Speak Your Mind, Your Tasks Will Follow

Dictaphone Since I eluded to it in my post “GTD Experiment: Biphasic Sleeping”, I thought it would be good to do a post on the latest weapon in my GTD arsenal. My dictaphone.

Clearing Your Mind

Pretty early on in my GTD adventures, I realised once of the most powerful habits to develop was to clear your mind. Now, this is easier said then done right? The reason we are looking into GTD methodologies is because we have so much freaking stuff to do and it is stressing us out. But the process is this:

  • Have a system.
  • Put tasks into the system.
  • Forget about the task because you trust the system to take care of it.

The last point is the kicker, if you cannot let go of the task, you will worry about it. Worry clouds your mind, your judgement and your focus. Pretty much everything we don’t want. So, what is my “system”?

30 Days BD (Before Dictaphone)

Now, me being  a geek I am pretty much chained to a computer. I use Remember The Milk (RTM) for my ToDo list and task management - it’s a great bit of kit and I recommend it highly.

While I am at the PC, if I think of something that needs doing, I simply flick to RTM, go to my Inbox list and then add the task. I then continue with whatever I was working on safe in the knowledge it will be dealt with.

When I then get to a break time, I then flick back to my Inbox and review the tasks that I have added. Some may already be inadvertently completed, some irrelevant, some tagged and filed with a follow up action, others are just plain crazy and get deleted there and then. But the key points are:

  • Once I have added them to the Inbox, they will get reviewed.
  • When reviewing, I organise. Cluttered ToDo == Cluttered Mind.
  • Once it is off of the Inbox list, I don’t give a crap until it comes out on the Daily ToDo.

Now, this works fine and is really slick, when I am at the PC. However, when away from the PC it would really kind of fall apart.

The Problems

  • RTM have a great syncing application (MilkSync) to sync tasks from your Windows Mobile task list (and other devices, but I have a WinMo one). It works great, but Windows Mobile sucks. The UI is clunky, outdated and it simply takes too long to create a task.
  • When away from the PC I tend to get more creative and I have more ideas. So often it’s the one time I need my Inbox list more.
  • I would always forget to add tasks when getting back to my PC. Once I sat back at my desk to get back in to work mode, I quickly forget things I am supposed to add.

So, I was having a think about this and then it hit me:

I often talk myself through ideas, why not just record myself while “in the moment”.

Simple is always a “win” with me :) I then set out to by a cheap and cheerful dictaphone.

Enter the Dictaphone

I did a bit of looking around on Amazon and the “Olympus VN-4100PC Digital Voice Recorder” seemed like a good choice. It is relatively low-cost, looked pretty simple and had a model number that made it sound like a child of Skynet. Rocking.

It has been one of those things where I just keep thinking “why the hell didn’t I do this sooner"?” :)

30 Days AD (After Dictaphone)

The new toy productivity tool arrived and I was very impressed. The interface is really simple and there are some great quick and useful features that make a difference.

Key Features

  • Size and weight - It’s small and light. It fits nicely in the palm of the hand and weigh’s pretty much zero.
  • Speed to Record – Blindingly fast. Switch it on. Speak. Done.
  • Organisation - It has a handy “folder function” (more on this in a bit).
  • Plenty of Storage – unless you are recording your entire day, space is not an issue.

So, how did this marvellous device change my system?

The “New & Improved!!” System

  • I carry it EVERYWHERE with me, even to the freaking bathroom. You never know when a good idea will hit. Luck favours the prepared ;)
  • When an idea hits, I record it into the appropriate folder (really, I will get to these in a minute).
  • I forget about it (unless I am having a brainstorm and then I may record several more related notes).
  • As soon as I am back at my PC, I also play back my notes when reviewing my Inbox list. Tasks are then created as normal. One side note here is that it has a headphone out, so I tend to just plug in when in the office to save people listening to my drone on :)
  • Once tasks have been created and organised, I then delete the task from the dictaphone (remember – keep the clutter down).
  • Rinse and repeat!

Folder Structure on “The Device”

As mentioned before, this particular dictaphone comes with a “folder” feature. Now, it is a really primitive implementation - you cannot make your own but rather it comes with “A, B, C, D” and you can select which folder to save to when recording (it’s quick and easy to switch).

Now, at first I thought it was a limitation, but I ended up using the letters for certain types of notes, which encompasses my note-taking categories which in turn aids a lot in later digestion of them when at the PC.

  • Action - Items that need to be done soon that go straight on to the Inbox and then tasks created.
  • Blog - Thoughts on what to blog, or when reviewing comments etc.
  • Consume - Notes on the current book I am reading.
  • Diary – An all-out free-for-all where I may want to just voice my thoughts.. The regurgitation process can help spawn new ideas etc.

The Result

I am adding a lot more tasks. For example, just the other day I sat down and played back my notes. I added 11 items in that one sitting. That’s ELEVEN items that I would have genuinely forgotten about (or remembered later, most likely too late). Sounds bad, “not MORE work” right? Wrong.

  • I am “forgetting” a lot less. Actually, I am now pretty much remembering everything and it is everyone else that is in the “oh crap I completely forgot about that” boat :)
  • My “bright ideas” are actually implemented (or on the list to be implemented later). It’s real nice to actually have a constant stream of “good” output from the old noggin.
  • My prioritisation & organisation skills are improving more than ever. More tasks == more need for organising and prioritising them.
  • I am distilling information down quicker. When reading books I note all the good bits, this is then easier when doing the post-mortem for the book.
  • Talking ideas through is really good for the brain AND communication skills. I have had several instances where when playing something back, I have realised how I stupid I made it sound and then re-worded it. This regurgitation process is so valuable.
  • My hands thank you. Writing is slow and is simply extra work for hands that spend a LOT of time typing.

Wrap Up

The secret to getting things done is to find a system that works for you and bloody stick to it! I don’t mean a half-hearted attempt at some kind of “routine”. I mean be religious, even fanatical.

My friends often make jokes about how I am always on about how “if it’s not on the list, it doesn’t get done” and thinking I am crazy as I walk around yammering to myself.

But, I do it because it works for me. Sure, it may not work for you, but invest the time to start somewhere and refine your system.

Wednesday, 8 July 2009

Certification vs. Burnination? Recruitment, Employers, Developers – Let’s Talk (Long)

Robdor This has been something that has been playing on my mind for quite some time, so I thought I should get my thoughts out onto the Interwebs and see what people thing. But first a little background..

A Little Précis on Rob

I have been working with C# in the “pro” environment for about 2 years. Before that I had about 1.5 years “bedroom programming” experience. I am a relative newbie to the development world.

In the past year, I really wanted to shake that feeling off. I spend nearly ALL of my time studying and [hopefully] improving my craft – ask my friends, they think I am a loser.

Would I consider my “.NET Skills” my selling point? Probably not – the one thing I have always prided myself on is my attitude:

  • I do not miss deadlines (unless things really hit the fan).
  • I am not afraid of looking stupid, I am afraid of being stupid.
  • I am 110% honest. No matter how bad I look.
  • Always, always, customer first.

I KISS – Keep people happy. Spare me red tape, spare me B.S. – let’s just work together and get the job done.

Back when I was training for the forces (failed entry due to eyesight) I kept it even more simple (and crude – forgive me)

         I do not f*ck around

Moving on..

Certification

In order to try and make myself more “sellable” I have been working towards some Microsoft Certifications (I have Windows/Web 1.1, Now working towards ASP.NET 3.5).

Recently however, this has REALLY been bothering me.. I am constantly having problems trying to brute-force meaningless crap into my head. The MS certifications are notorious for really grilling you on things that actually are hardly ever used. It’s trigonometry all over again.

This would be fine if I did not have lots of other things that I feel that I should be looking into. I genuinely feel like I am wasting precious clock cycles in my brain. When I could actively be learning things that make a difference to how I work, what I can do for my employer and ultimately, the customer/end user.

Burnination

This is a reference to “Trogdor the Burninator” and some fun banter I had with my previous manager. He used to call me “Robdor the Burninator” because I would go crazy at lame code in the repository and then hack like crazy to fix it (we even have archived projects called “xxx – PRE ROBDOR” – they make me happy).

Anyway, the whole idea here is that I am a developer, I enjoy cutting code and I want to solve people’s problems for them.

As an example, I recently started a personal project. I want this project to evolve into a product. I want it to be worth lots to lots of people. I want to change the way people work and ultimately - save them money and help their business grow. In return, I hope I can get a business of the ground and grow myself.

I have been working on this project for about three days now. In that three days I have learned more about:

  • Prioritising tasks/features effectively.
  • Improving the design of my code for increased testability.
  • WPF
  • Organising my tasks/features/futures into some logical sense.
  • How to use Git and remote repositories.
  • My ability to estimate timescales on features.
  • Innovating is not hard (per-se) when you are free to do it.
  • How much I enjoy writing code.

.. than I have in the last year at my employer. I kid you not.

Now, looking at that – what do you think is actually going to have a greater impact on the work I produce for you?

The Usual Suspects Job Requirements

I have seen far too much weight applied to certifications/meaningless experience when it comes to job opportunities.

In the current climate, there are a lot of people looking for jobs. There are CV’s flying everywhere. Now I know for a fact that my CV has been instantly binned because:

  • I have not had >5 years experience in .NET.
  • I do not have a Comp. Sci. degree.
  • I do not have a MCPD

When I can also tell you:

  • I have met people who have > 5 years .NET experience but cannot write a unit test using Debug.Assert let alone xUnit etc.
  • I have met ASP.NET developers that have never written a line of Javascript.
  • I know people with an MCTS in Windows/Web Dev but cannot code up a simple CRUD app, let alone apply design patterns etc.

Now, please do not take this as a flame against those people, it really is not. My point is this, these “basic” requirements can easily be met by people who will genuinely struggle with a lot of development roles.

Training for the Royal’s was a classic, you would often meet absolute beefcakes who would crack and crumble REALLY easily. But the skinny, spotty 16 year old kid would pass every test with flying colours. Why? Looks can be deceiving and the only way to really test a person is to bring them in and run them through the mill.

Selection

Sure, I understand that you need some kind of filtration process, you cannot possibly have EVERY applicant in. But please know what you are shopping for before you go to the supermarket. I am finding myself actually getting turned off of opportunities that use the same old boilerplate crap. “Your loss” you are thinking Mr Agent/Employer right? WRONG – I think most people with even just a reasonable amount of talent are feeling the same way and you are potentially losing out on some great people.

This is not to imply that I am the greatest geek in the world, far from it. But I know that given a good opportunity, I will take it and run with it, that is my nature. I am the geek that will likely die at 40 by way of a stress-induced heart attack, and go to heaven/hell mad at myself for “being weak”.

OK Geek, So Now What?

Apply some brain-time to it:

Understand the Lingo

I am sick to death of being told “it’s a great opportunity” by recruiters that do not know the difference between “C# Windows” and  “C# ASP.NET”. How the hell can you find me a good opportunity if you can’t read the damn label?

Work for Us, Not For You

Modern developers are nothing like the geeks of old. We endeavour to approachable, helpful, honest and act with integrity. We have to. We are not douche bags so do not treat us as such. Talk to us, build a relationship and genuinely want to help us/make us happy. Sure you may lose a little commission or a little time, but one happy geek who refers you to their network of 200+ other good geeks may actually get you the exposure and results you are actually looking for.

Understand that Burnination Can be Worth a LOT more than Certification

Keep an eye out for those that are heavily invested in developing themselves. Someone who is very active in the community or actively developing themselves can bring valuable insight to the team. Don’t underestimate what that can do for your business.

Know What You Want and What You Need

Do you want the safety of that little boilerplate piece of text HR have used for the pass 15 years, or do you want to find the most up-to-date an innovative person you can to drive your business forward?

If You Scared, Use Protection

Many modern processes (such as Agile methodologies) are excellent at highlighting problems early. I am sick to death of hearing managers moaning about how they have “gotten their fingers burned in the past” as excuses for stepping outside the box with recruitment. Stop moaning and start managing! YOU are in charge.

Look at how YOU allowed a “bad apple” to sit in the team long enough for it to become such a major issue. Nearly every employment contract I have signed has a grace period where my employer has the right to bin me without warning. Use that time. Put me through my paces. If you don’t see any hope, exercise that right. But I will say, give people a chance to correct mistakes and if things are not working out – they should know about it. Geeks are in fact human.

If this is not an option, change the way you work, have increased checking, pair program, have 100% code reviews until the other developers are happy with the output. Take control and stop deferring responsibility. I really would not be surprised to see a greater success rate from managers really investing time in making sure they have a solid “integration process” for new employees.

Don’t Throw Recruitment “Over the Wall”

There has been a classic situation like this with designers and developers for a long time. I have often been regaled with tales of “these crazy designers” and I have also witnessed some of it myself.

The problem is this - developers write code and throw it over the wall and expect the designers to make head and tail of all their geek speak and “logical” UI’s. Designers create really sexy UI’s that look great but fall apart when the data from the DB actually replaces their “Lorem Ipsum”. Problems ensue because once the respective individuals job is done, they just “throw it over the wall” then the mess is in someone else’s garden.

In recent years, these barriers have started to come down, and it shows. I actually really enjoyed a recent project with a third party design company because I worked with them, I learned stackloads and had a lot of fun seeing their creative magic at work. We did this by maintaining a really tight loop, always assuming joint responsibility for the end product and keeping each others best interests at heart.

I think WE need to do the same with recruitment. Yes "we” – employers, managers, developers, everyone.

  • Take the time to educate them (whoever you are talking to) on YOUR needs. Don’t write them off straight away. Let them know your issues and give them a chance to address them.
  • Respect theirs, yeah we can all get annoyed, we are all very busy, but they have needs too.
  • Both aim for the same goal – a happy employee with a happy employer. Yes recruitment agents, that means stop drooling over your commission cheque for 5 minutes.
  • Those in the middle (Agents, HR) help both parties get their point across. “Sure, this employer uses VSS, but they reward internal training with a days holiday – why not train them on SVN?” or “Sure, this person interested does not have Comp. Sci, but they have worked with X technology and we are really moving in that direction”.

You get the idea. Really put on your “matchmaker” hat rather than just indiscriminately forward some people and brutally chop down others.

In Summation

I personally feel that too much weight is applied to certifications by companies that somehow want to take the “easy” road. They somehow feel more safe slapping a qualification on it. Maybe it gives them more protection if something were to go wrong. Who knows?

What I do know is: I am really starting to wonder if these are the kind of people I want to be working for. I would much rather continue working for a crap/mediocre employer and working to improve myself to the point where I can go solo/start a joint venture as opposed to move somewhere that cares so little about the true quality of their developers that they just slap a boilerplate label on it and hope for the best.

Certification does not make better developers. Developing makes better developers. My perception of this has really changed drastically over the past 6 months and I have yet to come up with a good counter-argument to this internal change. It genuinely feels right. I am more enthusiastic than I have ever been (even after passing certs.) and I am starting to amass some code to prove it.

I believe the truth is this, you are only kidding yourselves.

What are your thoughts? Certification or Burnination? Is this a problem or a symptom of internal issues/false mindsets?