-
Monday Git Tips
02 July 2012
Read moreOne project I'm working on at the moment involves finding my way around changes in a codebase that isn't mine - and it's quite large. I was doing pretty well with a combination of git log and git show and in particular two of my favourite existing tricks:
-
Pushing to Different Git Remotes
28 June 2012
Read moreJust a quick tip because I'm working on a different git workflow at the moment with one of my clients, and it struck me that this usage pattern is something I don't usually write or speak about at all. Most git setups have one "main" repository, and either:
there is a gatekeeper that manages merging to here
all developers have write access
In this case, I'm working with the second option, so I'm pushing to the upstream repo. I'm also pushing to a live repository as well, so I thought I'd outline the commands I'm using. The setup here is the main github repo, and I have my own fork of that, which is cloned onto my laptop. I can push to both that main repo, which I'll call "upstream" (because the github documentation does and it makes sense!) and another repo that I'll call "live". All in all it looks something like this:
-
Downloading Files from Faspex
30 May 2012
Read moreThis week, someone sent me a very large file using something called faspex. To begin with, it sent me a link to click on to download my file, but then started telling me "for best results, install a plugin". And apparently "for best results" means "to download this file in any way".
-
How the Web Looks to Me
16 May 2012
Read moreIt feels like I've tried to field the question about how I can use the web without using a mouse (or trackpad or equivalent), without "pointing", multiple times in the last couple of weeks. The answer is quite visual so I thought I'd share. This is how the web looks …
-
Taking on a Database Change Process
30 April 2012
Read moreI wrote recently about deployment and I got some followup questions about managing database changes when you've got multiple versions of code hanging around.
There are two things you need to come to terms with:
There is no silver bullet
Rigid process is required
-
Apache Config: .htaccess or Virtual Hosts?
12 April 2012
Read moreHow to set apache configuration for your web projects? Some settings have to be in the main apache config or in a virtual host, but for many others you have two good choices; either use an `.htaccess <http://httpd.apache.org/docs/2.2/configuring.html#htaccess>`__ file, or …
-
Adding Custom Headers to Every Request with Chrome
10 April 2012
Read more
I'm working on an API which uses OAuth2, but it also has an HTML output handler so I actually do quite a lot of my development in the browser for read-only stuff (I wrote an earlier article about output handlers including the HTML output handler). I fell across an extension … -
SQL JOINing a Table to Itself
23 March 2012
Read moreGetting two sets of information from one table in a select statement often leads people to write subselects, but it really doesn't matter that this is the same table twice, we can just give it a new alias and treat it as if it were a different table. This is one of those techniques where, once you've seen it, it's really obvious, but until that point it can be very confusing. I explained this to someone else recently, so I thought I'd capture it here in case it's helpful to anyone else.
Consider that tried-and-tested example: employees and managers. Here's the staff table from the database (today's imaginary data isn't particularly imaginative, sorry):
-
5 Things To Do With A Training Budget of Zero
21 March 2012
Read moreTraining budgets are never generous enough to give us everything we think we need to keep our skill sets improving, however many people will be lucky enough to get something. If your training budget totals precisely zero pounds (or euros, or dollars, or whatever your local currency is), what do you do? Sulk until they give you something more? Or make the most of what you have?
-
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:
-
Thoughts on Running an Open Source Project
01 March 2012
Read moreI spoke in the unconference at PHPUK last week, on running an open source project. I thought I would collect together my thoughts into one place before I lose the scratty piece of paper I wrote them down on.
