Robin Cafolla Blog

Robin Cafolla

Into the unknown.



Two months ago I handed in my notice at a job I've enjoyed more than any other. I didn't decide to leave because I was tired with the work, or fed up with my co-workers, nor was it due to the workload or pressure of the role. I left because it was very comfortable, and very enjoyable, but it was a role a sequence of events had led me to; not one I had conciously directed my path towards. I had found myself with a very succesful career, but without ever having made a concious decision to achieve it.

View from the road to Chikwawa.

An opportunity was available, my girlfriend was in Africa and it's been a long time since I've gone travelling. So I jumped, I gave work plenty of notice and buried myself in finishing as much of the project as possible. I started researching trips in Africa, on possible routes and places to visit.

A dirt road in Dedza.

The two months flew by, and I got less planning done than I probably should have. But I'd decided I wanted an adventure and too much planning kills an adventure before it starts.

The church in Lemon village, near Chikwawa.

It's been nearly two weeks since I left for Malawi. So far I've photographed the residents of two rural Malawian Village for a well known global development organisation, seen an amazing performance of the Gule Wamkulu, eaten some great steak, hiked up (part of) a mountian, had more than a few Gin and Tonics and spent time with my wonderful Girlfriend for the first time since Christmas.

  1. Jump. Comfort is over-rated.
Robin Cafolla

New Site, New Era



It's been a very long time since I last updated my web site's design; the previous incarnation had existed since 2009 and was dated and not very good to begin with.

Like many developers, I struggle to design nice pages, but unlike most developers, I have a background in the visual arts and actually studied some elements of design as part of my undergraduate degree.

Because of my background I constantly feel that design should be something I'm good at, but the reality is that I don't enjoy web design. Mostly, I think, it's because it's a very restrictive practice. As a developer I'm weighed down by the knowledge of what's possible on the web, and what 'doing it right' means. I know all of the best practices, I understand that big images are un-performant. I get graceful degradation, and semantic design and accessibility and a host of other necessities of web design that all taken together really slow down the process of mocking up a nice web page.

A spider in Liwonde national park, Malawi

My frustrations emerge as a general angst while I design. "I should be better at this!" I think to myself, while googling the performance benefits of icon-fonts. "I should have a gorgeous website!" I proclaim inwardly while dreaming up nice Models for the back-end of the blog I can't finish a design for. I get bogged down in the technical too quickly - usually before I let my creative side loose on the problem.

I also have a deep and developed respect for real designers. I've hired and interviewed designers over the years, and the checklist of what I look for in a designer is ever present in my head while I design. The knowledge that you don't check your own boxes is a little demoralizing.

The fact that I don't enjoy design, means that it's usually a very slow process for me. Over the years that's led to projects I would otherwise have loved to have pushed forward getting bogged down while I searched in vain for a desiger-partner to do the bits I felt I couldn't.

With all this said, I really like this design. There are parts I hope to improve, and I might invest some time to make it work properly on mobiles, but I like it. It's diferent enough to suit my sensibilities, but follows enough rules to make the ones I break interesting.

I started this design 10 months ago, and it's taken a long time to get organised enough to write some first posts and put it live. Why this week? Because I'm busy in work, and those are the times when I'm most productive outside of it.

Robin Cafolla

A lesson is learnt, but the damage is already done.



A disaster in 2009

It's been a while since anything occupied except a pointless 'under construction' message. The reasons are not many, or sadly, varied. About a year ago we changed the OS of our server, 'cloud', from Debian to Ubuntu.

Debian was fine, but we tend to install cutting edge shit on our server and Ubuntu rolls out package updates much more frequently. Plus I use Ubuntu at home and wanted to try it out on a server.

In the process of the OS swap I backed up absolutely everything as a necessity - we were after all wiping the server completely. I downloaded a gzip of all my stuff and began the install. 3 hours later, we had everything back up and running on our shiny new distro. I copied my backup up onto the new 'cloud' and to my absolute horror, found only about half my stuff extracted from the gzip.

I initially kept a cool head, probably the upload had corrupted the file, I had a local copy, best check that before panicing. I watched with fingers crossed as gzip ran on my netbook but yep, it too was corrupted.

Much wailing and tearing at the hair ensued.

When I calmed down I took stock of the damage. I hadn't been keeping regular backups. Technically 'cloud' IS a production server, but we don't really treat it like it is. Laziness on my part meant I was backing up infrequently. I had copies of much of the major stuff, but a lot of my notes and any modifications to my site for a year were gone.

I took it fairly philosophically. I lost 2 - 3 months of work. A personal website I'd been building was more or less knocked back to the design phase. It was crap, but it was a lesson. These are the specific things I learnt from the experience:

  1. Backups are great. Schedule them regularly.
  2. A backup is only useful when you're certain it works.
  3. When it comes to backups, gzip is a tool of the devil. Don't gzip your backups and expect them to work.
  4. Rsync is a simple tool. Yes it's slower and uses more bandwidth, but it checks everything copied correctly. Use rsync.
  5. Hard drives aren't that expensive, keep full backups in multiple locations.
  6. You should treat your own server like you treat your work servers. Your time is precious, don't waste it for want of a backup.