JT in Helsinki

Technologist living in Helsinki.

Home About RSS

2019

  • ES6 breaking your Jest tests?

    More and more libraries are taking advantage of ES6 syntax. This can cause issues with Jest. Here I offer a potential solution.

    May 17, 2019


2018

  • Javascript Debugging

    Debugging like a pro with console logging. No joke, console logging deserves its own post.

    Dec 1, 2018

  • Team Building in a Hot Market

    In the current market the limit to growth is probably not your sales pipeline.

    Jul 14, 2018

  • Scaling Microservices

    In this post I describe four directions in which teams can scale their microservice architectures. In practice, it is likely that larger systems will make use of all four.

    May 21, 2018

  • Supporting the Digital Differentiation Strategy

    For businesses to effectively compete in the marketplace it is important to distinguish between competitive strategy, competitive advantage and operational effectiveness. Importantly, it is important that managers are acutely aware of the symbiotic relationship between operational effectiveness and competitive strategy and how they support the development an enduring competitive advantages.

    May 10, 2018

  • More Speed In Four Steps

    Not application performance. Here I present four approachable steps for helping to ensure a fast team.

    Apr 26, 2018

  • An Approach to Software Development

    Developing enterprise-level software is very difficult and failures are extremely expensive, so reliable ways of working that really deliver results are vitally important. Standard practices are luckily changing for the better.

    Mar 17, 2018

2017

  • PSD2 - An Introduction

    For businesses to effectively compete in the marketplace it is important to distinguish between competitive strategy, competitive advantage and operational effectiveness. Importantly, it is important that managers are acutely aware of the symbiotic relationship between operational effectiveness and competitive strategy and how they support the development an enduring competitive advantages.

    Dec 2, 2017

  • Monoliths, Micro Services and Service Oriented Architectures

    Organising chaos is never going to be easy so it’s no surprise that designing good software is hard. Huge systems tackling complex domains sees experience as important. The consequences of well meaning design decisions early on can manifest themselves several months down the track when the only option is to press on. Reducing complexity is a common thread amongst experienced developers.

    Oct 30, 2017

  • Java's auto boxing can be problematic

    Autoboxing was introduced in Java 1.5. This is a “feature” which allows programmers to mix primitive and boxed primitive types. A boxed primitive type is simply an object representation of the primitive type. For Example:

    Oct 4, 2017

  • Calculating the median of a time series

    The other day I needed to work out how to find the mean, standard deviation and median values associated with a time series of data. In this case I am dealing with server response times. I’m not talking a few data points here, I talking 20,000 points per second for a week. In total, that’s 1,728,000,000 (1.7 billion) data points streaming in real time. Don’t ask…

    Sep 29, 2017

  • Object Caching

    Retrieving data from a database is expensive because of issues such as network latency and query performance. Generally this is a big cost and the problem only increases as traffic goes up.

    Sep 18, 2017

  • Nice Sort Algorithm Animation

    A great page that illustrates how data sets from different starting points can be sorted using different sorting algorithms.

    Sep 6, 2017

  • Java Strings

    Java Strings are probably the most common objects you will work with so it is worth considering them. Although they are so simple, used improperly they can impact system behaviour.

    Aug 18, 2017

  • LinkedList vs ArrayList in Java

    The List type is probably one of the most widely used structures in the Java programming language. Simply put, data structures implementing this interface store a vector of values that we can query and iterate over as required.

    Aug 8, 2017

  • I like Typescript

    After a year of working with Typescript I could do away with every other language for ever. Working in one language from the browser though to the backend has been fantastic. To say I am a fan would be an understatement. Being able to transpile my TS objects into a JS compliant ES5 or ES6 code way has been a huge load off.

    Jul 24, 2017

  • Assertions

    It is not uncommon that many sections of code will only work if certain conditions are met. Sometimes, these preconditions are not immediately obvious until you actually unpick the code to work out what’s going on.

    Jul 21, 2017

  • Promisifying your XMLHttpRequest

    Working with promises feels far more logical for me. Callbacks are messy and they have a nasty side effect of obfuscating code. Promises on the other hand provide a way of creating a far cleaner code flow.

    Jul 12, 2017