Matthew Lang avatar

Matthew Lang

Family guy and web developer

Budgeting Your Apps & Subscriptions

As part of my smarter budgeting theme for the year, one area I'll be looking to budget better for is the amount of money I spend on apps and services on the Internet.

It's no secret that I like to pay for the services I use. It just makes sense to support the products that you love to use. That's what keeps them in business. We all have preferences for the tools we use and how we work, but I thought I would share some of my thoughts on keeping your apps and subscriptions in check.

Keep A Budget

Common sense really, but things can get out of hand if you keep on subscribing to multiple services or subscriptions on the Internet. Set yourself a monthly budget and make sure you keep within that budget.

App stores and easier ways of paying online make instant purchases too easy to do now. You can quickly spend $20 or more in a few minutes on apps and services. Review your budget each month and be ruthless with making cuts to your monthly subscriptions.

Ensure you're leave yourself a little room in your budget for experimenting with apps. You can't trial an app before buying it, so leaving yourself a little room for trialling a couple of apps a month.

Find Value

I pay for things that give me value. The same goes for apps and subscriptions as well. I subscribe to a number of email newsletters, but they all offer some form of value. It's easy to subscribe to a newsletter thinking that it's $5 per month, but are you getting value from spending that money each month?

I think it's hard to quantify value, but the way I see it is that if I use that app or service on a daily basis then I'm getting value from it.

Don't Double Up On One Device

Having multiple apps on one device that do the same thing is a waste of money and time. At one point I had three apps on my iPhone for writing. Each was used for a different form of writing, but I've learned now that I can use one app more effectively for all my writing on my iPhone.

Doubling up on apps means that you also need to spend more time learning how to use those apps. Why spend the time learning about two apps when you can really master the one app.

Apps Can Vary Across Different Devices

So I mentioned there that I had three apps on one device, but what if you have a phone and tablet? Well in this case, you can use the same app for both devices if you can. If the app can work for you well enough on both devices then use it.

However, with devices having different form factors, it makes sense to use different apps that play to the strengths of each device. Yes you'll end up with multiple apps that do the same thing, but the money spent is justified in getting a tool that makes the interaction you need easier.

These are just some of my thoughts on the budgeting of apps and subscriptions. They're basically the guidelines I use to keep myself from throwing away money each month and drowning myself in unnecessary apps and subscriptions. I hope they can help you too.

Time for a Reboot

Alan Francis wrote a really great article at the start of December about how he wanted to get back to his Extreme Programming roots and start programming deliberately. If it's too much for some of you then here's a non-programmer translation.

Programming by coincidence is where programmers make assumptions on the code that they are writing. These assumptions lead to code that isn't completely tested and could lead to problems in the application the code was written for. It's like acting on automatic pilot.

I looked back at the last year of programming I did. I opened the project I had been working on for the most of last year and did a code review on it. In general the code was okay, there were tests to cover the core requirements, and I had refactored when I could, gradually trying to improve the code with each iteration. However there was still gaping holes in the code that I should have investigated further. These parts of the code are tested but they are not tested extensively for edge cases, and that's where the bugs can happen.

When I was first introduced to agile methodologies in software development, I read the Extreme Programming website and another book, The Pragmatic Programmer. Both were excellent sources of information and let me taking my first steps in the agile world. Since then I've tried to improve my agile skills with every project I do.

After reviewing the code of the project in question, I couldn't see evidence of an improvement from my time working on the codebase. I seen lots of features that I implemented, but not much else in terms of improvements in the making the code better. When I thought back, I was aware of the features I was implementing but I didn't take the time to really think through the features and their impact on the code. It hasn't cost me any late nights in terms of application crashes, but it's not a road I want to go down.

So this year I'm focusing on a little bit of a reboot for my software development skills. Out goes the new programming languages, the new project ideas and the rest of the programming books I promised myself to read. Back in comes a collection of programming books that I haven't read in over 10 years, but books that I know will get me back on the right path again.

The good habits and practices of great programmers haven't changed much over the years and they probably won't for the next few years. Programming languages and frameworks will come and go, but the ideals and skills that many programmers pursue are still the same as they were 10 years ago. Sometimes it just needs a little time to remember them and go over them again.

Book Reviews #2

Just a few books I read towards the end of the 2013. I've still got some on my list but a few I've started and given up on.

  • The Broken Blade by Kelly McCullough - First book in a series about a washed out assassin and his shadowy companion. Very unique for a fantasy book in that it's more like detective noir. A great read and definitely not like anything I've ever read in the fantasy genre.
  • War of the Roses - Stormbird by Conn Iggulden - This is the first book by Conn Iggulden in a series that will cover the people and events during the War of the Roses. Mostly factually correct, but again the story is great to read just like Conn's Emperor and Conqueror series.
  • You, Only Better by Nicholas Bate - I've read the book a handful of times now, just because it's easy and quick to read, and each time I take a couple of extra notes from it. If you're looking for a book to reboot yourself this year, then get this one. No nonsense and easy to digest.
  • Crafting Rails 4 Applications by Jose Valim - I was expecting more of a reference book when I first heard of this but I was surprise when I read it to find it was more of a recipe book. Once I started to actually read it though, the recipes are simply there to explain techniques that you can use in your own Rails 4 applications. A must for Rails developers.
  • The NOW Year by Mike Vardy - A very short ebook, but a great reminder of tools and techniques you can use to make working with your calendar a lot easier.

I'm done with bookmarking apps

Last year I dropped Pinboard as a bookmarking manager and instead rolled my own bookmarking application. Initially it worked well for me as all bookmarking apps have done, I was able to save bookmarks quickly and easily and move on. But there was still one problem, my bookmarks are in a seperate box from the rest of my day to day data, e.g. my journal and notebooks. It's been a problem with each bookmarking application I have used. How do consolidate them with the rest of my data?

Most of the bookmarks I have fall into one of two categories:

  1. Long term value - Something that I will need to reference on a daily basis until I have it engrained into my workflow, so I will save it and frequently look it up until I have it engrained in my head or workflow.
  2. Short term interest - A post or article on a new programming method, technology or framework. I will read the post and possibly take notes, but chances are I won't re-visit unless I am absolutely need to.

The second category comprises of the bulk of my current bookmarks. I've saved hundreds of bookmarks that I have rarely re-visited since I first saved them. So what's the point in even having them? Just in case? It's a waste to simply save them and not return to them. Why even save them at all?

In the last two weeks though, I've started a new strategy that involves three buckets for saving bookmarks.

The first bucket is a static page on my website. It's simply a collection of programming and development articles that I have found useful after I have read them. I'll also include a quote of the article and my own thoughts with it if needed. These type of articles tend to expire after a period of time just because programming languages are always changing, so I don't need to search back too far on them if needed.

The second bucket is a collection of files I am collecting together on different topics with really useful resources on them. Let's call them cheatsheets. I'm building these as pages on my website as well so that I can access on the go. Each page is a particular topic and listed on it are just a small collection of links. I'm trying to keep each one down to a maximum number of links but I haven't got to the stage where any of them are too big.

The last bucket is my journal. Anything else I find interesting gets saved in my Journalong journal. This process is made easier due to the fact that I can compose journal entries from Alfred and have them open in the Journalong new entry page so that I can just double check the entry and hit the submit button to save it. I am hoping to make this even easier to do in the future but it works for the moment.

This works a lot better for me as I have three files open on my desktop at all times.

  1. This month's current journal file from Journalong
  2. My programming and development notes file
  3. A cheatsheet relating to the type of work I'm currently doing whether it admin work, a weekly review, programming or writing

As all of these files are markdown files, I use the Marked 2 app to preview them as nicely formatted HTML pages that make them much easier to read and interact with.

In the last week I've really noticed a change in how I think about the bookmarks that I save to these buckets. It has given me a chance to assess each bookmark now. Where as before I might have saved all the interesting stuff I found in my reading list and made an empty promise to look at them later, now I critique each page I read to see if it fits in one of the three buckets I mentioned above. If it doesn't fit in a bucket, I can discard it.

Now that I have specific places for bookmarks I want to keep, I don't need to bother about apps on my phone and iPad and bookmarklets or extensions for saving them. The biggest benefit though is that I'm done maintaining a database of bookmarks. Databases work well for lots of things, but I found it an increasing pain having a database of bookmarks that I never re-visited.

I'm done with bookmarking applications now.

I've probably read close to a dozen posts over the last week on setting resolutions. Half of the posts I read were "how to" posts, offering advice on setting resolutions and following them through. The other half were not so much about resolutions but more about actual people's plans for 2014. Two posts really stuck out for me though.

Curtis McHale is a Wordpress developer from British Columbia and is currently self employed. I read his blog for the whole of last year. What's impressive about Curtis is that he is one of the few people I know who set their intentions down for 2013 publically on his blog and also followed it up with a detailed review at the end of the year. That's real and honest accountability.

That's where many people fail in their resolutions for the year. Lots of people make resolutions for the year but most people keep them to themselves. If you truly want to succeed at your intentions this year then let someone know about them. You don't have to write a blog post about it, you can simply let some family or friends know. The key thing is to let someone know who will not accept your excuses for giving up on your plans.

You've probably noticed the use of the word intentions in that last paragraph. This leads me onto my second recommended post about resolutions and that is Patrick Rhone's post about his plans for 2014. Patrick dismisses the word resolutions and uses the word intentions instead to describe what he plans to do this year. It might be enough of a change if you name them intentions that it will increase your chances of seeing them through.

Seeing the success that others have had with their intentions has opened my eyes a bit to perhaps setting my own for this year. Even though it's well past the start of January, it's never to let to lay down some intentions for the next year, month or even day. Just make sure you let someone know that you're doing it so they can follow you up on it after a while.

This year's theme: Smarter Budgeting

I mentioned in a previous post about this year's theme being smarter budgeting. After a sort of successful year in 2013, I asked myself where I could improve and one area was very clear to me, budgeting.

Many of you might be thinking that this is something to do with just finances. It isn't. This budgeting for money and time.

When it came to my freelance work, my own projects and family time, I spent far too much time working on things and not making any real progress.

Let's take my new App.net newsletter for example. The idea for Netterpress started in October, however it's taken until now to get the first edition of it released. All in I've probably spent way more time on this project than necessary. Spending extra time on something isn't the only problem though.

Last year I didn't go out on my mountain bike at all. Shocking. I love mountain biking, I really do. Last year though I didn't even give myself the time to go for a quick ride at the weekend or even a night ride during the long summer nights. What a waste.

Last year's theme of being independent isn't quite complete, but I'm getting there. After focusing on this year for a year, I'm now at a point where it's part of my end game to be independent. To help this along though I need to budget my money and time so that I am getting things done and working towards independence.

I've already started allocating myself a fixed number of hours each week for client work and products, as well as blocking off the weekend from all work and using the weekend for reading, cycling and family time. It will be interesting to see how this pans out over the year.

My Blog Plans for 2014

Last year was a great year for me in terms of blogging. I managed to write posts for most week days with just a few weeks off, I kept my Fixie Friday posts going and last but not least, I used my blog to share links. Mission accomplished I would say for 2013 but what about 2014?

Next year poses some challenges. I want to keep blogging but I also want to increase the quality of my posts without decreasing the frequency of my posts. I've been thinking about this over the last week during my stay in Canada.

In my review of last year, I certainly skimped on technical posts from my development work. Not that I want my blog to turn into a developer's only blog, but I do want to write more technical posts about my work as a web developer. Maybe one a fortnight would suffice as a starter.

I also kept my posts rather brief with maybe just one post a fortnight being more than 500 words. I want to write one post a fortnight that is more than 750 words with the time taken to research and edit the piece before I hit the publish button. I rarely did any editing on my blog posts with just a skimp over it to check for spelling and grammar mistakes. That's not a good habit to get into, so there will be more of an emphasis on editing everything I write, but in particular the longer blog posts.

To help with this commitment to better writing, my working week is going to be slightly different. I've reserved four days a week for client work with one day a week being reserved for my own work. This gives me a chance to get some writing done in the morning and also curate some content for the Netterpress newsletter while it's in a trial phase.

I'm intentionally not over commiting to doing too much on my blog. I've got other areas where I also need to focus on, so these two changes I've highlighted above are a good place to start. I'll review this after 3 months and see if it's working for me. No reason that it shouldn't, it is after just a small change to my blogging habits.