All 'development' related blog posts

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 understand...

Tara Simpson

Tara Simpson


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...

Tara Simpson

Tara Simpson


Inaugural Kotlin Belfast User Group Meetup

At Instil we absolutely love Kotlin. If you’re working on the JVM or Android, we see the move from Java to Kotlin as a complete no-brainer. Internally, we use it...

Eamonn Boyle

Eamonn Boyle


GDG Dublin: The Kotlin Edition

The Instil team have adopted Kotlin as our go to language for Android and server development. One of the unexpected side effects has been a significant boost in morale. It’s...

Richard Bell

Richard Bell


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...

Garth Gilmour

Garth Gilmour


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...

Tara Simpson

Tara Simpson


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...

Neil Armstrong

Neil Armstrong


Why Android Development Is Better With Kotlin

Introduction Kotlin may be a relatively new language but it’s gaining traction fast and unlike some other languages (e.g. Swift) it feels mature with new major versions introducing features whilst...

Chris van Es

Chris van Es


Avoiding Defensive Checks

Defending against malicious use is a first order concern in all software. Any software that can be used or invoked by an external party or user (such as an application,...

Tara Simpson

Tara Simpson


Surging Forward

Unhappy with the current state of RTP / RTSP video streaming libraries for mobile applications, we decided to set out on our own. The result is Surge and we think...

Niall Kelly

Niall Kelly


Using Native Dependencies with AWS Lambda

The AWS Lambda service offers Functions as a Service (FaaS), which means you simply supply code and AWS will provision servers and execute it in response to events. It can...

Eoin Mullan

Eoin Mullan


Monads For The Masses

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

Garth Gilmour

Garth Gilmour


Curry On Regardless

This is the second in a series of posts introducing Functional Programming concepts. Today we’re looking at the closely related concepts of Currying and Partial Application. Some Mystifying Code Below...

Garth Gilmour

Garth Gilmour


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...

Garth Gilmour

Garth Gilmour


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, setting up sandbox...

Eamonn Boyle

Eamonn Boyle


Spring Boot With Dropwizard Metrics

Spring Boot comes with a heathy dose of metrics built in but having used Dropwizard extensively in house we have come to rely on some of the timing metrics it...

Neil Armstrong

Neil Armstrong


Angular 1 with ES6

With the development of Angular 2 and it’s strong use of Typescript I thought I’d take some time to showcase some of the Javascript ES6 features and how they can...

Neil Armstrong

Neil Armstrong


Empowering ObservableCollection with Rx

The ability to register for changes to a collection isn’t something that all languages allow. Indeed, it’s not something we might require for every project but it’s arguably a very...

Niall Kelly

Niall Kelly


Continuous Delivery Pipelines with Jenkins 2.0

Within our engineering team, we build, test and deploy mobile, web and embedded applications targeting a wide variety of platforms and to do so we primarly use Jenkins for continuous...

Chris van Es

Chris van Es


A Fresh Start with Ansible

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

David McFarland

David McFarland


Test Setup as a Sanity Check on your Design

Over the years there has been much discussion on the nuances and value, or lack-thereof, of Test-Driven Development (TDD). As part of those discussions there have been many blogs and...

Richard Bell

Richard Bell


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

This is a follow on from a previous post explaining what SIMD is, how .NET developers can use it, and what performance gains they can expect to see. While the...

Eoin Mullan

Eoin Mullan


Parallelism on a Single Core - SIMD with C#

When Microsoft shipped .NET 4.6 last summer they also released a new 64-bit JIT compiler named RyuJIT. The main goal was to improve the load times of 64 bit applications,...

Eoin Mullan

Eoin Mullan


Simplify Your Code With C# 6.0

Most of the attention surrounding the release of C# 6 this year has been related to the bootstrapping of the compiler, courtesy of project Roslyn. While it’s true that there...

Eoin Mullan

Eoin Mullan


Xamarin: A Panacea for Cross-Platform Mobile Development?

For years developers have locked horns in the long-running debate over the best approach to mobile development. In the early days this debate was dominated by web aficionados pushing modern...

Matt McComb

Matt McComb


Reading the Tea Leaves

It is traditional at this time of year to stick your neck out (turkey style) and foolishly make prophecies about technology trends over the next 12 months. So having girded...

Garth Gilmour

Garth Gilmour


The 3 Instil Check-in Commandments

Before committing any code to your master, or feature branch, you should always consider the three check-in commandments. 1) Could Chuck Norris understand it? We all know that Chuck Norris...

Richard Bell

Richard Bell


RxJava in Different Flavours of Java

The first official release of .Net Reactive Extensions (RX) was three years ago. In that time the interest in Reactive Programming has gone from strength to strength as developers look...

Richard Bell

Richard Bell


Reactive Trader on HanselMinutes

One of the highlights of React 2014 in London was the talk from Adaptive’s Lee and Matt in which they discussed their open source Reactive Trader application. Matt recently had...

Richard Bell

Richard Bell


Java Shark Jump Redux

My last post on the iffy implementation of FP in Java 8 generated a lot of interest. Many thanks for all the comments received. I would like to clarify two...

Garth Gilmour

Garth Gilmour


Java Jumps the Shark

Don’t get me wrong – I love Java. The first programming book I bought of my own free will (university reading lists don’t count) was the original ‘Java in a...

Garth Gilmour

Garth Gilmour


An Intro To Option(al)

If you already use Option, Maybe or Optional in your code then move along please – nothing to see here. Otherwise here’s a neat trick you have been missing out...

Garth Gilmour

Garth Gilmour


You Keep Using That Word

In case you haven’t heard David Heinemerier Hansson wrote an article entitled ‘TDD is dead. Long Live Testing’. There has been a lot of fallout over this, including some very...

Garth Gilmour

Garth Gilmour


Shakespeare's Seven Monkeys

An Initial Adventure with Lucene. This is the first exercise in a tutorial series introducing Lucene, the text search engine library. Source for the exercises in this series is available...

David McFarland

David McFarland


Simplicity Rules

Despite all that has been written about simplicity - from the SOLID principles to refactoring to simplicity quotes - many of us still struggle to do the right thing. We’re...

Tara Simpson

Tara Simpson