mirror of
https://github.com/Crocmagnon/blog.git
synced 2024-11-24 16:58:03 +01:00
Add canonical URL for old posts
This commit is contained in:
parent
f68204babd
commit
cff88afbdd
37 changed files with 37 additions and 0 deletions
|
@ -3,6 +3,7 @@ title: "Adding Time to my Blog's Statistics"
|
|||
tags: ['analytics', 'blog', 'self-hosting']
|
||||
date: 2020-06-15T16:27:27+00:00
|
||||
aliases: ["/adding-time-to-my-blogs-statistics"]
|
||||
canonicalURL: "/adding-time-to-my-blogs-statistics"
|
||||
---
|
||||
{{< img src="9.png" alt="Two Grafana graphs: one to view the raw view counts evolving, the other to display the difference between two data points" >}}
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Automate bug findings with git"
|
|||
tags: ['bisect', 'bugs', 'git']
|
||||
date: 2021-12-22T22:08:07.191735+00:00
|
||||
aliases: ["/automate-bug-findings-with-git"]
|
||||
canonicalURL: "/automate-bug-findings-with-git"
|
||||
---
|
||||
## 🔍 Git bisect
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Bitwarden and Password Managers"
|
|||
tags: ['free software', 'passwords', 'passwords manager']
|
||||
date: 2020-06-05T15:10:47+00:00
|
||||
aliases: ["/bitwarden-and-password-managers"]
|
||||
canonicalURL: "/bitwarden-and-password-managers"
|
||||
---
|
||||
[TL;DR](https://en.wiktionary.org/wiki/tl;dr): I use a password manager and you should too. [Bitwarden](http://bitwarden.com/) is a Free Software alternative.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Blog platform update - Quick note"
|
|||
tags: ['blog', 'self-hosting']
|
||||
date: 2020-08-17T15:45:55+00:00
|
||||
aliases: ["/blog-platform-update-quick-note"]
|
||||
canonicalURL: "/blog-platform-update-quick-note"
|
||||
---
|
||||
I just moved from Writefreely to a custom made blog engine. Writefreely is great but I wanted more control over every bit of the template and style and I couldn't easily achieve what I wanted.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Blog Statistics, Part 2"
|
|||
tags: ['analytics', 'blog', 'self-hosting']
|
||||
date: 2020-06-26T15:34:46+00:00
|
||||
aliases: ["/blog-statistics-part-2"]
|
||||
canonicalURL: "/blog-statistics-part-2"
|
||||
---
|
||||
In a [recent post]({{< ref "adding-time-to-my-blogs-statistics" >}}), I talked about how I tracked my posts views over time using Grafana and InfluxDB.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Certificates chain correct order"
|
|||
tags: ['Certificates', 'OpenSSL', 'Quick Note', 'TLS']
|
||||
date: 2022-08-04T09:35:07.590872+00:00
|
||||
aliases: ["/certificates-chain-correct-order"]
|
||||
canonicalURL: "/certificates-chain-correct-order"
|
||||
summary: Certificates in a chain file should start with the “final” certificate (the cert issued to you). Each following certificate should be the issuer of the previous one.
|
||||
---
|
||||
Making honor to the name of this blog, here's a very quick note for my future self.
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Chowning files can take a lot of space in a Docker image"
|
|||
tags: ['Docker', 'ITSF', 'chown', 'history', 'layer', 'multi-stage builds']
|
||||
date: 2021-03-02T16:21:06.172437+00:00
|
||||
aliases: ["/chowning-files-dockerfile-can-take-lot-space"]
|
||||
canonicalURL: "/chowning-files-dockerfile-can-take-lot-space"
|
||||
---
|
||||
Today I learned that recursively changing the owner of a directory tree in a Dockerfile can result in some serious increase in image size.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Cleantoots - Clean Your Toot History"
|
|||
tags: ['cleanup', 'history', 'mastodon', 'toots']
|
||||
date: 2020-05-25T17:08:28+00:00
|
||||
aliases: ["/cleantoots-clean-your-toot-history"]
|
||||
canonicalURL: "/cleantoots-clean-your-toot-history"
|
||||
---
|
||||
Since I consider my messages on social media to be valid at the moment they're posted, I like to have them deleted after some time. When I still used Twitter, I also used a CLI tool called [cleantweets](https://github.com/magnusnissel/cleantweets) that helped with this.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "CodinGame Spring Challenge 2020 - Pacman"
|
|||
tags: ['challenge', 'codingame', 'programming']
|
||||
date: 2020-05-21T19:13:49+00:00
|
||||
aliases: ["/codingame-spring-challenge-2020-pacman"]
|
||||
canonicalURL: "/codingame-spring-challenge-2020-pacman"
|
||||
---
|
||||
I participated in the [latest CodinGame challenge](https://www.codingame.com/multiplayer/bot-programming/spring-challenge-2020) and quickly got out of the beginner's league. In this article, I'll explain my approach.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Create a CSR with SAN"
|
|||
tags: ['Certificates', 'OpenSSL', 'Quick Note', 'TLS']
|
||||
date: 2022-12-20T13:56:56.467033+00:00
|
||||
aliases: ["/create-a-csr"]
|
||||
canonicalURL: "/create-a-csr"
|
||||
summary: How to generate a CSR for a basic certificate supported by modern browsers
|
||||
---
|
||||
Another quick note today: how to generate a CSR for a basic certificate supported by modern browsers (includes `Subject Alternative Name`).
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Demo post"
|
|||
tags: [some tag, another tag]
|
||||
date: 2021-01-03T18:08:52.170212+00:00
|
||||
aliases: ["/example-should-never-be-published"]
|
||||
canonicalURL: "/example-should-never-be-published"
|
||||
draft: true
|
||||
showtoc: true
|
||||
description: This is a demo post
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Designing and 3D Printing a Wall Mount for my ISP Modem"
|
|||
tags: ['3D printing', 'CAD', 'FreeCAD', 'Freebox', 'wall mounting']
|
||||
date: 2020-08-13T21:38:37+00:00
|
||||
aliases: ["/designing-and-3d-printing-a-wall-mount-for-my-isp-modem"]
|
||||
canonicalURL: "/designing-and-3d-printing-a-wall-mount-for-my-isp-modem"
|
||||
---
|
||||
I recently moved to a new apartment and now I have a little closet which contains the electrical board. It's also where the optical fiber comes in and so it's where I put my ISP-provided modem.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Docker images layers and cache"
|
|||
tags: ['Docker', 'cache', 'layer']
|
||||
date: 2020-12-28T07:55:41.393608+00:00
|
||||
aliases: ["/docker-images-layers-and-cache"]
|
||||
canonicalURL: "/docker-images-layers-and-cache"
|
||||
---
|
||||
In this post, we'll walk through Docker image layers and the caching around them from the point of view of a Docker user. I'll assume you're already familiar with Dockerfiles and Docker concepts in general.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Chat Sceptique (French YouTube Channel)"
|
|||
tags: []
|
||||
date: 2020-06-21T10:18:08.406375+00:00
|
||||
aliases: ["/french-youtube-channel-recommendation"]
|
||||
canonicalURL: "/french-youtube-channel-recommendation"
|
||||
---
|
||||
Today's very quick post is a recommendation to a french YouTube channel. It's called [Chat Sceptique](https://www.youtube.com/channel/UCOuIgj0CYCXCvjWywjDbauw) and features a statistician popularizing many different topics related to statistics.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "How to subscribe"
|
|||
tags: []
|
||||
date: 2020-05-14T10:18:31+00:00
|
||||
aliases: ["/how-to-subscribe"]
|
||||
canonicalURL: "/how-to-subscribe"
|
||||
---
|
||||
This blog offers an [RSS](https://en.wikipedia.org/wiki/RSS) feed.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "How to use pipx with pyenv"
|
|||
tags: ['pipx', 'pyenv', 'python']
|
||||
date: 2020-12-30T08:40:58.362871+00:00
|
||||
aliases: ["/how-use-pipx-pyenv"]
|
||||
canonicalURL: "/how-use-pipx-pyenv"
|
||||
---
|
||||
## 👨🏻💻 TL;DR
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "I Needed a Budget, With Four Rules"
|
|||
tags: ['YNAB', 'budgeting', 'four rules', 'personal finances']
|
||||
date: 2020-06-25T16:05:51+00:00
|
||||
aliases: ["/i-needed-a-budget-with-four-rules"]
|
||||
canonicalURL: "/i-needed-a-budget-with-four-rules"
|
||||
---
|
||||
In January 2020, I discovered a budget app called You Need A Budget ([YNAB](https://youneedabudget.com/)). I've been using it since then and I'm very happy with it, here's why.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "I'm starting a blog"
|
|||
tags: ['blog', 'introduction']
|
||||
date: 2020-05-12T10:39:41.193174+00:00
|
||||
aliases: ["/im-starting-a-blog"]
|
||||
canonicalURL: "/im-starting-a-blog"
|
||||
---
|
||||
I came up across two posts recently that got me thinking:
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Lighten your Python image with Docker multi-stage builds"
|
|||
tags: ['Docker', 'multi-stage builds', 'poetry', 'python']
|
||||
date: 2021-01-02T10:37:29.021773+00:00
|
||||
aliases: ["/lighten-your-python-image-docker-multi-stage-builds"]
|
||||
canonicalURL: "/lighten-your-python-image-docker-multi-stage-builds"
|
||||
---
|
||||
In previous posts we talked about [poetry]({{< ref "poetry-python-dependencies-management" >}}) and [Docker images layers]({{< ref "docker-images-layers-and-cache" >}}) and I promised I would write about Docker multi-stage builds, so here we go!
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Migration complete"
|
|||
tags: ['blog', 'self-hosting']
|
||||
date: 2020-11-11T07:38:24.261889+00:00
|
||||
aliases: ["/migration-complete"]
|
||||
canonicalURL: "/migration-complete"
|
||||
---
|
||||
I just moved this blog to my self-hosted server at home. Hopefully nothing is broken but if you see something strange or missing, please [contact me]({{< ref "/about" >}})! 😃
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "My Setup at Home (12/2021 update)"
|
|||
tags: ['devices', 'self-hosting']
|
||||
date: 2021-12-28T09:33:00.205309+00:00
|
||||
aliases: ["/my-setup-at-home-12-2021-update"]
|
||||
canonicalURL: "/my-setup-at-home-12-2021-update"
|
||||
summary: Here's the tech I use at home and what for.
|
||||
---
|
||||
In this post, I'm presenting my updated setup at home. The [previous version]({{< ref "my-setup-at-home/" >}}) was from May 2020.
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "My Setup at Home"
|
|||
tags: ['self-hosting']
|
||||
date: 2020-05-13T11:32:31+00:00
|
||||
aliases: ["/my-setup-at-home"]
|
||||
canonicalURL: "/my-setup-at-home"
|
||||
---
|
||||
This post will serve as an introduction to others that will follow. I will try to remember to update this publication to add a reference to the new ones but I can't promise I won't forget. Meanwhile, feel free to use the tags at the end to scroll through related articles.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Optimize large Django migrations"
|
|||
tags: ['Django', 'ITSF', 'python']
|
||||
date: 2022-03-31T19:50:35.048724+00:00
|
||||
aliases: ["/optimize-large-django-migrations"]
|
||||
canonicalURL: "/optimize-large-django-migrations"
|
||||
summary: Sometimes more is less.
|
||||
description: Sometimes more is less.
|
||||
---
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Pi Hole"
|
|||
tags: ['DNS', 'Raspberry Pi', 'self-hosting']
|
||||
date: 2020-05-28T15:54:13+00:00
|
||||
aliases: ["/pi-hole"]
|
||||
canonicalURL: "/pi-hole"
|
||||
---
|
||||
{{< note class="info" title="👴 Old post" >}}
|
||||
I don't use Pi Hole anymore but this post should still be relevant. I've switched to [AdGuard](https://adguard.com/en/welcome.html). There is an easy to install Home Assistant addon available and it allows me to easily configure local-only DNS entries.
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "pip-tools for Python dependencies management"
|
|||
tags: ['dependencies', 'pip-tools', 'python']
|
||||
date: 2023-03-02T13:07:26.381756+00:00
|
||||
aliases: ["/pip-tools-for-python-dependencies-management"]
|
||||
canonicalURL: "/pip-tools-for-python-dependencies-management"
|
||||
description: "Here's how and why I use pip-tools for my side-projects."
|
||||
summary: "Here's how and why I use pip-tools for my side-projects."
|
||||
---
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Poetry for Python dependencies management"
|
|||
tags: ['ITSF', 'dependencies', 'poetry', 'python']
|
||||
date: 2020-12-30T20:44:05.549630+00:00
|
||||
aliases: ["/poetry-python-dependencies-management"]
|
||||
canonicalURL: "/poetry-python-dependencies-management"
|
||||
---
|
||||
At [ITSF](https://itsf.io), teams using the same languages/frameworks regularly meet to share experience and decide on common guidelines. With the Python teams, we recently decided to change our dependencies management system to something more robust because we were not satisfied with `pip` alone.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Raspberry Pi"
|
|||
tags: ['Raspberry Pi', 'backup', 'monitoring', 'self-hosting']
|
||||
date: 2020-05-16T14:43:38+00:00
|
||||
aliases: ["/raspberry-pi"]
|
||||
canonicalURL: "/raspberry-pi"
|
||||
---
|
||||
{{< note class="info" title="👴 Old post" >}}
|
||||
This post has grown old and I now don't use my Raspberry Pi like this anymore.
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Reduce your page load time with htmx in less than an hour"
|
|||
tags: ['Django', 'Javascript', 'frontend', 'programming', 'python']
|
||||
date: 2022-09-26T11:49:45.812120+00:00
|
||||
aliases: ["/reduce-your-page-load-time-with-htmx-in-less-than-an-hour"]
|
||||
canonicalURL: "/reduce-your-page-load-time-with-htmx-in-less-than-an-hour"
|
||||
summary: HTMX is a wonderful piece of technology for backend developers who don't want to write frontend code but still provide nice UX.
|
||||
---
|
||||
## Presentation
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Releasing my works into the public domain"
|
|||
tags: ['commons', 'free software', 'licensing']
|
||||
date: 2022-01-02T15:40:02.921181+00:00
|
||||
aliases: ["/releasing-my-works-into-the-public-domain"]
|
||||
canonicalURL: "/releasing-my-works-into-the-public-domain"
|
||||
summary: All my existing software projects and the articles in this blog have been released into the public domain.
|
||||
---
|
||||
## Context
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Replacing my Synology NAS with a self-built server"
|
|||
tags: ['FreeBSD', 'FreeNAS', 'NAS', 'TrueNAS', 'self-hosting', 'server']
|
||||
date: 2020-11-11T12:31:38.826817+00:00
|
||||
aliases: ["/replacing-my-synology-nas-with-a-self-built-server"]
|
||||
canonicalURL: "/replacing-my-synology-nas-with-a-self-built-server"
|
||||
---
|
||||
{{< note class="info" title="👴 Old post" >}}
|
||||
I don't use TrueNAS anymore but I still have this machine and I even upgraded the RAM to a more comfortable 56GB.
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Setup rtx with direnv for Python"
|
|||
tags: ['development', 'python', 'shell', 'virtualenv']
|
||||
date: 2023-02-28T23:58:39.540937+00:00
|
||||
aliases: ["/setup-rtx-with-direnv-for-python"]
|
||||
canonicalURL: "/setup-rtx-with-direnv-for-python"
|
||||
description: Improve startup time and simplify your PATH
|
||||
summary: Improve startup time and simplify your PATH
|
||||
---
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Sourcehut"
|
|||
tags: ['GitHub alternative', 'git', 'software forge']
|
||||
date: 2020-07-01T20:26:41+00:00
|
||||
aliases: ["/sourcehut"]
|
||||
canonicalURL: "/sourcehut"
|
||||
---
|
||||
{{< note class="info" title="🧓🏻 Old post" >}}
|
||||
This post is quite old now. Since then, I've moved my git repositories to a self-hosted [gitea](https://gitea.io/) instance and I cancelled my subscription. I still stand behind this post though. Sourcehut is a solid git forge and keeps improving.
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Synology NAS: Stream & Backup"
|
|||
tags: ['NAS', 'Plex', 'Raspberry Pi', 'Synology', 'backup', 'self-hosting', 'streaming', 'time machine']
|
||||
date: 2020-05-14T05:46:00+00:00
|
||||
aliases: ["/synology-nas-stream-and-backup"]
|
||||
canonicalURL: "/synology-nas-stream-and-backup"
|
||||
---
|
||||
This is the third issue of my #100DaysToOffload
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@
|
|||
title: "To a new adventure!"
|
||||
date: 2023-03-24T11:01:05.142656+00:00
|
||||
aliases: ["/to-a-new-adventure"]
|
||||
canonicalURL: "/to-a-new-adventure"
|
||||
tags: ['Career', 'OVH', 'OVHcloud', 'Work']
|
||||
|
||||
# Keep them short
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Upgraded writefreely - Quick Note"
|
|||
tags: []
|
||||
date: 2020-05-15T17:27:49.451539+00:00
|
||||
aliases: ["/upgraded-writefreely-quick-note"]
|
||||
canonicalURL: "/upgraded-writefreely-quick-note"
|
||||
---
|
||||
I upgraded [writefreely](https://github.com/writeas/writefreely) (the software that powers this blog) to get a fix making my #100DaysToOffload tags now clickable (they were previously not). So I'll stop adding the HundredDaysToOffload tag which was there as a temporary workaround.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "Using Your YubiKey With SSH and Achieving Multifactor Authentication"
|
|||
tags: ['ssh', 'yubikey']
|
||||
date: 2020-05-18T19:07:08+00:00
|
||||
aliases: ["/using-your-yubikey-with-ssh-and-achieving-multifactor-authentication"]
|
||||
canonicalURL: "/using-your-yubikey-with-ssh-and-achieving-multifactor-authentication"
|
||||
---
|
||||
In my [introductory article]({{< ref "im-starting-a-blog" >}}), I teased about using SSH with a YubiKey. Here's the post that expands on the idea.
|
||||
|
||||
|
|
|
@ -3,6 +3,7 @@ title: "YouTube on Apple TV"
|
|||
tags: ['apple tv', 'homepod', 'rant', 'youtube']
|
||||
date: 2020-05-15T11:22:59+00:00
|
||||
aliases: ["/youtube-on-apple-tv"]
|
||||
canonicalURL: "/youtube-on-apple-tv"
|
||||
---
|
||||
Today's post will mostly be me ranting about the YouTube app on Apple TV.<!--more--> See, I have a pretty typical Apple user setup for my TV (and as you'll maybe learn in future posts, it's not only for the TV). I have:
|
||||
|
||||
|
|
Loading…
Reference in a new issue