Blog Posts

Most Popular Blog Tags

July 29, 2020 2 minutes

Github's Awesome Repository Traffic Analytics

As someone that loves all types of metrics I was really glad to have discovered Github’s traffic analytics. They’ve been around for a while, but I never knew about them and I wanted to share an introduction to the analytics.

June 14, 2020 8 minutes

Django A/B testing with Google Optimize

Struggling to determine your product’s future path? A/B testing helps you decide if you should take the road less traveled by.

To understand your users and their needs, start by creating two product variations and collecting data points. Google Optimize simplifies this process by managing variant weights, targeting rules, and providing analytics. It also seamlessly integrates with other G-Suite products, such as Google Adwords and Google Analytics.

Monitoring Kubernetes InitContainers with Prometheus

Kubernetes InitContainers are a neat way to run arbitrary code before your container starts. It ensures that certain pre-conditions are met before your app is up and running. For example it allows you to:

  • run database migrations with Django or Rails before your app starts
  • ensure a microservice or API you depend on to is running

6 ways to speed up your CI

Waiting for CI to finish slows down development and can be extremely annoying, especially when CI fails and you have to run it again. Let’s take a look into approaches on how to speed up your CI and minimize the inefficient time spent by developers when waiting on CI to finish.

Recipes when building a headless CMS with Wagtail's API

Recently I built a headless CMS using Wagtail’s API as a backend with NextJS/React/Redux as a frontend. Building the API I ran into some small issues with Image URL data, the API representation of snippets and creating a fully customized page representation. I’ll show some simple recipes which will hopefully simplify it for anyone encountering these issues.

Creating Group Webhooks with Templates for Gitlab CI

Gitlab stores a vast majority of their functionality into their paid packages. Group webhooks is one of them and if your using a group runner, the group webhook becomes sought after. This is easily achievable without using a paid plan by creating reusable templates. Gitlab offers great functionality for configuring your CI with include and exclude functions. These can be reused to create a base template for all your CI jobs.

Kickstarting Infrastructure for Django Applications with Terraform

When creating Django applications or using cookiecutters as Django Cookiecutter you will have by default a number of dependencies that will be needed to be created as a S3 bucket, a Postgres Database and a Mailgun domain.

Creating templates for Gitlab CI Jobs

Writing Gitlab CI templates becomes repetitive when you have similar applications running the same jobs. If a change to a job is needed it will be most likely needed to do the same change in every repository. On top of this there is a vast amount of excess YAML code which is a headache to maintain. Gitlab CI has many built-in templating features that helps bypass these issues and in addition helps automating the process of setting up CI for various applications.

Shynet