Shell history, editing the current line, and more

Out of free stories? Get this article for free at

GIF of commands in the terminal
GIF of commands in the terminal

When developing software, no matter what technology you are working with, there is no way around using the command line if you want to be a productive developer.

This a list of my favorite and most used shell commands and tricks that I’ve learned over the years. I’m sure you know some of them already, so feel free to skip those, but others might bring you a productivity boost and let you show off your 1337 h4x0r $killz in front of your n00b colleagues.

Disclaimer: I use these commands…

Out of free stories? Get this article for free at

Photo by Christopher Gower on Unsplash

There are a lot of issues with code coverage: Eloquently summed up by user Mark Simpson:

Code coverage tells you what you definitely haven’t tested, not what you have.

Just like with other metrics, there are ways to abuse it. In this article, I will not list all the flaws with it (you can Google them later :) ). Instead, I will focus on one practice that caught my attention and that I am encountering more and more lately.

Setting a static code coverage target

One way of applying code coverage is by using it in your build script. By having a threshold in your…

Have you ever wondered how much influence a single actor has on the rating of a TV show’s episodes? This article will showcase you that you can analyse data from the internet movie database(IMDb) for this, using Star Trek The Next Generation as example series.

Some time ago I found out that my partner had not yet watched Star Trek The Next Generation(or any Star Trek series for that mater 😱). I was excited for her! She was going to experience something that anyone of us can only experience once in a life time: watching TNG for the first time! I was also a little bit excited for myself since it meant I could watch TNG again!

Some episodes into the first season I had noticed two things:

First: Riker without a beard is just not the real Riker!

And Second: I realized how annoyed…

Out of free stories? Get this article for free at

You know what smoke testing is, right? -Yes! Great, I also thought I’d know. And that also is what a colleague of mine thought. The problem: We knew it meant something different than what the respective other knew.

As mentioned in my article about visualization and prioritization of technical debt: analogies can help a lot with grasping abstract concepts. And this is where a term like “Smoke Testing” comes in handy, as long as everyone involved has the same understanding of the analogy…

The story

A colleague and I were discussing how to verify the functionality of our recent production deployment. He…

As an IT consultant, I am often in the situation that we want to start a new project with a client and have to choose the right technologies for it. The right technologies, in this case, includes that our developers, as well as the client stakeholders, are happy with that choice.

Working for ThoughtWorks, which has a proven track record of constantly being at the bleeding edge of technology innovation (We even publish our understanding of the latest technology trends in our biannual Technology Radar) naturally results in us wanting to apply the latest technology that seems to be perfect…

originally published here.

Ever burgeoning digital data combined with impressive research has lead to a rising interest in Machine Learning or ML, which has further powered a vibrant ecosystem of technologies, frameworks, and libraries in the space. So, today, when technologists are trying to solve a problem leveraging ML, the sheer volume of possible approaches can leave them overwhelmed. This is exactly why I decided to lift the dense fog from around the current ML landscape by delving into this tech and its popular subset, deep learning.

I have employed a data-driven approach and have created a ranking system where…

Out of free stories? Get this article for free at

Whether we know it or not, we probably have technical debt in our codebase! And the longer we keep it, the more problems it creates. So let’s get rid of it. But where do we start?

So, what is technical debt again? Let’s have a look what Martin Fowler has to say about it:

Technical Debt is a wonderful metaphor developed by Ward Cunningham to help us think about this problem. In this metaphor, doing things the quick and dirty way sets us up with a technical debt, which is similar to a financial debt. Like a financial debt, the…

Out of free stories? Get this article for free at

A handy shortcut for one of our most common tasks

Photo by Blake Connally on Unsplash

(An updated version of this post can be found here)

We’ve all been there. Our code is not behaving like we hoped it would and it’s not obvious why. The easiest and fastest way to get a clue for what’s going on is to simply put a print statement in the code. It’s not nice; we should use a proper debugger, but we do it anyway.

The following live template will add the console.log(‘’) statement to your code; automatically insert the class name, function name, and line number in the log message; offer code completion for the message you want…

So you are developing an Angular app (the cool, new and fancy thing, not the oh-so old AngularJS) but every time you google something you end up with a list full of AngularJS results? Say no more!

add “ -AngularJS “ to your search query

to exclude all AngularJS results and gone are the days of endless searches and arrived has a life of rapid application development, loads of money and incredible happiness covered in unicorn dust!

Shameless Example Search:

Seriously: I know it is trivial but it took me way longer than I would want to admit to actually do this.

Out of free stories? Get this article for free at

This article covers multiple ways of testing a component that binds an input via the @Input() decorator

(An updated version of this post can be found here.)

When developing an Angular (read Angular 2 or Angular 4, or whatever the current version is when you read this) component that takes an input, you might decide to unit test the whole component. At least I hope you do!

For example, we have a component, ComponentUnderTest, in which we want to display upcased input… I know right: what a great use-case, every business owner needs that!

So, let’s say the ComponentUnderTest binds…

Aiko Klostermann

Senior Coding Monkey, check out

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