<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Julian Muellner's Blog RSS Feed]]></title><description><![CDATA[Julian Muellner's Blog RSS Feed]]></description><link>https://www.jmuellner.net</link><generator>GatsbyJS</generator><lastBuildDate>Fri, 28 Mar 2025 05:22:13 GMT</lastBuildDate><item><title><![CDATA[Auto-Backup to Koofr (Vault) on Windows Using Rclone]]></title><description><![CDATA[Overview This guide will walk you through the process of setting up an automatic backup for a folder to Koofr using  on a Windows machine…]]></description><link>https://www.jmuellner.net/2025-03-21-koofr-config/</link><guid isPermaLink="false">https://www.jmuellner.net/2025-03-21-koofr-config/</guid><pubDate>Fri, 21 Mar 2025 22:06:30 GMT</pubDate><content:encoded>&lt;h2&gt;Overview&lt;/h2&gt;
&lt;p&gt;This guide will walk you through the process of setting up an automatic backup for a folder to &lt;a href=&quot;https://koofr.eu/&quot;&gt;Koofr&lt;/a&gt; using &lt;code class=&quot;language-text&quot;&gt;rclone&lt;/code&gt; on a Windows machine. The steps are:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set up Koofr and rclone&lt;/li&gt;
&lt;li&gt;Create a CMD script to sync your local folders with Koofr&lt;/li&gt;
&lt;li&gt;Schedule the script using the Windows Task Scheduler&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Setting Up Rclone and Koofr&lt;/h3&gt;
&lt;p&gt;First, install rclone if you haven&apos;t already. On recent Windows versions, run the following command in PowerShell:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;winget install Rclone.Rclone&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;For older versions, you can install it via Chocolatey or &lt;a href=&quot;https://rclone.org/install/&quot;&gt;download the installer directly&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;Adding a Regular Koofr Storage&lt;/h4&gt;
&lt;p&gt;To securely connect to Koofr without sharing your password, generate a new app password in the &lt;a href=&quot;https://app.koofr.net/app/admin/preferences/password&quot;&gt;Koofr Password Portal&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Then, run &lt;code class=&quot;language-text&quot;&gt;rclone config&lt;/code&gt; to configure a new remote:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Select the option &quot;Koofr, Digi Storage, and other Koofr-compatible storage providers.&quot;&lt;/li&gt;
&lt;li&gt;Provide your Koofr credentials to complete the setup.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you run the following command:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;rclone tree &amp;lt;remote-name&gt;:/&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;You should see the file tree of your Koofr storage.&lt;/p&gt;
&lt;h4&gt;Adding an Encrypted Vault&lt;/h4&gt;
&lt;p&gt;To set up an encrypted vault, open your vault at &lt;a href=&quot;https://vault.koofr.net&quot;&gt;Koofr Vault&lt;/a&gt;, and access the configuration settings as shown below:&lt;/p&gt;
&lt;p&gt;&lt;span
      class=&quot;gatsby-resp-image-wrapper&quot;
      style=&quot;position: relative; display: block; margin-left: auto; margin-right: auto; max-width: 288px; &quot;
    &gt;
      &lt;a
    class=&quot;gatsby-resp-image-link&quot;
    href=&quot;/static/97706d8f4e88d5f3e8491b287f919532/477c9/image.png&quot;
    style=&quot;display: block&quot;
    target=&quot;_blank&quot;
    rel=&quot;noopener&quot;
  &gt;
    &lt;span
    class=&quot;gatsby-resp-image-background-image&quot;
    style=&quot;padding-bottom: 58.86075949367089%; position: relative; bottom: 0; left: 0; background-image: url(&apos;data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAYAAABiDJ37AAAACXBIWXMAABJ0AAASdAHeZh94AAABzUlEQVR42pVTS0/iUBTuX5mFC5bzA/xvxq07oytxM3vDwklUiMZHDBCEGEdbQSKvFhFrmdLSFy2f59xLAZOZGE/65T7Oud85372nCoTNsLTV+er2jD4G5uNsxTVbQJEbCSrGL1x1thHG7qeg75ogbFrn2Lxcw8bFD5T0feGI46kYwzCErvdwr9XRbHcweH1Fu9OF1mjCfLcwtke4LJaEv1ytScKBq2K7vI6t4k/UzYIkTCSh7wfQDQOtbhddvY+x4xBhBy0itR0Xge8R2SMeKYFWbzChlDWc1GE4t19K6vV6lMT/v+QkScBILV2vIk5iTKey4mq1imw2iyAI5lcTf4ISUaBAFEqk638gjCJBUqvVsEektm3TmWjh56TKd18xVaOqKjKZDPL5/KJSIXnBThvcJjITlc9SY5Y8lzOXn8az5J3dXeRyOUHElbJfcScTTDyPWuCdXqoBx3VhjUYw+n0YLwMMTROmZWH49kavbMAejyHOEGQX+Gg+t0RsQv2sMAFn0xpPOCqcEtlf3N0/4LhQwOHRCa7LFZRubpA/O8PB72PRhz7F8zluIU7wR9Xw3G7LP4WzMdIAno/osrnqFDLGg0fVLNdL8FkGX9sHhrOPVORgwDgAAAAASUVORK5CYII=&apos;); background-size: cover; display: block;&quot;
  &gt;&lt;/span&gt;
  &lt;img
        class=&quot;gatsby-resp-image-image&quot;
        alt=&quot;Koofr Vault Configuration&quot;
        title=&quot;&quot;
        src=&quot;/static/97706d8f4e88d5f3e8491b287f919532/477c9/image.png&quot;
        srcset=&quot;/static/97706d8f4e88d5f3e8491b287f919532/c26ae/image.png 158w,
/static/97706d8f4e88d5f3e8491b287f919532/477c9/image.png 288w&quot;
        sizes=&quot;(max-width: 288px) 100vw, 288px&quot;
        style=&quot;width:100%;height:100%;margin:0;vertical-align:middle;position:absolute;top:0;left:0;&quot;
        loading=&quot;lazy&quot;
        decoding=&quot;async&quot;
      /&gt;
  &lt;/a&gt;
    &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Next, go to &lt;code class=&quot;language-text&quot;&gt;Backup the safebox config&lt;/code&gt; and copy the provided rclone configuration.&lt;/p&gt;
&lt;p&gt;Open the file &lt;code class=&quot;language-text&quot;&gt;$env:APPDATA\rclone\rclone.conf&lt;/code&gt; in your text editor and paste the configuration there. It should look something like this:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;[koofr]
type = koofr
provider = koofr
user = &amp;lt;snip&gt;
password = &amp;lt;snip&gt;

[julian-vault]
type = crypt
remote = koofr:/julian-vault
password = &amp;lt;snip&gt;
password2 = &amp;lt;snip&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Save the file, exit the editor, and run &lt;code class=&quot;language-text&quot;&gt;rclone config&lt;/code&gt;. You should now see the new remote. Running:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;rclone tree &amp;lt;vault-name&gt;:/&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;will show the contents of your vault.&lt;/p&gt;
&lt;h3&gt;Creating the Backup Script&lt;/h3&gt;
&lt;p&gt;Choose a location on your machine to store your script (ideally an empty folder), and create a &lt;code class=&quot;language-text&quot;&gt;.bat&lt;/code&gt; file.&lt;/p&gt;
&lt;p&gt;You can sync a single folder to Koofr or Koofr Vault using the &lt;code class=&quot;language-text&quot;&gt;rclone sync&lt;/code&gt; command. Here&apos;s a sample command:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;rclone sync folderPath koofr:/path/to/folder ^
        --log-level INFO ^
        --log-file=C:/path/to/logfile ^
        --exclude &quot;*.o&quot; ^
        --exclude &quot;.git/**&quot; ^
        --exclude &quot;out/**/*.class&quot; ^
        --delete-excluded ^
        --progress&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;For detailed usage, refer to &lt;a href=&quot;https://rclone.org/commands/rclone_sync/&quot;&gt;the rclone documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To sync multiple folders, use the following template:&lt;/p&gt;
&lt;div class=&quot;gatsby-highlight&quot; data-language=&quot;text&quot;&gt;&lt;pre class=&quot;language-text&quot;&gt;&lt;code class=&quot;language-text&quot;&gt;@echo off
@echo Rclone Backup to Koofr
@echo.

rclone sync &quot;D:\folder-1&quot; koofr:/julian/folder-1 ^
        --log-level INFO ^
        --log-file=C:\koofr-sync\log.txt ^
        --exclude &quot;*.o&quot; ^
        --exclude &quot;*.bin&quot; ^
        --delete-excluded ^
        --progress

for %%x in (folder-2 folder-3) do (
    rclone sync &quot;D:\%%x&quot; koofr:/julian/%%x ^
        --log-level INFO ^
        --log-file=C:\koofr-sync\log.txt ^
        --delete-excluded ^
        --progress
)

for %%x in (vault-folder1 vault-folder2 vault-folder3) do (
    rclone sync &quot;D:\%%x&quot; julian-vault:/%%x ^
        --log-level INFO ^
        --log-file=C:\koofr-sync\log.txt ^
        --delete-excluded ^
        --progress
)&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Test the script by running it manually in &lt;code class=&quot;language-text&quot;&gt;cmd&lt;/code&gt; to ensure it works as expected.&lt;/p&gt;
&lt;h3&gt;Scheduling the Script&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Open the Windows Task Scheduler by running &lt;code class=&quot;language-text&quot;&gt;taskschd.msc&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Select &lt;code class=&quot;language-text&quot;&gt;Action&lt;/code&gt; &gt; &lt;code class=&quot;language-text&quot;&gt;Create Basic Task&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Configure the task to run at logon and set the script as the program to be executed.&lt;/li&gt;
&lt;li&gt;After creating the task, go back to the Task Scheduler and edit the newly created task.&lt;/li&gt;
&lt;li&gt;Fine-tune the task settings to suit your needs, such as:
&lt;ul&gt;
&lt;li&gt;Sync only when connected to the power grid&lt;/li&gt;
&lt;li&gt;Sync only when a network connection is available&lt;/li&gt;
&lt;li&gt;Delay activation for a few minutes after login (found under the &lt;code class=&quot;language-text&quot;&gt;Trigger&lt;/code&gt; tab)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Once set up, the backup will run automatically when you log in, as long as the configured conditions are met. Check the sync log for any new entries.&lt;/p&gt;
&lt;h4&gt;References&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://rclone.org/koofr/&quot;&gt;Rclone - Koofr&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://koofr.eu/blog/posts/using-rclone-with-koofr-vault&quot;&gt;Using rclone with Koofr Vault&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- 
## Overview
To auto-backup a folder via `rclone` to [Koofr](https://koofr.eu/) on a windows machine, take the following steps:

1. Setup Koofr and rclone
2. Create a cmd-script that syncs your local folders to the Koofr servers
3. Schedule the script from the windows event scheduler

### Setup Rclone and Koofr

First, install rclone if you haven&apos;t yet.
On recent windows versions just run `winget install Rclone.Rclone` in powershell. 
To install it on older version, use chocolatey or [the provided `.exe`](https://rclone.org/install/).

#### To add a regular Koofr storage
To avoid sharing your Koofr password with the tool and to allow swapping the password in case of a compromise, generate a new app password in the [Koofr password portal](https://app.koofr.net/app/admin/preferences/password).

Then run `rclone config`, add a new remote `&lt;name&gt;` and select the option `Koofr, Digi Storage and other Koofr-compatible storage providers`.
Provide your Koofr credentials finish the setup. 

If you now run `rclone tree &lt;name&gt;:/`, you should see the file tree of your koofr storage 

#### To add an encrypted vault
First, open your vault at [Koofr vault](https://vault.koofr.net), then open the configuration as in the image below.

![Here you can see the info button](image.png)

Next, go to `Backup the safebox config` and copy the rclone config there.

Open the file `$env:APPDATA\rclone\rclone.conf` in your favorite editor and paste the config there. 
Assuming you already did set up a non-encrypted store named `koofr` before, it should look something like:
```
[koofr]
type = koofr
provider = koofr
user = &lt;snip&gt;
password = &lt;snip&gt;

[julian-vault]
type = crypt
remote = koofr:/julian-vault
password = &lt;snip&gt;
password2 = &lt;snip&gt;
```

Save, exit and run `rclone config`, you should now see the new remote and using `rclone tree &lt;vault-name&gt;:/` you should be able to see the contents there. 


### Create the Script
Pick a location for your script on your machine, ideally an empty folder and create a `.bat` file.

You can sync a single folder to Koofr and Koofr Vault using [`rclone sync`](https://rclone.org/commands/rclone_sync/).
```
rclone sync folderPath koofr:/path/to/folder ^
        --log-level INFO ^
        --log-file=C:/path/to/logfile ^
        --exclude &quot;*.o&quot; ^
        --exclude &quot;.git/**&quot; ^
        --exclude &quot;out/**/*.class&quot; ^
        --delete-excluded ^
        --progress
```

For detailed usage check [the rclone docs](https://rclone.org/commands/rclone_sync/). 
To sync multiple folders, refer to the following template:
```
@echo.
@echo Rclone backup to Cloud
@echo off

rclone sync &quot;D:\folder-1&quot; koofr:/julian/folder-1 ^
        --log-level INFO ^
        --log-file=C:\koofr-sync\log.txt ^
        --exclude &quot;*.o&quot; ^
        --exclude &quot;*.bin&quot; ^
        --delete-excluded ^
        --progress

for %%x in (folder-2 folder-3) do (
    rclone sync &quot;D:\%%x&quot; koofr:/julian/%%x ^
        --log-level INFO ^
        --log-file=C:\koofr-sync\log.txt ^
        --delete-excluded ^
        --progress
)

for %%x in (vault-folder1 vault-folder2 vault-folder3) do (
    rclone sync &quot;D:\%%x&quot; julian-vault:/%%x ^
        --log-level INFO ^
        --log-file=C:\koofr-sync\log.txt ^
        --delete-excluded ^
        --progress
)
```

You can manually run the script in `cmd` to make sure it works as expected.

### Schedule the Script

Run `taskschd.msc`, go to `Action` &gt; `Create simple task`.
Configure the task to run at logon and configure our previous script as program that is executed.

Next, go back to the Task-Scheduler landing page and edit the newly created task.
Next, fine-tune the task to your need, e.g., 
- Sync only when the machine is connected to the grid 
- Sync only when a network is available
- Delay the activation for a few minutes after login (see tab `Trigger`)

That is it. When you now log-out and log-in again and fulfill the configured requirements, the sync-log will show a new entry.

##### References
- [Rclone - Koofr](https://rclone.org/koofr/)
- [Using rclone with Koofr Vault](https://koofr.eu/blog/posts/using-rclone-with-koofr-vault) --&gt;</content:encoded></item><item><title><![CDATA[History of Reading: December 2024 - February 2025]]></title><description><![CDATA[This post is directly inspired by Eli Bendersky.
Make sure to check out those posts if you are interested in book reviews. "Metropolis" by…]]></description><link>https://www.jmuellner.net/2025-03-03-reading/</link><guid isPermaLink="false">https://www.jmuellner.net/2025-03-03-reading/</guid><pubDate>Mon, 03 Mar 2025 21:31:30 GMT</pubDate><content:encoded>&lt;p&gt;This post is directly inspired by &lt;a href=&quot;https://eli.thegreenplace.net/2024/summary-of-reading-october-december-2024/&quot;&gt;Eli Bendersky&lt;/a&gt;.
Make sure to check out those posts if you are interested in book reviews.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&quot;Metropolis&quot;&lt;/em&gt; by Ben Wilson -
A book on the history of cities, generally well written.
It tends to be more of a loose collection of anecdotes rather than a structured comparison of urban planning across different eras.
In my opinion, it is too anecdotal, but it does successfully paint a vivid picture of urban culture in different times and places.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&quot;Nach Grau kommt Himmelblau&quot;&lt;/em&gt; by Thomas Reinbacher (German) -
A compelling book about a high-flyer who came crashing down.
An honest account of how depression can be independent of happiness and should be taken seriously—affecting even the brightest and most successful individuals.
A must-read, especially for those who are too busy to read it.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&quot;Utopia for Realists&quot;&lt;/em&gt; by Rutger Bregman -
I approached this book with skepticism regarding its ideas on basic income, free migration, and a 30-hour workweek.
While the book is easy to read, it failed to convince me, as it leans toward a populist style with many claims but few substantial arguments.
However, some points, such as the discussion on &quot;bullshit jobs&quot; and the lack of contemporary utopias, were thought-provoking.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;&quot;The Power of Positive Thinking&quot;&lt;/em&gt; by Norman Vincent Peale -
This book delivers a valuable message but is repetitive and framed in traditional Christian language.
If one replaces prayer and Bible study with more contemporary notions of mindfulness and meditation, its core ideas may resonate with a broader audience.
That said, there may be better books on this topic in 2025.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item><item><title><![CDATA[Welcome to this blog.]]></title><description><![CDATA[On this blog, I will (semi-)regularly post about topics I am interested in and about books I read. I created this blog for mostly three…]]></description><link>https://www.jmuellner.net/2025-03-02-welcome/</link><guid isPermaLink="false">https://www.jmuellner.net/2025-03-02-welcome/</guid><pubDate>Mon, 03 Feb 2025 21:21:30 GMT</pubDate><content:encoded>&lt;p&gt;On this blog, I will (semi-)regularly post about topics I am interested in and about books I read.&lt;/p&gt;
&lt;p&gt;I created this blog for mostly three reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I genuinely enjoy writing. Additionally, writing down a topic for a general audience helps me understand it better.&lt;/li&gt;
&lt;li&gt;I image that blog posts are a good way to document things in a proper way.&lt;/li&gt;
&lt;li&gt;Some of the things I write may be actually interesting to some of you (or maybe not, who knows).&lt;/li&gt;
&lt;/ul&gt;</content:encoded></item></channel></rss>