Hubot and Slack

I'm enjoying using hubot to integrate services very easily and both give updates and respond to commands in chat. One of my hubots chats to us in slack rather than in IRC, and there are a couple of gotchas that I wish I'd known about before I started!

  • Hubot will not respond to you in PM, you need to join a channel and then /invite @hubot and your bot will join you in that channel and then respond when you address him/her by name
  • When configuring channel names for slack (I use the gitlab plugin which needs a GITLAB_CHANNEL environment variable), do NOT include a # at the start of it if you use slack - works a treat in IRC, but skip it for slack. I spent quite a while looking for a bug in the slack adapter before I figured this one out so it's written here for me to look up next time!
  • Also note that your hubot can only speak in channels that it has joined; I have seen hubot actually crash when asked to speak in a channel that exists but which isn't known to it.

I think this central way of having plugins which can integrate with many messaging platforms on one side, and integrate with many external APIs on the other means we'll be doing much more in chat ops moving forward. Already I'm impressed by how many of the hosted tools I use have webhooks, although there aren't hubot plugins for all of them (yet!).

XHGui on VM, Storage on Host

I'm doing some performance tuning on a project at the moment and my favourite tool is still XHGui - but it's designed to run on the same machine as its victim and since this is a vagrant VM, the chances of me destroying the machine and therefore the data are pretty high! Instead, I set it up to store the data onto the host and I thought I'd share how I did that. Continue reading

Todotxt on Android and Ubuntu

I'm a big fan of good tools, however struggle to find products that fit me because there are some key constraints:

  • I use Linux (specifically Ubuntu 14.10)
  • I don't use a pointing device. At all. If I can't use a tool from the keyboard, I can't use it at all (as a side effect, I use keyboard enablers in my browser so if your website has "helper" keyboard shortcuts, I probably can't use that either)
  • My other devices (phone, tablet, work phone) are all android

Taken together, this makes finding tools a challenge - but I've had good experiences with todotxt and the ecosystem around it. Continue reading

Making a Play Kitchen

This Christmas, a little girl in my life receives a play kitchen of her very own, handbuilt just for her. It was a fun project and I thought I'd share it (and the pictures, of course!).

Continue reading

ZCE Questions Pack Unavailable

There is a change in legislation for selling digital goods to anyone in the EU, and to cut a long story short this means that my ZCE Questions Pack will be unavailable at least in the short term. The pack is intended for anyone preparing for ZCE, it has general advice, sample questions and detailed answers and resources covering all the topics you will encounter at ZCE.

However from January the VAT rules change and I'm not in a position to comply with the new rules (they would cost a lot more than the sales make). I'm looking for alternative sales channels that would enable me to keep making the pack available but those won't be in place immediately. If you are studying for ZCE over the Christmas break, please make sure you have the pack well in advance!

Edit: Pack temporarily unavailable now

I have other (free!) resources for you also on my ZCE page. If you have an earlier version of this pack, email me your receipt and I'll send you a new copy - but again, you have about a week to do it!

Status Check on All Vagrant Machines

Much of the development I do these days uses vagrant machines to make sure that my code is running in the correct environment. This is great, but spinning up too many machines at once can rather stretch the resources of the computer you're running them on - and I keep starting up machines and then forgetting about them!

It turns out that (since vagrant 1.6) you can ask vagrant to tell you which of its machines are running, using the command:

vagrant global-status

Where did all my system resources go? Now I know!

Vim and HTML Tags with the Surround Plugin

Marking up documents is always tedious, and usually there are shortcuts available. My favourite document format tool is Pandoc, literally a box of document-conversion tricks! Today though I was not so lucky so I marked up a plain text file as HTML by hand ... or rather, using my favourite vim tricks so I thought I'd share them.
Continue reading

New Job With Siftware

After 4 years of working independently, today I start my new job! I'll be Principal Developer with Siftware, a small development agency specialising in project rescue, migrations, and generally being excellent at things that need business-conscious development skills applied to them. They're UK-based but distributed; I will still work mostly remotely. This is also a part-time role so I'll be using the other half of the week to continue with my books/consultancy/training/outreach/whatever activities - really this "big news" isn't much of a lifestyle change! I've been doing about 50% development and 50% other for the last year or so, and I'll continue to offer training and specialist consultancy services for anyone with an interesting enough challenge for me.

In fact this is my dream job. Steady, REAL development work, with real people in my timezone. Part time to allow the other aspects of my business to still get some time and attention, and to fit in my other interests/family commitments. Too good to be true? I hope not :)

Announcing the Git Workbook

I'm very pleasedtitle_page to announce the immediate availability of my new book Git Workbook, costing $20 from LeanPub. This is a book that you "do" rather than "read"; it's a series of chapters (30 ish so far) each covering one specific git skill.

Each chapter includes an explanation of the skill in question, followed by a hands-on exercise so that you can work through the skill yourself, and ends with a tickbox so you can keep track of how far through you are. It has quizzes, diagrams, mildly amusing stories, and as many other examples as I could think of that could help anyone to take in this technical topic and understand how to apply the techniques covered. Continue reading