Blog
Writing since 2015
Notes from the workshop - JavaScript, TypeScript, React, PHP, and whatever else I've been building.
31 March 2022Don't use method syntax for your TypeScript function types!
In TypeScript, there are a few ways to type functions. But did you know that using the method syntax to define your functions in TypeScript is not type safe?
5 December 2020How can I run some code after changing state with React hooks?
Running code after changing state is a common desire. Lets look at how to do that with hooks.
8 November 2020Object Destructuring 101
Object destructuring is just a way of extracting certain keys directly from an object. It's used quite heavily in React and other modern JavaScript frameworks. In fact you probably already use it. Let's break it down bit by bit, so that you can read it like a pro.
19 April 2020Which Headless CMS should I use for a new Gatsby site?
Gatsby is an awesome static site generator, but you need to get your data from somewhere. What are your options for headless CMSs?
18 February 2020Can I use React Helmet to add social card meta tags for Twitter and Facebook?
So you've built an awesome React powered site. It's shiny, and cool, and does everything you need... until your client/boss/best mate's dad asks about social sharing meta tags.
4 February 2020Is it ever OK to set state directly? A setState cheat sheet
One of the parts of React that trips people up is understanding state and how to update it.
21 January 2020Avoid npm build errors by tracking your Node version with nvm
8 September 2019Arrow functions coming soon to PHP 7.4
26 July 2018Build a GraphQL server with Laravel
29 January 2018Starting something new
Over the last month or two, I've started something new. I've started a new blog over at https://www.modernjsforphpdevs.com.
28 January 2018Why React or Vue and not jQuery?
14 January 2018React starter repo with Symfony 4 and Webpack Encore
27 November 2017Modern JS in Symfony with Webpack Encore
1 February 2015Git and Mercurial Cheat Sheet
Inspired by the excellent (but very thorough) Mercurial to Git Rosetta stone, here is a bare bones, back to basics, KISS mapping between Hg and Git.
18 January 2015Markdown to Confluence with Ruby and SOAP
Importing extracted markdown from SharePoint wiki into Confluence
11 January 2015Sharepoint Scraping with Python, Mechanize, and Beautiful Soup
Over the Christmas break, I decided to write a SharePoint scraper in Python. At work we have a SharePoint based wiki that is universally disliked and thus is poorly used despite containing a lot of useful information. I've been trialling Atlassian Confluence as a replacement and it seems a much better solution.
2 January 2015Hello World!
Hi everyone, I'm Chris. I'm a Software Engineer in Brisbane, Australia.