Articles

Stop It! Create audio bookmarks on Android

This posts presents my open source Android app named Stop It! which lets you create bookmarks for audio tracks you play with third party Android audio players, e.g. music or podcast apps. Introduction Bookmarks are a well-known concept from real (or virtual) books, and web sites. You have certainly used them thousands of times already. … Read more

Vagrant vs. Docker

Vagrant vs. Docker

Vagrant is a tool that automatically downloads and configures virtual machines, according to a recipe file. Docker does something similar, but can achieve better performance in specific situations. This article explains the technological differences of both tools, and recommends when to choose Vagrant vs. Docker. It also discusses three different ways how Vagrant and Docker … Read more

Create a Vagrant box with Packer

How to create a Vagrant box with Packer

Vagrant is a tool that automatically downloads and configures virtual machines, according to a recipe file. Typically, the base image is downloaded from the Vagrant Cloud, a repository of user-submitted boxes. This article explains how to create a Vagrant box, which is necessary if there is no appropriate box on Vagrant Cloud, or if you … Read more

Introduction to Vagrant

The complete introduction to Vagrant

Vagrant is a tool that automatically downloads and configures virtual machines, according to a recipe file. It is similar to Docker, but with extended support for different, virtualized operating systems. Use cases include setting up virtual test beds, or CI build machines. This article provides an introduction to Vagrant’s concepts and how it works, as … Read more

best collaborative code editors

Google Docs for code: the best collaborative code editors in 2020

Collaborative code editors let developers write code together in real time, just like Google Docs. This article compares Microsoft Live Share, Atom TeleType, Floobits, CodeTogether, and CodeInterview. I clearly demonstrate the limitations and benefits of each tool, including how it integrates into existing IDEs, end-to-end encryption and pricing. I’ll conclude with recommendations for different use … Read more

git submodule tutorial

Git submodule tutorial – from zero to hero

Git allows a repository to include other Git repositories as submodules. However, the submodules mechanism is complicating several workflows that are usually straightforward, like committing or checking out changes. This Git submodule tutorial explains the concept of submodules and helps you navigate the most important workflows. All steps and commands are demonstrated by example, using … Read more

download video and audio streams

How to download video and audio streams from virtually any website with youtube-dl

It is possible to download video and audio streams from streaming platforms, using third-party tools. You need these tools if the streaming site does not officially support downloading. This article focuses on the powerful tool named youtube-dl. It explains the compatible graphical user interfaces Downline and YDL-UI. They make it easy to download videos (or … Read more

How to commit executable shell scripts with Git on Windows

Whenever you develop UNIX shell scripts on Microsoft Windows and commit them with Git, they lack the UNIX execute permission bit. When you check out the file with Git on a UNIX-based system, these scripts cannot be started, and the software breaks. This article explains how to set the execute permission bit on Windows, and … Read more

boost development productivity feature image

How to boost development productivity with the 36 best keyboard shortcuts

This article helps software developers to boost development productivity in their IDE. It presents many keyboard shortcuts and functionalities you don’t know about yet. Although the examples are tailored to the PyCharm IDE, you will learn the methodology for discovering and adopting shortcuts for any tool. I will demonstrate how to effectively create your own … Read more

An introduction to the micro:bit for software developers

The micro:bit is a microcomputer programmable in C/C++, TypeScript and Python. This article discusses hard- and software capabilities and limitations of the micro:bit. Software developers not yet familiar with the device will get a first orientation on how to get started with each programming language, together with Dos and Don’ts I learnt from first-hand experience. … Read more