From the 2015 Paris–Roubaix

Don’t be silly on your bike around trains folks.

An excerpt of John Oliver interview with Edward Snowden where they discuss the need to shift away from the idea of passwords towards the idea of pass-phrases.

It surprising how many passwords requirements still encourage hard to remember short passwords, like ‘Gf65&$e’ while preventing people from using easy to remember hard to brute force longer pass-phrases, such as ‘youaskifilikefishfingers?idonot!’.

Hills and Sheep Carcassonne Expansion Review

Last night I had the opportunity to play Carcassonne including the Hills and Sheep expansion and now the almost ubiquitous River 2 starting expansion.

The Hills and Sheep expansions adds a number of interesting elements to the core Carcassonne game which are quite easy to understand and in my opinion help to balance out the scoring potential of features. Firstly the introduction of the vineyards helps to boost the scoring potential of Monk meeples but in a nice non overpowered way, more reward for completion of cloisters but no penalty for the lack of completion. The hill pieces have two effects firstly they provide a way of loosing tiles blindly which introduces a nice way of varying the playing titles available in any given game. Secondly they provide a means of resolving a tie between meeples within scoring features which introduces a nice extra element of game play.

The best of the expansion in my opinion though was the sheep game play, in which once a player has played the shepherd meeple they were able to add sheep to their flock when they expanded the shepherds field. This within our game unintentionally encouraged more ambitious road building as players found they could expand both the shepherds field and the thief’s at the same time scoring significant points. This gave added purpose to the typical straight road piece which in later game play can become a little boring to play.

Overall for experienced Carcassonne players the Hills and Sheep expansion offers a nice variation to the game which requires minimal explaining but does introduce new game winning strategies and hence would be recommend.

The Hills and Sheep expansions rules can be found online here.

Last night after completing the frequent task of applying application and system updates I discovered that notmuch mode within emacs which I use to read email was broken.

Now you might expect this to be a rant about package management on Linux systems, or Ubuntu in general but that is not the case as I allow Ubuntu to manage notmuch, offlineimap and emacs. While I use emacs MELPA to manage notmuch mode within emacs. SO expecting two different package management systems to allows get it right when they don’t talk to each other is a little much to ask.

So returning to the problem I found myself unable to read my hosted email. I was about to login via the web interface, which would solve the reading problem, give me a horrific web interface to work with and the problem of maintaining the sent mail record when I realised that even though notmuch much was broken, offlineimap was working just fine. A great endorsement of the *nix method small programs doing one thing well and also the advantage to open formats. Consequently I quickly installed Mutt through apt-get pointed it at my local mail boxes and was sorted.

Now it still leaves me with a broken notmuch mode with emacs which I hope will get fixed by a future update. However, to be honest I am considering just sticking with mutt as it resolves the meta key iOS bluetooth problem, but thats an entire blog post in its self.

In the process of developing a method of automatically build the numerous Jekyll based sites I am now running I came across a couple of problems to do with deploying with git, through shell scripts launched by crontab.

Architecturally the sites receive content from shared folders which are symbolically linked in to the Jekyll site folders. A shell script script that is launched by cron runs Jekyll and then use git to version and push the site onto the web server.

Firstly the users own crontab, editable as crontab -e, runs with a different executable path so the user path must be explicitly set within the shell script being used.

export PATH=""

Once the path was set correctly the next issue I faced was the failure of git push commands with this error message.

ssh_exchange_identification: read: Connection reset by peer fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

I gather this is again caused by cron, as cron is unable to access or use the users ssh keys even if they do not require pass phrases. However on Ubuntu 14.04 LTS this can be resolved by prefixing the git command with the home directory path.

HOME=/home/bob git push origin master;

This makes the complete script,

export PATH="/usr/local/sbin:/usr/local/bin"

cd -complete path to folder-

if /usr/local/bin/jekyll build; then
        git add .;
        git commit -m "auto build";
        HOME=/home/bob git push origin master;
        echo "build error"

This script can then be launched from cron as required to cd into the build directory, run Jekyll to build the site and then push the site using git.

This works on Ubuntu 14.04 LTS as of today.