Category: tech


  1. So You're Thinking Of Submitting A Talk


    I've been a conference speaker for a lot of years now, which doesn't make me an expert but it does mean that people ask me for advice pretty regularly! With the Call for Papers open for PHP North West at the moment (awesome conference, first weekend in October, CfP at …

    Read more

  2. Notify New Relic of Jenkins Deploys


    I'm a fan of Jenkins as a build server, and on one particular project we've also started using New Relic (I haven't figured out how to blog fun things about New Relic without sharing graphs of client applications which doesn't seem like a cool thing to do). New Relic has a feature where you can notify it when you do a deployment, and it shows on the graphs a line marking when that happened, which is super useful for correlating performance changes with code changes.

    new-relic-deploy

    Read more

  3. Code Reviews: Before You Even Run The Code


    I do a lot of code reviewing, both in my day job as principal developer and also as an open source maintainer. Sometimes it seems like I read more code than I write! Is that a problem? I'm tempted to say that it isn't. To be a good writer, you must be well-read; I believe that to be a good developer, you need to be code-omnivorous and read as much of other people's code as possible. Code reviews are like little chapters of someone else's code to dip into.

    Over time I've developed some particular processes that I find helpful when reviewing code. In particular, I often surprise people at how much review I do before I run the code. Sometimes I grab the branch so that I can use my local diff tools, but I don't actually execute code until I've established some basic facts. This post is a little insight into what's happening in this not-running-the-code-yet zone.

    Read more

  4. Count Changed Lines in Git


    I have a favourite set of switches to git log, but today I wanted to answer the question "You deleted how much code today?" so I thought I'd share how I did that

    git log --numstat will show you how many lines were added (first column) and removed (next column …

    Read more

  5. Scaling and Sizing with PDFJam


    I find myself needing to take a PDF, output it at a specific size, and have the result offset to the top right hand side of the screen. To achieve it, I needed a few new switches to my good friend PDFJam, so I thought I'd share my command!

    pdfjam …

    Read more

  6. Vimdiff and Vim to Compare Files


    At the moment I'm working on a tricky project where two similar projects diverged. Very similar things happened to them both, but not quite the same things - and now we're merging the codebases to give us as much common code as possible. All this simply serves to set the scene of exactly what I was doing spending a whole day with large code diffs - I had to look up a few things so I thought I'd capture them while I can remember.

    Read more

  7. Vivosmart Smart Watch


    I don't often do product reviews here, but I recommend this one a lot so here goes ... I have a smart watch, the Garmin Vivosmart. I really like it and its integration with my android phone so I thought I'd share my experiences.

    Read more

  8. Proxy Curl Through Charles Proxy


    I'm working on a project at the moment with an API, so I usually talk to it with curl. I also love Charles Proxy, a very handy tool that I use to inspect, repeat and edit requests. Today I used them together!

    Read more

  9. Test Incoming Webhooks Locally with Ngrok


    I'm enjoying working with hubot; I have a few different instances running for different groups. One of the things that I use hubot for is to echo activities from the source control repo, the bug tracker, the CI system, the (you get the idea) into the channel for a project. This is achieved via webhooks; a feature offered by many providers to POST information about an event to your endpoint as soon as it happens.

    Read more

  10. Organising Inclusive Events


    I've been thinking a lot lately about what makes an inclusive event. Not gender-inclusive, necessarily (I commonly find myself as the only woman developer at both my local user groups), just approachable, maybe for newcomers but mostly for everyone. What happens at the event itself is really important, whether people greet you, whether the speakers introduce themselves, and so on. That's only half the story though, because often we've excluded people from our events before the event begins. Every conversation I have about this topic comes back to information.

    Read more

  11. Hubot with Git Submodules


    I love hubot and use one in a few different places. One thing I do find though is that I often want to edit or evolve those plugins, and it seems somehow unethical to just hardcode my changes into my own repo. Once I figured out how to wire together a forked repo as a submodule, it became much easier to work with hubots with external plugins, so I thought I'd share my recipe for that.

    Read more

  12. Git: upstream is gone


    I came across a git repo recently that output this message with every operation I did:

    Your branch is based on 'origin/master', but the upstream is gone.
      (use "git branch --unset-upstream" to fixup)
    

    I was delivering a workshop at the time so I kinda snarled at it and carried …

    Read more

⇦ 11 of 40 ⇨