To get an insight into the traffic going around the place, I’ve been using Wireshark and it’s ability to capture remotely, it’s really simple so I thought I’d write down my “recipe” on how to do this in case it’s useful. Continue reading
Category Archives: tech
What Does URI Stand For?
Instead, the API publishes each record with a unique uri
field. If this record is referred to by another record, then this full identifier will be used in every case. If this record should be included in a collection, this exact same identifier will be used there, too. You can reach the resource directly by requesting its URI. In the same way that we might refer to a website by its URL, we refer to records in RESTful systems by their URI*. If you need to store these somewhere for your own use, you can use whatever key you like with the local storage, you may even choose to use the uri
field as it is unique.
* URI stands for Unique Resource Identifier
Getting Started with Beanstalkd
Why Beanstalkd?
My requirements were simply to add both asynchronous (for processing things like recalculating counts) and periodic (mostly for garbage collection) tasks to a PHP application. The application has a separate web application and backend API, both made of PHP’s Slim framework, and the API talks to MySQL. It’s all very lightweight and scalable, and I was looking for something to fit in with what we have, with good PHP support.
Enter beanstalkd, it’s a super-simple job queue and has great PHP support in the shape of Pheanstalk (I’m saving my PHP + beanstalkd examples for another day because this post would get too long to read otherwise!). I’ve used gearman in the past but beanstalkd seemed lighter, and when I started looking at their documentation I discovered that I had a working installation in about the time it would take me to fall off a log – which is always a good indicator of a tool that will be fun to work with :) Continue reading
Git Log All Branches
The remedy for this situation? The --all
switch to git log
. Continue reading
Ubuntu and the X220T Touch Screen
I recently sorted this out, so I thought I’d share the scripts that worked for me on Saucy Salamander Ubuntu 13.10 with Unity.
First, work out which device you actually want:
$ xsetwacom --list
Wacom Bamboo stylus id: 11 type: STYLUS
Wacom ISDv4 E6 Pen stylus id: 13 type: STYLUS
Wacom ISDv4 E6 Finger touch id: 14 type: TOUCH
Wacom Bamboo eraser id: 19 type: ERASER
Wacom Bamboo cursor id: 20 type: CURSOR
Wacom Bamboo pad id: 21 type: PAD
Wacom ISDv4 E6 Pen eraser id: 22 type: ERASER
Then, use xsetwacom
to get the right touch input relating to the correct screen, even with multiple monitors:
$ xsetwacom set "Wacom ISDv4 E6 Finger touch" MapToOutput LVDS1
At this point I should point out that my touch screen is incorrectly configured and therefore needs the script above running every time I plug or unplug an external display. Since I dock my machine, move it almost daily, and regularly present … that’s kinda irritating. Any solutions on improving that are welcome.
Splitting And Combining Odd/Even Pages With Pdftk
Upcoming Git Courses
- Dublin, 30th January: Git and GitHub Foundations
- Dublin, 31st January: Git and GitHub Advanced
- London, 6th February: Git for Teams
I have fantastic partners for these events: the Dublin ones are with Github and the London ones with FLOSSUK, and I look forward to both. Right now they all do still have places remaining, visit my courses page for the links you need to book. Training days are a great opportunity to boost your skills and discuss specific aspects of technology that you can’t really get from a textbook – hope to see you at one of these sessions, I am standing by for difficult questions :)
Git, Vimdiff, and Merge-Base
git merge-base
is this week’s favourite git command. I use it to show me in a vimdiff everything that has changed on a particular branch since it was created. This took a little bit of looking around to find how to combine the tools, so I thought I’d write it all down in one place. Continue reading Hiding Sections With Rst2pdf
Printing Many PDFs Per Page
This weekend I was working on a project which needed a programatically-generated PDF file to be many-slides-per-page – and for this I adopted a tool I haven’t used before: pdfjam (installed straight from apt on Ubuntu).
In fact it was pretty easy to get going with it: to print my existing PDFs at 4-per-page, I used this command:
pdfjam --landscape --nup 2x2 --a4paper -q slides.pdf -o handout.pdf
The slides themselves were already landscape so I specified the target document should also be landscape. The --nup 2x2
is the magic that prints many slides per page, and it seems like it can do various nice tricks with handouts. Running through the other arguments that I used: --a4paper
for the paper size, -q
to stop it from chattering (which it does by default, even when everything worked), slides.pdf
was my input file and -o handout.pdf
the target file to put the new layout into.
Until now I’ve mostly worked with pdftk for everything, but I couldn’t find a way to do this using it. Pdfjam is now a welcome addition to my PDF toolchain, so I thought I’d share.