Sam Holman - coder, gamer, geek.

Provision A Dev Environment With Ansible

I presented a talk at Leeds PHP on Monday (15th September) about using Ansible to provision a Tmux and Vim based development environment. The slides and a video representing the live demo are embedded below. I love this particular setup, and you can read some of my previous thoughts in an earlier post. Let me know if you have any questions!


And a video representing the demo:

Continue reading »

On The Ice Bucket Challenge

Like most other people in the Western world these past few weeks I was recently "nominated" to do the "ALS Ice Bucket Challenge", and again like most, bowed to peer pressure and did it - video posted onto Facebook and all.

I'm sick to death of seeing the damn things, but you can't not do it, right? I mean, it's for a good cause.

When you donate to charity, usually it's due to one of two particular motivations:

Continue reading »

Development With Tmux And Vim

So I recently put my dotfiles on Github, with this repository containing all of the configuration for my development environment using Tmux and Vim. "Why?" you may ask. Well, because these tools are awesome, and I recommend you give them a go!

If you're used to most other editors or IDEs, the process of "configuration" is often about digging through preference panels, and when you need to set up on a new computer you often have to go back through that process, while not necessarily remembering how you last set it up.

Conversely, all you have to do here is pull down a repo from Github and you're pretty much done.

Continue reading »

Diffing After Git Rebase Conflict Resolution

UPDATE 31/07/14: Using comm with the -3 option to suppress lines common to both diffs seems to result in an even cleaner output. :-)

comm -3 <(git diff -w -U1 release...@{1}) <(git diff -w -U1 release)

ORIGINAL 17/07/14: I had a feature branch - branched from master, but wanted to rebase onto a different branch, release. There were conflicts during the rebase, and once resolved, I wanted to view a diff of my feature branch before and after the rebase to check the changes from conflict resolution, but without seeing the unrelated changes between master and release, as these weren't of concern.

Continue reading »

A Drip Or A Puddle

As I type this, the Data Retention and Investigatory Powers bill is going through the final stages of its fast-track "emergency" process through the Commons.

What I hoped for this morning was that MPs might understand that they don't necessarily understand enough to pass this legislation in a day. Especially considering the concerned voices from Internet companies and some very distinguished IT professionals and academics.

This doesn't seem to be the case, as barely anyone turned up, and the vast majority of MPs voted in favour of the timetable and have now passed the bill, which will see it continue onto the House of Lords tomorrow. Is this really a democracy?

Continue reading »

The Drip Drip Of Parliamentary Apathy

If it wasn't already clear enough from the title, I am of course referring to the Data Retention and Investigatory Powers bill that's currently being rushed through UK parliament under "emergency" measures.

There are so many things wrong with this scenario, and I'll try to break down just a few of them.

Why Metadata matters

Continue reading »