Updating PHP 5 (or any other) Apps with Docker

PHP5, released in 2014, has reached its end of life in 2018, but many hosters continued to support it. If you have any custom PHP applications, you might still be running them on a server that has a PHP5 runtime.

The upgrade path for these applications might not be obvious, but I found a way that should make it easier, so in this article we’re going to have a look at running PHP simultaneously with PHP5 and PHP7 using docker and docker-compose.

Continue reading “Updating PHP 5 (or any other) Apps with Docker”

How to quit vim / nano / any text editor on Linux

How do I quit vim?!

Has become a running gag of the computer nerd community for a few decades now, but recently I was asked by a fellow developer how to quit vim. Colour me surprised when what I saw in the terminal was not vim, but nano. After a few days of procrastination and consideration I thought it wouldn’t be too much to write a post about how to quit different text editors.

Continue reading “How to quit vim / nano / any text editor on Linux”

Best Cheap Linux VPS Hosting 2019

Where are VPS the cheapest, how many CPU cores, how much RAM and disk space do you get for the dollar? I’ve taken a bit of time and looked at those questions.

Currently I’m comparing the following providers:

If you know of a hosting servers I should absolutely include, please let me know! The data for the below charts are benchmarked with at least 10 samples and aggregated with a bit of node code. I’ve written more about the process in the end of this post.

Note: The labels don’t show up right on all mobile devices, work on an improvement is pending.

Best 5$ VPS?

Let’s first have a look at the 5 dollar tier for smaller projects or just learning your way around the Linux command line and basic deployment.

^ Sha 256 time, shorter is better

^ Bzip2 compression time, shorter is better

^ IO operations, more is better

^ file system write, shorter is better

We can see that Vultr and Digital Ocean lag behind on the 5$ plan compared to Linode. Especially on the io speed Vultr seems to have some trouble. Keep that in mind if you’re going to run a very file system heavy project, for example video upload or streaming.

Best 10$ VPS?

Comparing the plans shows that you mostly get the same specs in the 10$ tier, 2GB RAM, one virtual CPU core and ~50GB of SSD space.

^ Sha 256 time, shorter is better

^ Bzip2 compression time, shorter is better

^ IO operations, more is better

^ file system write, shorter is better

The Vultr server shows overall higher CPU speeds (at times 3x the speed), which is surprising compared to the previous server. We might need to take into consideration that deploy hardware for the virtual servers and other instance loads on the host system may vary.

Best 20$ or 40$ Dollar VPS?

The 20 and 40 dollar plans are again very similar and show little variance even in available disk space or transmission bandwidth. If you get above this tier, dedicated servers might be more suitable for you, if you don’t need exactly replication of hardware of similar magic

^ Sha 256 time, shorter is better

^ Bzip2 compression time, shorter is better

^ IO operations, more is better

^ file system write, shorter is better

In this segment, we can see Vultr leading the CPU bound tests and Linode following on second place. DO outperforms its own bigger spec VPS with the smaller instance.

General Notes on VPS Providers

I’m not paid by any of the providers to mention them or to say anything nice about them. While I do get “store credit” with them if you sign up with them, I couldn’t care less which ones you try. For my sake: try all of them!

All so far tested virtual private server hosting companies have very user friendly UIs and make it incredibly easy and fast to spin up a server, which is exactly what you want when managing web infrastructure or just wanting to try them out.

Digital Ocean

Digital Ocean has a referral program.

DO also has Kubernetes hosting in a limited availability / beta stage.

There’s a 15$ flexible VPS tier that let’s you decide between 1-3GB of RAM and 1-3 CPU cores:


  • America: New York, San Francisco, Toronto
  • Europe: Amsterdam, Frankfurt, London
  • Asia: Singapore, Bangalore



  • America: Dallas, Fremont, Atlanta, Newark
  • Europe: Frankfurt, London
  • Asia: Singapore, Japan (Tokyo)

If you should try to mine XMR/Monero or other crypto currencies, their support will reach out to you and you will be expected to not do that. Their terms of service state:

Misuse of System Resources: Intentional misuse of system resources, including but not limited to employing programs that consume excessive network capacity, CPU cycles, or disk IO.

I know that the support will do that because a friend told me. No other reason. Really!

Linode has a referral program.



  • America: Atlanta, Chicago, Dallas, Los Angeles, Miami, Newark, New York, Seattle, Silicon Valley ?, Toronto
  • Europe: Amsterdam, Frankfurt, London, Paris
  • Asia: Singapore, Japan (Tokyo)
  • Australia: Sydney

Their mascot is a cute little vulture.

Vultr has a referral program.

As one of the few providers, they offer servers in Australia.

How this vps benchmark was made

I’ll quickly go over my toolchain for creating this post:

  • The amazing nench was used to actually run the benchmarks and test the performance of the different machines.
  • There’s a small bash script that wraps around nench, captures the output and runs it 10 times
  • The data samples are parsed and aggregated with node and converted to JSON
  • The charts are using Taucharts, which supports custom colours by data point (for the different providers) and is generally very nice to use.

Heroku Alternative: Dokku

Dokku is advertising itself as a self hosted Platform as a service and it lives up to its promise. You can fairly easily deploy a range of applications like Ruby, Node.js, Go and so on. Basically everything beyond your standard PHP CMS like WordPress (but also that ;)).

Dokku is easy to install and maintain. Under the hood it uses docker containers to run your apps. Dokku also comes as a pre-built app as a one click installer on Digital Ocean*. Since Dokku is very easy to install, there’s a couple of alternatives for you, for example Linode* or Vultr*.

Note: Dokku recommends at least 1GB or RAM.

Continue reading “Heroku Alternative: Dokku”

Visualize / Analyze Disk Space on Windows, Linux and Mac OS

Do you want to know which files on your computer take up a ton of space? I do, frequently. Being the system administrator at work and at home trying to keep my Dropbox on a free plan, because to be honest, how many files do really need to have access to at any point in time?

Anyhow, the following programs make the information of what really takes up space on your Windows machine, Macbook, Linux hacker heaven box and what ever else you installed an operating system on very accessible. Analyzing your disk space visually is much more intuitive than trying to understand the raw numbers and compare them in your head.

Continue reading “Visualize / Analyze Disk Space on Windows, Linux and Mac OS”

Nautilus / Nemo: Missing Image Previews on Linux [SOLVED]

A default limit to image files like .jpg, .png and similar causes Gnome Desktops not to generate image previews for them on Linux. If an image is larger than 10 MB, no preview will be displayed, but the default image icon. Here’s how to fix it:

Continue reading “Nautilus / Nemo: Missing Image Previews on Linux [SOLVED]”

Quick Fix: Run C# Code on Linux with Mono

Running C# (or C-Sharp) on Linux is pretty trivial unless you depend on something that’s a Windows specific library. I just came a cross a tiny bash script (rather alias) I wrote when I was a teacher, since I also taught basic programming with C#. Since I’m cleaning up an old hard drive I stumbled across a small script I wrote for that.
Continue reading “Quick Fix: Run C# Code on Linux with Mono”

Deploying your Golang App without Docker

How to deploy an app written in Go? That’s one of the questions I had when I first wanted to get something online after playing with Go for a while. Thinking back I think the first project I got online, was probably the redirect checker which is explained in detail here: Tracing or Preventing HTTP Redirects in Golang

When you just want to get stuff running, you probably don’t want to learn a container system, but just get it out there which is exactly what we’re going to have a look at in this post.

Continue reading “Deploying your Golang App without Docker”

Best Cheap VPS Hosting Comparison (2017)

What are the greatest and cheapest VPS servers out there? Here’s a list of providers that offer developer friendly virtual private servers that make it super easy to spin up a new server in minutes.

My most common use cases for me are either starting new projects for pages, webcrawlers or to put client projects in a staging environment for them to preview it. I write my projects with a variety of languages and stacks, most commonly: Node.js, PHP (Laravel and WordPress) or Go, backed by xSQL or MongoDB.

Continue reading “Best Cheap VPS Hosting Comparison (2017)”

[Solved] Linux Mint 18 not waking up from Suspend / Hibernate after Lid close

My Linux Mint 18 today was refusing to wake up from Suspend/Hibernate after I had closed the lid. It’s a little odd, because I went for the cinnamon and all other niceness installation variant, an image that wouldn’t even fit on a 2GB USB flash drive.

The only thing I apparently had to do was to open the driver manager and install the graphics drivers, followed by an apt-get update && apt-get dist-upgrade

Continue reading “[Solved] Linux Mint 18 not waking up from Suspend / Hibernate after Lid close”