Say goodbye to those hard-to-build software projects by containerizing them

Image for post
Image for post
Photo by Lucas van Oort on Unsplash

More often than not, software projects are difficult to build from source. This can have multiple reasons, here are just a few:

  • The project requires lots of dependencies.
  • The project requires outdated libraries. Once you install those, other projects might break in turn.
  • You’re running Windows or a Mac, but the software is designed to build and run on Linux.

For similar reasons, it can also be hard to run your software in production!

If you’re facing these problems, it’s good to know that there’s an easy fix. It doesn’t require virtualization but instead uses a principle called containerization.

What is a container?

A container is an entity that has everything required to run your software. It…

A quick overview for those already familiar with similar languages, like Java, Kotlin, C++, and C#

Image for post
Image for post
Photo by Silvan Arnet on Unsplash

Dart is primarily known as the programming language for Flutter, Google’s UI toolkit for building natively compiled mobile, web, and desktop apps from a single codebase. It’s optimized for building user-interfaces and developed by Google. It’s used to build mobile, desktop, server, and web applications. Dart can compile to native code and JavaScript.

If you want to follow along with this article, which I highly recommend, you can do so without installing anything on

Image for post
Image for post allows you to experiment with Dart from the browser —screenshot by author

Hello World

Let’s start with the obligatory “Hello world”:

void main() {
print('Hello World!');

A few conclusions that can already be drawn:

  • Dart needs a main() function as a starting…

Improve your productivity with these basic terminal commands

Image for post
Image for post
Image ©2020 by author

Are you still dependent on GUIs? You can significantly increase your productivity by learning a few basic shell commands. After learning these, learning more commands will come naturally — promised!

If these shell basics are well known to you, please skip this article and head to my follow-up article to become a command-line ninja!

pwd — return working directory name

Let’s start by knowing where you are once you opened your terminal:

$ pwd

I’m in my home directory, where are you?

ls — List directory contents

Now let’s see what is in the current directory:

$ ls
AndroidStudioProjects VirtualBox VMs
Applications Desktop
Documents flutter

There’s a lot here because I’m a messy guy, so I truncated it a little. …

A handpicked list of the most useful and surprising Python packages from PyPI

Image for post
Image for post
Photo by Hitesh Choudhary on Unsplash

Why do we all love Python? For starters, it’s a beautiful and easy to learn programming language. Another reason: it comes with batteries included, meaning Python has many excellent libraries included by default. But in my opinion, it’s the 230,000 user-contributed packages that make Python really powerful and popular.

Earlier this year, I showed you the 22 most downloaded Python packages in the world. Although that was fun and I learned a lot, it was also a bit frustrating. Why’s that, you ask? Because I was not able to show you my personal favorites!

In this article, I handpicked 15 packages that I found most useful during my 10-year career as a Pythonista. …

Please put down your coffee, just to be sure

Image for post
Image for post
Photo by Frank Busch on Unsplash

Here’s a collection of the funniest programming quotes I heard on the work floor, mixed with some history and best practices as well. Let’s go!

1. Java is to Javascript like car is to carpet

I love this one because it summarizes the Java vs. JavaScript story perfectly. Most of you know that Java and Javascript are two entirely different things, despite their names, but many beginners get confused by it.

So why are they named this way?

From an interview with its creator Brendan Eich:

InfoWorld: As I understand it, JavaScript started out as Mocha, then became LiveScript and then became JavaScript when Netscape and Sun got together. …

Now is the time to plant that new seed

Image for post
Image for post
Photo by Micheile Henderson on Unsplash

Nobody knows when this pandemic will be over. It could be weeks, months, or years before life returns to what we called normal only a short while ago. But even though the physical world has come to a grinding halt, the digital world flourishes:

The digital world does not suffer from pandemics and other disasters as much as the physical world. It is a fact that may sound obvious, but the implications are overseen by many. …

If you’re stuck at home, now is the time to polish your skills with these inspirations for fun projects

Image for post
Image for post
Photo by James Pond on Unsplash

1. Create a game

I bet you never considered creating a game with Python. But why not? There are awesome libraries that will help you develop games. So let’s help your kids, your partner, or your colleagues get through this crisis with a fun game!


Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries. Here are a few tutorials you can try:

If you have trouble learning a new subject, try this method for a change

Image for post
Image for post
Photo by Lacie Slezak on Unsplash

You really, REALLY should learn about this one thing that guarantees you a better position on the job market. But learning about things that are new to us can be incredibly difficult. We’ve all been there. We’ve all had the struggle.

If you want to learn, there’s a method I recommend heartily. It’s by no means a trick or a way to learn quicker. But it does allow you to get a much deeper, lasting understanding of a topic.

Write about it!

I write technical articles. I do this for multiple reasons, but one of them is to learn. By teaching others through my writing, I force myself to dive into a topic head-on. …

Spoiler alert: you can, and I’ll show you how. But it’s not always advisable.

Image for post
Image for post
Image by Tumisu from Pixabay

You want a terrific search engine, and store your data in it too? Elasticsearch will happily do it, even though some insist that it’s not a document store, let alone a data store!

Don’t listen to them, because Elasticsearch is very capable and reliable and will store your data as well as making it searchable. This is advice from someone who’s been using Elasticsearch for close to ten years.

There are two types of data you might want to store in Elasticsearch:

  1. Your JSON documents, containing numbers, lists, text, geo coordinates, and all the other formats Elasticsearch supports.
  2. Binary data

Let’s look at both of these in detail. …

This tutorial gets you started using Elasticsearch. You’ll learn how to create and delete an index, how to load data into it and perform basic queries.

Image for post
Image for post
Visualizing data in Kibana, image created by myself

This is not just a quick how-to guide. Although it can be used as such, I also did my best to explain some history and the internals of Elasticsearch in this tutorial. I believe it’s worth your time to invest in knowing why a product works and how it came to be. Such fundamental knowledge will help you make smarter choices that you won’t regret later on.

In this tutorial, I will use curl commands to talk to the Elasticsearch REST API. You can easily copy and paste them, but you can use any other tool you like. …


Programming with Erik

Understandable, practical and useful explanations of technology

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