Matt Gemmell

Meeting my wife

As I publish this piece, it’s around 11 AM here in Edinburgh, on the 9th of July, 2014.

Ten years ago, almost to the minute, I walked into room F091 in Lilybank Gardens, the home of the Computing Science department at the University of Glasgow.

I was beginning a couple of months of summer research work in the Department, between the third and fourth years of my degree, and had just attended the initial planning meeting. I went to F091 to get settled in and begin work.

First world problems

Most of us have heard the phrase “first world problem”.

It’s used in situations where the speaker is (often humorously) responding to someone else’s complaint, and sees the given ‘problem’ as the product of a substantial level of privilege.

It’s a dismissive statement, saying that the complaint isn’t really valid, or worth worrying about. I have mixed feelings about that. I’d like to briefly talk to you about it.

Sponsor: NSScreencast

My sincere thanks to NSScreencast for sponsoring my writing this week. These focused, bite-sized, “don’t waste my time” tutorials are exactly the kind of training material I’ve always enjoyed. Ben has created a fantastic resource for iOS developers.

NSScreencast features bite-sized screencasts for iOS Developers.

Want to level-up your iOS knowledge while enjoying your morning coffee? With an NSScreencast subscription you’ll enjoy a new screencast each week.

Sponsor: MoneyWell

My sincere thanks to MoneyWell for sponsoring my writing this week. I’m a MoneyWell user myself, and I have first hand experience of the amount of love that’s gone into this suite of apps.

MoneyWell is a full-featured personal finance app that gives you access to direct connect banking and the best proactive budgeting system available.

MoneyWell works equally great on your Mac or iPad and both versions sync with each other and MoneyWell Express on your iPhone and iPod touch.


I’ve been thinking lately about digital permanence, or rather the lack of it. The internet offers us an opportunity to preserve our work for future generations like never before, but we haven’t made much progress on providing frameworks and services that will allow us to do so.

We’ve all lost old files (or new ones). I’ve had web sites that are now completely gone from the internet. I have years of chat logs that are locked up in formats I can no longer read. I even have boxes of Zip and floppy disks somewhere, as well as aged recordable CDs that probably aren’t faring too well. That’s the reality of digital data: sometimes it degrades, but usually the technological ecosystem moves on around it, leaving it isolated and inaccessible.

There are common file formats, of course. Plain text presents few worries (encodings and line-endings are some of those worries, but they’re surmountable), and most web-suitable image formats are going to be readable for many years to come. For movies, formats come and go, but we can usually convert between them. We don’t have much to worry about within the five-year timespan.

But what about ten years from now? Or twenty?

What about the distant day when you take your final breath?

Sponsor: Lyn

My sincere thanks to Lyn for sponsoring my writing this week. Lyn is an image browser and viewer for Mac OS X. It supports non-destructive editing, sharing, and even works with your Aperture, Lightroom and iPhoto libraries.

Lyn is a lightweight and fast media browser and viewer, designed for Photographers, Graphic Artists and Web Designers.

Featuring an extremely versatile and aesthetically pleasing interface, Lyn delivers easy to use geotagging, image editing and a complete solution for sharing your photographs.

Finder Tags

Mac OS X has a feature called tags, which were introduced in OS X 10.9 Mavericks. Tags are metadata that you can apply to files in the Finder. You can then search for files based on their tags, as well as their other properties and contents.

I’ve always struggled to use tagging systems. My tendency is to over-apply tags, resulting in hundreds of different ones in use, barely providing more retrieval value than just searching by the file’s contents. Since everything is constantly indexed on modern operating systems, I see tags as more of an organisational and categorisation system.

I’ve found a simple tagging system that seems to work for me, and I thought I’d share it with you.


Back again, are you? Well, it’s good to see you again.

Don’t worry; I know who you are. I never forget a face. We took a trip together, didn’t we? Sure we did. Maybe even more than one. It’s all coming back to me.

It’s funny you should happen along right now. I was just thinking about something. I’d love to tell you about it, if you have the time.

Sponsor: Backbeam

My sincere thanks to Backbeam for sponsoring my writing this week. Backbeam lets you focus on building your apps, without worrying about the associated services and server infrastructure. It offers cloud storage, push notifications, authentication, REST services, and plenty more.

Mobile apps are becoming more complicated to build every day. New devices offer new frameworks and technologies; users demand new functionalities. Meanwhile, the development cycle does not seem to get any easier. Implementing new functionality requires many steps: change the database schema, write a migration code, change backend logic, update the web service, deploy in development, and finally, deploy in production. Only in that moment can you start developing the actual feature you wanted to implement in your mobile app.

What if you could do everything on the fly without writing a single line of code, modifying a single configuration file, or restarting any service? If only there was a service that allowed you to focus on the actual features rather than waste time on that old-fashioned development cycle…

There is! provides you with a complete platform for building mobile apps with many services implemented out of the box: push notifications, user authentication, email delivery, separated development, and production environments. Unlike other similar services, Backbeam provides you with a complete database featuring advanced functionalities such as complex queries (joins!), full text, rich data types, geo-queries, and a full featured control panel where you can browse the dataset in a user-friendly way.