Matt Gemmell


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.


I’ve been writing here at for more than eleven years.

My publishing frequency varies (though I’m getting back into a more regimented schedule now), but I periodically have high-traffic weeks with popular pieces. I’ve had a couple of those in the past month or so, each one getting a decent amount of linkage, sitting on the front page of Hacker News, and racking up a few dozen thousand reads on the day of publication. That’s great, and I’m absolutely delighted and grateful.

Whenever a piece “hits” like that, I start getting emails – and this has happened for years. The messages from readers are fantastic, no matter whether they’re positive or negative, but it’s the other kind of emails I want to talk about here: the requests for republication.

Sponsor: Dejal Simon

My sincere thanks to Dejal Simon for sponsoring my writing this week. I’ve used Simon for years, to keep an eye on my own servers, track when the WWDC site is updated, and monitor my internet connection.

Dejal Simon is the flexible server monitoring tool for OS X.

It checks web pages, FTP and DNS servers, local or remote ports or volumes, and other services for changes or failures, and notifies you via email, sound, speech, Twitter, SMS, HTML reports, and other means.

Add tests to Simon to track updated sites, to alert you when an important server goes down or recovers, track posts and new comments on your or friends’ blogs, check for web mail, make sure a key application is running, check on Samba SMB, take periodic screenshots of the system, get notifications of updates to favorite news and entertainment websites, keep an eye on auctions, and many other uses.

The gift of writing

Dear reader,

I’m a writer. I’ve spent half my life getting to this point, if I’m only granted the traditional seventy years on this Earth. Today is my thirty-fifth birthday.

You’re one of over half a million readers to visit this blog in 2014, so far. Thank you so much.

I’m often asked by my many friends (and former colleagues) in the software development community if I’m tempted to return to that career. It’s a wonderful line of work, and filled with fascinating challenges, and intellectual achievement. It was a wonderful job for me.

But I have a new job now, and my answer to those who ask is that I’ve never been happier in my work than I am now. A writer is nothing without readers, and again, I’m deeply grateful to you for reading these words.

Letting go

I’ve been trying to let go. It’s a work in progress, and it probably always will be, but I’m trying.

I’m looking for focus, and freedom from noise. More than that, I’m looking for stability; a metaphorical place where I have a chance of doing my best work.

I’m distracted by my interests, but that’s fine. What’s not fine is that I’m also distracted by things I might think are interesting at the time, but are really just opportunities to procrastinate.

I’ve learned that letting go is an active, continuous process. The default assumption is that we want to be interrupted: notifications are enabled, ringers aren’t silenced, and reminders are set. To get rid of that stuff, you have to take a stand.