programming

Lightweight GitLab
2021-11-11 8 minutes #self-hosting #programming

It’s no secret that GitLab is a beast of an application. As self-hosted git servers go, it’s easily the most powerful and feature complete. But that weight comes at a cost: resource usage. GitLab is no slouch, easily consuming upwards of 6GB of RAM by default without doing anything, and that’s even before you have a mountain of users trying to get their work done.…

Making linking to my posts easier
2021-09-19 3 minutes #website #programming

For anyone who’s spoken to me, they’ll know I’m very quick to link people to posts I’ve written. That’s not in terms of pushing the things I’ve written (usually), but also being able to retrieve the links as quick as possible.…

Building search into a Hugo website
2021-09-12 5 minutes #programming #self-hosting #website

My website is built with Hugo, a great static site generator with a bunch of features. One of the big missing features though is search. Hugo has documentation on a bunch of different integrations, but none of them quite did what I wanted.…

Updating GitLab project dates
2021-07-08 4 minutes #self-hosting #programming

As a developer I do basically everything in git and for fun I run my own git server on my home server. I’ve swapped around quite a lot between GitLab and Gitea, but finally settled on GitLab. It’s a bit heavy, but the deep CI integration is really nice.…

Website deployment process
2021-05-25 4 minutes #self-hosting #programming #website

My website is a very important project to me. I’ve written a lot of content over the years, useful both to me and other internet folks. Currently, my website is a static site, powered by Hugo. Because it’s static, the content is served insanely quickly and handles any insane load spikes like a champ (not that any have happened).…

What's new in Django 3.2 LTS
2021-04-06 20 minutes #programming #django

It’s that time again, time for another Django LTS release. Since Django 2.2, back in 2019, a lot has changed in tech, in Python and of course in Django. Historically, I’ve worked entirely on LTS versions, hence combining these 3 releases together.…

State of the Apps 2021
2021-01-01 10 minutes #linux #programming #self-hosting

It’s that time of the year again: time to look back at how I work, the tools I use, and how the next year might look. I’ve been working from home basically full time since the UK went into lockdown 17th March.…

Hacktoberfest 2020
2020-11-01 #programming

This year’s Hacktoberfest was a little different, mostly in quite how much the internet gave a fuss about it. Given quite how much of the internet was talking about it back in early October, it doesn’t take long to find information and context on why it was so controversial.…

Recovering orphaned git commits
2020-10-22 3 minutes #programming

I recently had a far from fun morning. I had my website cloned on my desktop, with some commits which weren’t upstreamed. Having done some work on my laptop, upstream was ahead of my desktop, which needed rectifying. git pull -r is a great feature of git, which does a rebase rather than a merge commit when pulling a diverged remote.…

Django ORM Performance
2020-06-07 13 minutes #programming #django

Django already does some pretty incredible things when it comes to performance, especially in the ORM layer. The lazy loading, fluent interface for querying means it’ll only fetch the data you need, when you need it. But it can’t handle everything for you, and often needs some help to work out what you’re doing, and what exactly it can optimize.…

How to store passwords
2020-05-28 8 minutes #security #programming

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.…

State of the Apps 2020
2020-01-01 8 minutes #linux #programming

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 #programming

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

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.…

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 12 minutes #programming #django

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.…

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.…

Why I rewrote my website
2017-11-13 #programming #website

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

React Native intro dev meeting
2016-03-16 #programming

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.…