Finally fixing that annoying Cron gotcha

A while ago I went through my server and reworked my storage setup. As discribed in that blog post, I set up daily backups to Backblaze B2(https://www.backblaze.c...

Fun with Pen and Paper: Race Cars

I recently came across some fun games that can be played using nothing but a pen and some paper. One of those games was called "Race Cars" and I wondered how on earth you would play a racing game on...

Docker healthchecks using healthchecks.io

I'm currently in the midst of improving the monitoring of my infrastructure. I make heavy use of docker and docker-compose for my hosting, so it's vital to add monitoring for most of the containers....

A pretty good guide to pretty good privacy

In the past week, I've been experimenting with PGP, or GPG in particular. In a nutshell, PGP is an encryption standard with a wide range of use cases. For quite some time, I didn't see the point of k...

Git's built-in lifesaver

Everyone was in this situation at some point. You wasted a days worth of work by accidentally deleting a branch. But, all hope is not lost! Git never forgets.

Every action, be it committing changes...

Strategies to use a terminal alongside (Neo)Vim

One thing that bothered me about vim for a long time, was the lack of a terminal directly in your editor. If I'm not using Vim, I'm most definetely using VSCode and its built-in Terminal. After searc...

Writing good changelogs

Today, I finally added a proper changelog to my current project. My obvious first step was to search the web for changelog.md, since t...

Flutter Web - the Good, the Bad and the Ugly

These are some notes I took for the evaluation of Flutter web for a potential project at work. I decided to build a frontend for Miniflux, since I figured it may enclose many...

Thoughts after 10 Days of 100DaysToOffload

Coming into this, I didn't know what to expect. I'm not a huge writer, but so far I am pleasantly surprised about how relaxing this challenge is.

At first glance, writing a blog post every 3-5 days...

My storage setup (Feburary 2021)

I used to rely on Google Drive and Photos to store my entire data. Now, that Google has decided to ditch unlimited photo storage in the near future(https://blog.google/products/photos/storage-chang...

Notes about BEM (Block Element Modifier)

In the coming weeks, months and years, I will be working on frontend-development as part of my dayjob. These are some personal notes I took during my research about the BEM methodology. If you want t...

From sudo to doas

You might have heard that there is currently a pretty significant vulnerability affecting sudo, the pro...

Using Macros in Vim

For a long time, macros in Vim were a huge mystery for me. I knew they existed, but I didn't know how or why you'd use them. A recent task of mine involved replacing the unsafe operator (!!) in a l...

Signal-to-Noise, or why nobody cares about your GitHub project

For a very long time, the thought of leaving GitHub and moving to another platform daunted me. Having more users on one platforms means that more people will contribute to my project, right? Wrong....

6 reasons the Fediverse is better than regular social media

Social media sucks. Platforms like Twitter, Facebook and Instagram are designed to turn your precious free time into money. What we see as a nice way to stay in touch with our friends, in reality are...

Compiling your own kernel

I'm currently in the midst of fiddling around with the kernel a bit, and I figured I just documented my process a bit. Unfortunately, since I'm using a Mac for day to day work, I have to rely on a vi...

I joined the 512KB club

JavaScript rules the web, literally. In fact, this website is built with JavaScript (Next.js). I recently started to think about if I really needed this much overhead for a simple site like this. Aft...

Are humans still evolving?

This is by no means a scientifically accurate article. These are my thoughts, and I'd be happy to discuss this topic. Take it with a grain of salt.

Evolution builds upon natural selection. With ever...

100DaysToOffload

For some time now, I've seen this #100DaysToOffload hashtag on my social medias. I knew that it was some kind of writing challenge, but I never thought about taking part in it. Since I recently start...

I closed my Facebook account, and you should too

I know I should have done this a while ago, but with ever-increasing scandals about data privacy surrounding Facebook, I finally decided to get rid of it.

I haven't used the service in a long time a...

Updates, December 2020

It's christmas season! I hope you and your family are safe and sound. My main focus this month is to expand my knowledge about compilers, by building one from scratch(https://sr.ht/~garritfra/sabre...

Booleans are wasted memory

A boolean is either true or false. That translates to 1 or 0. If you think that one bit is enough to store this information, you'd be wrong.

In order to keep the binary layout of a program s...

Updates, November 2020

Hi, I wanted to share some things I'm currently working on. Maybe I'll turn this into a monthly thing, who knows. :)

One major goal I set for myself in the upcoming months is to build a SaaS for fre...

Introducing my new blog - slashdev.space

Hi! Welcome to the new home of my blog. Let me give you a small tour of why I built it, its underlying architecture and my ambitions with this project.

My old blog was based on Gatsby.js(https://w...

The Patch-Based Git Workflow

If you have ever contributed to an open source project, chances are you have opened a pull request on GitHub or a similar platform to present your code to the maintainers. While this is a very approa...

Quick Tip! Setting up a lightweight Server-Client VPN with wireguard

This blog post has been taken over from my collection of "Today I Learned" articles.

You can easily set up a private network of your devices. This way you can "talk" to you...

Whom do you trust?

Nowadays, password managers are a necessity if you care even the slightest about your personal belongings on the interwebs. But think about it, do you really want to trust another company to store yo...

Quick Tip! Sharing terminal output with Termbin

Ever find yourself in a situation where you simply want to save or share the output of a terminal command? Selecting, copying and pasting text from stdout always feels quite tedious, if you just want...

Testing isn't hard

"I write two tests before implementing a method", "My project has 90% coverage".

I don't know about you, but that's something I don't hear very often. But why is that?

Testing is not even that diff...

Fighting Array Functions with ES6

Yesterday, I came across an interesting bug regarding JavaScript Arrays, and I wanted to share my approach to fixing it. At a basic level, I wanted to pass part of an array to a function, but wanted...