Blog


  1. Generating PHP library code from OpenAPI


    I'm working with a bunch of OpenAPI specs now I am working for Nexmo and so far I'm loving working with API descriptions. OpenAPI is the next iteration of what used to be called "Swagger", a machine-readable way to describe your API and from that description create docs, code libraries, tests, and all sorts. Today's post is a quick writeup of how I generated some PHP code so that I can refer back to this next time I want to do it!

    Read more

  2. How NOT to Review a Pull Request


    Examine the diff and comment on it, a line at a time

    Read more

  3. Managing Environment Variables in PHP


    Now I work with more programming languages, I start to miss features from other languages when I come "home" to PHP. One that I hadn't seen in PHP before I saw it in other languages such as NodeJS (I think Ruby had the original implementation) was: a way to easily control setting your environment variables, particularly in development. In NodeJS the dotenv library is great for this; handily in PHP vlucas has already created phpdotenv so we are all set to apply these tricks to PHP applications!

    Read more

  4. Make a POST Request from PHP With Guzzle


    I work extensively with APIs and a variety of serverside scripting languages, and best practice does change over time. Many of the most popular posts on this blog are 10 years old, because apparently I was interesting in 2008. Two in particular from around that time relate to making POST requests from PHP ... and I'd do it completely differently today. So, in an attempt to overcome some of the past crimes of the Internet in general and PHP in particular: here's how to make a POST request in PHP, today, in a PHP 7+ world (it probably works in PHP 5 too).

    Read more

  5. Muffet: quick and easy link checking


    In my not-so-new job I work on Nexmo's developer portal and that means a lot of documents, a lot of links, just a lot to keep track of! One thing I worry about is changing something and breaking links from somewhere else, so I wanted to be able to check for existing links, broken links, and to include internal links like http://example.com/home#something as well since all our titles are linkable in that way.

    Enter: muffet

    Read more

  6. Support for Speakers


    I've been a conference speaker for 10 years; I've given many talks, been to many events, organised a few events, and now have Opinions (TM) about conference speaking. This tweet showed up in my feed when someone tweeted at me to thank me for my support in their talks.

    Read more

  7. Vim settings for working with YAML


    Having managed to avoid YAML until quite recently, my vim installation wasn't well set up at all for working with it. It needs more config settings than plugins, so I thought I'd write down what I found helpful. I'm using it quite a lot now I'm working with OAS (used to be Swagger) API definitions.

    Read more

  8. Using Config Files with Ngrok


    I'm a huge fan of Ngrok, a tool to create a secure tunnel to your laptop. It is brilliant for testing, well, anything running locally really. Someone asked me about my setup recently and I'm using a couple of config files to keep things quick and consistent, so I thought I'd share here what I shared with them.

    You can use a central config file for ngrok, and/or specific config files for each project. I use both, so I'll show you around my setup.

    Read more

  9. Kitchen Island Project


    We built our first "big" project (well, since the play kitchen a few years ago) since moving to this house nearly a year ago: a new kitchen island! I used to blog a lot about the house and crafts and things, then I got better known for code things and got stagefright and stopped ... but I love this stuff and I'll blog it if I want to :)

    Read more

  10. Presenting from PDF


    I've been using PDF as a file format for presentations for the last ~8 years and I LOVE it. The clue is in the name: Portable Document Format: it's an open standard, and works everywhere. You can embed your fonts, images, whatever ... if you end up presenting it from another machine for some reason, everything is going work, even when you want to upload the slides afterwards. Yet, it's still a pretty unusual choice, I think because people don't know much about the tooling around it - so I thought I'd share some of my tips.

    Today: tools for actually delivering a PDF presentation (I make them with rst2pdf ).

    Read more

  11. Bind Services to OpenWhisk Packages


    When working with serverless actions, often we'll still need to access some sort of service, whether it's object storage, a database, or whatever. Here's a quick overview of how this works for IBM Cloud Functions (plus some gotchas ....)

    Read more

  12. Relative Links with IBM Cloud API Gateway


    I work quite a bit with serverless tech, particularly on IBM Cloud since I work there. At the moment I'm building a microservice using web actions. When a user creates data with a POST request, I want to redirect them to the URL of the new thing they created - but for that I need to know the URL that it was accessed with. This is a relatively new feature on API Gateway so here's a quick howto for grabbing that URL in both JavaScript and PHP.

    Read more

10 of 92