Blog

Subscribe

How to store passwords
2020-05-28 8 minutes

How to store passwords Storing passwords is a pretty simple problem in software development, right? Wrong! Storing passwords correctly is pretty complicated. With that said, it’s very simple to just lean on work someone else has done, and the libraries available for your language of choice.…

Remote to remote backups with Duplicati
2020-05-22 3 minutes

Duplicati is one of my favourite backup system. It’s pretty fast, supports a large number of backup sources, and has a nice configuration web UI. Unfortunately however, it can’t be used to backup remote files. In fact, I can’t find a nice fully-features backup solution which does do this, which sucks.…

Traefik Basics
2020-05-01 6 minutes

Traefik is a cloud native reverse proxy. Which is basically a fancy way of saying it’s a reverse proxy with some fancy features. Namely fancy features around auto-discovery, and deep integration with technologies like Docker and Kubernetes. Basic concepts Traefik has four fundamental concepts: Entrypoints, routers, middleware and services.…

Exposing your Homelab
2020-04-29 8 minutes

In the current lockdown situation, a lot of people are starting to eye up that old desktop machine, or Raspberry Pi they bought for a project and just left on a shelf, and thinking of putting it to use, as a server!…

Nextcloud Sane Text Editor
2020-04-19

As a part of Nextcloud 17, Nextcloud released Text, a fancy new WYSIWYG editor for markdown with support for collaboration. Personally, I quite liked the old interface: A simple plaintext editor with syntax highlighting, paired with a side-by-side preview. Nextcloud Text was a step in the wrong direction for me, but I completely understand why Nextcloud did it.…

Self hosting my website
2020-04-11 3 minutes

A few days ago, I was sharing a blog post to someone on the self-hosted podcast discord, and they asked if I was self hosting my website. Unfortunately, and rather ironically, I had to answer no. I’ve been intending to move it over to my own server for a while, so this felt like as good of a push as any!…

Privacy-respecting analytics with GoAccess
2020-04-10

Recently, I decided to try and put some analytics on my website. Would be nice to see what view number are like and what pages get the most traffic. Most people would just stick Google Analytics on and be done with.…

Wireguard HAProxy Gateway
2020-03-21 5 minutes

Last year, I wrote a post on setting up OpenVPN-AS as a gateway to a private network. I ran this network setup for quite a while with a lot of success, exposing services on my home network to the public internet, securely.…

Why Wireguard
2020-03-06 4 minutes

What is Wireguard? The website defines it as “… extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography.". Which basically means it’s a VPN, but sane. The point of a VPN is to allow two machines to talk to eachother, no matter how the network inbetween is setup.…

nologin vs false
2020-03-05 3 minutes #linux #security

When disabling a user account on a Linux box, it’s good practice to also change the shell to something which, well, isn’t a shell. The point of these shells is rather than presenting the user with a prompt to execute further commands , it returns a failure code, and log out the user.…

State of the Apps 2020
2020-01-01 8 minutes

This year marks the 3rd year of my pattern for publishing a “My Stack” post, noting down how I get work done both professionally and personally (2018 / 2017). This year, I’m stealing borrowing inspiration from CGP Grey / Cortex and their “State of the Apps” episodes, and also talking about productivity, and the other services I use to get things done.…

CVE-2019-19844
2019-12-18 10 minutes #security

Yesterday, an email was sent to django-announce, informing of an upcoming security update, labelled “high” severity. Previous notifications like this have been one week before the actual disclosure; This email, just 12 hours. The updates were scheduled to be released 12:00 UTC the next day (today).…

Hacktoberfest 2019
2019-11-01 #programming

Hacktoberfest 2019 This is year number three of my participation in Hacktoberfest, the initiative from DigitalOcean, and new this year, Dev.to. In previous years, the objective was to submit five pull requests to an open-source project. This year, the number was reduced to four, for some reason.…

macOS - A Linux Guys Perspective
2019-10-01 7 minutes

For the last four years, I’ve been spending every working day off a Dell Optiplex. With an after-market SSD upgrade, and a little extra memory, it makes a pretty good work machine. When it comes to needing to work away from my desk, it’s a little annoying having only a desktop.…

Getting started with Wireguard
2019-09-15 4 minutes

Wireguard is taking the VPN world by storm, coming very close to the current champion OpenVPN in simple, small-scale deployments. It’s just unfortunate few people know about it, and quite how incredible it is! What is wireguard? WireGuard® is an extremely simple yet fast and modern VPN that utilizes state-of-the-art cryptography.…

My first arch install
2019-05-29 4 minutes

I’ve been an arch user for many years, and a linux user for even longer, but I’ve never installed arch from scratch. I was an Antergos user for many years, but after its demise, I needed an alternative. In a previous post, I spoke of attempting to install vanilla arch from scratch on my laptop.…

Antergos to vanilla Arch
2019-05-25 3 minutes #arch

I’ve been an Antergos user for almost three years, and I love it! It’s like Arch, but with a simple installation process, and yields a near-pure Arch install, unlike Arch derivatives like Manjaro. Unfortunately, on 21st May 2019, the Antergos project ended.…

Dealing with spoilers in a professional manner
2019-04-28 3 minutes

Spoiling movies is something which has plagued people since forever. If something dramatic happens, of course people don’t want to find out by just being told, they want to watch and experience it for themselves. Unfortunately, it seems many people take pride and pleasure in spoiling films for people.…

Instance vs Static: A tale of memory leaks and OOP in Python
2019-04-27 4 minutes #programming

Object-Oriented Programming (OOP) teaches that classes can have two kinds of attributes: Instance and Static. Instance variables are attached to a specific instance of the class, and each has separate memory locations. Static variables are tied to the class itself, and are shared between instances.…

Django 2.2
2019-04-01 11 minutes #programming

April marks the release of Django 2.2, the latest LTS version of the popular Python web framework. Django 2.2 marks almost two years of development since the last LTS release, 1.11 in April 2017, and brings with it some very large improvements and changes which naturally come with a major version bump.…

Facebook cleanup - Part 1
2019-01-18 3 minutes

Cleaning up Facebook - Part 1 Around 10 years ago, Facebook was everything. No matter your interests, you could find like minded people on Facebook to share your passion with. But that communication came at a price: your personal data. In recent years, we’ve realised to what extend Facebook was selling our data and generally invading our privacy.…

My Stack - 2018 Edition
2018-12-31 4 minutes

Last year, I wrote My stack 2017, and now it’s time for a follow-up. A year is a long time, and my day-to-day stack has changed quite a bit since then. OS I’m still an Antergos user, and have no sign of changing.…

Hacktoberfest 2018
2018-11-01 #programming

Hacktoberfest is a great initiative created by DigitalOcean and GitHub to get more developers contributing to open-source projects. After opening a set number of pull requests to open-source projects, they’re rewarded with branded swag. As someone who does a lot of development in their free time, it’s not hard for me to find some open source projects, and contribute where possible.…

Creating a fast, secure WordPress site
2018-10-08 6 minutes

In terms of security, WordPress, and PHP in general for that matter, have become a bit of a joke. If you want a site to be secure, people tend to steer clear of WordPress and PHP. That being said, nothing stands even close to WordPress with regards to plugin support, community size, and documentation.…

VPN Gateway - Opening ports the safe way
2018-06-21 6 minutes

VPNs are a way of accessing application which sit on a separate network using an encrypted tunnel. Contrary to popular belief, they are not designed to be used for anonymising your internet habits. Whilst VPNs are designed to enable a client to access the servers network, it’s possible to use them to provide a server to access to its client’s network.…

KeePassXC 2.3 Migration Guide
2018-03-03 5 minutes

I’ve been using KeePassXC since not long after it’s initial split from KeePassX in late 2016. I’ve bounced around many password managers, but KeePassXC looked to fill all the boxes: It’s actively maintained, unfortunately unlike KeePassX It’s open source, and easy to contribute to, as I have It’s got all the features I need, like TOTP and Browser Integration Cross platform (not KeePassXC specific) 2.…

Repairing GDM and Bluetooth Audio
2018-02-13

Bluetooth audio is great! I’ve had a pair of Bluetooth headphones, Sony MDR-XB950 BT, for around a year now, and the ability to listen to music without cables is amazing. But, I can only use the Bluetooth parts of this with my phone, because on Linux, it just sounds terrible.…

Opening Port 22
2018-01-23

My university has a development sever, which it uses to host our coursework without the need to setup a development environment locally. It also enables lecturers to mark our work in a controlled environment, without needing to spin up an environment, and run untrusted code on their machines, a security hole I’m more than likely to take advantage of!…

My Stack - 2017 Edition
2017-12-31 5 minutes

As a software engineer and perfectionist, I have my machines setup in a very specific way, so I can do my job properly and have everything just the way I like it. Thanks to my dotfiles, I have everything syncing up between machines, meaning the tools I use are setup correctly, the same, everywhere.…

Make QT look less ugly
2017-12-27

As anyone who’s used an application written with the QT UI framework will know, they don’t always look the best, and certainly don’t fit in with the rest of your desktops theme in the way GTK does. Certain themes support styling both GTK and QT applications, however most don’t.…

Why I rewrote my website
2017-11-13

I’ve had a website for around four years now, starting with a python CGI-based site hosted at 1&1, and evolving into it’s current form, powered by Hugo. Although I’m a web developer, I’m very far from a designer. I really can’t design anything!…

Revert Arch linux packages to specific date
2017-09-11 3 minutes #arch #linux

I’m one of those Arch users who apparently doesn’t use arch properly: I install updates daily, including packages from the AUR. This has the great benefit of giving me the most up-to-date packages available from upstream. However the downside of meaning I have the latest packages from upstream, meaning if something breaks, even temporarily, it breaks for me.…

Cyber Security Month 2016
2016-10-01 #security

As it’s Cyber Security Month, now’s the perfect time to work on improving the security on my websites, projects, and servers. But, upgrading them for now isn’t good enough for me, I wanted to add a way of scanning projects automatically, to check for any new issues.…

ProtonMail - Can it replace your email provider?
2016-06-28 3 minutes #security

Throughout my life, I’ve had many different email providers, starting with Hotmail almost 10 years ago. Recently, I’ve been focusing more on ways I can secure my emails. No, I may not have anything to hide, but that doesn’t matter!…

React-Native intro dev meeting
2016-03-16

Recently, at DabApps, we’ve been migrating our mobile app workflow over to using react-native rather than Ionic, mainly because of its near native performance. For the first few projects, there were only a couple of us that knew how to use React Native effectively, and work around the qwerks it has.…


Fix steam under linux with an iGPU
#linux

Running steam on linux is great, besides the triple-a game support obviously. But running it on an iGPU has recently been causing me problems, mainly under Arch. Stacktrace: jake@***:~$ steam ~/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable ~/.local/share/Steam/steam.sh: line 154: VERSION_ID: unbound variable Running Steam on antergos 64-bit ~/.…