It is a tired tale: 15 websites, blogs, Stack Overflow questions, etc. later and you still haven’t pieced it together. This is where I found myself, but I don’t want you to go through that same pain. Here it is: the guide to getting EKS working for real, in production.

The examples in this post are written in Terraform 0.12

What is EKS?

The Elastic Kubernetes Service (EKS) is a managed Kubernetes service. A Kubernetes installation has two parts — A control plane and a number of nodes.

The Control Plane

From the documentation:

The various parts of the Kubernetes Control Plane, such as the Kubernetes…

InVision hosted a remote event for the Global Day of Coderetreat (GDCR). GDCR is an opportunity to practice software development and design in a friendly and low-pressure environment. Only a small group attended, but the results for those individuals was fantastic. At the end of the day it felt like a GDCR event and the outcomes were equivalent to other in-person GDCR events.

What Was the Format?

We had everyone initially gather in a single video conference session. This session stayed open the entire Coderetreat and simulated the main gathering area in an in-person Coderetreat. …

After a period of hard work (whether successful or not) it is powerful to take a few minutes to reflect. This time of retrospective should include activities like reflecting on what went well, what didn’t go well, and what changes you are going to make based on this new information.

Retrospectives should be run at regular intervals during projects and at the end of bigger milestones. If you are doing some kind of time boxed development (e.g. sprints) then it is natural to hold a retrospective at the end of each time box. After a major release or a major…

If you open up some code there are usually two states: either there is error handling peppered throughout the code in a distracting way that makes it hard to see what the core algorithm is doing or there is no error handling which assumes the unlikely scenario that nothing ever goes wrong. In this post I will present a pattern that will bring a middle ground to these two states.

If we want to clean up the error handling in our code the first thing we have to get rid of is exceptions. By exception I mean that thing in…

In 2002 Stuart Kauffman introduced the world to the idea that biological systems are able to evolve through low energy steps next to the one they just took. This idea has spread to explain all kinds of phenomena such as how Newton and Leibniz were able to simultaneously yet independently invent calculus.


Adjacent Possibility postulates that all the knowledge surrounding calculus was out there and that there was a high probability that someone would take the next step and invent infinitesimal calculus. The fact that two people invented it at the same time was not statistically impossible.

So who were…

As developers we are both familiar and comfortable with the separation between writing code and executing code. We can open a text editor and write some code, but in most languages there is no expectation that the act of writing code is going to do anything. We have a separate process which is going to execute the code. Some languages choose to require a compile step (Java, C#, Go, Haskell, etc…) before execution and some will allow direct execution (Javascript, Python, Ruby, etc…), but in all those cases there is a hard barrier between coding and executing the code.

Extending the Abstraction


We live a life of distraction. Today Slack (which we love because it is so much like IRC) invades our lives and drives down our productivity. Our culture of meetings has robbed us of our time (have you ever counted the hours in the day where you actually programmed?), and we have made headphones a mandatory accessory to help us compete with the stifling noise caused by our open office layouts.

What if I told you that amidst all that calamity you can get an order of magnitude more work done then you currently do?

Block off Time

The first step is to…

Code is painfully slow to develop. It’s a gigantic problem because business rely on us to help them get powerful outcomes. By automating key aspects of business we can serve populations that weren’t financially viable to serve under more manual processes. Literally the world is depending on us to get better.

For the sake of this article I will refer to code that benefits the business as business logic. This includes activities such as more efficiently routing of vehicles (outcome is lower cost per trip), making financial calculations (outcome is less errors, faster cash cycle, and less manual finance work…

Developing modern day line of business applications requires a number of specialized skills. Some of the common functions include product management (PM), development, user experience (UX), data analytics, data science, and quality assurance (QA). By putting all the people that are important to your process on the same team you can create better outcomes for your users and your business.

In creating a cross functional team it is first important to be honest about your company’s priorities. Do you value UX? You should put a UX person on any team that has a user experience. How do you know if…

You are been interested in owning your own place, but are daunted by all of the complexities involved in such and intricate financial transaction. Houses (or condos, or other types of real estate) are probably the most expensive purchase you have ever contemplated making and so it is really important to understand what you are doing.

I am not a real estate professional and as with other financial articles I am introducing some points in order for you to have a better conversation with an expert. Please seek experts advice before laying the large sums of money required for real…

Philip Borlin

Author of committeddb

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store