Matthew Lang avatar

Matthew Lang

Make this a movie

Yet when the units of the veteran 17th Waffen-SS Panzer Grenadier Division arrived to recapture the castle and execute the prisoners, Lee’s beleaguered and outnumbered men were joined by anti-Nazi German soldiers of the Wehrmacht, as well as some of the extremely feisty wives and girlfriends of the (needless-to-say hitherto bickering) French VIPs, and together they fought off some of the best crack troops of the Third Reich.

World War II’s Strangest Battle: When Americans and Germans Fought Together by The Daily Beast

How could this not be made into a movie!

via Execupundit

Fixie Friday - Maxim Project

Love the paint job on this.

via FGGT

A Day for Making Improvements

I’m a terrible person for saying I’ll do something, then I never do it. I’m not talking about the big important things like completing client work or picking up the kids. I’m talking about making improvements in my work flow. Adding little things here and there to save time. Well no more!

Here’s three things I did today to make my day a little easier.

Installed Instacast for Mac and Became an Instacast Member

Instacast is awesome. My buddy in British Columbia, Curtis, put me onto it at the start of the year and it’s been a great product for managing my podcast subscriptions. I think the best two features are the syncing between devices and the playback of podcasts at different speed. I’ve got my playback set at 1.5 times normal speed just to get through the podcasts that little bit quicker.

I have Instacast installed on my iPad but having that, a laptop and a monitor on my desk means I have little space for anything else. When I first read about Vemedio releasing an Instacast for Mac app, I removed the Instacast app from my iPad but didn't get round to installing the desktop app. I resolved this today.

It was about two months ago that I decided that I wanted to support the Instacast product by becoming a member. Today I took a senator membership with Instacast because I want to support a great product. Just $10 per year as well. Bargain.

Installed aText for Text Expansion

Back when I was a .NET developer I used a text expansion tool called AutoHotKey. I used it for everything. After moving to Ruby I didn't look for a replacement text expansion tool for my MacBook.

One of the things that I frequently run into problems with is using templates for Markdown files. I use a number of different tools depending on what I'm writing. Being able to generate the template for the file regardless of what tool I am using would be good.

I installed aText due to the recommendation on the Lifehacker website. This should definitely make writing posts for my Octopress blog easier as well as anything else I can think of.

Installed Broom for Disk Space Analysis

Space is a premium on my MacBook Pro at the moment. While I wait for funds to be released so that I can buy a NAS drive for the house, I have to keep and eye on how much space I use.

I installed Broom (Mac App Store) and straight away I was able to save myself over 20 GB in disk space.

I need to keep more of an eye on the tools that I use and should use to make my day easier.

Building products that use email

At the moment I'm working on an application for a decision making tool for groups that uses email to track people's responses to a question that forms the basis of the decision. Basically this application sends an email to all the people you want feedback from regarding a decision. In the email are the responses they are allowed to reply back with. They click the appropriate response and it's done. With me so far? Good.

Collaboration tools like this in teams are okay because everyone knows one another and the team work together for the greater good of delivering a great product or service. In a team you expect to get emails from other team members that want your input on a decision.

What happens though when you receive an email asking for your input on a decision, when you know that person but not as well as you know your family or friends? Another way to look at it is this:

How would you feel about giving feedback on the decisions of others you know in only a professional manner?

This is where I am having trouble with this idea. On one hand I know that teams are always going to respond to one another's questions, but say we have a decision making tool for the masses that anyone can use. You want feedback from a group of people that you know on a professional level who opinions you might value, especially when it comes to getting feedback on a key decision, but your worried that they won't participate in your decision.

If these people who opinions you value, mark your request for feedback as spam, are they really people you want feedback from or are they simply too busy to provide feedback?

This has been a stumbling block for me for a while and it's led to two different strategies to allow people to be included in decisions.

First Strategy: No Restrictions, Include Everyone

This was the initial idea for the product. The decision maker can include anyone they want feedback from on a decision. Whether it's a member of their team, someone from a particular social network they interact with, or just someone who opinion the decision maker values.

Emails are sent out to everyone requesting feedback on the decision. The main benefit to this is that you can include anyone in on a decision easily and quickly. However there are a number of drawbacks:

  • What if the email is marked as spam? - It doesn't do well for your product to be perceived an another form of clutter in the inbox.
  • Should the user have the option of blacklisting themselves from all future emails from my product? - To combat the possibility of the emails from my product being marked as spam, users could have the option of automatically blacklisting themselves out from all future emails. This gives a greater form of control but it does limit the decision maker in who they ask for feedback.
  • Should the user have the option of blacklisting themselves from this decision only? - A spin on the previous option, but again it does limit who the decision maker can ask for feedback from.

Second Strategy: Verify Respondents First

This is a more controlled form of getting feedback from the right people. You are pre-approving people to be included in your decisions, so you should be able to build a reliable network of people who you can ask for their feedback on any number of decisions. There are drawbacks to this though:

  • You just can't include anyone in a decision - Initially I wanted a platform where people can ask others for their feedback on anything.
  • More barriers to getting feedback - Even if a person does want to help we require extra steps to include them on your decision. After one click to verify who they are, they might just get bored and not bother taking part in the decision.

Test Group Will Provide Feedback

Thankfully, I have a test group who are keen to use this service to help them make decisions with regards to small investments as a group. I'll be providing a simple implementation of this application for them to use for a while as a group.

As an added test, I will ask the test group to use the application to create decisions that are not related to investments. I want to see if there is a difference in the number of responses depending on the topic of the decision. I expect investment decisions to generate more responses because that is what the application is for.

I still haven't decided whether to go ahead with this product in the long term, but sharing this here did give me a moment to weigh up the two options.

Wishlist Wednesday - Rocky Mountain Altitude

This goes right to the top of the wishlist. I've wanted to own a Rocky Mountain bike since I was a teenager, but only if it's was one of their top end bikes.

via Singletrack

A day away

I'm in between work at the moment. It's an odd place for me to be. I've worked in the full-time job market for over 10 years. If I wasn't working, I was on holiday or I was made redundant and I was looking for another job. This freelancing lark is different though and with some time in between gigs and I want to use the time I have wisely.

With a few days free in between gigs I had two choices today:

  1. Work on products
  2. Get some chores done

I opted for the chores.

It was a lovely day here in Scotland so I thought it would be a good idea to simply step away from the computer and let my head rest while getting a few things sorted around the house and the garden.

We're not all fortunate to have a day away from out desks like this, but I'm so glad I'm in the position where I can do this and not worry about the implications on my income by taking a day away.

Goodbye Feedly, Hello Feedbin

Feedly has been my choice of RSS reader for about 2 years now. Initially I was won over by a service that provided a better user experience but still allowed me to continue to use Google Reader as my main RSS reader.

Feedly was a great application but lately I've become a little bit weary of it. One particular problem I have is the number of times I need to log back in. I've got Feedly running on my Macbook, iPad and iPhone. About once a week I would need to log back in on either the iPad or the iPhone. Logging in each week can be a bit of a pain. Especially as it's linked to my Google account.

It was time to look for something else.

After some searching I found the RSS reading service Feedbin. It's a subscription service with a web client that also works with the Reeder app for the iPhone.

At just $2 per month or $20 for the year, it's relatively cheap, but as a paid service it at least has more of a fighting chance of being around in the long term.

I've taken the $20 for the year offer as I want to try Feedbin for the long term. With the use of Reeder I have a supporting app for my iPhone that can let me use my Feedbin account. It will be interesting to see how Feedbin pans out as my main RSS reader over the next year.

Fixie Friday - Tokyo Dart

Nice geometry on the Dart.

via Pedal Consumption

Wizards are busy people

Curtis McHale sums up why clients should wait for their favourite consultant.

Think of Gandalf (Lord of the Rings wizard if you don’t know). He was always running from one place to another. Someone always needed his help. He was a busy dude and couldn’t just take on every issue at the drop of a hat.

Any decent consultant is going to be like that. Really if you need more than a few hours of work, you should be expecting to wait.
Wizards are Busy People by Curtis McHale

Never thought of myself as a wizard before though, but I do like the idea.

Pick yourself

No way could I build an online product.

That was me two years ago. Thankfully my confidence has went up since then, but it took me some time to get to the point of shipping a product online. To do this I wrote about my product and what I hoped it would do. I put it down on paper and then started to realise how simple it would be to build.

Michelle's 11 point list is a great place to start if you want to "pick yourself".

  1. Write. Set aside time to ask questions, dream, think big. Put your phone on silent and set an alarm twenty minutes out.
    11 ways to "pick yourself" by Project Exponential

Read on for the full list. It's worth it.

Keeping a schedule

Last week I started work on an idea for application. Just a small prototype of the idea really. No tests, no fancy user-interface, just the bare bones of the idea. In typical agile fashion I wrote out some of the basic features that I needed for the prototype as user stories on index cards and then set to work. Then a call from a client came in and before I know it, it’s two days later and I’ve not started work on the prototype.

My problem is that I’m starting client work as it comes in and my own projects are getting done in really small pieces. I am not keeping a daily schedule.

Truth is I haven’t kept a schedule of my work for at least a couple of years now. Not since I worked at a consultancy where you could plan your day most days. There was days where you would have interruptions to your schedule, but as it was customer support calls, you had determine if the customer’s support issue was that important that it had to be resolved there and then. With interruptions like this mounting on daily basis, I abandoned my calendar of work and just did work ad-hoc.

Now though I am more in control of my own time and schedule. I am my own company and I need to schedule work to ensure that client work gets done most days, but I also allow for some time to work on ideas and products.

Scheduling your work in a calendar is a commitment to getting that work done. I have the benefit of having a laptop with an external monitor so I use my laptop as my secondary screen. On here I have my calendar and I leave it open while I am working as a reminder to stay focused on the task I have set myself.

I’m using Apple’s Calendar application and the iCloud service to synchronize my calendar to my phone. This makes it easy for me to schedule stuff in my calendar when I am away from my desk. I use the brilliant Fantastical app to manage my calendar from my phone. It has a great agenda view for upcoming appointments and it has a very easy appointment entry system that means you don’t need to fill in four different fields to make an appointment. It’s smart enough to know that “10am Meeting with client” should be scheduled for 10am.

Scheduling your day and your week is a great way to making a commitment to getting things done. It’s more structured than a to do list, but provides a way of breaking your day down into chunks so that you’re not working on the same thing for hours or days at a time.

Overcoming complications

There’s a great line from the start of “Pirates of the Caribbean: Dead Man’s Chest” spoken by everyone’s favourite pirate Jack Sparrow.

Complications arose, ensued, were overcome.

If only it was that easy. It is never that easy. When complications do happen, are we making things complicated for ourselves?

I do. I make things ridiculously complicated sometimes when I’m writing code. I’m always thinking too far ahead. What if we need to do this, what if the format changes? I’m always thinking of edge cases for features that won’t be encountered on a daily basis. I find it quite a hard habit to break.

Take for example this form I was working on yesterday. It required three things:

  1. A question
  2. Your email address
  3. A list of other email addresses

So handling the first two things is easy, but I wanted to do something smart with the list of email addresses so that people could input any number of email addresses. I ended up with a form like this:

Handling the code to add and remove the email addresses from the list wouldn’t be too difficult but it’s clearly not the easiest thing to do. Annoyed at the complicated form I would need to build, I left my project to do some client work that had been scheduled in.

Then it hit me that night. What else uses lists of email addresses that are not constrained by size? When you are writing an email you simply enter the names of the people you want to send the email to. In one textbox. It’s that easy. The next day I changed my form to use a single textbox for the list of email addresses. A complicated form made easy.

Two things I took from this:

1. Keep it simple stupid

The KISS principle is a recurring topic in software development, but we developers tend to think of the YAGNI (You aren’t gonna need it) principle. The two are similar, but what I need to remember is the simplest and stupidest way is always going to work. It might not be clever, but as long as a simple design works, we should use it. If the simple design can’t handle an edge case in the future we can fix it then. There’s no need to worry about it for the moment.

2. Look to other examples

When building software, there’s no shortage of examples that you can refer to for influence. I’m not suggesting that you take a straight copy of a unique feature for another product, but when designing processes for your application, it can help to look to other examples to see how it is handled already. It’s probably going to be simpler than you first thought. I didn’t even think to initially look towards other examples of how this could be done. I could have saved myself a lot of time.

So there we go. My complications were not as quickly overcome as Jack Sparrow’s complications, but then he doesn’t write code does he?

Oh life: Another simple journaling service

Journalong is just one of a number of options that I could recommend. But there are others if saving your journal entries to Dropbox isn't your thing.

Peter Aitken kindly informed me of a new service, Oh life, that uses just email for your journal. Looks great.

Energy management

Realise your own energy distribution with Nicholas Bate.

Artificial deadlines

Great analogy on deadlines for engineers.

Similar to a soccer game when your opponent leads 0:1 and there are only 5 minutes left on the clock. The team will try everything to score asap. But outside of such pressured situations the team simply focuses on ball possession and making good plays. There is nobody asking the players at what time they will score the first goal. Not before the game and especially not during it.

It Ships When It Ships by Bjoern Zinssmeister

An App.net application idea

Over the weekend I was looking for a replacement for Google calendars. I was sure that I would be at least using Apple’s Calendar service and iCloud, but I wasn’t sure what other tools would be great to support this. So I asked my ADN friends for their recommendations. Within minutes I got a few from people with their favourite scheduling apps and tools. There was a clear favourite but I wanted to wait for more responses. I left it to the next day for more people to reply. The next morning I reviewed all the responses that people had sent to me.

As a thank you, I composed a single post the next day just saying thanks to all of the people that replied to my question. They didn’t need to reply to my question, but they did and I’m thankful for the responses they gave me. Trawling through the responses was a bit of a chore but I managed to get everyone’s name in one post and sent it. It would be nice if you automate this kind of thing.

It gave me an idea. An question and answer management tool for App.net. It’s probably not on the priority list for many users on App.net, but for those that are looking to streamline the question and answer process and make it easier I had a vision for a small service that would do the following.

  1. It would allow you to compose #askadn questions with optional hash tags for preferred answers that people should give.
  2. It would aggregate the results and keep totals for each response by looking for preferred hash tags in replies or by looking for recurring words in the replies that are given.
  3. It would compose thank you posts for all the people that took part. If all the respondants don’t fit in a single post, the thank you post could be split into a number of posts to thank groups of respondants.

It’s just an idea, but the reason I am putting it here is that someone else might already be in the process of building something similar to this idea. Maybe no one is building it, but perhaps someone will. If no one builds it, then I will.

I’m just throwing this out there.

Transporting the Lockheed A-12

Amazing account of the moving of these spy planes from the Lockheed plant to Area 51.

Dorsey Kammerer was appointed to head up the activity to build and use the transportation carriage system. An early-on step was to equip a pickup truck with a set of extension poles sized to the width, height of the main transport carriage trailer. An initial plan was to drive the best estimate route of travel, noting the obstacles to easy movement of the carriage boxes. Several photos show this arrangement and its use along the roads.

Transporting the A-12 by Roadrunners Internationale

Here is today

Breathing space

When I worked for an ERP consultancy, I would frequently no sooner get my backside at my desk in the morning before the phone would start to ring. Customers looking for support, developers asking for tests to be done and the managing director looking for that new feature for the high profile client of the week. Some days I would simply keep working right from the moment I got to my desk through to home time without a thought about working on the right things. Then I would realize that the day has completely passed by and I’m not even sure if I had done what I originally set out to do that day.

It was at this point that I started giving myself 5 minutes each day of breathing space. At the start of each day I would block out some time to get my day into order. Just a chance to ask myself a couple of questions:

  • Did I leave anything undone from the previous day?
  • Are there any high priority issues that I need to resolve today?

Once I got into the habit of doing this I started to see where my day was going and the progress (or lack of) that I was making. Updates for customers were taking too long, support calls were being left for too long and most days I wasn’t doing the work that I wanted to do.

Once I spotted these recurring issues, I started to clear them off my backlog of work one at a time. Each day I was making this list smaller and smaller. I was starting to see some real progress.

I do this little routine every day now. It’s just a few minutes of my time, but the benefits are worth it. I’ll sit down with my notebook and review the previous day’s work and pull forward any outstanding tasks to today. I’ll then check my master list on TaskPaper and include any work that is scheduled for today or the current week.

Now that I am freelancing and working from home, it’s important that I continually measure my progress and ensure that I am always making progress on projects and products but more importantly on client work. I need to deliver good results for my clients and ensure they are getting value for money.

Having this little moment of breathing space is a great way to start the day. It’s just a few minutes of time reflecting on what you need to get done today, but it is time well spent.

Too busy consuming?

Don't be.

Owen Williams covers the reasons why your opinion matters and you should write about it:

Yes, there are probably a few thousand other content creators out there airing their own opinions on whatever topic you're talking about, but if your opinion is sound, quality and unique then a community will eventually gather around you.

Too busy consuming to create by Owen Williams

The cull continues

Ever since the news that Google was sunsetting it's Reader service, I've been looking at alternatives for the Google services I'm already using. I've started using Path as a replacement for Google Chat, and I'm using Apache OpenOffice instead of Google Drive. I'm not against Google as a service provider, but depending one company for a number of services is not a good move.

Two areas where I haven't found alternatives though is email and calendar. The calendar functionality I'm not too bothered about as there are plenty of options for scheduling apps and services.

The big decision I need to make is whether to move my email from Google to anything else. Gmail remains one of Google's key products that continues to work well. I'm looking at a couple of services for email, but the switch and migration of data will be a key consideration.

For the moment the cull of Google services will continue.

Fixie Friday - Rainbow

Spectacular paint job on this

via FGGT

Working from home, a great benefit

Last night our oldest son gave us a bit of a scare. He started to run a very high temperature after dinner and through the night he was sick a couple of times. This morning he was shivering and still had a fever. No school for him then.

Why am I telling you this?

It sets the background for one of the key benefits to working from home. In the rare occurrence that your children are ill, it makes child care a lot easier.

Depending on your child's illness you can still look after them and get some work done. I said some work because of course your child's health comes first. Do some work while they are napping or watching a movie. You're never going to get a full days work in on these days, but being a freelancer it is great to have this option.

Clear your desk, clear your head

Work has been a little slow this week, a morning here, an afternoon there.

With the free time in between slots, I should be using that time to get my head round some of my side projects and turning them into products, maybe even start preparing for another NaNoWriMo, or even just fine tuning my programming skills by learning another programming language. Well the truth is I haven't started any of these things this week.

It was time to re-focus again and get my head cleared.

I took a look at my desk and noticed rising piles of paper appearing on the edges. Wireframes, contracts, invoices, tax documents and other stuff. All grouped together, but all of them encroaching my desk space. My work space. While this stuff sits on my desk, I get distracted. So I started clearing my desk. Filing documents away, throwing out old wireframes (in the recycle bin of course), leaving out only the absolutely necessary things that I need to action before the end of the week.

After half an hour I had my desk back, my work space. And I was ready to go again. I scheduled work for my side projects into my calendar for the rest of the day and got back to work on them.

I should clear my desk more often.

I want to sign up with email

We've all been there. You're given a link to a new great product that is going to do wonders for your productivity but when you are done installing it you get a sign up screen that let's you sign up with only two different options.

  1. Facebook
  2. Twitter

If you're lucky (or not so lucky), you get a third option of Google+. Where's the option to use your email address though?

Opinionated sign ups like this have always been a problem for me. I don't have a Facebook account and I barely participate on Twitter these days, to the point where I am even thinking of deleting my Twitter account. So if I don't have an account for either of these social networks (and yes there are people like this) then what's left for me to do?

It's easy. Give some other product a try that will let me sign up with my email address.

The only time where I will use a product that requires such a sign up is where it allows me to participate on the social network or platform I choose to use.

I've signed up for many products over the years using Twitter, Dropbox and Google. Each time the product was tied to the preferred login that I choose in a way that required a specific login. Journalong uses Dropbox to post journal entries to your Dropbox, Feedly uses Google to sync your Google Reader across, you get the idea. These are specialist products and services that depend on a specific social network or platform.

I will not however sign up with my social network for a product whose only connection to it is to read the list of people I follow on that network and from other networks.

Where a product isn't tied to one social network but offers the choice, I'll always use my email address. If the product wants to connect to my social networks after I have signed up then fine, I'll connect them separately. It means that I can disconnect those social networks at a later date without having to completely stop using the product.

There's a time and place for opinionated sign ups like this but for generic products we should always be given the option of using email.