Introducing the QUERY HTTP Verb

Introducing QUERY The IETF has published a document detailing the QUERY verb. The Query verb neatly solves the problem of asking APIs for LOTS of data or conditional data. In other words, QUERY enables API providers to provide a means for clients to ask the server about data, where the client isn’t sure what data is available. A worked example Working in Agri-tech, I often want to find out information about animals....

November 25, 2021 · 7 min · Alex

SQL Joins with Sequelize

While working on an API for my day job last week, I needed to do a SQL Inner Join with Sequelize and Typescript in a web API. Here’s how I achieved it. Environment: Things move quickly in the JS ecosystem. Here are the library versions used in the subject API at the time of writing: "dependencies": { "@types/express": "~4.0.39", "@types/sequelize": "^4.27.21", "express": "~4.16.2", "sequelize": "4.38.0", } Context: I have an identifier in one system that I need to correlate with an identifier in a second system, but I could only do that via an intermediate identifier, also in the second system....

October 11, 2020 · 5 min · Alex

Running Deployments with Github Actions

In a previous article I wrote about Getting Started with Github Actions. In it, I talk about the basics of Actions, how they work, what the language looks like and how you can get started. If you’ve never used Actions before, I highly recommend you have a quick read of that before reading this, as I build on some of the ideas presented there. Continuous Integration (CI) versus Continues Deployment (CD) versus Continuous Delivery (unhelpfully, also CD) Put simply, continuous integration is the act of continually moving your changeset into the wider codebase, as frequently as it makes sense for your use case....

July 13, 2020 · 11 min · Alex

Getting Started with Github Actions

Continuous Delivery is a foundational skill that your organisation needs to be good at if it is to remain responsive and ‘lowercase a’ agile. A full solution for continuous delivery tends to include (but isn’t limited to): The ability to create artefacts that we can release to production, across many products, teams, branches, environments and repositories. The ability to quickly validate an artefact as a candidate for release (through applying the testing triangle - unit, integration, acceptance, smoke and so on)....

May 28, 2020 · 13 min · Alex

Spring Boot - Comparing Liquibase and Flyway

What are Spring Boot, Liquibase and Flyway? The Spring Ecosystem When you need to create a web application or an API in Java, be that RESTful, SOAP or GraphQL; whether you’re looking at synchronous HTTP, Asynchronous or Reactive, Messages on Queues or Event Sourced with Kafka, it’s hard to go past the Spring Ecosystem. If nobody ever got fired for buying IBM, you could probably say that nobody ever got fired for creating a Spring-based application....

April 23, 2020 · 9 min · Alex

Low Maintenance Home Labs

How do you keep up to date with changes in technology? How do you get your startup off the ground from a technical standpoint? What can you do to build out your tools and processes in a sustainable, low risk way? Finding space for continual learning at work can be tough. If you, like me have a passion for technology but have transitioned away from a technical role and miss fiddling with technology on a daily basis, you might consider creating a lab at home to keep your skills sharp, and stay up to date on industry trends and best practice....

September 7, 2018 · 12 min · Alex

Building Continuous Delivery for Healthlink

My team at Healthlink have just finished a proof of concept around Continuous Delivery. Here’s the writeup, sanitised for the internet. Context We’re a Health IT company based out of New Zealand, and run an set of products that provide messaging integrations between Healthcare organisations across New Zealand and Australia. Our applications are a mixture of desktop and web service based, and we’re currently undergoing a massive change process from Waterfall to Agile and from a bespoke services company to a truly product focused company....

October 5, 2016 · 7 min · Alex

Overtime's Tech Stack

Overtime New Zealand is a social video game league for corporates. Companies get together and play games against each other for bragging rights, e-peen and other critically important reasons, like proving that you’re better at Dota 2 then X_MAIN_RIVAL_FIRM. So without Further ado, here’s what we’re running at the moment. I’ll go through our components technology by technology: Most importantly, Docker We couldn’t do what we wanted to do with Overtime’s CI / CD without docker....

January 14, 2016 · 4 min · Alex

Continuous Delivery

The work that I’ve been doing for the past few months has been pretty interesting. At the moment it takes developers working on one of our ventures about an hour and a half to two hours to deploy code to a test or prod machine. It used to take a second venture a similar amount of time to do the same task, but the process we’ve implemented for them has reduced that significantly....

October 28, 2015 · 3 min · Alex

The Internship Experience Part II

In hindsight I feel like I focussed more on the soft skills needed to get an internship and how to actually go about it, so this time I’ll provide a bit of insight into the actual technical skills that I feel you need (or I need, at least I need while I’m here at Spark) Let’s be clear right at the start, I have used maybe 15% ~ 20% at best, of the knowledge I learned at University....

October 10, 2015 · 5 min · Alex