Drone CI is an open source continues integration and delivery platform built on container technlogoy. It is a lightweight and easy to use solution for testing and deploying your projects. Drone is distributed and run in a Docker container meaning it has no install dependencies at all (well, except for Docker itself) and it’s very easy to set up and configure. In this guide we will install and configure Drone on a self-hosted server and then set up GitHub repositories to automatically test and build our projects.
If you fork an existing git repository and add that fork to your own repositories it will not be in sync automatically with the original repo. That could of course be a good thing if you want to develop the project in your own direction without anyone “ruining” it for you. But sometimes you want the best from both worlds, have your own repo but also get all the updates of the original source. This can be achieved by setting an upstream remote.
If you have your git repositories spread across multiple git services, like GitHub for work and GitLab for personal, you can run into problems with your git credentials. Especially if you are using different email addresses, such as the privacy addresses provided by the services. The solution is simple and doesn’t require many lines in the terminal.
I’ve always loved Varmilos keyboards and their amazing build quality. Unfortunately the firmware is often really bad and leave a lot to wish for, especially the lack of programmability. As with most mass produced keyboards the selection of switches are also quite slim. As for me who like tactile switches the choice is often only between brown and clear switches. The solution is easy, a custom build with a Varmilo case but with better switches and support for programming.
HTTP/2 has only been out a for a few years but it is certainly time to activate it on your sites now. Compared to the old HTTP 1.1 there are many pros. Requests are dowloaded parallel instead of in a queue, greatly improving speed and performance for content heavy sites. As well as compressed headers and pages being transfered as binary instead of text, for example.
Browsing the web unencrypted with only HTTP is not recommended anymore and Google recently started to mark all sites without SSL as “not secure” in their browser Chrome. Adding a certificate to your site used to cost money and often meant a lot of work setting up and renew it regularly. But with Let’s Encrypt it’s the opposite and there really is no excuse for not using HTTPS on your sites anymore.
If you’ve been working with web servers for a while you’ve probably heard about Apache. It was pretty much the default solution when setting up a new site on a self hosted server a while back. The classic LAMP stack, an acronym for Linux, Apache, MySQL and PHP, were used everywhere. Even though Apache definitely has its place it is pretty exhausting to setup with a lot of configuration and for simpler projects Nginx is a nicer solution in my opinion. That doesn’t mean Nginx is only for simple projects, of course. Both have their pros and cons but in this guide we’ll install and setup Nginx on Ubuntu.
If you’ve never heard about SSH keys and are still using passwords when logging in to your remote servers you’re in for a treat. Or maybe you already know about SSH keys but aren’t organizing them in a good way. Anyway this post will make you an SSH key pro and you will have full control over all your keys.
This blog is mainly for documenting my own coding and what I learn through my journey as a web developer. The topics will be a good mix of everything but mostly code related and probably with a focus on front end. What I’ve listed as work and skills under my about page is probably a good guess what will show up here.