Building notes, projects, and occasional rants


last update:

New Mac

I got a new Mac at work a couple of weeks back and I’ve been slowly moving my life to it. It is the new Macbook Pro 13” with a 2.9GHz i5 and Touch Bar. The only upgrade I did was bumping the memory to 16GB. For comparison, my previous Mac was still a Late 2008 Macbook, fully upgraded with the unofficially supported 8GB and after market SSD (two in fact, replaced the DVD a year back with a second SSD).

User interaction is not allowed

This errors happened to me sometime ago, but today I saw it again on a coworker Mac. You’ll get the error on the Terminal, with commands that want to use MacOS Keychain passwords. I’m sure there is another element at work here, but I could not find it. In this case, the error on docker login was this (you’ll get a similar error with git fetch or git pull): Error saving credentials: error storing credentials - err: exit status 1, out: `User interaction is not allowed` The command line tool is trying to access a Keychain Item, and this item is protected to only be used by some applications.

brew info

Tip: use brew info before brew install

Where to eat: Figueira da Foz edition

A friend asked for good places to eat around Figueira da Foz, where I live. He was not the first, it is a common request, so I wrote a page with some of the places I go to on a regular basis. So enjoy, Eating in Figueira da Foz.

iOS (null) Applications

Over the past weeks, I wasn’t able to complete any of my iPhone backups, and without a backup (actually two, iCloud and iTunes, just because) I didn’t want to upgrade to the latest iOS. Last night I decided to investigate why. The error I got was this: 26/8/16 10:28:09.285 PM AppleMobileBackup[42056]: ERROR: Backup message response: 101 Unable to open domain directory: No such file or directory (2) at path "/var/mobile/Containers/Shared/AppGroup/453DA9D8-45A4-4B88-9D43-57A5772B6C57" (MBErrorDomain/101) Not very useful.


I’ve finished reading A Generation Lost in the Bazaar by Poul-Henning Kamp (of Varnish fame). The key takeaway is simple enough: quality happens only when someone is responsible for it. Right now, I’m working on my personal/family project, modernising the infrastructure of a 16 years old Perl application, and moving some parts to other languages to make it easier for us to hire resources. I love Perl, and still is my favourite language, but getting people to work on it in Portugal is a very hard proposition.

Fat scripts

Recently we installed HipChat at the office, and I want to write a small script to send messages to it. To make it easier for others to use I wanted to distributed it as a single standalone script, no dependencies. I wrote the script, x-hipchat, with all the bells and whistles I felt were important, and then turned to the process of pack it into a single no-dependencies script. The simplest method I could find is App::fatten.


A thread showed up on Twitter about messaging software options. My story is not 140-charaters material, so here we are. If you do insist on a tldr; version: use NSQ if you need something that works out of the box, use Redis if you want to build your own. At work, we use a lot of message queues to plug different components together. They are a great tool to have on your belt but the landscape is filled with solutions so picking your own solution can be a daunting task.