Faster, Easier Writing
I've been following the tips from this post in the last week and I'm already starting to see the benefits.
Web developer with a preference for Ruby on Rails
I've been following the tips from this post in the last week and I'm already starting to see the benefits.
It's one of the first big technologies to emerge from the early days of the Internet, it's still a preferred form of chatting online for many people and yet I've never used it. I'm taking about Internet Relay Chat or IRC for short. I wouldn't expect many people to have used it with the abundance of free chat apps that are now available for mobile devices, but what I think is unusual about me is that I've been using the Internet for over 20 years, well before the age of mobile devices and apps and to this day I've never used IRC.
The first time I heard about IRC was during a tutorial class at univeristy. We were supposed to be learning about using multimedia to put together an interactive article but with the teaching assistant only able to focus on one quarter of the room at a time, many students were in fact using the time to chat with friends on IRC. When one of my class mates showed me what it was I was intrigued but it quickly slipped my mind and for a few years I never looked at it again.
In the early years of my career I then discovered that many of the programming languages and topics I was interested in at the time had matching channels where like minded developers could meet to help each other out. Even then though I didn't see the point in using it. What might have been a major road block for me was that I wasn't an active computer user outside of work. Work was work and it started at 9am and finished at 5pm. Since then I'm glad to say that my attitude to my career has changed and I've taken it a bit more seriously and invested in reading and learning programming languages in my spare time. Still to this day though I've not used IRC.
A few years ago when the Ruby on Rails framework was in its early years, there might have been an active channel or two for developers to chat about the framework and help each other out but social networks are gradually replacing old technologies like IRC. It won't be long before just the die hards are left using IRC. I've no doubt that it is a good way of communicating online, I just think that people that know about IRC look for something a bit more shiny in terms of a user interface while many new users to the Internet immediately turn to social networks rathen than the protocols that existed in the early days of the Internet.
Even though I've never used IRC, I think it's a shame that a key technology such as IRC is overlooked and frequently never considered as an option when looking for places to chat with like minded people. IRC numbers might be dwindling but I am going to download an IRC client and open up a few channels to see what all the fuss is about. With just one dedicated social network under my belt, I think I can afford sometime exploring other ways of chatting online. Besides, I might actually get to like it. I know I usually hold off when it comes to adopting new technologies and apps but I think 20 years is too long a time to wait to see if something takes off. IRC is still here so why not give it a try?
Chad Fowler's book, The Passionate Programmer has a chapter entitled 'Mind Reader'. In it Chad talks about a colleague who was always turning in work ahead of it being asked for.
That's where Rao's magic trick came in. He didn't talk much in those conversations, but he was anything but disengaged. He was listening carefully. And, giving away his secret as no magician would, he later told me the trick was that he was only doing the things that I had already said I wanted. I had just said them in ways that were subtle enough that even I didn't realize I had said them.
I think we both agree on the fact this is no trick. It's better than that. It's someone listening intently, capturing ideas and suggestions no matter how small they are.
Based on experience this is a task in itself. I've been in many a meeting where suggestions have been banded about, but never followed up. Then months later when the team did get some time to implement these ideas, they were almost forgotten and so needed another meeting just to remind everyone about them. Despite this happening several times, there was little motivation from the team to record each of these ideas, let alone try these ideas out on their own.
The other day I refactored a bit of code that was duplicated across the code base a number of times. It was one of those little jobs that had been mentioned in the past by the client but never written down on the board as something we would like to have. As I was already working on changes in a nearby section of the code, I decided to refactor out the duplication. It took me just over a half hour to do. Happy that it was working correctly, I pushed my changes up for testing and moved onto the next card. The client might not spot it right away, but it's there. A small improvement to the code that just took me an extra half hour to do. A duplication removed that means that any changes to those parts of the code can now be done in one place rather than four.
My problem isn't that I don't listen, it's that I don't capture enough during those meetings and what I don't capture I end up forgetting. I don't record the small things in favour of the big picture and while many might see that as a good thing, the small things give us small wins that contribute to the bigger picture.
From now on I'm going to make a point of capturing more details during my meetings with the clients and keep a list of minor changes that have been recognized but not formally requested. As long as these changes are small, tested and don't impact the code base in a negative way then I say it's fair game to be implemented.
There's been a lot of talk over the last couple of years that RSS is dead and it certainly didn't look good when Google closed their RSS reading service, Google Reader. Since the news that it was closing though there has been a number of new RSS services that aim to fill the gap. Having tried a couple I evetually choose Feedbin. It looked promising from the start and I'm glad to see that today it has grown into an amazing application and makes managing and reading your RSS feeds easy.
Over the course of the last year or two, Feedbin has added a number of great features to the service. I thought I would round up some of my favourite features that I use daily to manage my RSS feeds.
One of the problems I had with Google Reader was that it was difficult to see when a feed was last updated and how active it was. Overtime people lose interest in keeping their site updated so eventually feeds start to stagnate. It was hard to see this in Google Reader. Unless you were aware of the decline in posts, which is easy if you only follow so many accounts, there wasn't a way to check your feeds to see which were active and in-active.
Feedbin solves this problem on the feeds page of your account. Not only can you search and unsubscribe from feeds, you can also sort them according to when they were last updated and also how active the feed is. This makes it easy to spot the sites that are slowing down in posting and might be worth unsubscribing from.

Google Reader had a great set of keyboard shortcuts. I even created a mind map for the shortcuts to help me memorise them. They were essential in allowing me to quickly scan through all my feeds and mark those that were worth reading later on in the day. You'll be glad to hear then that Feedbin also has a great collection of keyboard shortcuts at your disposal. With these you can navigate around your feeds, search, action articles and even share them to your own connected services such as App.net and Twitter.
If you're not a software developer then you might be more familiar with using the mouse when it comes to navigating your applications. For applications such as Feedbin, I say give the keyboard a try. While you might hit a few stumbling blocks at the start, trying to remember what key does what, keep at it. Using the keyboard is a much faster way of interacting with the computer and the keyboard shortcuts for Feedbin are minimal. There are only 20 sets of shortcuts to remember with most of them being a single key, but even learning just a quarter of these will make such a difference. And the best part, just press '?' on your keyboard while using Feedbin and it will display all the shortcuts you need.
One of my early gripes with Google Reader was the lack of automation. Some feeds I subscribed too always needed a specific action or used for logging purposes. For these feeds I wanted them starred or marked as read as soon as they came in. In Google Reader this wasn't possible, but it can be in Feedbin.
Feedbin has a section in the setting page called Actions. Here you can define actions that meet one or multiple feeds. The two actions available are starring an article or marking an article as read. There might be more in the future but for now these make automating the management of your feeds a lot easier. Why would you do this though?

Some feeds are always interesting. I subscribe to the Caesura Letters newsletter through an RSS feed. I star the article every day so that I can find it at lunchtime for further reading. It's one less action to do on a daily basis but it still saves a bit of time.
Searching your RSS feeds is a routine thing for me. Maybe I'm looking for a specific set of articles or articles that feature a specific keyword. What happens though when you want to do that search over and over again? Well you save it!
Feedbin has a great feature called saved searches that lets you save the searches you carry out over your feeds. These appear in your sidebar with the search icon beside them so that you can differentiate them from the rest of your feeds. One saved search I have is my 'Recently Mentioned' search.

I follow a number of blogs that are part of an relaxed circle of bloggers. We link to each other's posts for other people to see. It's not a traffic building thing, we just link the stuff we find interesting from each other on our blogs. I was getting mentioned a few times when I thought about having a search for this. With my saved search now, I can see when I was last mentioned. You might call it an ego thing, but I prefer to think of it as a validation tool to see what people find interesting. It helps to find out what people link to on my blog and whether I should publish similar content.
Feedbin also has an API that allows other apps to connect to Feedbin. While Feedbin excels as a great application on the big screen of a desktop, laptop and tablet, I find the mobile interface not that easy to use for scanning feeds. My app of choice for checking my feeds on my iPhone is the wonderful Unread by Jared Sinclair. With simple gestures for quickly scanning and actioning articles, it is by far the best app I have found yet that connects to my Feedbin account.
Feedbin is a great RSS reader and I use it daily, often multiple times a day. The best part of Feedbin though is the automation. The actions and sharing to your favourite services are the best time savers for me. With feeds handled automatically in the background and one key press to share to other services like Instapaper, I can breeze through hundreds of articles on a daily basis.
Michael Wade has the best advice for getting that first draft done.

via FGGT
Twitter and Facebook are huge in terms of the number of users they have, but is this always a good thing?
Not a week goes by where I'm reminded of the popularity of social networks. Whenever there's a global event happening, you can be sure that there will be lots of updates about it. Not only that but when you turn on the television now every company and brand has a related Facebook page or a Twitter account. Twitter and Facebook are everywhere. It seems that everyone is on one or the other. Well okay, not quite everyone but it's safe to say that most are.
Last night was the opening night of the Commonwealth Games in Glasgow. Aside from the first part of the opening ceremony with the giant dancing Tunnocks teacakes, it went fairly well. Like most big events I wondered if anyone was talking about it on App.net. I fired open my App.net client to check. No one had mentioned it. Not one post. Up until the first hour I don't think there was a single post about it. I breathed a sigh relief.
Why the relief? Well there was no negative comments, bitching or snide remarks. You didn't have to cut through the negativity. In this case you didn't have to cut through anything at all. It was refreshing to not have to filter through people's views, posts, pictures and other stuff.
And that's what I love about App.net. It's a small community of people. Okay it might not have the millions of users that other social networks has but if the people in your timeline are not sharing in the same event as yourself then it's okay. They might just be doing something else that matters to them. It's a nice reminder that despite what happening around your part of the world, there's other things happening around the rest of the world too.
If App.net continues to gain users at a slower rate than other networks then that's okay. As long as it remains profitable and continues to serve it's users I'll keep on calling it my little part of the social internet.
Dazzled by the lights of new task management app? Before switching, make sure you're switching for the right reasons. Productivity isn't about the apps.
Read any productivity book and you'll find a common observation among them. Rarely is a specific tool mentioned that makes that specific productivity method work better.
I spent a good couple of years hopping from app to app in search of a task management app that met my requirements. It wasn't a wasted journey, I did get to try out a number of different apps but I didn't have a productivity method in mind that I would use with the app. I was simply trying some apps out. I was going about this the wrong way, you see it should be the other way around. Productivity is about processes not tools. The tools we use should compliment our preferred productivity method.
Look at any productivity method and it's about the processes and workflows involved. Capturing, reviewing, planning and executing are the most common processes involved in most methods. I use all four of these processes in my own method which centers around a single list of actions. I then use projects and tags to group actions, filters to review and a calendar for scheduling those actions.
The processes I use means that I could use just about any task management app, but it's in the details where you can find great task management apps. Here's a list of requirements that I finally settled on.
Looking at these requirements I can think of a number of task management apps that could meet all these requirements. After reviewing a number of apps that I've tried in the past I found a couple that worked for me. I choose TaskPaper as it gave me the ability to keep my master list in one location in raw text. After a few months though my list became difficult to manage. I started looking for a replacement.
One task management application that I hadn't tried up to this point was Todoist. I started moving my master list over to Todoist. That was eight months ago. Today I'm still using Todoist. It meets all my requirements and also provides a number of other features that I didn't look for before in a task management app.
With a crowded marketplace of task management apps it can be easy to be dazzled by the new kid on the block, but productivity isn't about those apps. It's about the processes. If you're on the market for a new task management app or you're simply looking for a change, make sure you are looking for an app that fits your processes.
Yesterday I mentioned I was embarking on a last attempt to master a different text editor. If I'm to succeed at this, then one truth I must face is that this will take time, just like mastering any new skill does.
I always find that learning something new starts out to be fun. I have a clear goal in mind of what I want the end goal to be and with that in mind I start. Whether it's a new programming language or an application, those first few days are where my positiveness is at a high. After a few days though, the stumbling blocks kick in. I don't feel as productive as I did before. Even though I know I'm in unfamilair terroritory, I start to wonder if this is in fact the right time to be learning something new. A few days further on and I've only mastered a small subset of this new topic or skill. Questioning myself again, I throw in the towel and abandon the learning process. I've done this so many times in the past.
The recurring mistake I've made in the past is forgetting that learning takes time. Mastery takes even longer.
For the moment I'm content to simply learn Vim. This means getting to a stage where for most of my day I can write and manipulate code without resorting to looking up keyboard shortcuts. Finding files, finding text in files, managing files in different panes, navigating a file, search and replacing within a file and basic text manipulation represent groups of keyboard shortcuts that I need to learn in order to use Vim effectively. I've given myself a month to learn most of these shortcuts. After a month I should be able to assess what I can and can't do in Vim. For all the things I can't do, these will become the focus for the next month of using Vim. Repeating this process for six months will evenutally get me to the place where I want to be. To have mastered Vim.
Learning can take hours or days, but true mastery can take weeks, months, even years depending on what you want to master. This is the key to successful learning and mastery, you need to put the time in.
I'm trying it again. I've made a number of these attempts over the years with my longest attempt lasting just a couple of weeks. Now though I think the time is right for a final go. You're probably wondering what the hell I'm talking about. My fellow programmers might have an idea.
I'm talking about making the transition to Vim as my preferred text editor for writing code.
For years now Sublime Text has been my only text editor. Its flexibility, plugins and stability make it such a great editor to use. It made my job easier since I first started using it and continues to do so. So why would I want to upset my workflow and change to something else? Curiosity. For a long time I've watched other developers wield Vim with such ease and fluency. I'm fluent with Sublime Text but there's something about Vim that makes me think I could be more fluent.
I've tried to make the move permanent so many times over the last few years but it's never successfully happened. The main problem with each attempt to use Vim has been the initial stumbling blocks that make an impact on your typical work day. Sublime Text has worked for me so well since I first started using it and switching to Vim will take a while but my patience always takes a battering and then I move back to Sublime Text.
This time it feels different though. After a couple of days using Vim I'm making headway with the basic actions of managing panes, buffers and basic text manipulation. I'm taking notes as I'm using it and I'm practing some of the shortcut keys that I discover each day. There's still a few teething problems with the setup I have but I'm prepared to see it out for another month at least.
We'll see how it goes.

via FGGT
There's a new age of celebrity available now. They offer more in the way of entertainment and you can even find celebrities who aligned with your own interests. Who are these new celebrities?
For years I've seen the activities of celebrities reported in newspapers and magazines. Every week it seems there's some fashion faux pas made, another check into rehab, or just opening their mouths to say something loud but clearly wrong. I see it as a depressing form of entertainment to follow and one that doesn't give any actual value. With reality television programmes providing an steady stream of new celebrities to add, it seems like there's no end in sight. Well actually there is.
We often class a celebrity as a well known famous person in the public media. Actors and actresses, sports people, singers and even business people are all classed as celebrities. It's been this way for years now, but where else can find celebrities that offer more in the form of entertainment and value? The Internet of course. A platform consisting of millions of celebrities. Through blogs and publications, there are millions of celebrities out there for you to follow, and they're just a click away.
A few of these celebrities I follow are Patrick Rhone, Nicholas Bate, Curtis McHale, Michael Wade, Kurt Harden and many others. You might recgonise some of the celebrities I follow, you might not. For me though they trump anything that any celebrity magazine can offer. Every day my RSS reader fills with their latest activities and drama. They publish on an open platform for the world to see and yet they are often ignored in favour of more conventional celebrities. If people choose to ignore these new celebrities then it's their loss.
This is just the tip of the iceberg though, there are millions of celebrities out there in different circles just waititng to be discovered and followed. You just have to look in the right places. Start with blogs that fall into your interests, there's always someone posting great content in any topic you can find. Search your favourite social network for interesting people in your field or look to mailing lists that offer a condensed form of entertainment straight to your inbox.
There are millions out there waiting to be discovered.

via FGGT
Many of you will notice that my daily posts have tailed off somewhat in the last few weeks. Despite recent attempts to scale back on the frequency of posts, I'm still not finding that sweet spot that lets me write and publish. I had it last year, but this year it seems to have vanished.
I've got a holiday starting next week for two weeks. It's a clean break and a chance to kickstart the writing process again. I'm hoping to come back with a list of ideas, drafts in progress and hopefully by then I'll have published a few more posts to get me back on track again.
Let's see where it goes. See you on the other side.
Mike Vardy has been writing about his experiences with Todoist recently. If you're a fellow user of Todoist then I definitely recommend reading his recent posts on labels and conducting weekly reviews in Todoist.
Nicholas Bate is on the ball again with advice on true productivity.
Trade-offs are hard, very hard because they are rarely perfectly resolved. To be comfortable with them we need to have time to have thought about them and time to communicate such thinking to those who are important in our lives.
— On Productivity and Life in the Gaps by Nicholas Bate
Yesterday I wrote about coasting along. Good for when you're driving and taking in the good views, but when you're coasting for everything you do, you're just ticking the boxes. Today marks the first day of a reboot to purge this nasty habit.
If only everything was as easy to fix as a reboot. Got problems with your computer? Reboot and try again. It's amazing how often this works. I'm not technical support person, but the amount of times I've given technical support to family and it was simply a matter of rebooting their PC is astounding. It's not this easy for everything though.
Rebooting yourself takes a bit more thought, a bit more time. Let's face it, we're complicated entities. Our brains have the accrued knowledge and memories of a whole lifetime. We have habits, whether good or bad, engrained in us. How we approach problems and solve them is different for others. This rebooting lark then is going to take some time then. I'm not expecting a change overnight, but I am expecting to see good results as each day comes. I'm not trying to achieve everything on day one, just making sure that for each day, I've made a positive change to how I work and what I do.
This is the first day of the reboot. So where do I begin? Well, this morning I decided to ditch the MacBook and went out for a cycle. I haven't done this as much as I would like to, as I like to use the Friday to catch up on a few things. Those things can wait though. This morning I just wanted to clear my head and start again. I put on my bike gear, grabbed the bike, walked my oldest son to school and then headed out.
The west of Scotland is having a period of sunny weather so it could not be a better time to head out. As it was the morning, the heat hadn't reached it peak and the trails were great. Dry hardpacked roads mixed with some dry grassy paths further up. The descent back down was even better.
The bike ride was good. It gives me a chance to clear my head which is something I wasn't doing often enough. Using the Friday morning for a bike ride, even if it's just 90 minutes is a good use of time. Everyone knows that exercise is important but what's also important is the chance to leave a few things behind. The feeds, the timelines, the inboxes, the emails, the messages, the tasks. They can wait. They'll still be there when we get back. The difference now is that with a clear head I might be in a better frame of mind to take a few of these on. And that's a good starting point I think for the rebooting process to begin.
It was a hard pick this week, but this bike from Hispania won out.

Curtis McHale as an excellent follow up to my Limiting Yourself post.
When you dive in to a project or communication make sure you choose the right medium. Don’t just stick with email because you don’t want to get on the phone.
— Get your time back with the proper communication medium by Curtis McHale
It's a horrible thing to admit, but I've been coasting since the start of the year. While I've had the chance to just get on with work, it's not good for my long term goals.
I started the year with the best intentions. I wanted to do so much this year, but six months on and I've nothing to show for my intentions. There's lots of reasons why my plans fell apart over the last six months. Loss of interest and motivation, doing just enough and simply punching in and out of my work day. It might keep my stress levels down by simply doing the work that I need to do, but in the long term this isn't going to keep me getting paid as a software developer in the future.
Coasting along isn't going to pay the bills in the future. Rather than simply doing the work, I need to keep learning on the job, writing about those experiences and re-using them in the future to deliver value in my work.
Costing along isn't going to build a successful freelance business with great clients. I have a handful of clients now that keep me busy, but I need to keep those clients by continually delivering good service and value.
Coasting along isn't going to make me spend more time reading and writing. Yes, I'm reading alot, but on the flip side my writing has tailed off in the last six months. Writing is not only something I enjoy but a possible revenue stream in the future if I decide to publish.
Coasting along is bad thing to do. You end up cheating yourself of new learning experiences, opportunities, a good career and more importantly, the life that you want. Coasting is a short term fix if things get hectic but in the long term it's not going to get you back on track. Eventually you're going to end up in the wilderness wondering what the hell happened.
For me it's time to get back on track.
Last night I took my oldest son to his coaching at the golf club. He had a great time. Chatting with his new friend, hitting some balls on the practice ground and getting some tips from the club's new professional. I sat and watched him from the clubhouse, just making sure that he was keeping his focus for most of the session. At the end I met him on the practice ground, grabbed his bag and shoes and we headed home to catch the opening game of the World Cup. The conversation in the car comprised of who was playing in the football, the plans for a golf compeition on Sunday and the many epic shots that my son said he hit. A good night.
This week hasn't always been this good though. I now understand why my parents frequently referred to themselves as being 'broken down record players'. I finally get it. It's just taken me to having a kid of my own to understand. Every day this week, my son has got himself into trouble for the stupidest of things. It's been a frustrating week. It's at the stage where you continually repeat yourself. My son does listen. I know he does, but in between him thinking about golf, football, food, gaming and getting outside, there's only a small window of opportunity for the message to get through. I feel like I'm on repeat. I shouldn't be too hard on him though. I was reminded yesterday thay I'm fortunate that I see him every day.
Last night I read about the sad news of Eric Meyer's daughter, Rebecca. For those that don't know Eric, he's a noted expert in HTML and CSS. Eric is a respected member of the web community and many developers and designers are familiar with his work and contributions since the early days of the Internet.
Eric's daughter passed away last week after a long fight against cancer. Yesterday was her funeral service. Eric has been writing about Rebecca's progress on his blog. Reading his 'Never' post was especially difficult and put things into perspective. They are beautiful words for tragic circumstances. That's the only way I can describe it. If you've got a few minutes I suggest you go and read it.
I started to think about my own kids. Their future is a mix of maybes, possibilities, and definites. A lot can happen, more to the point a lot will happen. For the many times that they get into trouble, do the wrong thing or play up, they're still healthy kids and they have the rest of their lives ahead of them. As parents with kids or even as guardians to the kids in your life, we might not appreciate seeing these them grow up and the experiences they will go through.
That's all been taken from Rebecca's family. The chance to see her grow and all the experiences that she would have gone through in her life. I sincerely hope that the Meyer's find some peace in the future. I can't begin to imagine what they are going through but it's something that no parent should experience. We take it for granted that our time will come before our kids, but that's not alway the case though. Next time I get frustrated about repeating myself to them, I should remember that they're still there in front of me, even if they are continually getting into trouble.

via FGGT
Every week it seems there's another new service or product online that aims to solve the problem of information overload. Why can't we solve this problem on our own?
Toastio announced their new service today. It touts itself as Twitter for email. It limits the length of emails you receive to 350 words. Anything longer than is bounced back to the sender asking them to send a shorter message. I don't see any benefit in this, but I could be wrong.
One problem I immediately see with this is that it's another inbox that I need to manage. I don't want another inbox. I have enough of them already. Everyday we interact with different inboxes that feed us with streams of information that we view at intervals. Some of us spend hours in these inboxes while the more efficient among us might just check these inboxes once or twice a day spending just a few minutes of our precious time.
There is a couple of solutions to this problem.
If you're still wanting to get all the relevant information you need then the all-in-one inbox is the solution. A smart inbox that pulls content from any publishing stream and orders everything in order of interest. It regularly updates and orders the stream each day, determining what type of content it should display based on your current location and status.
Sounds like a rather far fetched idea doesn't it? Well it is. There's two problems with this idea. The first is that building a single inbox that handles a variety of data from different sources is a big challenge. The second is that not all data sources are easy to subscribe to for updates. I think it's fair to say that the all-in-one inbox isn't something that we are going to see anytime soon.
Don't despair, the second solution is within easier reach. Limit yourself. Limit the number of inboxes you have, limit the amount of data coming into those inboxes and then limit how often you check those inboxes. Do this regularly enough and you'll spend less time in your inbox and more time working, creating or doing whatever it is that you do.
There's one thing about Toastio that I do like. The 350 word limit on emails. I've seen this in a number of different forms over the years but perhaps the one I remember the most is five.sentenc.es. The idea here is that your adhere to a five sentence limit on your outgoing email. While this isn't feasible for all your outgoing email, the idea of limiting the length of an email is one that we can all do with.
Why don't we do it though?
Well, aside from the fact that most people would give up on it faster than a New Year resolution, it would force people to re-think the email they're sending. For some people that's just too much like hard work. Rather than pausing for a moment to think about what to write, they would rather put their every thought and opinion in a email spanning 500 words when only 150 would have done it. So even asking people to write less and think more isn't going to make your inbox go down. No reasons why you can't make it your own persoal limit when sending emails though.
And that's the last thing about limiting yourself. Limit your outgoing data. Limit your email length, limit your social network time, limit your time aimlessly surfing the net. Limiting yourself in this way gives you more time to get stuff done. The important stuff.
... from the trenches.