mirror of
https://github.com/Crocmagnon/blog.git
synced 2024-11-21 23:38:03 +01:00
Move to page bundles
This commit is contained in:
parent
451da2efd9
commit
52b910a61a
46 changed files with 148 additions and 112 deletions
3
.gitattributes
vendored
Normal file
3
.gitattributes
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
*.jpg filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
|
@ -2,37 +2,37 @@
|
||||||
title: "{{ replace .Name "-" " " | title }}"
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
date: {{ .Date }}
|
date: {{ .Date }}
|
||||||
draft: true
|
draft: true
|
||||||
# weight: 1
|
|
||||||
# aliases: ["/first"]
|
|
||||||
tags: []
|
tags: []
|
||||||
|
|
||||||
author: "Gabriel Augendre"
|
# weight: 1
|
||||||
|
# aliases: ["/first"]
|
||||||
|
# author: "Gabriel Augendre"
|
||||||
# author: ["Me", "You"] # multiple authors
|
# author: ["Me", "You"] # multiple authors
|
||||||
showToc: true
|
# showToc: true
|
||||||
TocOpen: false
|
# TocOpen: false
|
||||||
hidemeta: false
|
# hidemeta: false
|
||||||
comments: false
|
# comments: false
|
||||||
description: "Desc Text."
|
# description: "Desc Text."
|
||||||
canonicalURL: "https://canonical.url/to/page"
|
# canonicalURL: "https://canonical.url/to/page"
|
||||||
disableShare: false
|
# disableShare: false
|
||||||
disableHLJS: false
|
# disableHLJS: false
|
||||||
hideSummary: false
|
# hideSummary: false
|
||||||
searchHidden: true
|
# searchHidden: true
|
||||||
ShowReadingTime: true
|
# ShowReadingTime: true
|
||||||
ShowBreadCrumbs: true
|
# ShowBreadCrumbs: true
|
||||||
ShowPostNavLinks: true
|
# ShowPostNavLinks: true
|
||||||
ShowWordCount: true
|
# ShowWordCount: true
|
||||||
ShowRssButtonInSectionTermList: true
|
# ShowRssButtonInSectionTermList: true
|
||||||
UseHugoToc: true
|
# UseHugoToc: true
|
||||||
cover:
|
# cover:
|
||||||
image: "<image path/url>" # image path/url
|
# image: "<image path/url>" # image path/url
|
||||||
alt: "<alt text>" # alt text
|
# alt: "<alt text>" # alt text
|
||||||
caption: "<text>" # display caption under cover
|
# caption: "<text>" # display caption under cover
|
||||||
relative: false # when using page bundles set this to true
|
# relative: false # when using page bundles set this to true
|
||||||
hidden: true # only hide on current single page
|
# hidden: true # only hide on current single page
|
||||||
editPost:
|
# editPost:
|
||||||
URL: "https://github.com/<path_to_repo>/content"
|
# URL: "https://github.com/<path_to_repo>/content"
|
||||||
Text: "Suggest Changes" # edit text
|
# Text: "Suggest Changes" # edit text
|
||||||
appendFilePath: true # to append file path to Edit link
|
# appendFilePath: true # to append file path to Edit link
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
52
config.yaml
52
config.yaml
|
@ -18,27 +18,28 @@ params:
|
||||||
env: production # to enable google analytics, opengraph, twitter-cards and schema.
|
env: production # to enable google analytics, opengraph, twitter-cards and schema.
|
||||||
title: "Gab's Notes"
|
title: "Gab's Notes"
|
||||||
description: "My take on tech-related subjects (but not only)."
|
description: "My take on tech-related subjects (but not only)."
|
||||||
keywords: [blog, tech, golang, python, self-hosting]
|
keywords: [blog, tech, docker, golang, python, self-hosting]
|
||||||
author: "Gabriel Augendre"
|
author: "Gabriel Augendre"
|
||||||
# author: ["Me", "You"] # multiple authors
|
# author: ["Me", "You"] # multiple authors
|
||||||
images: ["<link or path of image for opengraph, twitter-cards>"]
|
#images: ["<link or path of image for opengraph, twitter-cards>"]
|
||||||
DateFormat: "2006-01-02"
|
DateFormat: "2006-01-02"
|
||||||
defaultTheme: auto # dark, light
|
defaultTheme: auto # dark, light
|
||||||
disableThemeToggle: false
|
disableThemeToggle: false
|
||||||
|
|
||||||
ShowReadingTime: true
|
ShowReadingTime: true
|
||||||
ShowShareButtons: true
|
ShowShareButtons: false
|
||||||
ShowPostNavLinks: true
|
ShowPostNavLinks: false
|
||||||
ShowBreadCrumbs: true
|
ShowBreadCrumbs: true
|
||||||
ShowCodeCopyButtons: true
|
ShowCodeCopyButtons: true
|
||||||
ShowWordCount: true
|
ShowWordCount: true
|
||||||
ShowRssButtonInSectionTermList: true
|
ShowRssButtonInSectionTermList: true
|
||||||
UseHugoToc: true
|
UseHugoToc: true
|
||||||
disableSpecial1stPost: false
|
disableSpecial1stPost: false
|
||||||
disableScrollToTop: false
|
disableScrollToTop: true
|
||||||
comments: false
|
comments: false
|
||||||
hidemeta: false
|
hidemeta: false
|
||||||
hideSummary: false
|
hideSummary: false
|
||||||
|
hideFooter: true
|
||||||
showtoc: false
|
showtoc: false
|
||||||
tocopen: false
|
tocopen: false
|
||||||
|
|
||||||
|
@ -56,31 +57,21 @@ params:
|
||||||
icon: /apple-touch-icon.png
|
icon: /apple-touch-icon.png
|
||||||
iconHeight: 35
|
iconHeight: 35
|
||||||
|
|
||||||
# profile-mode
|
|
||||||
profileMode:
|
|
||||||
enabled: false # needs to be explicitly set
|
|
||||||
title: ExampleSite
|
|
||||||
subtitle: "This is subtitle"
|
|
||||||
imageUrl: "<img location>"
|
|
||||||
imageWidth: 120
|
|
||||||
imageHeight: 120
|
|
||||||
imageTitle: my image
|
|
||||||
buttons:
|
|
||||||
- name: Posts
|
|
||||||
url: posts
|
|
||||||
- name: Tags
|
|
||||||
url: tags
|
|
||||||
|
|
||||||
# home-info mode
|
# home-info mode
|
||||||
homeInfoParams:
|
homeInfoParams:
|
||||||
Title: "Hi there \U0001F44B"
|
Title: "Gab’s Notes"
|
||||||
Content: Welcome to my blog
|
Content: |-
|
||||||
|
My take on tech related subjects (but not only)
|
||||||
|
|
||||||
socialIcons:
|
socialIcons:
|
||||||
- name: stackoverflow
|
- name: email
|
||||||
url: "https://stackoverflow.com/users/2758732/gabriel"
|
url: "mailto:ga-blog@augendre.info"
|
||||||
- name: github
|
- name: github
|
||||||
url: "https://github.com/Crocmagnon"
|
url: "https://github.com/Crocmagnon"
|
||||||
|
- name: cv
|
||||||
|
url: "https://cv-gabriel.augendre.info"
|
||||||
|
- name: stackoverflow
|
||||||
|
url: "https://stackoverflow.com/users/2758732/gabriel"
|
||||||
- name: mastodon
|
- name: mastodon
|
||||||
url: "https://fosstodon.org/@Crocmagnon"
|
url: "https://fosstodon.org/@Crocmagnon"
|
||||||
|
|
||||||
|
@ -106,10 +97,18 @@ params:
|
||||||
keys: ["title", "permalink", "summary", "content"]
|
keys: ["title", "permalink", "summary", "content"]
|
||||||
menu:
|
menu:
|
||||||
main:
|
main:
|
||||||
|
- identifier: about
|
||||||
|
name: about
|
||||||
|
url: /about/
|
||||||
|
weight: 10
|
||||||
- identifier: tags
|
- identifier: tags
|
||||||
name: tags
|
name: tags
|
||||||
url: /tags/
|
url: /tags/
|
||||||
weight: 20
|
weight: 20
|
||||||
|
- identifier: search
|
||||||
|
name: search
|
||||||
|
url: /search/
|
||||||
|
weight: 30
|
||||||
# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
|
# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma
|
||||||
pygmentsUseClasses: true
|
pygmentsUseClasses: true
|
||||||
markup:
|
markup:
|
||||||
|
@ -121,4 +120,9 @@ markup:
|
||||||
# lineNos: true
|
# lineNos: true
|
||||||
# style: monokai
|
# style: monokai
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
home:
|
||||||
|
- HTML
|
||||||
|
- RSS
|
||||||
|
- JSON
|
||||||
|
|
||||||
|
|
27
content/about.md
Normal file
27
content/about.md
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
---
|
||||||
|
title: About me
|
||||||
|
ShowReadingTime: false
|
||||||
|
ShowBreadCrumbs: false
|
||||||
|
ShowPostNavLinks: true
|
||||||
|
ShowWordCount: false
|
||||||
|
---
|
||||||
|
|
||||||
|
I'm Gabriel, a Go and Python software developer at [OVHcloud](https://www.ovhcloud.com/) (Lyon, France) and [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software) enthusiast.
|
||||||
|
|
||||||
|
[![A picture of Gabriel Augendre](/attachments/39/processed/)](/attachments/40/original/)
|
||||||
|
[![His usual avatar for online profiles, the dwarf from a medieval fantasy audio story named "Le Donjon de Naheulbeuk" (French)](/attachments/41/processed/)](/attachments/41/original/)
|
||||||
|
{: .profile }
|
||||||
|
|
||||||
|
## Where to find me {#contact}
|
||||||
|
|
||||||
|
| Code | Contact |
|
||||||
|
|-----------------------------------------------|--------------------------------------------------------------------|
|
||||||
|
| [Gitea](https://git.augendre.info/gaugendre) | <a rel="me" href="https://fosstodon.org/@Crocmagnon">Mastodon</a> |
|
||||||
|
| [GitHub](https://github.com/Crocmagnon) | <a href="mailto:ga-contact@augendre.info">Email</a> |
|
||||||
|
| [GitLab](https://gitlab.com/gaugendre) | |
|
||||||
|
|
||||||
|
My resume is available as [a pdf](https://cv-gabriel.augendre.info) (in French) if you want to take a look.
|
||||||
|
|
||||||
|
## Analytics
|
||||||
|
This website uses GoatCounter, a privacy respecting analytics tool. They are [publicly available](https://gc.gabnotes.org).
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "About me"
|
title: "About me"
|
||||||
tags: ['Gabriel Augendre', 'blog', 'homepage']
|
tags: ['Gabriel Augendre', 'blog', 'homepage']
|
||||||
date: 2020-05-12T11:29:02+00:00
|
date: 2020-05-12T11:29:02+00:00
|
||||||
|
aliases: ["/about-me"]
|
||||||
---
|
---
|
||||||
I'm Gabriel, a Go and Python software developer at [OVHcloud](https://www.ovhcloud.com/) (Lyon, France) and [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software) enthusiast.
|
I'm Gabriel, a Go and Python software developer at [OVHcloud](https://www.ovhcloud.com/) (Lyon, France) and [FOSS](https://en.wikipedia.org/wiki/Free_and_open-source_software) enthusiast.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Adding Time to my Blog's Statistics"
|
title: "Adding Time to my Blog's Statistics"
|
||||||
tags: ['analytics', 'blog', 'self-hosting']
|
tags: ['analytics', 'blog', 'self-hosting']
|
||||||
date: 2020-06-15T16:27:27+00:00
|
date: 2020-06-15T16:27:27+00:00
|
||||||
|
aliases: ["/adding-time-to-my-blogs-statistics"]
|
||||||
---
|
---
|
||||||
[![Two Grafana graphs: one to view the raw view counts evolving, the other to display the difference between two data points](/attachments/9/processed/)](/attachments/9/original/)
|
[![Two Grafana graphs: one to view the raw view counts evolving, the other to display the difference between two data points](/attachments/9/processed/)](/attachments/9/original/)
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Automate bug findings with git"
|
title: "Automate bug findings with git"
|
||||||
tags: ['bisect', 'bugs', 'git']
|
tags: ['bisect', 'bugs', 'git']
|
||||||
date: 2021-12-22T22:08:07.191735+00:00
|
date: 2021-12-22T22:08:07.191735+00:00
|
||||||
|
aliases: ["/automate-bug-findings-with-git"]
|
||||||
---
|
---
|
||||||
## 🔍 Git bisect
|
## 🔍 Git bisect
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Bitwarden and Password Managers"
|
title: "Bitwarden and Password Managers"
|
||||||
tags: ['free software', 'passwords', 'passwords manager']
|
tags: ['free software', 'passwords', 'passwords manager']
|
||||||
date: 2020-06-05T15:10:47+00:00
|
date: 2020-06-05T15:10:47+00:00
|
||||||
|
aliases: ["/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.
|
[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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Blog platform update - Quick note"
|
title: "Blog platform update - Quick note"
|
||||||
tags: ['blog', 'self-hosting']
|
tags: ['blog', 'self-hosting']
|
||||||
date: 2020-08-17T15:45:55+00:00
|
date: 2020-08-17T15:45:55+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Blog Statistics, Part 2"
|
title: "Blog Statistics, Part 2"
|
||||||
tags: ['analytics', 'blog', 'self-hosting']
|
tags: ['analytics', 'blog', 'self-hosting']
|
||||||
date: 2020-06-26T15:34:46+00:00
|
date: 2020-06-26T15:34:46+00:00
|
||||||
|
aliases: ["/blog-statistics-part-2"]
|
||||||
---
|
---
|
||||||
In a [recent post](/adding-time-to-my-blogs-statistics), I talked about how I tracked my posts views over time using Grafana and InfluxDB.
|
In a [recent post](/adding-time-to-my-blogs-statistics), I talked about how I tracked my posts views over time using Grafana and InfluxDB.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Certificates chain correct order"
|
title: "Certificates chain correct order"
|
||||||
tags: ['Certificates', 'OpenSSL', 'Quick Note', 'TLS']
|
tags: ['Certificates', 'OpenSSL', 'Quick Note', 'TLS']
|
||||||
date: 2022-08-04T09:35:07.590872+00:00
|
date: 2022-08-04T09:35:07.590872+00:00
|
||||||
|
aliases: ["/certificates-chain-correct-order"]
|
||||||
---
|
---
|
||||||
Making honor to the name of this blog, here's a very quick note for my future self.
|
Making honor to the name of this blog, here's a very quick note for my future self.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Chowning files can take a lot of space in a Docker image"
|
title: "Chowning files can take a lot of space in a Docker image"
|
||||||
tags: ['Docker', 'ITSF', 'chown', 'history', 'layer', 'multi-stage builds']
|
tags: ['Docker', 'ITSF', 'chown', 'history', 'layer', 'multi-stage builds']
|
||||||
date: 2021-03-02T16:21:06.172437+00:00
|
date: 2021-03-02T16:21:06.172437+00:00
|
||||||
|
aliases: ["/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.
|
Today I learned that recursively changing the owner of a directory tree in a Dockerfile can result in some serious increase in image size.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Cleantoots - Clean Your Toot History"
|
title: "Cleantoots - Clean Your Toot History"
|
||||||
tags: ['cleanup', 'history', 'mastodon', 'toots']
|
tags: ['cleanup', 'history', 'mastodon', 'toots']
|
||||||
date: 2020-05-25T17:08:28+00:00
|
date: 2020-05-25T17:08:28+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "CodinGame Spring Challenge 2020 - Pacman"
|
title: "CodinGame Spring Challenge 2020 - Pacman"
|
||||||
tags: ['challenge', 'codingame', 'programming']
|
tags: ['challenge', 'codingame', 'programming']
|
||||||
date: 2020-05-21T19:13:49+00:00
|
date: 2020-05-21T19:13:49+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Create a CSR with SAN"
|
title: "Create a CSR with SAN"
|
||||||
tags: ['Certificates', 'OpenSSL', 'Quick Note', 'TLS']
|
tags: ['Certificates', 'OpenSSL', 'Quick Note', 'TLS']
|
||||||
date: 2022-12-20T13:56:56.467033+00:00
|
date: 2022-12-20T13:56:56.467033+00:00
|
||||||
|
aliases: ["/create-a-csr"]
|
||||||
---
|
---
|
||||||
Another quick note today: how to generate a CSR for a basic certificate supported by modern browsers (includes `Subject Alternative Name`).
|
Another quick note today: how to generate a CSR for a basic certificate supported by modern browsers (includes `Subject Alternative Name`).
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Designing and 3D Printing a Wall Mount for my ISP Modem"
|
title: "Designing and 3D Printing a Wall Mount for my ISP Modem"
|
||||||
tags: ['3D printing', 'CAD', 'FreeCAD', 'Freebox', 'wall mounting']
|
tags: ['3D printing', 'CAD', 'FreeCAD', 'Freebox', 'wall mounting']
|
||||||
date: 2020-08-13T21:38:37+00:00
|
date: 2020-08-13T21:38:37+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Docker images layers and cache"
|
title: "Docker images layers and cache"
|
||||||
tags: ['Docker', 'cache', 'layer']
|
tags: ['Docker', 'cache', 'layer']
|
||||||
date: 2020-12-28T07:55:41.393608+00:00
|
date: 2020-12-28T07:55:41.393608+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Demo post"
|
title: "Demo post"
|
||||||
tags: []
|
tags: []
|
||||||
date: 2021-01-03T18:08:52.170212+00:00
|
date: 2021-01-03T18:08:52.170212+00:00
|
||||||
|
aliases: ["/example-should-never-be-published"]
|
||||||
---
|
---
|
||||||
This is a paragraph and should look like it. It is probably left align, not justified. After all, we're on the web not in a book.
|
This is a paragraph and should look like it. It is probably left align, not justified. After all, we're on the web not in a book.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Chat Sceptique (French YouTube Channel)"
|
title: "Chat Sceptique (French YouTube Channel)"
|
||||||
tags: []
|
tags: []
|
||||||
date: 2020-06-21T10:18:08.406375+00:00
|
date: 2020-06-21T10:18:08.406375+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
---
|
|
||||||
title: "Hello Hugo"
|
|
||||||
date: 2023-05-12T10:14:52+02:00
|
|
||||||
draft: false
|
|
||||||
# weight: 1
|
|
||||||
# aliases: ["/first"]
|
|
||||||
tags: ["initial", "hello"]
|
|
||||||
|
|
||||||
author: "Gabriel Augendre"
|
|
||||||
# author: ["Me", "You"] # multiple authors
|
|
||||||
showToc: true
|
|
||||||
TocOpen: false
|
|
||||||
hidemeta: false
|
|
||||||
comments: false
|
|
||||||
description: "Desc Text."
|
|
||||||
canonicalURL: "https://canonical.url/to/page"
|
|
||||||
disableShare: false
|
|
||||||
disableHLJS: false
|
|
||||||
hideSummary: false
|
|
||||||
searchHidden: true
|
|
||||||
ShowReadingTime: true
|
|
||||||
ShowBreadCrumbs: true
|
|
||||||
ShowPostNavLinks: true
|
|
||||||
ShowWordCount: true
|
|
||||||
ShowRssButtonInSectionTermList: true
|
|
||||||
UseHugoToc: true
|
|
||||||
cover:
|
|
||||||
image: "<image path/url>" # image path/url
|
|
||||||
alt: "<alt text>" # alt text
|
|
||||||
caption: "<text>" # display caption under cover
|
|
||||||
relative: false # when using page bundles set this to true
|
|
||||||
hidden: true # only hide on current single page
|
|
||||||
appendFilePath: true # to append file path to Edit link
|
|
||||||
---
|
|
||||||
|
|
||||||
## Hello world
|
|
||||||
|
|
||||||
This is an introduction post using **hugo**, a SSG written in *golang*.
|
|
||||||
|
|
||||||
```python
|
|
||||||
def hello(name: str = "World") -> str:
|
|
||||||
return f"Hello, {name}"
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
print(hello("Gabriel"))
|
|
||||||
```
|
|
||||||
|
|
||||||
```go
|
|
||||||
package main
|
|
||||||
|
|
||||||
import "fmt"
|
|
||||||
|
|
||||||
func main() {
|
|
||||||
fmt.Println("Hello, world")
|
|
||||||
}
|
|
||||||
```
|
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "How to subscribe"
|
title: "How to subscribe"
|
||||||
tags: []
|
tags: []
|
||||||
date: 2020-05-14T10:18:31+00:00
|
date: 2020-05-14T10:18:31+00:00
|
||||||
|
aliases: ["/how-to-subscribe"]
|
||||||
---
|
---
|
||||||
This blog offers an [RSS](https://en.wikipedia.org/wiki/RSS) feed.
|
This blog offers an [RSS](https://en.wikipedia.org/wiki/RSS) feed.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "How to use pipx with pyenv"
|
title: "How to use pipx with pyenv"
|
||||||
tags: ['pipx', 'pyenv', 'python']
|
tags: ['pipx', 'pyenv', 'python']
|
||||||
date: 2020-12-30T08:40:58.362871+00:00
|
date: 2020-12-30T08:40:58.362871+00:00
|
||||||
|
aliases: ["/how-use-pipx-pyenv"]
|
||||||
---
|
---
|
||||||
## 👨🏻💻 TL;DR
|
## 👨🏻💻 TL;DR
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "I Needed a Budget, With Four Rules"
|
title: "I Needed a Budget, With Four Rules"
|
||||||
tags: ['YNAB', 'budgeting', 'four rules', 'personal finances']
|
tags: ['YNAB', 'budgeting', 'four rules', 'personal finances']
|
||||||
date: 2020-06-25T16:05:51+00:00
|
date: 2020-06-25T16:05:51+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "I'm starting a blog"
|
title: "I'm starting a blog"
|
||||||
tags: ['blog', 'introduction']
|
tags: ['blog', 'introduction']
|
||||||
date: 2020-05-12T10:39:41.193174+00:00
|
date: 2020-05-12T10:39:41.193174+00:00
|
||||||
|
aliases: ["/im-starting-a-blog"]
|
||||||
---
|
---
|
||||||
I came up across two posts recently that got me thinking:
|
I came up across two posts recently that got me thinking:
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Lighten your Python image with Docker multi-stage builds"
|
title: "Lighten your Python image with Docker multi-stage builds"
|
||||||
tags: ['Docker', 'multi-stage builds', 'poetry', 'python']
|
tags: ['Docker', 'multi-stage builds', 'poetry', 'python']
|
||||||
date: 2021-01-02T10:37:29.021773+00:00
|
date: 2021-01-02T10:37:29.021773+00:00
|
||||||
|
aliases: ["/lighten-your-python-image-docker-multi-stage-builds"]
|
||||||
---
|
---
|
||||||
In previous posts we talked about [poetry][poetry] and [Docker images layers][docker-cache] and I promised I would write about Docker multi-stage builds, so here we go!
|
In previous posts we talked about [poetry][poetry] and [Docker images layers][docker-cache] and I promised I would write about Docker multi-stage builds, so here we go!
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Migration complete"
|
title: "Migration complete"
|
||||||
tags: ['blog', 'self-hosting']
|
tags: ['blog', 'self-hosting']
|
||||||
date: 2020-11-11T07:38:24.261889+00:00
|
date: 2020-11-11T07:38:24.261889+00:00
|
||||||
|
aliases: ["/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](/about-me/)! 😃
|
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](/about-me/)! 😃
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "My Setup at Home (12/2021 update)"
|
title: "My Setup at Home (12/2021 update)"
|
||||||
tags: ['devices', 'self-hosting']
|
tags: ['devices', 'self-hosting']
|
||||||
date: 2021-12-28T09:33:00.205309+00:00
|
date: 2021-12-28T09:33:00.205309+00:00
|
||||||
|
aliases: ["/my-setup-at-home-12-2021-update"]
|
||||||
---
|
---
|
||||||
In this post, I'm presenting my updated setup at home. The [previous version](/my-setup-at-home/) was from May 2020.
|
In this post, I'm presenting my updated setup at home. The [previous version](/my-setup-at-home/) was from May 2020.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "My Setup at Home"
|
title: "My Setup at Home"
|
||||||
tags: ['self-hosting']
|
tags: ['self-hosting']
|
||||||
date: 2020-05-13T11:32:31+00:00
|
date: 2020-05-13T11:32:31+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Optimize large Django migrations"
|
title: "Optimize large Django migrations"
|
||||||
tags: ['Django', 'ITSF', 'python']
|
tags: ['Django', 'ITSF', 'python']
|
||||||
date: 2022-03-31T19:50:35.048724+00:00
|
date: 2022-03-31T19:50:35.048724+00:00
|
||||||
|
aliases: ["/optimize-large-django-migrations"]
|
||||||
---
|
---
|
||||||
## 📖 Backstory
|
## 📖 Backstory
|
||||||
Today, while working on a project at [ITSF](https://itsf.io), I needed to add a new field to an existing model in a Django project. This field had to initially be computed from other values in the same model, so I couldn't use a constant default value for all the existing objects.
|
Today, while working on a project at [ITSF](https://itsf.io), I needed to add a new field to an existing model in a Django project. This field had to initially be computed from other values in the same model, so I couldn't use a constant default value for all the existing objects.
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Pi Hole"
|
title: "Pi Hole"
|
||||||
tags: ['DNS', 'Raspberry Pi', 'self-hosting']
|
tags: ['DNS', 'Raspberry Pi', 'self-hosting']
|
||||||
date: 2020-05-28T15:54:13+00:00
|
date: 2020-05-28T15:54:13+00:00
|
||||||
|
aliases: ["/pi-hole"]
|
||||||
---
|
---
|
||||||
!!! info "👴 Old post"
|
!!! info "👴 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.
|
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.
|
|
@ -2,6 +2,7 @@
|
||||||
title: "pip-tools for Python dependencies management"
|
title: "pip-tools for Python dependencies management"
|
||||||
tags: ['dependencies', 'pip-tools', 'python']
|
tags: ['dependencies', 'pip-tools', 'python']
|
||||||
date: 2023-03-02T13:07:26.381756+00:00
|
date: 2023-03-02T13:07:26.381756+00:00
|
||||||
|
aliases: ["/pip-tools-for-python-dependencies-management"]
|
||||||
---
|
---
|
||||||
## 📖 Story time
|
## 📖 Story time
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Poetry for Python dependencies management"
|
title: "Poetry for Python dependencies management"
|
||||||
tags: ['ITSF', 'dependencies', 'poetry', 'python']
|
tags: ['ITSF', 'dependencies', 'poetry', 'python']
|
||||||
date: 2020-12-30T20:44:05.549630+00:00
|
date: 2020-12-30T20:44:05.549630+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Raspberry Pi"
|
title: "Raspberry Pi"
|
||||||
tags: ['Raspberry Pi', 'backup', 'monitoring', 'self-hosting']
|
tags: ['Raspberry Pi', 'backup', 'monitoring', 'self-hosting']
|
||||||
date: 2020-05-16T14:43:38+00:00
|
date: 2020-05-16T14:43:38+00:00
|
||||||
|
aliases: ["/raspberry-pi"]
|
||||||
---
|
---
|
||||||
!!! info "👴 Old post"
|
!!! info "👴 Old post"
|
||||||
This post has grown old and I now don't use my Raspberry Pi like this anymore.
|
This post has grown old and I now don't use my Raspberry Pi like this anymore.
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Reduce your page load time with htmx in less than an hour"
|
title: "Reduce your page load time with htmx in less than an hour"
|
||||||
tags: ['Django', 'Javascript', 'frontend', 'programming', 'python']
|
tags: ['Django', 'Javascript', 'frontend', 'programming', 'python']
|
||||||
date: 2022-09-26T11:49:45.812120+00:00
|
date: 2022-09-26T11:49:45.812120+00:00
|
||||||
|
aliases: ["/reduce-your-page-load-time-with-htmx-in-less-than-an-hour"]
|
||||||
---
|
---
|
||||||
## Presentation
|
## Presentation
|
||||||
During DjangoCon EU 2022, a talk reminded me of [htmx](https://htmx.org/). As the authors put it:
|
During DjangoCon EU 2022, a talk reminded me of [htmx](https://htmx.org/). As the authors put it:
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Releasing my works into the public domain"
|
title: "Releasing my works into the public domain"
|
||||||
tags: ['commons', 'free software', 'licensing']
|
tags: ['commons', 'free software', 'licensing']
|
||||||
date: 2022-01-02T15:40:02.921181+00:00
|
date: 2022-01-02T15:40:02.921181+00:00
|
||||||
|
aliases: ["/releasing-my-works-into-the-public-domain"]
|
||||||
---
|
---
|
||||||
## Context
|
## Context
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Replacing my Synology NAS with a self-built server"
|
title: "Replacing my Synology NAS with a self-built server"
|
||||||
tags: ['FreeBSD', 'FreeNAS', 'NAS', 'TrueNAS', 'self-hosting', 'server']
|
tags: ['FreeBSD', 'FreeNAS', 'NAS', 'TrueNAS', 'self-hosting', 'server']
|
||||||
date: 2020-11-11T12:31:38.826817+00:00
|
date: 2020-11-11T12:31:38.826817+00:00
|
||||||
|
aliases: ["/replacing-my-synology-nas-with-a-self-built-server"]
|
||||||
---
|
---
|
||||||
!!! info "👴 Old post"
|
!!! info "👴 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.
|
I don't use TrueNAS anymore but I still have this machine and I even upgraded the RAM to a more comfortable 56GB.
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Setup rtx with direnv for Python"
|
title: "Setup rtx with direnv for Python"
|
||||||
tags: ['development', 'python', 'shell', 'virtualenv']
|
tags: ['development', 'python', 'shell', 'virtualenv']
|
||||||
date: 2023-02-28T23:58:39.540937+00:00
|
date: 2023-02-28T23:58:39.540937+00:00
|
||||||
|
aliases: ["/setup-rtx-with-direnv-for-python"]
|
||||||
---
|
---
|
||||||
## 👨🏻💻 TL;DR
|
## 👨🏻💻 TL;DR
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Sourcehut"
|
title: "Sourcehut"
|
||||||
tags: ['GitHub alternative', 'git', 'software forge']
|
tags: ['GitHub alternative', 'git', 'software forge']
|
||||||
date: 2020-07-01T20:26:41+00:00
|
date: 2020-07-01T20:26:41+00:00
|
||||||
|
aliases: ["/sourcehut"]
|
||||||
---
|
---
|
||||||
!!! Info "🧓🏻 Old post"
|
!!! Info "🧓🏻 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.
|
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.
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Synology NAS: Stream & Backup"
|
title: "Synology NAS: Stream & Backup"
|
||||||
tags: ['NAS', 'Plex', 'Raspberry Pi', 'Synology', 'backup', 'self-hosting', 'streaming', 'time machine']
|
tags: ['NAS', 'Plex', 'Raspberry Pi', 'Synology', 'backup', 'self-hosting', 'streaming', 'time machine']
|
||||||
date: 2020-05-14T05:46:00+00:00
|
date: 2020-05-14T05:46:00+00:00
|
||||||
|
aliases: ["/synology-nas-stream-and-backup"]
|
||||||
---
|
---
|
||||||
This is the third issue of my #100DaysToOffload
|
This is the third issue of my #100DaysToOffload
|
||||||
|
|
|
@ -2,13 +2,13 @@
|
||||||
title: "To a new adventure!"
|
title: "To a new adventure!"
|
||||||
tags: ['Career', 'OVH', 'OVHcloud', 'Work']
|
tags: ['Career', 'OVH', 'OVHcloud', 'Work']
|
||||||
date: 2023-03-24T11:01:05.142656+00:00
|
date: 2023-03-24T11:01:05.142656+00:00
|
||||||
|
aliases: ["/to-a-new-adventure"]
|
||||||
---
|
---
|
||||||
After leaving ITSF in January, I spent February at Gatewatcher. The company is in Paris so the position was fully remote, with 2-3 days per month on site. Unfortunately and despite my hopes, it didn't work for me.
|
After leaving ITSF in January, I spent February at Gatewatcher. The company is in Paris so the position was fully remote, with 2-3 days per month on site. Unfortunately and despite my hopes, it didn't work for me.
|
||||||
|
|
||||||
After a month of job hunting, I'm happy to report that I'll be joining [OVHcloud](https://ovhcloud.com) in April! They have offices in Lyon so the remoteness shouldn't be an issue, though the people I'll be teaming up with are distributed in France and Canada. I've been hired as a software developer & site reliability engineer. I'll be mostly developing in Go and Python.
|
After a month of job hunting, I'm happy to report that I'll be joining [OVHcloud](https://ovhcloud.com) in April! They have offices in Lyon so the remoteness shouldn't be an issue, though the people I'll be teaming up with are distributed in France and Canada. I've been hired as a software developer & site reliability engineer. I'll be mostly developing in Go and Python.
|
||||||
|
|
||||||
![OVHcloud logo on a wall, slightly blurry](/attachments/45/processed/)
|
![OVHcloud logo on a wall, slightly blurry](ovh_wall.jpg)
|
||||||
{: .illustration }
|
|
||||||
|
|
||||||
During this month I met several other organizations. All of them had interesting projects to share and it was very rewarding to have the opportunity to discuss with them.
|
During this month I met several other organizations. All of them had interesting projects to share and it was very rewarding to have the opportunity to discuss with them.
|
||||||
|
|
BIN
content/posts/to-a-new-adventure/ovh_wall.jpg
(Stored with Git LFS)
Normal file
BIN
content/posts/to-a-new-adventure/ovh_wall.jpg
(Stored with Git LFS)
Normal file
Binary file not shown.
|
@ -2,6 +2,7 @@
|
||||||
title: "Upgraded writefreely - Quick Note"
|
title: "Upgraded writefreely - Quick Note"
|
||||||
tags: []
|
tags: []
|
||||||
date: 2020-05-15T17:27:49.451539+00:00
|
date: 2020-05-15T17:27:49.451539+00:00
|
||||||
|
aliases: ["/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.
|
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.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "Using Your YubiKey With SSH and Achieving Multifactor Authentication"
|
title: "Using Your YubiKey With SSH and Achieving Multifactor Authentication"
|
||||||
tags: ['ssh', 'yubikey']
|
tags: ['ssh', 'yubikey']
|
||||||
date: 2020-05-18T19:07:08+00:00
|
date: 2020-05-18T19:07:08+00:00
|
||||||
|
aliases: ["/using-your-yubikey-with-ssh-and-achieving-multifactor-authentication"]
|
||||||
---
|
---
|
||||||
In my [introductory article](/im-starting-a-blog), I teased about using SSH with a YubiKey. Here's the post that expands on the idea.
|
In my [introductory article](/im-starting-a-blog), I teased about using SSH with a YubiKey. Here's the post that expands on the idea.
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
title: "YouTube on Apple TV"
|
title: "YouTube on Apple TV"
|
||||||
tags: ['apple tv', 'homepod', 'rant', 'youtube']
|
tags: ['apple tv', 'homepod', 'rant', 'youtube']
|
||||||
date: 2020-05-15T11:22:59+00:00
|
date: 2020-05-15T11:22:59+00:00
|
||||||
|
aliases: ["/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:
|
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:
|
||||||
|
|
9
content/search.md
Normal file
9
content/search.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
title: "Search" # in any language you want
|
||||||
|
layout: "search" # is necessary
|
||||||
|
# url: "/archive"
|
||||||
|
# description: "Description for Search"
|
||||||
|
summary: "search"
|
||||||
|
placeholder: "placeholder text in search input box"
|
||||||
|
---
|
||||||
|
|
10
layouts/partials/extend_footer.html
Normal file
10
layouts/partials/extend_footer.html
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
<footer class="footer">
|
||||||
|
Thoughts written here are my own and don't reflect any of my past, present or future employer's position.<br>
|
||||||
|
Articles are released into the public domain through the <a href="https://creativecommons.org/publicdomain/zero/1.0/?ref=chooser-v1">CC0 1.0</a>. Code blocks are released into the public domain through <a href="https://git.augendre.info/gaugendre/blog/src/branch/master/LICENSE">The Unlicense</a>. I do appreciate being mentioned as the original author if you decide to reuse my works but the licenses don't enforce it.
|
||||||
|
<br>
|
||||||
|
<span>
|
||||||
|
Powered by
|
||||||
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
<a href="https://github.com/adityatelange/hugo-PaperMod/" rel="noopener" target="_blank">PaperMod</a>
|
||||||
|
</span>
|
||||||
|
</footer>
|
Loading…
Reference in a new issue