-
Watch Over Long Running Processes with Supervisord
12 March 2012
Read moreAbout a year ago, I wrote a bit about gearman and how I was using it to create points in my application where intensive tasks could be processed asynchronously. It occurred to me recently as I was working on something quite similar that I didn't come back and write about the tool I use to manage the workers; supervisord.
-
Generating Callgraph with XHGUI
05 March 2012
Read moreI had a frustrating bug the other day with a new XHGUI install, I am working on creating a VM for my new PHP tools course I am teaching in March and I wanted to pre-install and part-install a bunch of things so that I can show some great tools in a limited amount of time. My XHGUI wasn't quite right though; it couldn't generate the callgraph for me. Instead, it said:
-
Wedding Stationery
20 February 2012
Read moreIn case you missed it, ours was a small wedding - which means that the majority of our friends and family weren't actually there! We loved our small wedding but I knew that I still wanted to share a small flavour of the day with some of those friends and family, and also get some mementos for our home.
When browsing the moo.com site (it is usually best to hide all payment cards out of reach before doing this!) I had seen the postcards that they make and decided this would be a great way to send a small selection of photos to a few people. Once we got the "official" photos in, I ordered some postcards, and I think they turned out rather well!
-
Wordpress Contact Form 7 Without Captcha
15 February 2012
Read moreWhen this blog moved to wordpress, we added a contact form into the footer, which was available on every page. This seems awesome until you see the sheer volume of spam I got from it in the first day or two. I hate captchas, not least because I usually fail them at least once myself, so I was in search of alternatives and found two: akismet and the honeypot plugin.
-
Google OAuth 403 Response
09 February 2012
Read moreI had an issue this week on a system which has been working fine for a while, but stopped fetching some data from google's user account API. I was getting a 403 response from the API, which seemed odd. Luckily I was logging OAuth::getLastResponse() to my error logs (this …
-
Speaking at DayCamp for Developers
07 February 2012
Read moreI am delighted to announce that I'm speaking at the upcoming DayCamp for Developers in early March. The idea behind the daycamps is to bring important but non-technical skills to developers everywhere - so the sessions are virtual and so are the speakers! This time around the topic is Business, so …
-
Mercurial "Not At A Branch Head" Error
06 February 2012
Read moreAlthough I write and speak a lot about various kinds of source control (git and subversion are the most popular still as far as I can see), my own development projects are on BitBucket under mercurial (bitbucket also offer git hosting these days, and their tools are great). Recently I was working on an upgrade for BiteStats (note shiny new theme, with thanks to @miss_jwo) and I kept getting this error from hg tag
not at a branch head
-
SQL Joins with On or Using
17 January 2012
Read moreI recently wrote a post about inner and outer joins, and a couple of people asked what the difference is between USING and ON.
-
Using lrnja.net Custom URL Shortener with Bit.ly
04 January 2012
Read moreI'm a big bit.ly fan and recently I registered a shorter URL to use for short links - and I went for lrnja.net. I sat down to configure my new domain with bit.ly, and it was very straightforward (I'd almost say "designer-proof"! /me ducks).
- First: register your domain …
-
The Tree Command
29 December 2011
Read moreToday I'm working on a little tutorial (about writing RESTful services, for this site) and I used the tree command to illustrate the file and directory layout of the project. I love this little command and use it frequently, but it isn't very well known so here's a quick example.
-
Tracking Your Domain with Bit.ly
23 December 2011
Read moreAs a blogger and lover of graphs, I am not sure how I hadn't already seen bit.ly's tracking domain feature. With this, you can register a domain and see reports on all of the URLs that are shortened with bit.ly which point through to that domain.
-
Inner vs Outer Joins on a Many-To-Many Relationship
20 December 2011
Read moreSomeone will probably tell me that this is an elementary-level topic, but I got some good questions regarding joins from my most recent ZCE class students, so I thought I'd put down the examples that I used to explain this to them. Being able to join with confidence is a key skill, because it means that you can refactor and normalise your data, without worrying about how hard something will be to retrieve.
