who? why? ⟶

Did you lose your uncommitted file changes while working in VS Code? No need to panic.

Named After Women, pt. 1

An intro to my main side project, a full-stack website with a feminist approach to the history that surrounds us in Berlin

Appearing on the Django Girls podcast

Exciting news: listening to yourself talk is weird

2023 in music

Albums released in 2023 that I particularly enjoyed.

Preparing for the AWS Solutions Architect Associate (SAA-C03) exam

The key to passing this exam is allowing yourself adequate time to soak in the concepts and diversifying your learning material.

Applying for the Bildungsgutschein

If you are registed as unemployed in Germany, you may be able to do a subsidised course to improve your professional profile. Here, I share my experience applying for that.

Making requests to a GraphQL API with Python

A brief look at using Python to get user book data from the Literal API.

Testing Django admin methods with PyTest

Leverage the Django admin by writing and testing custom methods to manage model data for your own use

Deploying a React app with lambda functions to Netlify

An intro to the power of serverless

Securing a React app with Express

How to make sure API keys and other secrets are kept safe in production by building a backend

The two-year itch

My experience overcoming that tricky gap between junior and mid-level developer, and finding a job where I can grow.

2022 in music

Albums released in 2022 that I particularly enjoyed.

Django conditional expression classes

Amp up your Django queries by evaluating expressions via inbuilt classes.

Coding outside work

TL;DR: Stop worrying what Twitter says and do whatever you want.

Messing up & rewriting history

I'm back. What happened to my Wagtail blog? What's all this static site business?

Getting to grips with Django REST Framework and React, pt. 2

Part 2 of my tutorial on how to glue together your Django and React apps, passing data to a frontend.

I haven't written code at work in at least 2 weeks

Did I change my career yet again? You'll have to click through if you want to find out.

Setting up Python3 on Apple Silicon

New technology is supposed to make our lives easier... but sometimes, you wish it wouldn't bother. Don't let Apple Silicon get in the way of you using Python!

2022 resolutions

What do I hope to have achieved by the end of 2022?

Getting to grips with Django REST Framework and React, pt. 1

Part 1 of my tutorial on how to glue together your Django and React apps, passing data to a frontend.

2021 in music

Albums released in 2021 that I particularly enjoyed.

Customising settings in VSCode

VSCode is a popular IDE, largely because it's user-friendly and highly customisable. Here's how to make it work for you.

Setting up pre-commit hooks

Keep a clean, standardised codebase and save time by setting up pre-commit hooks for your project.

Assorted thoughts on Django migrations

Making sense of a few common patterns in Django migration files.

Travelling from Germany to England in times of COVID

The intricate process of preparing for travel between my two home countries.

Deploying a Django app to Heroku in 2021

The quirks of Heroku shouldn't stop you from deploying your Django app there!

random.choice() vs random.choices()

The difference between the two methods for Python's in-built random module.

How I scrummed my novel

Scrum isn't just for software development; you can apply it to just about any area of life where you have a goal you need to achieve within a defined amount of time. Turns out it works splendidly for creative goals.

Review: PyCharm

How does PyCharm fare as an integrated development environment? Here's my hot take.

Preparing for the Professional Scrum Developer (PSD I) exam

Passing Scrum PSD I exam should be a breeze if you prepare for it adequately. Read about my experience studying for and taking the exam, plus a lot of valuable resources.

2020 in music

Albums released in 2020 that I particularly enjoyed.

Understanding context in Django

Context is such a vague word... it could mean anything. So what does it mean in Django?

Adding custom StreamBlocks to your Wagtail site

Part of the fun of using Wagtail is its native StreamFields feature, allowing you to tailor the CMS to the user's needs. This posts shows how to make your first ones.

Django ORM basics

How to make a few different important database queries with the Django ORM.

The first month

Five initial impressions about switching to the software development team in my company.

Some professional news

Spoiler: I got my first ever job as a junior software developer! How did this happen?

Review: Codecademy Pro

How good are Codecademy and its ilk really when it comes to teaching yourself to code?

Spilling coffee on a laptop taught me a lesson (but not the one you think)

A cautionary tale about not waiting for things to be perfect before you do them.

Applying to my first dev job

Overcoming the life-long ideas I had internalised about myself and my skills, and just going for what I want anyway.

Back to school

Signing up to take my first formal group programming classes at a local college... during lockdown!

Deploying my Wagtail blog to Digital Ocean, pt. 2

Part 2 of my tutorial on deploying your Wagtail blog to Digital Ocean, learning a bit about Gunicorn and Nginx on the way.

Deploying my Wagtail blog to Digital Ocean, pt. 1

Part 1 of my tutorial on deploying your Wagtail blog to Digital Ocean, learning a bit about Gunicorn and Nginx on the way.

Coaching at Django Girls 2019

In which I give my first lightning talk and have my Rubicon moment: realising I want to code as a career.