All 'development' related blog posts

EC2 Charges - They are NAT a joke

How to reduce your AWS costs by avoiding unnecessary NAT Gateway usage

Gravatar for emma.moinat@instil.co
Emma Moinat
15 September 2022

How to pause a Step Function while waiting on a response from a third party API

In this post we explore how you can pause a Step Function, using Task Tokens, while waiting on an external process to be completed

Gravatar for caleb.wilson@instil.co
Caleb Wilson
3 August 2022

How to use React Hooks with Redux

In this post we explore using React Hooks with Redux.

Gravatar for kieran.magee@instil.co
Kieran Magee
26 July 2022

AppSync and DynamoDB Lessons Learned

AppSync and DynamoDB - name a more iconic duo!? I’ll wait…

Gravatar for matthew.wilson@instil.co
Matthew Wilson
30 June 2022

Deploying an AWS AppSync API with WAF using CDK v2

In this tutorial, we’ll look at how you can leverage AWS CDK v2 to deploy an AppSync GraphQL API behind AWS WAF, using managed rules to protect it against the...

Gravatar for ross.jenkins@instil.co
Ross Jenkins
25 May 2022

Scanning S3 Files with ClamAV and CDK

In this post we look at how to trigger virus scanning of files when they are uploaded to S3 utilising AWS CDK and Lambda container images

Gravatar for emma.nash@instil.co
Emma Nash
7 March 2022

Improving CDK development cycle

Spend less time waiting on deployments with CDK hot swaps

Gravatar for matthew.wilson@instil.co
Matthew Wilson
25 February 2022

CDK Lessons Learned

5 need to know lessons for any AWS Cloud Development Kit users

Gravatar for matthew.wilson@instil.co
Matthew Wilson
24 January 2022

Signs and Portents for 2022

In this post, Head of Learning Garth Gilmour, will make predictions for the tech industry in 2022

Gravatar for garth@ggilmour.com
Garth Gilmour
14 December 2021

Building an OpenSearch Index from DynamoDB

In this post we see how to set up an OpenSearch domain with a DynamoDB source

Gravatar for emma.moinat@instil.co
Emma Moinat
11 November 2021

Principled Autonomy

High performance teams consistently outperform other teams by a significant factor. But why is this - what is the secret sauce that allows one group of individuals to outshine another?

Gravatar for eamonn.boyle@instil.co
Eamonn Boyle
30 August 2021

Using TypeScript const assertions for fun and profit

How can we utilise the const assertion in TypeScript to flip the script and define types from immutable data?

Gravatar for ross.jenkins@instil.co
Ross Jenkins
29 April 2021

Lambda Container Images

Ever wish you could combine the portability of containers, with the scalability of Lambda functions? Well now you can!

Gravatar for matthew.wilson@instil.co
Matthew Wilson
5 March 2021

OODA Considered Harmful

Thoughts on why the OODA loop as applied to agile delivery is flawed or should even be considered harmful.

Gravatar for garth@ggilmour.com
Garth Gilmour
5 February 2021

The Truth of the 10X Developer

If you thought the 10X Developer concept was just a myth, think again. In this article Garth Gilmour convinces you otherwise

Gravatar for garth@ggilmour.com
Garth Gilmour
13 January 2021

The Perils of Advocacy

Developer advocacy is an extremely rewarding job but is it all sunshine and meadows or is there a darker flip side to this role?

Gravatar for garth@ggilmour.com
Garth Gilmour
4 January 2021

The Rise of the Developer Advocate

Thoughts on the move away from consultancy towards developer empowerment through advocacy and mentoring.

Gravatar for garth@ggilmour.com
Garth Gilmour
21 December 2020

TypeScript + React Hooks: Part 3

In this 3rd article in our series on using React Hooks with TypeScript, we will show how to enhance 'primitive' hooks into more complex functions, and highlight some of the...

Gravatar for neil.armstrong@instil.co
Neil Armstrong
11 December 2020

Should Developers be Ignorant?

Garth discusses his beliefs that junior developers should be given a safe space of blissful ignorance to play in, and only slowly exposed to the cruel realities of business. What...

Gravatar for garth@ggilmour.com
Garth Gilmour
7 December 2020

Signs and Portents for 2021

Each December, our Head of Learning reflects on emerging trends, and makes some foolish predictions for the year to come. Read on to see that the future holds...

Gravatar for garth@ggilmour.com
Garth Gilmour
1 December 2020

An AWS Lambda Advent-ure in Python

Let’s build a web-based, programming-related advent calendar using AWS Lambda, Python, Google Sheets and CDK. No chocolates I’m afraid, but along the way we’ll learn a bit about Serverless Python

Gravatar for ryan.adams@instil.co
Ryan Adams
30 November 2020

TypeScript + React Hooks: Part 2

In this follow-up to our introductory article to using React Hooks with TypeScript, we’ll continue to discuss how leveraging types & type safety can make life easier when writing components...

Gravatar for ross.jenkins@instil.co
Ross Jenkins
23 November 2020

TypeScript + React Hooks: Part 1 - The Basics

In this post, we delve into using TypeScript with React Hooks to develop in the front-end. Continuing our series of posts on the practical applications of TypeScript, and introducing another...

Gravatar for ross.jenkins@instil.co
Ross Jenkins
9 November 2020

10 reasons why WebStorm is better than VS Code

Ok, ok, I know the title is contentious but don't start with me. I've been locked up for over 9 weeks now due to COVID-19, home schooling my kids, doing...

Gravatar for eamonn.boyle@instil.co
Eamonn Boyle
18 May 2020

A Kotlin DSL for Everyone

Typically, we use Domain Specific Languages (DSLs) in configuration scenarios (think Gradle). But we can also use them internally to make our applications easier to understand.

Gravatar for ryan.adams@instil.co
Ryan Adams
23 January 2020

Using Koin for Dependency Injection

Koin provides a modern DI framework which supports Kotlin idioms and is usable across conventional, mobile and Cloud based applications.

Gravatar for garth@ggilmour.com
Garth Gilmour
29 November 2019

Code Generation With KotlinPoet

KotlinPoet provides a simple API for generating Kotlin source files. It allows you to automate what would otherwise be tedious and repetitive tasks.

Gravatar for garth@ggilmour.com
Garth Gilmour
28 November 2019

Don’t ThreeTen-d that Dates are easy with legacy Android

Why date and time is so difficult with older Android versions and the best approach to solve this

Gravatar for jordan.colgan@instil.co
Jordan Colgan
20 November 2019

Static Types vs Dynamic Types. Stop fighting and make my life easier already

A look at how both statically and dynamically typed languages have pros and cons and how we should identify the benefits and choose languages that provide the best of both...

Gravatar for eamonn.boyle@instil.co
Eamonn Boyle
17 October 2019

Why Strong Static Typing Is Your Friend

Last week my dear colleague Ryan wrote a blog post in praise of dynamic types. I would ask you not to judge him too harshly for this. It is a...

Gravatar for garth@ggilmour.com
Garth Gilmour
9 October 2019

Is 'Effective Kotlin' Effective?

‘Effective Kotlin' follows in the long line of renowned Effective programming books. But is it a worthy addition to the series?’

Gravatar for garth@ggilmour.com
Garth Gilmour
8 October 2019

Static types won't save us from bad code

Modern programming languages can be categorised in many ways, but the most common approach is to slice them by how they handle Types. Is using strong static typing a prerequisite...

Gravatar for ryan.adams@instil.co
Ryan Adams
3 October 2019

One Principle To Rule Them All?

The SOLID principles of software design provide guidelines on how we can make our code more readable, maintainable and extensible. They are universally accepted maxims that all engineers should...

Gravatar for tara@instil.co
Tara Simpson
12 September 2019

Does Readability Have a Cost?

In software, there is a constant tension between sufficiency - the need to say something in as few words as possible - and readability - the need to make things...

Gravatar for tara@instil.co
Tara Simpson
5 September 2019

Inaugural Kotlin Belfast User Group Meetup

A summary of the first meetup from the Kotlin Belfast User Group

Gravatar for eamonn.boyle@instil.co
Eamonn Boyle
26 March 2019

A Taste of Things to Come

As another busy year of training draws to a close it's traditional that I stick my head above the parapet and make some predictions for the New Year. For what...

Gravatar for garth@ggilmour.com
Garth Gilmour
7 December 2018

Programming in English

As an industry, we promote an education in science, technology, engineering and maths as the basis of software development, but in doing so, we risk ignoring the most important skill...

Gravatar for tara@instil.co
Tara Simpson
4 December 2018

Android databinding, with Kotlin!

The MVVM design pattern allows us to write code that is much easier to maintain, test, and reason about in Android development. In this post, we will describe how to...

Gravatar for neil.armstrong@instil.co
Neil Armstrong
15 January 2018

Why Android Development Is Better With Kotlin

5 Reasons Why Android development is better using Kotlin

Gravatar for chris.vanes@instil.co
Chris van Es
3 January 2018

Avoiding Defensive Checks

When to use defensive checks and assertions in code and when to avoid

Gravatar for tara@instil.co
Tara Simpson
19 October 2017

Surging Forward

How we are revolutionising video and RTP/RTSP streaming on mobile devices

Gravatar for niall.kelly@instil.co
Niall Kelly
25 September 2017

Using Native Dependencies with AWS Lambda

How to use native dependencies with AWS Lambda and Functions as a Service

Gravatar for eoin.mullan@instil.co
Eoin Mullan
7 August 2017

Monads For The Masses

The third in a series of three, introducing Functional Programming concepts.

Gravatar for garth@ggilmour.com
Garth Gilmour
25 June 2017

Curry On Regardless

The second in a series of posts introducing Functional Programming concepts. This post looks at the closely related concepts of Currying and Partial Application

Gravatar for garth@ggilmour.com
Garth Gilmour
14 June 2017

Over-Thunking It

With the increasing adoption of functional programming there are strange terms slowly moving their way from academic obscurity to mainstream software engineering. Thanks mainly to the React and Redux frameworks,...

Gravatar for garth@ggilmour.com
Garth Gilmour
9 June 2017

Docker - Simplifying a Developer's World

Installing stuff is hard. Installing stuff is messy. Installing stuff is time consuming/expensive. As a trainer, I am constantly moving between different technology stacks, running different applications,...

Gravatar for eamonn.boyle@instil.co
Eamonn Boyle
1 June 2017

Spring Boot With Dropwizard Metrics

Introduction to using Spring Boot with Dropwizard Metrics

Gravatar for neil.armstrong@instil.co
Neil Armstrong
31 March 2017

Angular 1 with ES6

A brief introductory tutorial on how to combine ES6 and Angular 1

Gravatar for neil.armstrong@instil.co
Neil Armstrong
27 September 2016

Empowering ObservableCollection with Rx

An introduction to using ObservableCollection in Rx and C#

Gravatar for niall.kelly@instil.co
Niall Kelly
3 June 2016

Continuous Delivery Pipelines with Jenkins 2.0

How to create continuous delivery pipelines in Jenkins 2.0

Gravatar for chris.vanes@instil.co
Chris van Es
28 April 2016

A Fresh Start with Ansible

A guide to using Ansible to automatically setup your OSX development environment

Gravatar for david.mcfarland@instil.co
David McFarland
26 April 2016

Test Setup as a Sanity Check on your Design

The importance of listening to your tests as a sanity check on your design

Gravatar for richard.bell@instil.co
Richard Bell
15 April 2016

SIMD in Depth - Performance and Cost in C# and C++

SIMD in Depth - Performance and Cost in C# and C++ (Part 2 of 2)

Gravatar for eoin.mullan@instil.co
Eoin Mullan
7 April 2016

Parallelism on a Single Core - SIMD with C#

An introduction to SIMD and parallelism on a Single Core - SIMD with C# (Part 1 of 2)

Gravatar for eoin.mullan@instil.co
Eoin Mullan
21 March 2016

Simplify Your Code With C# 6.0

An overview of the latest features in C# 6.0 and how they will simplify your code

Gravatar for eoin.mullan@instil.co
Eoin Mullan
16 December 2015

Xamarin: A Panacea for Cross-Platform Mobile Development?

Xamarin - a panacea for cross-platform mobile development?

Gravatar for matt.mccomb@instil.co
Matt McComb
10 December 2015

Reading the Tea Leaves

Reading the tea leaves - predicting what's in store for 2016 and beyond

Gravatar for garth@ggilmour.com
Garth Gilmour
27 November 2015

The 3 Instil Check-in Commandments

3 essential things to check before you commit and push your changes to version control

Gravatar for richard.bell@instil.co
Richard Bell
3 April 2015

RxJava in Different Flavours of Java

Quick introduction to using RxJava in Java 7 and Java 8

Gravatar for richard.bell@instil.co
Richard Bell
5 August 2014

Reactive Trader on HanselMinutes

Listen to the people behind the Reactive Trader platform on HanselMinutes and hear them speak at React

Gravatar for richard.bell@instil.co
Richard Bell
25 July 2014

Java Shark Jump Redux

Opinion piece on why Java 8's attempt to jump the shark is just that

Gravatar for garth@ggilmour.com
Garth Gilmour
6 June 2014

Java Jumps the Shark

Java 8 attempts to 'jump the shark' with the introduction of streams, lambdas and 'FP'

Gravatar for garth@ggilmour.com
Garth Gilmour
4 June 2014

An Intro To Option(al)

Introduction to the Option, Optional and Maybe Types in Scala, Java and C#

Gravatar for garth@ggilmour.com
Garth Gilmour
25 May 2014

You Keep Using That Word

Opinion piece on the state of test driven development and unit testing

Gravatar for garth@ggilmour.com
Garth Gilmour
20 May 2014

Shakespeare's Seven Monkeys

A first step into using the Lucene text search engine library

Gravatar for david.mcfarland@instil.co
David McFarland
12 December 2012

Simplicity Rules

Why is simplicity such an elusive quality in many developers code

Gravatar for tara@instil.co
Tara Simpson
26 August 2012