From e36220307a9791a1c7607d79e2effc06fb993423 Mon Sep 17 00:00:00 2001 From: Andrew Conlin Date: Sun, 6 Aug 2023 12:49:44 +0100 Subject: [PATCH 1/7] [06/08/23] removing github sites deployment on dev branch --- .github/workflows/jekyll.yml | 64 ------------------------------------ 1 file changed, 64 deletions(-) delete mode 100644 .github/workflows/jekyll.yml diff --git a/.github/workflows/jekyll.yml b/.github/workflows/jekyll.yml deleted file mode 100644 index 180e942..0000000 --- a/.github/workflows/jekyll.yml +++ /dev/null @@ -1,64 +0,0 @@ -# This workflow uses actions that are not certified by GitHub. -# They are provided by a third-party and are governed by -# separate terms of service, privacy policy, and support -# documentation. - -# Sample workflow for building and deploying a Jekyll site to GitHub Pages -name: Deploy Jekyll site to Pages - -on: - # Runs on pushes targeting the default branch - push: - branches: ["master"] - - # Allows you to run this workflow manually from the Actions tab - workflow_dispatch: - -# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages -permissions: - contents: read - pages: write - id-token: write - -# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued. -# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete. -concurrency: - group: "pages" - cancel-in-progress: false - -jobs: - # Build job - build: - runs-on: ubuntu-latest - steps: - - name: Checkout - uses: actions/checkout@v3 - - name: Setup Ruby - uses: ruby/setup-ruby@ee2113536afb7f793eed4ce60e8d3b26db912da4 # v1.127.0 - with: - ruby-version: '3.1' # Not needed with a .ruby-version file - bundler-cache: true # runs 'bundle install' and caches installed gems automatically - cache-version: 0 # Increment this number if you need to re-download cached gems - - name: Setup Pages - id: pages - uses: actions/configure-pages@v3 - - name: Build with Jekyll - # Outputs to the './_site' directory by default - run: bundle exec jekyll build --baseurl "${{ steps.pages.outputs.base_path }}" - env: - JEKYLL_ENV: production - - name: Upload artifact - # Automatically uploads an artifact from the './_site' directory by default - uses: actions/upload-pages-artifact@v1 - - # Deployment job - deploy: - environment: - name: github-pages - url: ${{ steps.deployment.outputs.page_url }} - runs-on: ubuntu-latest - needs: build - steps: - - name: Deploy to GitHub Pages - id: deployment - uses: actions/deploy-pages@v2 From ac0ca49f97670e79753481487555ed5a211be1cb Mon Sep 17 00:00:00 2001 From: andrew Date: Sun, 6 Aug 2023 13:46:54 +0100 Subject: [PATCH 2/7] [06/08/23] removed colour formatting and moved posts to drafts --- _data/categories.yml | 12 -- _data/nav.yml | 2 + .../blog/2023-01-14-musings-on-the-cinema.md | 0 .../blog/2023-03-05-yuri-felsen-on-love.md | 0 ...2023-03-10-putting-thoughts-into-action.md | 0 .../2023-04-29-links-arent-performances.md | 0 _includes/nav.html | 6 - _includes/style.html | 26 ++- .../01/14/musings-on-the-cinema/index.html | 161 --------------- .../2023/03/05/yuri-felsen-on-love/index.html | 160 --------------- .../putting-thoughts-into-action/index.html | 191 ------------------ .../04/29/links-arent-performances/index.html | 165 --------------- _site/blog/category/links/index.html | 144 ------------- _site/blog/category/quotes/index.html | 144 ------------- _site/blog/category/thoughts/index.html | 158 --------------- _site/blog/category/til/index.html | 46 ++--- _site/blog/index.html | 92 ++------- _site/blog/tag/bootstrap/index.html | 142 ------------- _site/blog/tag/cinema/index.html | 142 ------------- _site/blog/tag/copyright/index.html | 142 ------------- _site/blog/tag/cron/index.html | 40 ++-- _site/blog/tag/css/index.html | 142 ------------- _site/blog/tag/docker-compose/index.html | 42 ++-- _site/blog/tag/docker/index.html | 42 ++-- _site/blog/tag/film/index.html | 142 ------------- _site/blog/tag/html/index.html | 142 ------------- _site/blog/tag/jekyll/index.html | 142 ------------- _site/blog/tag/journal/index.html | 142 ------------- _site/blog/tag/kindle/index.html | 40 ++-- _site/blog/tag/law/index.html | 142 ------------- _site/blog/tag/love/index.html | 142 ------------- _site/blog/tag/nextcloud/index.html | 40 ++-- _site/blog/tag/php/index.html | 40 ++-- _site/blog/tag/pluralistic/index.html | 142 ------------- _site/blog/tag/python/index.html | 40 ++-- _site/blog/tag/webdev/index.html | 142 ------------- _site/blog/tag/yuri-felsen/index.html | 142 ------------- _site/feed.xml | 34 +--- _site/feed/til.xml | 2 +- _site/index.html | 36 ++-- _site/sitemap.xml | 64 ------ _site/til/index.html | 58 ++---- _site/til/nextcloud-php-errors/index.html | 40 ++-- .../index.html | 40 ++-- 44 files changed, 282 insertions(+), 3429 deletions(-) delete mode 100644 _data/categories.yml rename {_posts => _drafts}/blog/2023-01-14-musings-on-the-cinema.md (100%) rename {_posts => _drafts}/blog/2023-03-05-yuri-felsen-on-love.md (100%) rename {_posts => _drafts}/blog/2023-03-10-putting-thoughts-into-action.md (100%) rename {_posts => _drafts}/blog/2023-04-29-links-arent-performances.md (100%) delete mode 100644 _site/blog/2023/01/14/musings-on-the-cinema/index.html delete mode 100644 _site/blog/2023/03/05/yuri-felsen-on-love/index.html delete mode 100644 _site/blog/2023/03/10/putting-thoughts-into-action/index.html delete mode 100644 _site/blog/2023/04/29/links-arent-performances/index.html delete mode 100644 _site/blog/category/links/index.html delete mode 100644 _site/blog/category/quotes/index.html delete mode 100644 _site/blog/category/thoughts/index.html delete mode 100644 _site/blog/tag/bootstrap/index.html delete mode 100644 _site/blog/tag/cinema/index.html delete mode 100644 _site/blog/tag/copyright/index.html delete mode 100644 _site/blog/tag/css/index.html delete mode 100644 _site/blog/tag/film/index.html delete mode 100644 _site/blog/tag/html/index.html delete mode 100644 _site/blog/tag/jekyll/index.html delete mode 100644 _site/blog/tag/journal/index.html delete mode 100644 _site/blog/tag/law/index.html delete mode 100644 _site/blog/tag/love/index.html delete mode 100644 _site/blog/tag/pluralistic/index.html delete mode 100644 _site/blog/tag/webdev/index.html delete mode 100644 _site/blog/tag/yuri-felsen/index.html diff --git a/_data/categories.yml b/_data/categories.yml deleted file mode 100644 index 26e09d8..0000000 --- a/_data/categories.yml +++ /dev/null @@ -1,12 +0,0 @@ -til: - backColor: "#ed0" - textColor: black -thoughts: - backColor: "#4d8" - textColor: black -quotes: - backColor: "#c66" - textColor: black -links: - backColor: "#36b" - textColor: black \ No newline at end of file diff --git a/_data/nav.yml b/_data/nav.yml index 84db8f9..506c7e2 100644 --- a/_data/nav.yml +++ b/_data/nav.yml @@ -4,6 +4,8 @@ link: /blog - name: til link: /til +- name: projects + link: /projects - name: photos↗ link: http://andrewconlinphotography.co.uk diff --git a/_posts/blog/2023-01-14-musings-on-the-cinema.md b/_drafts/blog/2023-01-14-musings-on-the-cinema.md similarity index 100% rename from _posts/blog/2023-01-14-musings-on-the-cinema.md rename to _drafts/blog/2023-01-14-musings-on-the-cinema.md diff --git a/_posts/blog/2023-03-05-yuri-felsen-on-love.md b/_drafts/blog/2023-03-05-yuri-felsen-on-love.md similarity index 100% rename from _posts/blog/2023-03-05-yuri-felsen-on-love.md rename to _drafts/blog/2023-03-05-yuri-felsen-on-love.md diff --git a/_posts/blog/2023-03-10-putting-thoughts-into-action.md b/_drafts/blog/2023-03-10-putting-thoughts-into-action.md similarity index 100% rename from _posts/blog/2023-03-10-putting-thoughts-into-action.md rename to _drafts/blog/2023-03-10-putting-thoughts-into-action.md diff --git a/_posts/blog/2023-04-29-links-arent-performances.md b/_drafts/blog/2023-04-29-links-arent-performances.md similarity index 100% rename from _posts/blog/2023-04-29-links-arent-performances.md rename to _drafts/blog/2023-04-29-links-arent-performances.md diff --git a/_includes/nav.html b/_includes/nav.html index d2f1616..38ab90a 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -1,11 +1,5 @@ -{% assign primaryCategory = site.data.categories[include.a] %} -

- {% if primaryCategory %} - ac - {% else %} ac - {% endif %}

diff --git a/_includes/style.html b/_includes/style.html index fb68ebb..94d86d2 100644 --- a/_includes/style.html +++ b/_includes/style.html @@ -1,16 +1,14 @@ -{% assign category = site.data.categories[include.a] %} + \ No newline at end of file + ::selection { + background-color: white; + color: black; + } + \ No newline at end of file diff --git a/_site/blog/2023/01/14/musings-on-the-cinema/index.html b/_site/blog/2023/01/14/musings-on-the-cinema/index.html deleted file mode 100644 index 1110f48..0000000 --- a/_site/blog/2023/01/14/musings-on-the-cinema/index.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

- Musings on the power of cinema -

-

- -

- - - - - - - -

-  14 Jan 2023 -    |    -  1 minute -    |    -   thoughts  -    |    - - - journal - - , - - - cinema - - , - - - film - - -

-
- -

I’ve realised that going to the cinema makes me sad; a quiet, contemplative melancholy. Ennui. No matter the film, something about the cinema experience is meditative for me. I always look at things differently in the aftermath; like my perception is temporarily knocked off balance. No, more like a fog is lifted for a while. I especially enjoy that time immediately after, the cycle home. I notice so many little details, scenes of beauty and of strange nostalgia. Like I’m finally seeing the world how it is, or rather, I begin to see rather than look, listen rather than hear. I feel as though these moments, however brief, are when I am truly in touch with myself. My soul, my inner essence. This is why I love the cinema. These moments of private melancholy, of temporary clarity. It is a feeling I cannot replicate anywhere else in my life.

- - -
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/2023/03/05/yuri-felsen-on-love/index.html b/_site/blog/2023/03/05/yuri-felsen-on-love/index.html deleted file mode 100644 index 3b75659..0000000 --- a/_site/blog/2023/03/05/yuri-felsen-on-love/index.html +++ /dev/null @@ -1,160 +0,0 @@ - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

- Yuri Felsen on love -

-

- -

- - - - - - - -

-  05 Mar 2023 -    |    -  1 minute -    |    -   quotes  -    |    - - - yuri felsen - - , - - - love - - -

-
- -

“Like everyone, I have my own, maybe obsessive futile, maybe in some way authentic, vision: all of a sudden, I will imagine the entire homogenous world as it is revealed to us-the streets, the cities, the rooms, those intelligent beasts of a sad and predatory nature, who have learn to stand on their hind legs, who have built all this but are fated to disappear, who, despite this, still try to cling to something solid and lasting, still try to ward off the inevitability of death, who dreamt up fairy tales and, now that these stories have been disproved, are disconsolate - and for me the only means of defending myself from our terrible fate is love, my love - Lyolya. Without love we fall into a stupor or despair, it covers our naked animal essence; with the fear of death, with deliberate attempts to grab hold of some kind of eternity, one that is at once a mystery to us and yet devised by us, even the remains of love, even its very echo in music, imbues us with a semblance of fearlessness, dignity and the spiritual range to disregard death. Only by loving, by knowing about love, hoping for love, are we inspired and meaningfully engaged in life, able to banish the sovereignty of petty day-to-day cares, to stop waiting for the end to come”

- -

- Yuri Felsen (trans. Bryan Karetnyk)

- -

From ‘Deceit’, first published in 1930 and translated to English in 2022.

- - -
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/2023/03/10/putting-thoughts-into-action/index.html b/_site/blog/2023/03/10/putting-thoughts-into-action/index.html deleted file mode 100644 index d16cc32..0000000 --- a/_site/blog/2023/03/10/putting-thoughts-into-action/index.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

- A measure of how easily thoughts can be translated to action -

-

- -

- - - - - - - -

-  10 Mar 2023 -    |    -  2 minutes -    |    -   thoughts  -    |    - - - html - - , - - - css - - , - - - bootstrap - - , - - - jekyll - - , - - - webdev - - -

-
- -

Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes down to this:

- -

How easily can I translate what I am thinking about into a working setup?

- -

That is, how much effort needs to go into converting my idea into a solution? (If there is not already a word for this, then there should be. Don’t worry, I am willing to take the hit and have it named after me.)

- -

For example, I’ve been building this website over the past month or so. Generally, for static websites, I think that HTML + CSS are very good at allowing me to get what I see in my head running on localhost. At this point CSS has so many different options that you just need to find the right search terms in order to get what you want.

- -

However, they are both lacking somewhat in intuitiveness. Especially when starting out, it can get very confusing to know the right tags and the right syntax and the right placement (and so on) to realise your vision.

- -

This is where services like Squarespace et al. come into play. They give you that intuitive UI, dragging and dropping of features, resizing and changing colours. They make it super duper easy to do the actual building, at the cost of the range of bricks you can use.

- -

So, we have two measures:

-
    -
  1. Can I do everything I want to?
  2. -
  3. How easy is it?
  4. -
- -

These are usually a direct tradeoff, with ease typically preferred over options. This tends to frustrate me, as I want full control of all those little configurations.

- -

The solution to this, at least for me, are frameworks such as Bootstrap and Jekyll. They put a layer between the user and the options; essentially translating and simplying all the little configurations into something much easier to work with. Columns in Bootstrap make page layouts simple; markdown-to-html parsing in Jekyll makes text formatting a breeze. But, most importantly of all, these frameworks don’t sacrifice on the possibilities. They make it easier to apply complex setups, but if you want to go in and tweak absolutely everything to your liking, go right ahead. By providing the user with simpler ways of doing the same things as before, they manage to bridge the gap between Can I do everything I want to? and How easy is it?. And I think that is beautiful.

- - -
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/2023/04/29/links-arent-performances/index.html b/_site/blog/2023/04/29/links-arent-performances/index.html deleted file mode 100644 index 7ecfd0b..0000000 --- a/_site/blog/2023/04/29/links-arent-performances/index.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

- Links aren't performances -

-

- -

- - - - - - - -

-  29 Apr 2023 -    |    -  1 minute -    |    -   links  -    |    - - - copyright - - , - - - law - - , - - - pluralistic - - -

-
- -

“For starters, it finds that publishing a link can be a “performance” of a copyrighted work, which meant that when Linkletter linked to the world-viewable Youtube files that Proctorio had posted, he infringed on copyright.

- -

This is a perverse, even surreal take on copyright. The court rejects Linkletter’s argument that even Youtube’s terms of service warned Proctorio that publishing world-viewable material on its site constituted permission for people to link to and watch that material.”

- -

Via: Pluralistic

- - -
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/category/links/index.html b/_site/blog/category/links/index.html deleted file mode 100644 index e5fb5a7..0000000 --- a/_site/blog/category/links/index.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
- - -

-   links  -

-
-
    - - - -
  • -

    Links aren't performances

    -
    -  29 Apr 2023   |    -   links  -
    - “For starters, it finds that publishing a link can be a “performance” of a copyrighted work, which meant that when Linkletter linked to the world-viewable Youtube files that Proctorio had... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/category/quotes/index.html b/_site/blog/category/quotes/index.html deleted file mode 100644 index 9dc9db9..0000000 --- a/_site/blog/category/quotes/index.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
- - -

-   quotes  -

-
-
    - - - -
  • -

    Yuri Felsen on love

    -
    -  05 Mar 2023   |    -   quotes  -
    - “Like everyone, I have my own, maybe obsessive futile, maybe in some way authentic, vision: all of a sudden, I will imagine the entire homogenous world as it is revealed... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/category/thoughts/index.html b/_site/blog/category/thoughts/index.html deleted file mode 100644 index 710218b..0000000 --- a/_site/blog/category/thoughts/index.html +++ /dev/null @@ -1,158 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
- - -

-   thoughts  -

-
-
    - - - -
  • -

    A measure of how easily thoughts can be translated to action

    -
    -  10 Mar 2023   |    -   thoughts  -
    - Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes... -
    -
    -
  • - - - -
  • -

    Musings on the power of cinema

    -
    -  14 Jan 2023   |    -   thoughts  -
    - I’ve realised that going to the cinema makes me sad; a quiet, contemplative melancholy. Ennui. No matter the film, something about the cinema experience is meditative for me. I always... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/category/til/index.html b/_site/blog/category/til/index.html index 26318ba..144a1d4 100644 --- a/_site/blog/category/til/index.html +++ b/_site/blog/category/til/index.html @@ -11,32 +11,26 @@ - + + ::selection { + background-color: white; + color: black; + } +
- - -

- - ac - +

+ ac

@@ -60,6 +54,12 @@
+
+

+ projects +

+
+

photos↗ @@ -114,7 +114,7 @@

-   til  +   til 


    @@ -125,7 +125,7 @@

    Running a Python script periodically in a Docker container using cron

     19 Apr 2023   |    -    til 
    Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using... @@ -139,7 +139,7 @@

    Fixing php errors in a Nextcloud docker-compose configuration

     01 Mar 2023   |    -    til 
    I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could... diff --git a/_site/blog/index.html b/_site/blog/index.html index b9dc8b1..045ec68 100644 --- a/_site/blog/index.html +++ b/_site/blog/index.html @@ -10,32 +10,26 @@ - - + ::selection { + background-color: white; + color: black; + } +
    - - -

    - +

    ac -

    @@ -59,6 +53,12 @@
    +
    +

    + projects +

    +
    +

    photos↗ @@ -121,24 +121,11 @@ -
  • -

    Links aren't performances

    -
    -  29 Apr 2023   |    -   links  -
    - “For starters, it finds that publishing a link can be a “performance” of a copyrighted work, which meant that when Linkletter linked to the world-viewable Youtube files that Proctorio had... -
    -
    -
  • - - -
  • Running a Python script periodically in a Docker container using cron

     19 Apr 2023   |    -   til  +   til 
    Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using...
    @@ -147,56 +134,17 @@ -
  • -

    A measure of how easily thoughts can be translated to action

    -
    -  10 Mar 2023   |    -   thoughts  -
    - Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes... -
    -
    -
  • - - - -
  • -

    Yuri Felsen on love

    -
    -  05 Mar 2023   |    -   quotes  -
    - “Like everyone, I have my own, maybe obsessive futile, maybe in some way authentic, vision: all of a sudden, I will imagine the entire homogenous world as it is revealed... -
    -
    -
  • - - -
  • Fixing php errors in a Nextcloud docker-compose configuration

     01 Mar 2023   |    -   til  +   til 
    I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could...

  • - - -
  • -

    Musings on the power of cinema

    -
    -  14 Jan 2023   |    -   thoughts  -
    - I’ve realised that going to the cinema makes me sad; a quiet, contemplative melancholy. Ennui. No matter the film, something about the cinema experience is meditative for me. I always... -
    -
    -
  • -



diff --git a/_site/blog/tag/bootstrap/index.html b/_site/blog/tag/bootstrap/index.html deleted file mode 100644 index 63de065..0000000 --- a/_site/blog/tag/bootstrap/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  bootstrap -

-
-
    - - - -
  • -

    A measure of how easily thoughts can be translated to action

    -
    -  10 Mar 2023   |    -   thoughts  -
    - Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/cinema/index.html b/_site/blog/tag/cinema/index.html deleted file mode 100644 index d104617..0000000 --- a/_site/blog/tag/cinema/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  cinema -

-
-
    - - - -
  • -

    Musings on the power of cinema

    -
    -  14 Jan 2023   |    -   thoughts  -
    - I’ve realised that going to the cinema makes me sad; a quiet, contemplative melancholy. Ennui. No matter the film, something about the cinema experience is meditative for me. I always... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/copyright/index.html b/_site/blog/tag/copyright/index.html deleted file mode 100644 index f21ddf7..0000000 --- a/_site/blog/tag/copyright/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  copyright -

-
-
    - - - -
  • -

    Links aren't performances

    -
    -  29 Apr 2023   |    -   links  -
    - “For starters, it finds that publishing a link can be a “performance” of a copyrighted work, which meant that when Linkletter linked to the world-viewable Youtube files that Proctorio had... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/cron/index.html b/_site/blog/tag/cron/index.html index 3742b8c..ee90b98 100644 --- a/_site/blog/tag/cron/index.html +++ b/_site/blog/tag/cron/index.html @@ -11,32 +11,26 @@ - + + ::selection { + background-color: white; + color: black; + } +
- - -

- +

ac -

@@ -60,6 +54,12 @@
+
+

+ projects +

+
+

photos↗ @@ -123,7 +123,7 @@

Running a Python script periodically in a Docker container using cron

 19 Apr 2023   |    -    til 
Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using... diff --git a/_site/blog/tag/css/index.html b/_site/blog/tag/css/index.html deleted file mode 100644 index aff958f..0000000 --- a/_site/blog/tag/css/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  css -

-
-
    - - - -
  • -

    A measure of how easily thoughts can be translated to action

    -
    -  10 Mar 2023   |    -   thoughts  -
    - Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/docker-compose/index.html b/_site/blog/tag/docker-compose/index.html index 76b05fc..4647c1b 100644 --- a/_site/blog/tag/docker-compose/index.html +++ b/_site/blog/tag/docker-compose/index.html @@ -11,32 +11,26 @@ - + + ::selection { + background-color: white; + color: black; + } +
- - -

- +

ac -

@@ -60,6 +54,12 @@
+
+

+ projects +

+
+

photos↗ @@ -123,7 +123,7 @@

Running a Python script periodically in a Docker container using cron

 19 Apr 2023   |    -    til 
Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using... @@ -137,7 +137,7 @@

Fixing php errors in a Nextcloud docker-compose configuration

 01 Mar 2023   |    -    til 
I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could... diff --git a/_site/blog/tag/docker/index.html b/_site/blog/tag/docker/index.html index 59d870f..258c54d 100644 --- a/_site/blog/tag/docker/index.html +++ b/_site/blog/tag/docker/index.html @@ -11,32 +11,26 @@ - + + ::selection { + background-color: white; + color: black; + } +
- - -

- +

ac -

@@ -60,6 +54,12 @@
+
+

+ projects +

+
+

photos↗ @@ -123,7 +123,7 @@

Running a Python script periodically in a Docker container using cron

 19 Apr 2023   |    -    til 
Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using... @@ -137,7 +137,7 @@

Fixing php errors in a Nextcloud docker-compose configuration

 01 Mar 2023   |    -    til 
I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could... diff --git a/_site/blog/tag/film/index.html b/_site/blog/tag/film/index.html deleted file mode 100644 index 66faa9e..0000000 --- a/_site/blog/tag/film/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  film -

-
-
    - - - -
  • -

    Musings on the power of cinema

    -
    -  14 Jan 2023   |    -   thoughts  -
    - I’ve realised that going to the cinema makes me sad; a quiet, contemplative melancholy. Ennui. No matter the film, something about the cinema experience is meditative for me. I always... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/html/index.html b/_site/blog/tag/html/index.html deleted file mode 100644 index be27355..0000000 --- a/_site/blog/tag/html/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  html -

-
-
    - - - -
  • -

    A measure of how easily thoughts can be translated to action

    -
    -  10 Mar 2023   |    -   thoughts  -
    - Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/jekyll/index.html b/_site/blog/tag/jekyll/index.html deleted file mode 100644 index 79f5458..0000000 --- a/_site/blog/tag/jekyll/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  jekyll -

-
-
    - - - -
  • -

    A measure of how easily thoughts can be translated to action

    -
    -  10 Mar 2023   |    -   thoughts  -
    - Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/journal/index.html b/_site/blog/tag/journal/index.html deleted file mode 100644 index 18a1d51..0000000 --- a/_site/blog/tag/journal/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  journal -

-
-
    - - - -
  • -

    Musings on the power of cinema

    -
    -  14 Jan 2023   |    -   thoughts  -
    - I’ve realised that going to the cinema makes me sad; a quiet, contemplative melancholy. Ennui. No matter the film, something about the cinema experience is meditative for me. I always... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/kindle/index.html b/_site/blog/tag/kindle/index.html index 67da3f7..de82cd3 100644 --- a/_site/blog/tag/kindle/index.html +++ b/_site/blog/tag/kindle/index.html @@ -11,32 +11,26 @@ - + + ::selection { + background-color: white; + color: black; + } +
- - -

- +

ac -

@@ -60,6 +54,12 @@
+
+

+ projects +

+
+

photos↗ @@ -123,7 +123,7 @@

Running a Python script periodically in a Docker container using cron

 19 Apr 2023   |    -    til 
Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using... diff --git a/_site/blog/tag/law/index.html b/_site/blog/tag/law/index.html deleted file mode 100644 index 7e94be4..0000000 --- a/_site/blog/tag/law/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  law -

-
-
    - - - -
  • -

    Links aren't performances

    -
    -  29 Apr 2023   |    -   links  -
    - “For starters, it finds that publishing a link can be a “performance” of a copyrighted work, which meant that when Linkletter linked to the world-viewable Youtube files that Proctorio had... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/love/index.html b/_site/blog/tag/love/index.html deleted file mode 100644 index ac4d8f0..0000000 --- a/_site/blog/tag/love/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  love -

-
-
    - - - -
  • -

    Yuri Felsen on love

    -
    -  05 Mar 2023   |    -   quotes  -
    - “Like everyone, I have my own, maybe obsessive futile, maybe in some way authentic, vision: all of a sudden, I will imagine the entire homogenous world as it is revealed... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/nextcloud/index.html b/_site/blog/tag/nextcloud/index.html index e011fae..e291941 100644 --- a/_site/blog/tag/nextcloud/index.html +++ b/_site/blog/tag/nextcloud/index.html @@ -11,32 +11,26 @@ - + + ::selection { + background-color: white; + color: black; + } +
- - -

- +

ac -

@@ -60,6 +54,12 @@
+
+

+ projects +

+
+

photos↗ @@ -123,7 +123,7 @@

Fixing php errors in a Nextcloud docker-compose configuration

 01 Mar 2023   |    -    til 
I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could... diff --git a/_site/blog/tag/php/index.html b/_site/blog/tag/php/index.html index 645d589..f5b08e0 100644 --- a/_site/blog/tag/php/index.html +++ b/_site/blog/tag/php/index.html @@ -11,32 +11,26 @@ - + + ::selection { + background-color: white; + color: black; + } +
- - -

- +

ac -

@@ -60,6 +54,12 @@
+
+

+ projects +

+
+

photos↗ @@ -123,7 +123,7 @@

Fixing php errors in a Nextcloud docker-compose configuration

 01 Mar 2023   |    -    til 
I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could... diff --git a/_site/blog/tag/pluralistic/index.html b/_site/blog/tag/pluralistic/index.html deleted file mode 100644 index b08b2a0..0000000 --- a/_site/blog/tag/pluralistic/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  pluralistic -

-
-
    - - - -
  • -

    Links aren't performances

    -
    -  29 Apr 2023   |    -   links  -
    - “For starters, it finds that publishing a link can be a “performance” of a copyrighted work, which meant that when Linkletter linked to the world-viewable Youtube files that Proctorio had... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/python/index.html b/_site/blog/tag/python/index.html index 2dd3ead..57ff9ee 100644 --- a/_site/blog/tag/python/index.html +++ b/_site/blog/tag/python/index.html @@ -11,32 +11,26 @@ - + + ::selection { + background-color: white; + color: black; + } +
- - -

- +

ac -

@@ -60,6 +54,12 @@
+
+

+ projects +

+
+

photos↗ @@ -123,7 +123,7 @@

Running a Python script periodically in a Docker container using cron

 19 Apr 2023   |    -    til 
Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using... diff --git a/_site/blog/tag/webdev/index.html b/_site/blog/tag/webdev/index.html deleted file mode 100644 index 1c9b4d4..0000000 --- a/_site/blog/tag/webdev/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  webdev -

-
-
    - - - -
  • -

    A measure of how easily thoughts can be translated to action

    -
    -  10 Mar 2023   |    -   thoughts  -
    - Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/blog/tag/yuri-felsen/index.html b/_site/blog/tag/yuri-felsen/index.html deleted file mode 100644 index 972147a..0000000 --- a/_site/blog/tag/yuri-felsen/index.html +++ /dev/null @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - - - -
- - -

- - ac - -

-
-
- -
-
-

-  yuri felsen -

-
-
    - - - -
  • -

    Yuri Felsen on love

    -
    -  05 Mar 2023   |    -   quotes  -
    - “Like everyone, I have my own, maybe obsessive futile, maybe in some way authentic, vision: all of a sudden, I will imagine the entire homogenous world as it is revealed... -
    -
    -
  • - -
-
-
-
-
- - - - \ No newline at end of file diff --git a/_site/feed.xml b/_site/feed.xml index d8df1b2..efbb6a4 100644 --- a/_site/feed.xml +++ b/_site/feed.xml @@ -1,8 +1,4 @@ -Jekyll2023-05-03T21:25:52+01:00http://localhost:4000/feed.xmlAndrew ConlinLinks aren’t performances2023-04-29T00:00:00+01:002023-04-29T00:00:00+01:00http://localhost:4000/blog/2023/04/29/links-arent-performances“For starters, it finds that publishing a link can be a “performance” of a copyrighted work, which meant that when Linkletter linked to the world-viewable Youtube files that Proctorio had posted, he infringed on copyright.

- -

This is a perverse, even surreal take on copyright. The court rejects Linkletter’s argument that even Youtube’s terms of service warned Proctorio that publishing world-viewable material on its site constituted permission for people to link to and watch that material.”

- -

Via: Pluralistic

]]>
Andrew Conlin
Running a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

+Jekyll2023-08-06T13:45:24+01:00http://localhost:4000/feed.xmlAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

I loved this idea, and thought it would be no problem to get a Python script up and running periodically on my Raspberry Pi home server using cron. However, I ran into various issues along the way (some of which were not so easy to resolve), so I’m collating all the configuration changes I made in the hopes that it will be useful to someone one day. You can find the full repo for this project here, and I have also included my Dockerfile, docker-compose.yml and crontab at the end of this TIL.

@@ -98,31 +94,7 @@ services: PYTHONPATH=/usr/bin/local/python3 15 7 * * * python3 /main.py >> /var/log/cron.log 2>&1 -
]]>Andrew ConlinA measure of how easily thoughts can be translated to action2023-03-10T00:00:00+00:002023-03-10T00:00:00+00:00http://localhost:4000/blog/2023/03/10/putting-thoughts-into-actionRecently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes down to this:

- -

How easily can I translate what I am thinking about into a working setup?

- -

That is, how much effort needs to go into converting my idea into a solution? (If there is not already a word for this, then there should be. Don’t worry, I am willing to take the hit and have it named after me.)

- -

For example, I’ve been building this website over the past month or so. Generally, for static websites, I think that HTML + CSS are very good at allowing me to get what I see in my head running on localhost. At this point CSS has so many different options that you just need to find the right search terms in order to get what you want.

- -

However, they are both lacking somewhat in intuitiveness. Especially when starting out, it can get very confusing to know the right tags and the right syntax and the right placement (and so on) to realise your vision.

- -

This is where services like Squarespace et al. come into play. They give you that intuitive UI, dragging and dropping of features, resizing and changing colours. They make it super duper easy to do the actual building, at the cost of the range of bricks you can use.

- -

So, we have two measures:

-
    -
  1. Can I do everything I want to?
  2. -
  3. How easy is it?
  4. -
- -

These are usually a direct tradeoff, with ease typically preferred over options. This tends to frustrate me, as I want full control of all those little configurations.

- -

The solution to this, at least for me, are frameworks such as Bootstrap and Jekyll. They put a layer between the user and the options; essentially translating and simplying all the little configurations into something much easier to work with. Columns in Bootstrap make page layouts simple; markdown-to-html parsing in Jekyll makes text formatting a breeze. But, most importantly of all, these frameworks don’t sacrifice on the possibilities. They make it easier to apply complex setups, but if you want to go in and tweak absolutely everything to your liking, go right ahead. By providing the user with simpler ways of doing the same things as before, they manage to bridge the gap between Can I do everything I want to? and How easy is it?. And I think that is beautiful.

]]>
Andrew Conlin
Yuri Felsen on love2023-03-05T00:00:00+00:002023-03-05T00:00:00+00:00http://localhost:4000/blog/2023/03/05/yuri-felsen-on-love“Like everyone, I have my own, maybe obsessive futile, maybe in some way authentic, vision: all of a sudden, I will imagine the entire homogenous world as it is revealed to us-the streets, the cities, the rooms, those intelligent beasts of a sad and predatory nature, who have learn to stand on their hind legs, who have built all this but are fated to disappear, who, despite this, still try to cling to something solid and lasting, still try to ward off the inevitability of death, who dreamt up fairy tales and, now that these stories have been disproved, are disconsolate - and for me the only means of defending myself from our terrible fate is love, my love - Lyolya. Without love we fall into a stupor or despair, it covers our naked animal essence; with the fear of death, with deliberate attempts to grab hold of some kind of eternity, one that is at once a mystery to us and yet devised by us, even the remains of love, even its very echo in music, imbues us with a semblance of fearlessness, dignity and the spiritual range to disregard death. Only by loving, by knowing about love, hoping for love, are we inspired and meaningfully engaged in life, able to banish the sovereignty of petty day-to-day cares, to stop waiting for the end to come”

- -

- Yuri Felsen (trans. Bryan Karetnyk)

- -

From ‘Deceit’, first published in 1930 and translated to English in 2022.

]]>
Andrew Conlin
Fixing php errors in a Nextcloud docker-compose configuration2023-03-01T00:00:00+00:002023-03-01T00:00:00+00:00http://localhost:4000/til/nextcloud-php-errorsI was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors.

+
]]>Andrew ConlinFixing php errors in a Nextcloud docker-compose configuration2023-03-01T00:00:00+00:002023-03-01T00:00:00+00:00http://localhost:4000/til/nextcloud-php-errorsI was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors.

First error - “could not find driver”

@@ -164,4 +136,4 @@ This led me to running this command:

….aaaaaand, voila! The command runs, the files are scanned and everything is up to date.

-

terminal output showing the files that have been successfully been scanned

]]>
Andrew Conlin
Musings on the power of cinema2023-01-14T00:00:00+00:002023-01-14T00:00:00+00:00http://localhost:4000/blog/2023/01/14/musings-on-the-cinemaI’ve realised that going to the cinema makes me sad; a quiet, contemplative melancholy. Ennui. No matter the film, something about the cinema experience is meditative for me. I always look at things differently in the aftermath; like my perception is temporarily knocked off balance. No, more like a fog is lifted for a while. I especially enjoy that time immediately after, the cycle home. I notice so many little details, scenes of beauty and of strange nostalgia. Like I’m finally seeing the world how it is, or rather, I begin to see rather than look, listen rather than hear. I feel as though these moments, however brief, are when I am truly in touch with myself. My soul, my inner essence. This is why I love the cinema. These moments of private melancholy, of temporary clarity. It is a feeling I cannot replicate anywhere else in my life.

]]>
Andrew Conlin
\ No newline at end of file +

terminal output showing the files that have been successfully been scanned

]]>Andrew Conlin \ No newline at end of file diff --git a/_site/feed/til.xml b/_site/feed/til.xml index 4ec36b0..2cd942f 100644 --- a/_site/feed/til.xml +++ b/_site/feed/til.xml @@ -1,4 +1,4 @@ -Jekyll2023-05-03T21:25:52+01:00http://localhost:4000/feed/til.xml | TilAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

+Jekyll2023-08-06T13:45:24+01:00http://localhost:4000/feed/til.xml | TilAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

I loved this idea, and thought it would be no problem to get a Python script up and running periodically on my Raspberry Pi home server using cron. However, I ran into various issues along the way (some of which were not so easy to resolve), so I’m collating all the configuration changes I made in the hopes that it will be useful to someone one day. You can find the full repo for this project here, and I have also included my Dockerfile, docker-compose.yml and crontab at the end of this TIL.

diff --git a/_site/index.html b/_site/index.html index 66215f9..1bb9f30 100644 --- a/_site/index.html +++ b/_site/index.html @@ -10,32 +10,26 @@ - - + ::selection { + background-color: white; + color: black; + } +
- - -

- +

ac -

@@ -59,6 +53,12 @@
+
+

+ projects +

+
+

photos↗ diff --git a/_site/sitemap.xml b/_site/sitemap.xml index 5b77618..f39839d 100644 --- a/_site/sitemap.xml +++ b/_site/sitemap.xml @@ -1,30 +1,14 @@ -http://localhost:4000/blog/2023/01/14/musings-on-the-cinema/ -2023-01-14T00:00:00+00:00 - - http://localhost:4000/til/nextcloud-php-errors/ 2023-03-01T00:00:00+00:00 -http://localhost:4000/blog/2023/03/05/yuri-felsen-on-love/ -2023-03-05T00:00:00+00:00 - - -http://localhost:4000/blog/2023/03/10/putting-thoughts-into-action/ -2023-03-10T00:00:00+00:00 - - http://localhost:4000/til/running-python-in-cron-in-docker/ 2023-04-19T00:00:00+01:00 -http://localhost:4000/blog/2023/04/29/links-arent-performances/ -2023-04-29T00:00:00+01:00 - - http://localhost:4000/blog/ @@ -34,15 +18,6 @@ http://localhost:4000/til/ -http://localhost:4000/blog/tag/journal/ - - -http://localhost:4000/blog/tag/cinema/ - - -http://localhost:4000/blog/tag/film/ - - http://localhost:4000/blog/tag/php/ @@ -55,27 +30,6 @@ http://localhost:4000/blog/tag/docker-compose/ -http://localhost:4000/blog/tag/yuri-felsen/ - - -http://localhost:4000/blog/tag/love/ - - -http://localhost:4000/blog/tag/html/ - - -http://localhost:4000/blog/tag/css/ - - -http://localhost:4000/blog/tag/bootstrap/ - - -http://localhost:4000/blog/tag/jekyll/ - - -http://localhost:4000/blog/tag/webdev/ - - http://localhost:4000/blog/tag/cron/ @@ -85,24 +39,6 @@ http://localhost:4000/blog/tag/kindle/ -http://localhost:4000/blog/tag/copyright/ - - -http://localhost:4000/blog/tag/law/ - - -http://localhost:4000/blog/tag/pluralistic/ - - -http://localhost:4000/blog/category/thoughts/ - - http://localhost:4000/blog/category/til/ - -http://localhost:4000/blog/category/quotes/ - - -http://localhost:4000/blog/category/links/ - diff --git a/_site/til/index.html b/_site/til/index.html index 1c140a3..2b9d6a0 100644 --- a/_site/til/index.html +++ b/_site/til/index.html @@ -10,32 +10,26 @@ - - + ::selection { + background-color: white; + color: black; + } +
- - -

- - ac - +

+ ac

@@ -59,6 +53,12 @@

+
+

+ projects +

+
+

photos↗ @@ -122,15 +122,11 @@ - - - -
  • Running a Python script periodically in a Docker container using cron

     19 Apr 2023   |    -   til  +   til 
    Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using...
    @@ -141,19 +137,11 @@ - - - - - - - -
  • Fixing php errors in a Nextcloud docker-compose configuration

     01 Mar 2023   |    -   til  +   til 
    I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could...
    @@ -161,10 +149,6 @@
  • - - - -

    diff --git a/_site/til/nextcloud-php-errors/index.html b/_site/til/nextcloud-php-errors/index.html index 82ad9e9..277ac73 100644 --- a/_site/til/nextcloud-php-errors/index.html +++ b/_site/til/nextcloud-php-errors/index.html @@ -10,32 +10,26 @@ - - + ::selection { + background-color: white; + color: black; + } +
    - - -

    - - ac - +

    + ac

    @@ -59,6 +53,12 @@

    +
    +

    + projects +

    +
    +

    photos↗ @@ -126,7 +126,7 @@    |     2 minutes    |    -   til  +   til     |    diff --git a/_site/til/running-python-in-cron-in-docker/index.html b/_site/til/running-python-in-cron-in-docker/index.html index cfb4f28..b25bf6b 100644 --- a/_site/til/running-python-in-cron-in-docker/index.html +++ b/_site/til/running-python-in-cron-in-docker/index.html @@ -10,32 +10,26 @@ - - + ::selection { + background-color: white; + color: black; + } +
    - - -

    - - ac - +

    + ac

    @@ -59,6 +53,12 @@

    +
    +

    + projects +

    +
    +

    photos↗ @@ -126,7 +126,7 @@    |     3 minutes    |    -   til  +   til     |    From d5f0acdc6c7181c34afa233be6a08463a0eb9b8c Mon Sep 17 00:00:00 2001 From: andrew Date: Sun, 6 Aug 2023 18:06:18 +0100 Subject: [PATCH 3/7] [06/08/23] removed cats+tags in posts, removed til-post.html --- _config.yml | 2 +- _layouts/category.html | 51 ------ _layouts/post.html | 17 -- _layouts/tag.html | 49 ------ _layouts/til-post.html | 27 --- _site/blog/category/til/index.html | 158 ------------------ _site/blog/tag/cron/index.html | 142 ---------------- _site/blog/tag/docker-compose/index.html | 156 ----------------- _site/blog/tag/docker/index.html | 156 ----------------- _site/blog/tag/kindle/index.html | 142 ---------------- _site/blog/tag/nextcloud/index.html | 142 ---------------- _site/blog/tag/php/index.html | 142 ---------------- _site/blog/tag/python/index.html | 142 ---------------- _site/feed.xml | 2 +- _site/feed/til.xml | 2 +- _site/til/nextcloud-php-errors/index.html | 30 +--- .../index.html | 35 +--- 17 files changed, 5 insertions(+), 1390 deletions(-) delete mode 100644 _layouts/category.html delete mode 100644 _layouts/tag.html delete mode 100644 _layouts/til-post.html diff --git a/_config.yml b/_config.yml index bf1a83d..51483fd 100644 --- a/_config.yml +++ b/_config.yml @@ -27,7 +27,7 @@ defaults: values: permalink: til/:title/ category: til - layout: til-post + layout: post jekyll-archives: enabled: diff --git a/_layouts/category.html b/_layouts/category.html deleted file mode 100644 index b685bff..0000000 --- a/_layouts/category.html +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - andrew conlin - - - - {% include style.html a=page.title %} - - - -
    - {% include nav.html a=page.title %} -
    - {% assign categories = page.title %} - {% assign category = site.data.categories[categories] %} -

    -   {{ page.title }}  -

    -
    -
      - {% for post in page.posts %} - {% assign categories = post.categories %} - {% assign category = site.data.categories[categories.first] %} -
    • -

      {{ post.title }}

      -
      -  {{ post.date | date_to_string }}   |    -   {{ categories }}  -
      - {{ post.content | strip_html | truncatewords: 30 }} -
      -
      -
    • - {% endfor %} -
    -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_layouts/post.html b/_layouts/post.html index 7bd5349..31bc952 100644 --- a/_layouts/post.html +++ b/_layouts/post.html @@ -2,27 +2,10 @@ layout: default --- -{% capture time %}{{ content | reading_time }}{% endcapture %} - -{% assign categories = page.categories %} -{% assign category = site.data.categories[categories.first] %} - -{% assign tags = page.tags %} -

     {{ page.date | date_to_string }}    |     {{ content | reading_time | pluralize: "minute" }} -    |    -   {{ categories.first }}  -    |    - - {% for tag in tags %} - {{ tag }} - {% if tag != tags.last %} - , - {% endif %} - {% endfor %}


    diff --git a/_layouts/tag.html b/_layouts/tag.html deleted file mode 100644 index 2b8a26f..0000000 --- a/_layouts/tag.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - andrew conlin - - - - {% include style.html a=page.title %} - - - -
    - {% include nav.html a=page.title %} -
    -

    -  {{ page.title }} -

    -
    -
      - {% for post in page.posts %} - {% assign categories = post.categories %} - {% assign category = site.data.categories[categories.first] %} -
    • -

      {{ post.title }}

      -
      -  {{ post.date | date_to_string }}   |    -   {{ categories }}  -
      - {{ post.content | strip_html | truncatewords: 30 }} -
      -
      -
    • - {% endfor %} -
    -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_layouts/til-post.html b/_layouts/til-post.html deleted file mode 100644 index ef563e3..0000000 --- a/_layouts/til-post.html +++ /dev/null @@ -1,27 +0,0 @@ ---- -layout: default ---- - -{% assign categories = page.categories %} -{% assign category = site.data.categories[categories.first] %} - -{% assign tags = page.tags %} - -

    -  {{ page.date | date_to_string }} -    |    -  {{ content | reading_time | pluralize: "minute" }} -    |    -   {{ categories.first }}  -    |    - - {% for tag in tags %} - {{ tag }} - {% if tag != tags.last %} - , - {% endif %} - {% endfor %} -

    -
    - -{{ content }} diff --git a/_site/blog/category/til/index.html b/_site/blog/category/til/index.html index 144a1d4..e69de29 100644 --- a/_site/blog/category/til/index.html +++ b/_site/blog/category/til/index.html @@ -1,158 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - -
    -

    - ac -

    -
    -
    - -
    -
    - - -

    -   til  -

    -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_site/blog/tag/cron/index.html b/_site/blog/tag/cron/index.html index ee90b98..e69de29 100644 --- a/_site/blog/tag/cron/index.html +++ b/_site/blog/tag/cron/index.html @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - -
    -

    - ac -

    -
    -
    - -
    -
    -

    -  cron -

    -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_site/blog/tag/docker-compose/index.html b/_site/blog/tag/docker-compose/index.html index 4647c1b..e69de29 100644 --- a/_site/blog/tag/docker-compose/index.html +++ b/_site/blog/tag/docker-compose/index.html @@ -1,156 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - -
    -

    - ac -

    -
    -
    - -
    -
    -

    -  docker-compose -

    -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_site/blog/tag/docker/index.html b/_site/blog/tag/docker/index.html index 258c54d..e69de29 100644 --- a/_site/blog/tag/docker/index.html +++ b/_site/blog/tag/docker/index.html @@ -1,156 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - -
    -

    - ac -

    -
    -
    - -
    -
    -

    -  docker -

    -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_site/blog/tag/kindle/index.html b/_site/blog/tag/kindle/index.html index de82cd3..e69de29 100644 --- a/_site/blog/tag/kindle/index.html +++ b/_site/blog/tag/kindle/index.html @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - -
    -

    - ac -

    -
    -
    - -
    -
    -

    -  kindle -

    -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_site/blog/tag/nextcloud/index.html b/_site/blog/tag/nextcloud/index.html index e291941..e69de29 100644 --- a/_site/blog/tag/nextcloud/index.html +++ b/_site/blog/tag/nextcloud/index.html @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - -
    -

    - ac -

    -
    -
    - -
    -
    -

    -  nextcloud -

    -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_site/blog/tag/php/index.html b/_site/blog/tag/php/index.html index f5b08e0..e69de29 100644 --- a/_site/blog/tag/php/index.html +++ b/_site/blog/tag/php/index.html @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - -
    -

    - ac -

    -
    -
    - -
    -
    -

    -  php -

    -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_site/blog/tag/python/index.html b/_site/blog/tag/python/index.html index 57ff9ee..e69de29 100644 --- a/_site/blog/tag/python/index.html +++ b/_site/blog/tag/python/index.html @@ -1,142 +0,0 @@ - - - - - - - - - - andrew conlin - - - - - - - -
    -

    - ac -

    -
    -
    - -
    -
    -

    -  python -

    -
    - -
    -
    -
    -
    - - - - \ No newline at end of file diff --git a/_site/feed.xml b/_site/feed.xml index efbb6a4..f2957c2 100644 --- a/_site/feed.xml +++ b/_site/feed.xml @@ -1,4 +1,4 @@ -Jekyll2023-08-06T13:45:24+01:00http://localhost:4000/feed.xmlAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

    +Jekyll2023-08-06T18:05:21+01:00http://localhost:4000/feed.xmlAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

    I loved this idea, and thought it would be no problem to get a Python script up and running periodically on my Raspberry Pi home server using cron. However, I ran into various issues along the way (some of which were not so easy to resolve), so I’m collating all the configuration changes I made in the hopes that it will be useful to someone one day. You can find the full repo for this project here, and I have also included my Dockerfile, docker-compose.yml and crontab at the end of this TIL.

    diff --git a/_site/feed/til.xml b/_site/feed/til.xml index 2cd942f..a441047 100644 --- a/_site/feed/til.xml +++ b/_site/feed/til.xml @@ -1,4 +1,4 @@ -Jekyll2023-08-06T13:45:24+01:00http://localhost:4000/feed/til.xml | TilAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

    +Jekyll2023-08-06T18:05:21+01:00http://localhost:4000/feed/til.xml | TilAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

    I loved this idea, and thought it would be no problem to get a Python script up and running periodically on my Raspberry Pi home server using cron. However, I ran into various issues along the way (some of which were not so easy to resolve), so I’m collating all the configuration changes I made in the hopes that it will be useful to someone one day. You can find the full repo for this project here, and I have also included my Dockerfile, docker-compose.yml and crontab at the end of this TIL.

    diff --git a/_site/til/nextcloud-php-errors/index.html b/_site/til/nextcloud-php-errors/index.html index 277ac73..d11a2f1 100644 --- a/_site/til/nextcloud-php-errors/index.html +++ b/_site/til/nextcloud-php-errors/index.html @@ -116,38 +116,10 @@

    - - - - - -

    +

     01 Mar 2023    |     2 minutes -    |    -   til  -    |    - - - php - - , - - - nextcloud - - , - - - docker - - , - - - docker-compose - -


    diff --git a/_site/til/running-python-in-cron-in-docker/index.html b/_site/til/running-python-in-cron-in-docker/index.html index b25bf6b..7d6063a 100644 --- a/_site/til/running-python-in-cron-in-docker/index.html +++ b/_site/til/running-python-in-cron-in-docker/index.html @@ -116,43 +116,10 @@

    - - - - - -

    +

     19 Apr 2023    |     3 minutes -    |    -   til  -    |    - - - cron - - , - - - python - - , - - - docker - - , - - - docker-compose - - , - - - kindle - -


    From 83590d3916b6fbe8ee729b3a94b3a86d9a05e920 Mon Sep 17 00:00:00 2001 From: andrew Date: Sun, 6 Aug 2023 18:21:39 +0100 Subject: [PATCH 4/7] [06/08/23] sorted blog and til pages --- _config.yml | 14 +- ...2023-03-10-putting-thoughts-into-action.md | 9 +- ...-04-19-running-python-in-cron-in-docker.md | 9 +- .../putting-thoughts-into-action/index.html | 156 ++++++++++++++++++ _site/blog/category/til/index.html | 0 _site/blog/index.html | 21 +-- _site/blog/tag/cron/index.html | 0 _site/blog/tag/docker-compose/index.html | 0 _site/blog/tag/docker/index.html | 0 _site/blog/tag/kindle/index.html | 0 _site/blog/tag/nextcloud/index.html | 0 _site/blog/tag/php/index.html | 0 _site/blog/tag/python/index.html | 0 _site/feed.xml | 24 ++- _site/feed/til.xml | 139 ---------------- _site/sitemap.xml | 28 +--- _site/til/index.html | 9 +- blog.html | 8 +- til.html | 10 +- 19 files changed, 203 insertions(+), 224 deletions(-) rename {_drafts => _posts}/blog/2023-03-10-putting-thoughts-into-action.md (97%) create mode 100644 _site/blog/2023/03/10/putting-thoughts-into-action/index.html delete mode 100644 _site/blog/category/til/index.html delete mode 100644 _site/blog/tag/cron/index.html delete mode 100644 _site/blog/tag/docker-compose/index.html delete mode 100644 _site/blog/tag/docker/index.html delete mode 100644 _site/blog/tag/kindle/index.html delete mode 100644 _site/blog/tag/nextcloud/index.html delete mode 100644 _site/blog/tag/php/index.html delete mode 100644 _site/blog/tag/python/index.html delete mode 100644 _site/feed/til.xml diff --git a/_config.yml b/_config.yml index 51483fd..c847b06 100644 --- a/_config.yml +++ b/_config.yml @@ -29,17 +29,5 @@ defaults: category: til layout: post -jekyll-archives: - enabled: - - categories - - tags - layouts: - category: category - tag: tag - permalinks: - category: "/blog/category/:name/" - tag: "/blog/tag/:name/" - feed: - categories: - - til \ No newline at end of file + category: til \ No newline at end of file diff --git a/_drafts/blog/2023-03-10-putting-thoughts-into-action.md b/_posts/blog/2023-03-10-putting-thoughts-into-action.md similarity index 97% rename from _drafts/blog/2023-03-10-putting-thoughts-into-action.md rename to _posts/blog/2023-03-10-putting-thoughts-into-action.md index 2eb58cd..885530c 100644 --- a/_drafts/blog/2023-03-10-putting-thoughts-into-action.md +++ b/_posts/blog/2023-03-10-putting-thoughts-into-action.md @@ -1,13 +1,6 @@ --- title: A measure of how easily thoughts can be translated to action -categories: -- thoughts -tags: -- html -- css -- bootstrap -- jekyll -- webdev +category: blog --- Recently, I've been using multiple different languages and frameworks (both at work and personally) and I've been thinking about why I prefer some over others. Ultimately, I think it comes down to this: diff --git a/_posts/til/2023-04-19-running-python-in-cron-in-docker.md b/_posts/til/2023-04-19-running-python-in-cron-in-docker.md index 5e0c2a7..0e8ef95 100644 --- a/_posts/til/2023-04-19-running-python-in-cron-in-docker.md +++ b/_posts/til/2023-04-19-running-python-in-cron-in-docker.md @@ -1,13 +1,6 @@ --- title: Running a Python script periodically in a Docker container using cron -categories: -- til -tags: -- cron -- python -- docker -- docker-compose -- kindle +category: til --- Recently, my partner gave a great idea for utilising my old Kindle: generate a "newspaper" each morning from a bunch of RSS feeds, and email it to the Kindle using "Send-to-Kindle" feature (a blog post about this project is in the works). diff --git a/_site/blog/2023/03/10/putting-thoughts-into-action/index.html b/_site/blog/2023/03/10/putting-thoughts-into-action/index.html new file mode 100644 index 0000000..439c049 --- /dev/null +++ b/_site/blog/2023/03/10/putting-thoughts-into-action/index.html @@ -0,0 +1,156 @@ + + + + + + + + + andrew conlin + + + + + + + +
    +

    + ac +

    +
    +
    + +
    +
    +

    + A measure of how easily thoughts can be translated to action +

    +

    + +

    +

    +  10 Mar 2023 +    |    +  2 minutes +

    +
    + +

    Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes down to this:

    + +

    How easily can I translate what I am thinking about into a working setup?

    + +

    That is, how much effort needs to go into converting my idea into a solution? (If there is not already a word for this, then there should be. Don’t worry, I am willing to take the hit and have it named after me.)

    + +

    For example, I’ve been building this website over the past month or so. Generally, for static websites, I think that HTML + CSS are very good at allowing me to get what I see in my head running on localhost. At this point CSS has so many different options that you just need to find the right search terms in order to get what you want.

    + +

    However, they are both lacking somewhat in intuitiveness. Especially when starting out, it can get very confusing to know the right tags and the right syntax and the right placement (and so on) to realise your vision.

    + +

    This is where services like Squarespace et al. come into play. They give you that intuitive UI, dragging and dropping of features, resizing and changing colours. They make it super duper easy to do the actual building, at the cost of the range of bricks you can use.

    + +

    So, we have two measures:

    +
      +
    1. Can I do everything I want to?
    2. +
    3. How easy is it?
    4. +
    + +

    These are usually a direct tradeoff, with ease typically preferred over options. This tends to frustrate me, as I want full control of all those little configurations.

    + +

    The solution to this, at least for me, are frameworks such as Bootstrap and Jekyll. They put a layer between the user and the options; essentially translating and simplying all the little configurations into something much easier to work with. Columns in Bootstrap make page layouts simple; markdown-to-html parsing in Jekyll makes text formatting a breeze. But, most importantly of all, these frameworks don’t sacrifice on the possibilities. They make it easier to apply complex setups, but if you want to go in and tweak absolutely everything to your liking, go right ahead. By providing the user with simpler ways of doing the same things as before, they manage to bridge the gap between Can I do everything I want to? and How easy is it?. And I think that is beautiful.

    + + +
    +
    +
    +
    + + + + \ No newline at end of file diff --git a/_site/blog/category/til/index.html b/_site/blog/category/til/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/_site/blog/index.html b/_site/blog/index.html index 045ec68..dec8e4c 100644 --- a/_site/blog/index.html +++ b/_site/blog/index.html @@ -121,29 +121,22 @@ + + +
  • -

    Running a Python script periodically in a Docker container using cron

    +

    A measure of how easily thoughts can be translated to action

    -  19 Apr 2023   |    -   til  +  10 Mar 2023
    - Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using... + Recently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes...

  • -
  • -

    Fixing php errors in a Nextcloud docker-compose configuration

    -
    -  01 Mar 2023   |    -   til  -
    - I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could... -
    -
    -
  • +
    diff --git a/_site/blog/tag/cron/index.html b/_site/blog/tag/cron/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/_site/blog/tag/docker-compose/index.html b/_site/blog/tag/docker-compose/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/_site/blog/tag/docker/index.html b/_site/blog/tag/docker/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/_site/blog/tag/kindle/index.html b/_site/blog/tag/kindle/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/_site/blog/tag/nextcloud/index.html b/_site/blog/tag/nextcloud/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/_site/blog/tag/php/index.html b/_site/blog/tag/php/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/_site/blog/tag/python/index.html b/_site/blog/tag/python/index.html deleted file mode 100644 index e69de29..0000000 diff --git a/_site/feed.xml b/_site/feed.xml index f2957c2..7f9f37e 100644 --- a/_site/feed.xml +++ b/_site/feed.xml @@ -1,4 +1,4 @@ -Jekyll2023-08-06T18:05:21+01:00http://localhost:4000/feed.xmlAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

    +Jekyll2023-08-06T18:20:12+01:00http://localhost:4000/feed.xmlAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

    I loved this idea, and thought it would be no problem to get a Python script up and running periodically on my Raspberry Pi home server using cron. However, I ran into various issues along the way (some of which were not so easy to resolve), so I’m collating all the configuration changes I made in the hopes that it will be useful to someone one day. You can find the full repo for this project here, and I have also included my Dockerfile, docker-compose.yml and crontab at the end of this TIL.

    @@ -94,7 +94,27 @@ services: PYTHONPATH=/usr/bin/local/python3 15 7 * * * python3 /main.py >> /var/log/cron.log 2>&1 -
    ]]>Andrew ConlinFixing php errors in a Nextcloud docker-compose configuration2023-03-01T00:00:00+00:002023-03-01T00:00:00+00:00http://localhost:4000/til/nextcloud-php-errorsI was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors.

    +
    ]]>Andrew ConlinA measure of how easily thoughts can be translated to action2023-03-10T00:00:00+00:002023-03-10T00:00:00+00:00http://localhost:4000/blog/2023/03/10/putting-thoughts-into-actionRecently, I’ve been using multiple different languages and frameworks (both at work and personally) and I’ve been thinking about why I prefer some over others. Ultimately, I think it comes down to this:

    + +

    How easily can I translate what I am thinking about into a working setup?

    + +

    That is, how much effort needs to go into converting my idea into a solution? (If there is not already a word for this, then there should be. Don’t worry, I am willing to take the hit and have it named after me.)

    + +

    For example, I’ve been building this website over the past month or so. Generally, for static websites, I think that HTML + CSS are very good at allowing me to get what I see in my head running on localhost. At this point CSS has so many different options that you just need to find the right search terms in order to get what you want.

    + +

    However, they are both lacking somewhat in intuitiveness. Especially when starting out, it can get very confusing to know the right tags and the right syntax and the right placement (and so on) to realise your vision.

    + +

    This is where services like Squarespace et al. come into play. They give you that intuitive UI, dragging and dropping of features, resizing and changing colours. They make it super duper easy to do the actual building, at the cost of the range of bricks you can use.

    + +

    So, we have two measures:

    +
      +
    1. Can I do everything I want to?
    2. +
    3. How easy is it?
    4. +
    + +

    These are usually a direct tradeoff, with ease typically preferred over options. This tends to frustrate me, as I want full control of all those little configurations.

    + +

    The solution to this, at least for me, are frameworks such as Bootstrap and Jekyll. They put a layer between the user and the options; essentially translating and simplying all the little configurations into something much easier to work with. Columns in Bootstrap make page layouts simple; markdown-to-html parsing in Jekyll makes text formatting a breeze. But, most importantly of all, these frameworks don’t sacrifice on the possibilities. They make it easier to apply complex setups, but if you want to go in and tweak absolutely everything to your liking, go right ahead. By providing the user with simpler ways of doing the same things as before, they manage to bridge the gap between Can I do everything I want to? and How easy is it?. And I think that is beautiful.

    ]]>
    Andrew Conlin
    Fixing php errors in a Nextcloud docker-compose configuration2023-03-01T00:00:00+00:002023-03-01T00:00:00+00:00http://localhost:4000/til/nextcloud-php-errorsI was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors.

    First error - “could not find driver”

    diff --git a/_site/feed/til.xml b/_site/feed/til.xml deleted file mode 100644 index a441047..0000000 --- a/_site/feed/til.xml +++ /dev/null @@ -1,139 +0,0 @@ -Jekyll2023-08-06T18:05:21+01:00http://localhost:4000/feed/til.xml | TilAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

    - -

    I loved this idea, and thought it would be no problem to get a Python script up and running periodically on my Raspberry Pi home server using cron. However, I ran into various issues along the way (some of which were not so easy to resolve), so I’m collating all the configuration changes I made in the hopes that it will be useful to someone one day. You can find the full repo for this project here, and I have also included my Dockerfile, docker-compose.yml and crontab at the end of this TIL.

    - -

    1. Double check the user

    - -

    A lot of problems with cron come down to user privileges. Each user has their own crontab, and then there is the system-wide root crontab. The first issue I ran into with creating a cron job inside a container was that Docker created the crontab as a non-root user. This issue presented itself to me when I tried to run the following command, to list the current cronjobs in the Docker container:

    -
    docker-compose exec container-name crontab -l
    -
    -

    This returned the following output:

    -
    no crontab for root
    -
    -

    Now, it is not necessarily a problem to have non-root cron jobs, but just make absolutely certain that you are creating the jobs with the user you expect. For me, I wanted to run as root, so I added to following line to my docker-compose.yml:

    -
    user: root
    -
    -

    Now, the root user will be used when building your Docker image and the created crontab will be where you expect.

    - -

    2. Missing dependencies

    -

    When cron calls your Python script, you may run into issues with ModuleNotFoundError or ImportError, where Python cannot find your installed packages. This is because cron does not have access to your system environment variables, including the Python path. You can resolve most of these errors with imports by adding the PYTHONPATH environment variable to your crontab. This should be the path to your site-packages folder, something like this:

    -
    PYTHONPATH=/usr/bin/local/python3
    -
    -

    You may also need to add a shebang (#!) to your Python script to direct cron to the correct version. You can find the Python location with one of the following commands:

    -
    which python
    -which py
    -which python3
    -
    -

    NOTE: These commands must be performed in your Docker container when it is up and running. In docker-compose syntax this would be the following (with the name of your container instead of container-name):

    -
    docker-compose exec container-name which python3
    -
    -

    You can then add this to the top of your Python script, as follows:

    -
    #!/usr/bin/local/python3
    -
    -

    3. Still missing dependencies

    -

    Some modules will still run into errors even when the PYTHONPATH variable has been set. In particular, I ran into problems with reportlab and Pillow/PIL:

    -
    ImportError: cannot import name '_imaging' from 'PIL'
    -
    -

    This was solved by adding the system PATH to the crontab as well. The system path is included in the default crontab that is created when you first run crontab -e:

    -
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    -
    -

    Therefore, it is a good idea to include it if you are making a new crontab to make sure cron can find everything it needs to.

    - -

    4. Check relative paths in Python

    -

    By default, cron runs from the default root path. Therefore, both your call to Python in your crontab and the filepaths within Python should either be relative to root (i.e /main.py rather than main.py) or just use full paths instead.

    - - -

    This error is related to Python inside a Docker container rather than cron. However, someone might still find it useful. When you install your requirements.txt, you may encounter errors such as

    -
    legacy-install-failure
    -error: command '/usr/bin/gcc' failed with exit code 1
    -fatal error: Python.h: No such file or directory
    -
    -

    I was able to resolve these by adding python3-dev, wheel and Cmake to my requirements.txt. These are sometimes required when packages include other binaries or need to compile other code when installed.

    - -

    6. Other useful tips

    -
      -
    • crontab.guru is a great resource for checking cron syntax
    • -
    • Installing vim/nano in your Docker container to make the debugging stage easier. This is especially useful for changing your crontab to run much more frequently, or adding debugging messages etc., when the container is up.
    • -
    - -

    I hope this helped you resolve some errors! I’ve included my Dockerfile, docker-compose.yml and crontab below if you want to set up a similar project or adjust your own files. The full repo is also available here.

    - -

    Dockerfile:

    -
    FROM python:3
    -
    -COPY . .
    -RUN python3.11 -m pip install --no-cache-dir -r requirements.txt
    -
    -RUN touch /var/log/cron.log
    -
    -RUN apt-get update \  
    -&& apt-get install cron -y
    -
    -RUN chmod +x main.py
    -
    -RUN crontab crontab 
    -
    -CMD cron -f
    -
    -

    docker-compose.yml:

    -
    version: "2.4"
    -
    -services:
    -  watchman:
    -    platform: "linux/arm64/v8"
    -    image: watchman:latest
    -    container_name: watchman
    -    restart: always
    -    user: root
    -    build:
    -      context: build
    -      dockerfile: Dockerfile
    -
    -

    crontab:

    -
    PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    -PYTHONPATH=/usr/bin/local/python3
    -15 7 * * * python3 /main.py >> /var/log/cron.log 2>&1
    -
    -
    ]]>
    Andrew Conlin
    Fixing php errors in a Nextcloud docker-compose configuration2023-03-01T00:00:00+00:002023-03-01T00:00:00+00:00http://localhost:4000/til/nextcloud-php-errorsI was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors.

    - -

    First error - “could not find driver”

    - -

    I was trying using the following syntax to call occ and scan the files:

    - -
    sudo -u www-data php /path/to/nextcloud/occ files:scan --all
    -
    - -

    but I kept running into a PHP error. Specifically this error:

    - -
    Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /path/to/nextcloud/lib/private/DB/Connection.php:139
    -
    - -

    followed by a long, verbose stack trace.

    - -

    It took me a decent amount of time to diagnose the exact issue, but eventually I found this list of required PHP modules in the Nextcloud admin manual.

    - -

    Running php -m will print out the list of currently installed PHP modules. I noticed I was missing quite a few of the required modules, but the one that was causing my issue was the missing pdo_mysql module. -This can be installed by running:

    - -
    sudo apt-get install php7.4-mysql
    -
    -

    Note: This command will change based on your OS, PHP version and database type

    - -

    This resolved the error! However (as is always the case), this only meant I got a shiny new error instead:

    - -

    Second error - “Name or service not known”

    - -
    Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known in /path/to/nextcloud/lib/private/DB/Connection.php:139
    -
    - -

    From first glance, this looks like something wrong in the DNS name resolution. This sent me a long way down the wrong path, changing a whole bunch of things in my docker-compose.yml file. -Eventually however, after a long and perilous journey over the high seas of Nextcloud forums and StackOverflow, I found this example of running php occ in a docker-compose configuration. -This led me to running this command:

    - -
    docker-compose exec -u www-data nextcloud-app php occ files:scan --all
    -
    -

    Note: replace nextcloud-app with the name of your Nextcloud container. Also, this command must be run from the directory of your Nextcloud docker-compose.yml

    - -

    ….aaaaaand, voila! The command runs, the files are scanned and everything is up to date.

    - -

    terminal output showing the files that have been successfully been scanned

    ]]>
    Andrew Conlin
    \ No newline at end of file diff --git a/_site/sitemap.xml b/_site/sitemap.xml index f39839d..2f76ffc 100644 --- a/_site/sitemap.xml +++ b/_site/sitemap.xml @@ -5,6 +5,10 @@ 2023-03-01T00:00:00+00:00 +http://localhost:4000/blog/2023/03/10/putting-thoughts-into-action/ +2023-03-10T00:00:00+00:00 + + http://localhost:4000/til/running-python-in-cron-in-docker/ 2023-04-19T00:00:00+01:00 @@ -17,28 +21,4 @@ http://localhost:4000/til/ - -http://localhost:4000/blog/tag/php/ - - -http://localhost:4000/blog/tag/nextcloud/ - - -http://localhost:4000/blog/tag/docker/ - - -http://localhost:4000/blog/tag/docker-compose/ - - -http://localhost:4000/blog/tag/cron/ - - -http://localhost:4000/blog/tag/python/ - - -http://localhost:4000/blog/tag/kindle/ - - -http://localhost:4000/blog/category/til/ - diff --git a/_site/til/index.html b/_site/til/index.html index 2b9d6a0..976e2d8 100644 --- a/_site/til/index.html +++ b/_site/til/index.html @@ -121,12 +121,10 @@ -
  • Running a Python script periodically in a Docker container using cron

    -  19 Apr 2023   |    -   til  +  19 Apr 2023
    Recently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using...
    @@ -137,11 +135,12 @@ + +
  • Fixing php errors in a Nextcloud docker-compose configuration

    -  01 Mar 2023   |    -   til  +  01 Mar 2023
    I was trying to rescan the files in my Nextcloud server (running on Raspberry Pi 4 with DietPi), and kept running into some weird php errors. First error - “could...
    diff --git a/blog.html b/blog.html index 2c9e508..c5eaafa 100644 --- a/blog.html +++ b/blog.html @@ -9,17 +9,17 @@ permalink: /blog/
      {% for post in site.posts %} - {% assign categories = post.categories %} - {% assign category = site.data.categories[categories.first] %} + {% assign category = post.category %} + {% if category == 'blog' %}
    • {{ post.title }}

      -  {{ post.date | date_to_string }}   |    -   {{ categories.first }}  +  {{ post.date | date_to_string }}
      {{ post.content | strip_html | truncatewords: 30 }}

    • + {% endif %} {% endfor %}
    \ No newline at end of file diff --git a/til.html b/til.html index bd29107..aeec96d 100644 --- a/til.html +++ b/til.html @@ -3,22 +3,18 @@ layout: default title: latest tils subtitle: my collection of tils (today-i-learned). i use this mainly to collect solutions to weird errors i have faced, and detail the little projects that i work on. this has its own atom feed (above) as they are typically very different from my other posts. all tils are blog posts but not all blog posts are tils. permalink: /til/ -categories: -- til ---
      {% for post in site.posts %} - {% assign categories = post.categories %} - {% assign category = site.data.categories[categories.first] %} - {% if categories.first == 'til' %} + {% assign category = post.category %} + {% if category == 'til' %}
    • {{ post.title }}

      -  {{ post.date | date_to_string }}   |    -   {{ categories.first }}  +  {{ post.date | date_to_string }}
      {{ post.content | strip_html | truncatewords: 30 }}
      From 39c52872d7a72985ad1471db5ffbe255e4fb8fba Mon Sep 17 00:00:00 2001 From: andrew Date: Sun, 6 Aug 2023 18:30:38 +0100 Subject: [PATCH 5/7] [06/08/23] added gruvbox color scheme, removed style.html --- _includes/nav.html | 2 +- _includes/style.html | 14 -------------- _layouts/default.html | 3 +-- _site/assets/css/default.css | 17 ++++++++--------- .../10/putting-thoughts-into-action/index.html | 16 +--------------- _site/blog/index.html | 16 +--------------- _site/feed.xml | 2 +- _site/index.html | 16 +--------------- _site/til/index.html | 16 +--------------- _site/til/nextcloud-php-errors/index.html | 16 +--------------- .../running-python-in-cron-in-docker/index.html | 16 +--------------- assets/css/default.css | 17 ++++++++--------- 12 files changed, 25 insertions(+), 126 deletions(-) delete mode 100644 _includes/style.html diff --git a/_includes/nav.html b/_includes/nav.html index 38ab90a..bd0b040 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -1,5 +1,5 @@

      - ac + ac

      diff --git a/_includes/style.html b/_includes/style.html deleted file mode 100644 index 94d86d2..0000000 --- a/_includes/style.html +++ /dev/null @@ -1,14 +0,0 @@ - \ No newline at end of file diff --git a/_layouts/default.html b/_layouts/default.html index ac36d3f..41ef008 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -10,12 +10,11 @@ - {% include style.html a=page.categories.first %}
      - {% include nav.html a=page.categories.first %} + {% include nav.html %}

      {{ page.title }} diff --git a/_site/assets/css/default.css b/_site/assets/css/default.css index bc9a454..1347370 100644 --- a/_site/assets/css/default.css +++ b/_site/assets/css/default.css @@ -19,23 +19,23 @@ hr.menu { } a { - color: white; + color: #ebdbb2; } body { - background-color: black; - color: white; + background-color: #282828; + color: #ebdbb2; font-family: "Rubik"; min-height: 100vh; } code { - color: white; + color: #ebdbb2; } pre { - color: white; - background-color: #171717; + color: #ebdbb2; + background-color: #504945; padding: 10px 10px 10px 10px; border-radius: 10px; white-space: pre-wrap; @@ -67,7 +67,6 @@ img.letterboxd { } ::selection { - background-color: white; - color: black; + background-color: #ebdbb2; + color: #282828; } - diff --git a/_site/blog/2023/03/10/putting-thoughts-into-action/index.html b/_site/blog/2023/03/10/putting-thoughts-into-action/index.html index 439c049..41236bb 100644 --- a/_site/blog/2023/03/10/putting-thoughts-into-action/index.html +++ b/_site/blog/2023/03/10/putting-thoughts-into-action/index.html @@ -10,26 +10,12 @@ -

      - ac + ac

      diff --git a/_site/blog/index.html b/_site/blog/index.html index dec8e4c..04c4edb 100644 --- a/_site/blog/index.html +++ b/_site/blog/index.html @@ -10,26 +10,12 @@ -

      - ac + ac

      diff --git a/_site/feed.xml b/_site/feed.xml index 7f9f37e..bbdefcb 100644 --- a/_site/feed.xml +++ b/_site/feed.xml @@ -1,4 +1,4 @@ -Jekyll2023-08-06T18:20:12+01:00http://localhost:4000/feed.xmlAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

      +Jekyll2023-08-06T18:28:13+01:00http://localhost:4000/feed.xmlAndrew ConlinRunning a Python script periodically in a Docker container using cron2023-04-19T00:00:00+01:002023-04-19T00:00:00+01:00http://localhost:4000/til/running-python-in-cron-in-dockerRecently, my partner gave a great idea for utilising my old Kindle: generate a “newspaper” each morning from a bunch of RSS feeds, and email it to the Kindle using “Send-to-Kindle” feature (a blog post about this project is in the works).

      I loved this idea, and thought it would be no problem to get a Python script up and running periodically on my Raspberry Pi home server using cron. However, I ran into various issues along the way (some of which were not so easy to resolve), so I’m collating all the configuration changes I made in the hopes that it will be useful to someone one day. You can find the full repo for this project here, and I have also included my Dockerfile, docker-compose.yml and crontab at the end of this TIL.

      diff --git a/_site/index.html b/_site/index.html index 1bb9f30..9e3c1ce 100644 --- a/_site/index.html +++ b/_site/index.html @@ -10,26 +10,12 @@ -

      - ac + ac

      diff --git a/_site/til/index.html b/_site/til/index.html index 976e2d8..11b7ba9 100644 --- a/_site/til/index.html +++ b/_site/til/index.html @@ -10,26 +10,12 @@ -

      - ac + ac

      diff --git a/_site/til/nextcloud-php-errors/index.html b/_site/til/nextcloud-php-errors/index.html index d11a2f1..5a8312c 100644 --- a/_site/til/nextcloud-php-errors/index.html +++ b/_site/til/nextcloud-php-errors/index.html @@ -10,26 +10,12 @@ -

      - ac + ac

      diff --git a/_site/til/running-python-in-cron-in-docker/index.html b/_site/til/running-python-in-cron-in-docker/index.html index 7d6063a..3af4983 100644 --- a/_site/til/running-python-in-cron-in-docker/index.html +++ b/_site/til/running-python-in-cron-in-docker/index.html @@ -10,26 +10,12 @@ -

      - ac + ac

      diff --git a/assets/css/default.css b/assets/css/default.css index bc9a454..1347370 100644 --- a/assets/css/default.css +++ b/assets/css/default.css @@ -19,23 +19,23 @@ hr.menu { } a { - color: white; + color: #ebdbb2; } body { - background-color: black; - color: white; + background-color: #282828; + color: #ebdbb2; font-family: "Rubik"; min-height: 100vh; } code { - color: white; + color: #ebdbb2; } pre { - color: white; - background-color: #171717; + color: #ebdbb2; + background-color: #504945; padding: 10px 10px 10px 10px; border-radius: 10px; white-space: pre-wrap; @@ -67,7 +67,6 @@ img.letterboxd { } ::selection { - background-color: white; - color: black; + background-color: #ebdbb2; + color: #282828; } - From 340f7499bf378e71b6280bb6f9c8782e17764a33 Mon Sep 17 00:00:00 2001 From: andrew Date: Mon, 7 Aug 2023 13:19:51 +0100 Subject: [PATCH 6/7] [07/08/23] changed to monospace font and caps titles --- _data/nav.yml | 10 +++---- _includes/nav.html | 10 +++---- _layouts/default.html | 2 +- _layouts/post.html | 4 +-- _site/assets/css/default.css | 9 ++++-- .../putting-thoughts-into-action/index.html | 28 ++++++++--------- _site/blog/index.html | 28 ++++++++--------- _site/feed.xml | 2 +- _site/index.html | 28 ++++++++--------- _site/til/index.html | 30 +++++++++---------- _site/til/nextcloud-php-errors/index.html | 28 ++++++++--------- .../index.html | 28 ++++++++--------- assets/css/default.css | 9 ++++-- blog.html | 4 +-- index.html | 4 +-- til.html | 4 +-- 16 files changed, 119 insertions(+), 109 deletions(-) diff --git a/_data/nav.yml b/_data/nav.yml index 506c7e2..91660a7 100644 --- a/_data/nav.yml +++ b/_data/nav.yml @@ -1,11 +1,11 @@ -- name: about +- name: ABOUT link: / -- name: blog +- name: BLOG link: /blog -- name: til +- name: TIL link: /til -- name: projects +- name: PROJECTS link: /projects -- name: photos↗ +- name: PHOTOS↗ link: http://andrewconlinphotography.co.uk diff --git a/_includes/nav.html b/_includes/nav.html index bd0b040..4d1e092 100644 --- a/_includes/nav.html +++ b/_includes/nav.html @@ -1,9 +1,9 @@ -

      - ac -

      -