Matthew Lang avatar

Matthew Lang

Family guy and web developer

Scheduling Time for Products

When I first started working independently at the start of the year, I had grand visions of being able to dictate my own time and allow myself more time to write, work on my own ideas and follow them through to products. It was also a chance for me to explore other skills like iOS programming and web design. Just as we're passing into the last quarter of the year though, I'm shocked to see how little actual time I have spent doing this.

Aside from a three week vacation between July and August, I have taken very little time off away from client work. It wasn't that I couldn't, it just never occurred to me actually schedule some time in for myself and tell my clients that I won't be available for a few days.

I guess I initially panicked at the start of the year and thought that money in the bank was the goal, so I simply worked as much as I could in terms of client work to get some money put by. I am now in a much better financial position now, but I still need to top it up slightly to get to my goal of having four months basic salary there to live on should I find myself in a position where I am not working.

I may have mentioned this before on the blog, but I want this post to be the call to action I need to schedule some time for myself. Once I've scheduled some time, I'll write about my plans for this time and see what can I fit in during this time.

Considering an Alternative to Heroku

I've hosted my blog on Heroku for a while now. I also have a number of other apps including Journalong that are also hosted on Heroku. I love the simplicity of deploying apps with a single command and for all the backend maintenance to be taken care of for me.

The extra maintenance comes at a cost though. Unless you're running a really small site or web application, Heroku can quickly get expensive. Extra resources are metered and charged for as well as the number of different addons that you can use with Heroku.

As a result, I've started to consider alternative hosting services for this blog and my private bookmarking application. I don't just want more control over my hosting, I want more space and resources made available to me without having to pay extra for it. Yes, Heroku does provide great addons but these can quickly tally up, especially if you need more database space and services like email or logging.

I did this morning have it narrowed down to either using Linode or Digital Ocean, but the low $5 per month tier from Digital Ocean is very tempting for just running my blog and my bookmarking application. I have spun up a droplet in Digital Ocean for my blog and I'm in the process of moving it over to see what it's like.

I'll report back my findings in a few weeks once I've let the blog settle down and I've had a chance to really explore using Digital Ocean for hosting.

UPDATE: I've since killed the idea of moving my blog to DigitalOcean. I just don't have the time at the moment.

The Small Things Matter

Last week I talked about why I was bored of the hype surrounding the release of Apple's two new iPhone models. I said that the debate surrounding Apple making progress was really a waste of time.

Then there’s the analysis and opinions of millions of people on whether this is Apple at their best or not. A million pointless questions being asked and everyone has their own answer. Not that it matters of course, because Apple will do what Apple want to do regardless of the views and opinions of others.

Bored of the Hype

I then went on to write about my thoughts on a picking my next gaming console later in the week. So how can I say that the debate around Apple is pointless and then proceed to write about my first world problem of picking a games console?

Well aside from the fact that I just wanted to write about the similarities with the consoles, I had a decision to make and writing about it seemed to be the best way for me to clarify what I was looking for in my next games console. The thing about this is that the decision I am making matters to me as an individual. It's a small thing yes, but it matters to me.

The small things do matter and they warrant some of your time. Whether it's five minutes or an hour. We can't spend all our time focused and debating on the big issues of the world, we still have our own lives to get on with. So give yourself some time off from the big stuff to think about the small things that matter to you.

Why Paying For App Upgrades Is Good

The excellent RSS reader client, Reeder received a welcome upgrade this week in the form of the new Reeder 2 app. A new app and a new price. Yes folks, if you paid for Reeder and expected a lifetime of free upgrades then think again. Reeder 2 is a separate app and if you want the pleasure of using it, it will cost you. And that's not a bad thing.

Apps Are Cheap

Let's face it, we've sometimes spent more money on a coffee and a bite to eat than we do on apps. We don't argue over paying a few dollars for a bite to eat to keep us going, but why do some of us complain when an app is priced in the same region? Are you seriously going to quibble over $5 for an app that you are going to use practically every day when you've just dropped the same price on a coffee and a bagel?

I've 9 non-Apple apps on my home screen that I use every day. Two of them are free and the rest are bought apps. I wouldn't hesitate to pay for new app versions of these every year. That could be in the region of $60 per year, but I have subscriptions to single services that are more than the combined total of $60 so right away an upgrade at $5 per year is still better value than many SaaS subscriptions.

Also updates to apps where a new version is released are usually in the space of 18 to 24 months, so even forking out $5 every couple of years isn't going to break the bank.

Support The Developer

Many of these apps are not made by massive software companies but by independent developers working from home or small offices. The apps they write aren't hobbies or projects, they're part of the developer's business model and their income.

No business can sustain itself on free updates. There's simply nothing there to support the future of the developer and the app you use on a daily basis if they provide free updates for an app for life.

These developers make apps so that they can generate income to support themselves and for some of them, their families too. It isn't just a sideline, it's much needed income for them. It's a living.

You Get Value

App updates like this are a good thing as you the customer gets more value. New versions of apps give the developer a chance to start with a clean slate and build a better version of their previous app.

Obviously these new features take time, but they also can't be built on the developer's time without some kind of return. Safe in the knowledge that the developer has a revenue stream from the existing app, they can then focus on spending their time exploring ways of making future versions of their apps better.

So there we go. Paying for your app upgrades is worth it. It's cheap and you're ensuring that the app you gain value from will be around for a long time.

I welcome developers that push new versions of their apps and charge for them. It gives them a chance to take a good thing and make it better. Yes, it might cost a few dollars a year for it, but I see it as money well spent.

Choosing My Next Games Console

The console war has begun for the next generation of gamers, but choosing between either of these consoles as my next gaming platform has still left me mostly undecided. In a games shop, I even asked one of the staff what they thought of the specs and which one they would buy. His answer, "buy both", is hardly the best answer you're looking for when you're an occasional gamer.

Currently I have an Xbox 360 with a handful of games. I don't play very often and I certainly don't have the time to co-ordinate myself enough to play online against friends and family, but I do like sitting for a couple of hours each weekend and working my way through a few games.

The first consideration is my oldest son. He likes playing a few games on the Xbox 360 including his favourite game, Minecraft. Most of the games he does play are usually available on both consoles and there will be a version of Minecraft available for the PS4. However, what other titles are there on the PlayStation that are suitable for him to play? Mostly the same titles that he's played on the Xbox previously, so I'm not concerned about availability of suitable games for him.

There's very little between the two consoles in terms of specifications, but having had previous experience with the Kinect, I would have to say that I wasn't completely enamored with it. There just hasn't been enough games for it since its release. Yes, there's all the usual fitness and dance games but that's not the games I play.

If I had to choose between the two, I would choose the PlayStation 4. Simply out of curiosity really, nothing else. I've had a an Xbox for a couple of years now, might be time to try the other camp. Still I've got a few months to think it over before I commit to a purchase.

My Sublime Text 3 Setup

The text editor. The programmer's most important tool and the center of an ongoing debate that will occupy programmers for years.

I'm not going to debate on the best editor as that would be stupid. Everyone has their own preferences and needs. Vim does offer some nice advantages for those familiar with all the necessary keystrokes, but for my needs I just want a nice, extensible text editor that I am comfortable with. I chose Sublime Text 2 a couple of years ago and more recently I have started using Sublime Text 3 for my day to day coding needs.

The Essentials

Okay they're not really essentials, but if you can't even look at your text editor then you're already hitting your first hurdle. Not only does Sublime Text allow you to change the colour scheme and fonts for the different languages you code in, but it also allows you to change the theme of the editor. A nice touch I think you'll agree.

Theme

I settled on the Flatland theme a few months ago. Its non-gradient look might be a bit bare for some, but I do like this theme. It's very dark and I prefer the dark background in my sidebar and tabs.

It also allows you to customise the height of the folders and files in your sidebar. By default Sublime does have a fair margin around these, but Flatland allows you to specify a smaller size, so that you can fit more into your sidebar.

Colour Scheme

Long before I started using Sublime Text 2, I was already using the Solarized colour scheme. I've stuck with it ever since and even use it as the colour scheme for my terminal. I prefer the dark version as the light version does have too much of a stark contrast with the Flatland theme.

Font

I've tried lots of fonts for programming with, but I find that Monaco, a font shipped with OS X, is best suited to my needs. It looks nice on my MacBook Pro and on my external monitor with just a small difference between the two screens.

Installed Packages

I do have a fair number of packages installed for specific things like Cucumber, RSpec, Rails and other language and framework specific needs so I'm going to list those packages that are independent of language and therefore get used on a frequent basis.

AllAutoComplete

Sublime Text 2 just came with autocomplete listings for the file you had currently open, so this plugin is a welcome addition as it includes all currently open files for your autocomplete listing.

SublimeGit

This package is a great package with plenty of integration with Git. It's also the first paid package that I have used with Sublime Text 3. As I use Git all the time, this plugin been worth every penny.

GitGutter

GitGutter allows you to see which lines have been inserted, deleted and modified. It's basically a diff for your editor. Little symbols appear in your editors margin to signify where code has been changed. At a glance it's nice to see where I have modified a single file.

Origami

You can't use Vim and not be impressed with being able to split panes with just a few keystrokes. It was one of the few things I have managed to remember from my many sojourns to the land of Vim. Sublime Text does have the same ability to split panes, but the keystrokes for this are difficult to remember.

Origami makes splitting panes much easier by providing easier to remember keystrokes for manipulating and navigating through panes as well as having the same commands available in the command palette.

MarkdownEditing

I handle a lot of files in Markdown. It's the default markup for the majority of files that I create and use. Brett Terpstra's MarkdownEditing package provides some sensible defaults for editing Markdown files. It also provides some handy keyboard shortcuts for manipulating Markdown files such as inserting headings, pasting links and adding footnotes.

CTags

Although Sublime Text has built in support for finding symbols in the current file, having ctags support just makes navigating between methods a lot easier. Rather than switching to a file and searching for the symbol, I can simply use ctags to pull up all symbols for the project navigate straight to the method I need.

So there we go, a quick run down of my Sublime Text 3 setup. If you're looking for preferences files then I must do an update of these on Github, but I'll provide a link here when that's done in the next couple of days, so be sure to check back.

Bored of the Hype

Yet another big Apple announcement goes by and yet again we see just marginal improvements on the products that Apple have become famous for. Not that I was expecting anything grand or game changing, it's just that the hype around these things by tech sites and magazines is reaching the scales of ridiculous.

It seems common place now for magazine sites like The Verge to live blog these events even though we know 90% of what's coming. I wasn't surprised by anything that was announced at the event. 64-bit processors in the new iPhone 5S ... not surprised. Fingerprint security ... thought it was coming. It comes in gold! We already knew that.

Then there's the analysis and opinions of millions of people on whether this is Apple at their best or not. A million pointless questions being asked and everyone has their own answer. Not that it matters of course, because Apple will do what Apple want to do regardless of the views and opinions of others.

Debating on topics is fun, but I'm bored with the Apple debate now. Let them do what they do best, it's clearly working for them. If you like their products then fine, buy them. If not, go find an alternative. The world doesn't need a million different view points on a phone or a computer or anything materialistic like that.

There are more important things happening right now like state surveillance, war, chemical weapons and conflict. Maybe if these were debated with the same energy as the latest iPhone, we might actually make enough noise for those who should be listening to invoke change. It's a long shot, but it's worth a try.