Matthew Lang avatar

Matthew Lang

Family guy and web developer

To categorise or not?

I’ve been blogging on and off for the last few years, but more recently I’ve been publishing something just about every day. Whether it’s a little bit of writing or a nicely built fixie, I’m publishing something every day. When I started blogging, I was fanatical about categories. I categorised everything. Everything had it’ place. Now though, not so much.

My tumblelog has a number of categories in it, but these are because the posts I make here are themed. On certain days of the week, I’ll post something in a particular context, Fixie Fridays for example. Categories work for this example because it’s part of an ongoing series of posts.

Since the start of the year I have published a little bit of writing every week day. All of these posts have been filed under the same category, Personal. As the writing varies from day to day I find it hard to file it under a specific category. From tomorrow I am just going to stop categorising my writing. Why pigeon hole something when it won’t fit? It’s one of those small decisions that I can do without.

Are you automating?

Automation. The programmer’s best friend. Programmers automate as much as they can. Setting up a new computer, building servers and testing software are just some of the areas where we like to automate things. We hate typing in four commands where one will do. Automation saves so much time.

Not everyone is a programmer though. So how can you automate your interactions with your computer so that you’re not doing as many manual tasks?

Check your application settings

Lots of applications and services now integrate with other applications and settings. Instapaper for example allows me to save the articles that I like to my Pinboard account. After I set this up in the Instapaper settings page, I can then like an article and it will be saved to Pinboard for me. This is just a small example of the automation you can achieve. Baked in settings to applications is great but what if you want more automation?

Checkout IFTTT

IFTTT is a service that allows you to create recipes for the different services that you use. It will then run these recipes when they are triggered. Each recipe contains a trigger and an action. When the trigger is fired the respective action is carried out.

An example of this in action is the
monthly redux blog post that I put out at the start of each month. It is a list of the previous month’s blog posts on my blog. Rather than writing this by hand though, I can let IFTTT do the work for me.

When my recipe detects a new item on my blog’s RSS feed, it then writes the title of the blog post and a link to it to a text file in my Dropbox account.

At the end of the month I cut the contents of this file and paste it into my blog’s content editor and use it as the content for my new monthly redux blog post.

In order for IFTTT to work effectively, it needs to have access to the services that you use. You may not be comfortable doing this, but I find that it’s a great way to automate tasks that I would normally do by hand in the past.

Being able to defer manual tasks to services that automate them for you saves you time. Not only that, it lets you get on with more important tasks. This week watch out for manual tasks that you could be automating. Even if you can save a few minutes off your day, it’s going to add up over the year. And that’s time not wasted.

Talk to your client

One of the greatest challenges I’ve had in my career as a software developer is that of expectations. Twenty years ago when the waterfall methodology ruled, you developed in isolation for months on end, passed it to a test team and then onto the client. After months of work, it was common to get the final product passed back to you. The reason was that the client’s expectations were not the same as yours. Months of work wasted.Now though, we have agile methodologies that allow us to work closely with the client and work in much smaller chunks, delivering code weekly or even daily for the client. At this fast pace it’s easy to meet the client’s expectations as we are only working in smaller periods and only delivering smaller sections of the final product for the client.

I’ve been working this way for a couple of clients over January and February and it’s been really successful but the reason isn’t just the continual delivery of features and fixes for the client, the main reason is that I am always in communication with my client. I chat to my clients daily, often more than once a day when working with them.Foggy details are a sure fire way to miss the clients expectations, which leads to wasted time for both you and your client. You can’t assume to know what your client will want, but you can make an educated guess. However, what you should be doing is talking to your client and clarifying any details you are not sure about.

If I have a question or I’m not sure, I ask the client to clarify their expectations on what I am hoping to deliver for them. I hate to be wrong and I hate to be wasting my clients time by not meeting their expectations.​

Tips on getting through your RSS feeds faster

Let me get this clear to start with. I only use my RSS reader to scan feeds from blogs that I am subscribed to. This post is just tips for getting through your RSS feeds without taking the time to read anything.

Group your feeds

Grouping your feeds is a great way to batch feeds for scanning. I group my feeds into a number of groups based on the general topics of each feed. I have groups for web development, tech businesses, bikes, picture blogs and online products and services I use.

Grouping feeds in this way means that when you scan the feeds, you're scanning a particular topic rather than scanning a list of feeds of completely different topics.

Scan the headlines

Don't read everything. Unless you're following between 10 and 20 blogs, you'll never be able to read everything in a short period of time. Instead scan the headlines of your feeds for interesting posts.

I used to read everything in my feeds in case I missed something, but reading everything takes a long time. Yes, scanning the headlines of your feeds might means you miss an interesting post, but you'll get through your feeds a lot faster.

Use a read it later service like Instapaper

RSS readers are great for categorising and scanning your feeds, but I like to use a separate service for reading. Many RSS readers let you favourite individual articles and send them to another service like
Instapaper so that you can read them at a later date.

Read it later services also let you collect articles for reading at a later date when it suits you. I tend to get through my feeds first thing in the morning. I favourite posts I want to read later. When I favourite my posts, they are sent to my Instapaper account so that I can read them later on. Many RSS readers have this feature built in and read it later services like Instapaper also have settings that let you import favourite posts from your RSS reader.

Keep a list of blogs to scan daily

I have a group of feeds that I want to scan on a daily basis. I scan this group every day first thing. It's a collection of blogs of varying topics, but they're blogs that I find highly valuable and therefore they're the blogs I scan every day.

Trim dead or rarely posted feeds

I don't subscribe to a feed that posts once a month or less frequently. I like content on at least a weekly basis from a feed. Every 2 or 3 months I check the feeds I am subscribed to determine if they're still delivering a steady stream of content.
Google Reader is great for this as it tracks the stats of each the feeds you have subscribed to. Staying on top of your feeds this way means that you can delete stale feeds and therefore have less headlines to scan.

RSS feeds and readers have fallen out of fashion with many on the Internet, but as long as people are still blogging, there will always be a place for RSS readers to consume these blogs.

In an effort to be more productive, healthy and fit I’ve decided to keep a daily checklist for work days so that I can start tracking progress on my day. Here’s the list I’ve decided to center on for weekdays:

  • Do one major important task - Ideally this will be completing some work for a complete or working on a feature for one of my own products.
  • Do one minor important task - This is really a secondary bit of work for a client or for myself. If my major task is for a client, then I will always try and complete a task on one of my own products for that day.
  • Eat a healthy portion of fruit and vegetables - I’m not fanatical about my weight, but I do like to eat sensibly. Making sure I have a good portion of fruit and vegetables at least once a day is a good starting point to eating better.
  • Workout or go for a walk - To coincide with changes to the diet, I’m also looking to get some exercise in during the day. Starting from next week, I’ll be walking my son to school every morning and I’m also going to fit in a couple of runs a week. Sitting at a desk all day as your job can be brutal on your body, so it’s a good idea to stretch your legs when you can.
  • Journal - Lastly, the journal entry. A time for reflection on the day and to log idea, progress, notes and other stuff. I do this a few times a day but I try to write a summary at the end of the day.

I haven't bothered setting a list for the weekend, as it’s not really important to have a checklist on days like this. The weekend should be a work-free zone anyway and as long as I get some time to spend with the family and relax then I'm happy.

I’m doing this for the month of March to see if I can get some kind of order in my work day. One thing I’ve found about freelancing is that the day can quickly run away from you and before you know it, you haven’t completed any of the things you set out to do at the start of the day. Embedding these five habits should ensure that I keep my clients happy, I make progress on my own projects and I keep myself healthy.

I’m using Habit List to track my daily habits but there’s a lots of other habit tracking apps or methdos you can use instead.

Persistence pays off

Being a software developer means that I spend a lot of time debugging code for problems. Sometimes it's obvious where the problem is but not all bugs are that easy to find. It would be nice if we could quickly identify the problem, but the real world isn't like that. Most days debugging code requires at least a couple of hours of tracking down the problem but sometimes you find yourself spending the bulk of the day finding the problem. These days can end up being very long when you're debugging for hours on end.

Problem solving takes time and patience. Fortunately for me my client understands this and left me to my devices today. I spent the majority of today debugging some code and then once the problem had been found, the code to fix it took about a hour to put in place.For days like this, it pays to be persistent.

Exploring the freemium product

So Journalong has been tried and tested as a fully paid product, but I’m just not getting people using Journalong, so I’m moving the product towards a freemium product. The paid side of the service is still going to be $10 a year with all the trimmings, but the free service will be restricted in the settings that you can adjust. The free account will allow you to journal multiple times a day.

This isn’t the only change I’ll be making for Journalong in the next few weeks. It’s become apparent that writing with Journalong is somewhat restrictive due to the constraints of the textbox that you write in. It’s not focused and it’s only takes up so much of the page. What I really want is a full screen, no distractions, text entry. Just me and my journal entry.

The freemium changes will come in the next couple of weeks with the new journal entry screen to follow. It will be interesting to see if these changes can generate more interest in Journalong.​