<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>deaddy.net</title>
    <link>https://example.org/</link>
    <description>deaddy.net</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 07 Nov 2026 15:45:24 +0000</lastBuildDate>
    <atom:link href="https://example.org/rss.xml" rel="self" type="application/rss+xml"/>
    
    <item>
      <title>Moving my to-dos from text files to tickets</title>
      <link>https://example.org/blog/moving-todos-from-text-files-to-tickets/</link>
      <pubDate>Wed, 24 Jun 2026 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/moving-todos-from-text-files-to-tickets/</guid>
      <description>&lt;p&gt;For most of my life, text files and sheets of paper were my go to solution for
organizing tasks.
This did not change when caldav interfaces for tasks came up, as this did not
really solve any problem:
Text files are already easily synchronized via &lt;a href=&#34;https://example.org/the-long-lost-art-of-automatic-file-synchronization-with-unison-via-ssh&#34;&gt;unison&lt;/a&gt;.
Having
to run a separate server (or worse, trusting evil&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; cloud companies) and
relying on internet connection only meant more overhead for no gain.
It also meant that the tooling would include more boilerplate code, as reading
and writing files is pretty simple in almost all programming languages.&lt;/p&gt;
&lt;h1 id=&#34;the-beauty-of-kiss-tooling&#34;&gt;
  The beauty of KISS tooling
  &lt;a href=&#34;#the-beauty-of-kiss-tooling&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;There are usually just three commands:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;t ls [optional filters]&lt;/code&gt; to list all to-dos, numbered, each on a new line&lt;/li&gt;
&lt;li&gt;&lt;code&gt;t do &amp;lt;number&amp;gt;&lt;/code&gt; to mark this to-do as done and remove it from the list&lt;/li&gt;
&lt;li&gt;&lt;code&gt;t add &amp;lt;something you have to do&amp;gt;&lt;/code&gt; to add a to-do item&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can think of adding meta-information like tags (I like prepending them
with a &lt;code&gt;+&lt;/code&gt;) or projects or dates and what have you.
And most of the things then can easily be filtered.&lt;/p&gt;
&lt;p&gt;There were thousands of tool doing essentially this.
It is fun and easy to create your own tool, so much so that &amp;ldquo;writing a to-do
list app&amp;rdquo; is one of the first things many people do in a new programming
language.
The code is worthless, but the tools are not.
It is a great trade.&lt;/p&gt;
&lt;h1 id=&#34;git-hosting-platforms-transformed-project-management&#34;&gt;
  git hosting platforms transformed project management
  &lt;a href=&#34;#git-hosting-platforms-transformed-project-management&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;For a long time, issue tracker and version control were separated, and it took
a dedicated effort to have your changes in code point back at issues that were
being solved.&lt;/p&gt;
&lt;p&gt;In the 2010s or so something wonderful happened:
Platforms like github and gitlab started to integrate issue trackers
with the version control.
Now suddenly, issue trackers were more than just a collection of to-dos, they
became part of the documentation and code of projects.
And as such, they became more useful than my shoddy to-do list scripts.&lt;/p&gt;
&lt;p&gt;This was kind of annoying.
On one hand, having a command like &lt;code&gt;t ls&lt;/code&gt; was simple and you easily got a nice
overview of all the things you have to do.
On the other hand, in a web interface, you could also add further descriptions
to tasks, have code linked, have people comment.
But you could never get the same overview as in a terminal.&lt;/p&gt;
&lt;p&gt;For a long time this fragmented my workflow; I had still my text based to-do
list for, well, to-do items.
I have several git based issue trackers such as forgejos and gitlabs, and back
then, github.
And then I struggled keeping both in view, so I made daily to-do lists on
paper, on which I manually created a merged view of those things.
While I do enjoy writing by hand, this was not a workflow that sparked joy.&lt;/p&gt;
&lt;h1 id=&#34;the-meta-repo-management-idea&#34;&gt;
  The meta repo management idea
  &lt;a href=&#34;#the-meta-repo-management-idea&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;In 2021 I had to work on multiple projects in multiple git hosting
environments.
CI/CD were still being figured out by many and the friction of workflows was
felt across many projects.
Some companies lacked good workflow engineering, gave up and went back to mono
repos for all their stuff.&lt;/p&gt;
&lt;p&gt;At that time I truly wished for just some meta-repo-management to which I
could connect all my other repos and reflect issues and code into this.
Of course, I was not going to program that, but I dabbled a bit around with
using a gitea instance (it was shortly before they turned evil and forgejo had
to fork gitea) and mirroring projects into it.&lt;/p&gt;
&lt;p&gt;It was a glorious mess and in the end, just not worth the effort.
At first it was nice, but there were several problems
First there was a steady influx of new projects that would have needed to be
integrated.
Since there are more important considerations than my own comfort, such as
uptime, integrity and testing workflows, it was not an option to just move
every project to a mono repo.&lt;/p&gt;
&lt;p&gt;Second, issue integration was not that great.
I think it only worked for a subset of the repos I tried to connect.&lt;/p&gt;
&lt;p&gt;Third, it was still stretching all items across multiple projects and it still
did not give me the overview I wanted.&lt;/p&gt;
&lt;p&gt;Finally, due to gitlabs unnecessary token expiration policies, keeping this in
sync was not really feasible.&lt;/p&gt;
&lt;h1 id=&#34;everything-is-an-api-now-going-back-to-the-command-line&#34;&gt;
  Everything is an API now; going back to the command line
  &lt;a href=&#34;#everything-is-an-api-now-going-back-to-the-command-line&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Since I have been working with [kubernetes][kubernetes] for a long time now, I
have grown accustomed to the modern version of the POSIX philosophy:
everything is an HTTP API.&lt;/p&gt;
&lt;p&gt;In particular, nowadays every halfway serious tool now exposes a nice API you
can actually use, usually even well documented.
What is even better, you don&amp;rsquo;t even need to write the boilerplate code
yourself anymore, but can just let your GPU do the job and then cross
reference some of the API documentation.&lt;/p&gt;
&lt;p&gt;Which now afforded me to go back to a workflow that actually works and
combines the best of both worlds.&lt;/p&gt;
&lt;h2 id=&#34;my-personal-to-do-management&#34;&gt;
  My personal to-do management
  &lt;a href=&#34;#my-personal-to-do-management&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;On my laptop I run a forgejo instance in kubernetes.
I have one repository configured to be the main repository to be used, as well
as some repositories (with an alias name) for things that are projects in
their own.&lt;/p&gt;
&lt;p&gt;The usage message tells basically everything:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t ls                              list open tickets (default repo)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t ls @infra                       list open tickets from &amp;#39;infra&amp;#39; repo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t ls --all                        list open tickets from all repos
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t ls &amp;lt;filter&amp;gt; [+label] [@repo]    filter by text and/or labels
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t add &amp;lt;title&amp;gt; [+label] [@repo]    create a new ticket
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t do &amp;lt;ref&amp;gt;                        close a ticket
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t close &amp;lt;ref&amp;gt;                     close a ticket (alias)
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Ticket references:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  42                                ticket #42 in default repo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  infra#42                          ticket #42 in &amp;#39;infra&amp;#39; repo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Examples:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t ls auth +bug                    title contains &amp;#39;auth&amp;#39;, label &amp;#39;bug&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t ls @infra +urgent               &amp;#39;infra&amp;#39; repo, label &amp;#39;urgent&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t add Fix login +bug              create in default repo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t add @infra Fix server +ops      create in &amp;#39;infra&amp;#39; repo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t do 42                           close #42 in default repo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t do infra#51                     close #51 in &amp;#39;infra&amp;#39; repo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t show infra#51                   show #51 in &amp;#39;infra&amp;#39; repo
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  t edit &amp;lt;ref&amp;gt;                      edit ticket body in $EDITOR
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;For labels I use the labels that have been configured in forgejo for the
project.
It is even possible to query the label color, so by using a nearest color
search (it really does not matter if one does geometric distance or fancy
visual color distance) I can even display the labels in their respective
colors.
It is possible, so why not do it.
The script is written in python and the only dependency it has is the
&lt;code&gt;requests&lt;/code&gt; library, which is a sensible choice in my opinion, as basically
every script I write uses it.&lt;/p&gt;
&lt;p&gt;One thing I particularly like is &lt;code&gt;t edit &amp;lt;ref&amp;gt;&lt;/code&gt;, which opens the ticket&amp;rsquo;s
description in my editor, similar to &lt;code&gt;crontab -e&lt;/code&gt;, and writes it back if any
change is detected.&lt;/p&gt;
&lt;p&gt;Possibly at some point I also add features for displaying comments and adding
comments, but for now I am somewhat happy with the &lt;code&gt;t edit&lt;/code&gt; feature.&lt;/p&gt;
&lt;h2 id=&#34;my-work-to-do-management&#34;&gt;
  My work to-do management
  &lt;a href=&#34;#my-work-to-do-management&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;My work to-do management is considerably simpler, because at work I do
interact much more with the web interface.
There I only have&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Usage:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  g ls                              list all open issues across groups
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  g ls &amp;lt;filter&amp;gt; [+label ...]         filter by title and/or labels
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Examples:
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  g ls auth                          title contains &amp;#39;auth&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  g ls +bug                          issues with label &amp;#39;bug&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  g ls login +bug +urgent            title &amp;#39;login&amp;#39;, labels &amp;#39;bug&amp;#39; and &amp;#39;urgent&amp;#39;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  g show &amp;lt;ref&amp;gt;                      show full issue details
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  g show group/backend/api#7        show issue #7 in sciebo/backend/api
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;I configure no aliases except for my top-group (to save screen estate).
Showing an issue displays it similar to a blog post in markdown format:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;$ g show group/subgroup#42
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;group/subgroup#42 This is the title of the issue
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Assignees: None
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;URL: &amp;lt;the url to the issue in gitlab&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Labels: &amp;lt;comma separated list of labels&amp;gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;This is the content of the ticket, just as you would see in the edit window.
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Here I do see more use for comment functionality.
I explicitly do not have a &lt;code&gt;g do&lt;/code&gt; option because most tickets should be closed
automatically by merging their fixes.&lt;/p&gt;
&lt;p&gt;Since there are a lot of tickets and gitlabs are sometimes a bit slow, I
consider adding some caching here sometime, but the main issue is, of course,
to first decide on a sensible caching strategy.&lt;/p&gt;
&lt;h1 id=&#34;some-takeaways&#34;&gt;
  Some takeaways
  &lt;a href=&#34;#some-takeaways&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;I am very happy with the setup right now.
Having all issue trackers available in somewhat uniform command line tools
also means that I can easily get an overview of everything.
Bash tooling means even when I forget some feature, I can easily create it on
the fly.&lt;/p&gt;
&lt;p&gt;Moving this to a web based setup would now be pretty trivial, but since I am
much more happy with command line operation, why bother.
Using gitea to accomplish this was essentially just the lazy attempt to avoid
writing the API interaction myself.
Furthermore, I suspect people who prefer using a web interface are not the
people that have to oversee many projects across several platforms anyway.&lt;/p&gt;
&lt;p&gt;In the past I probably would have hated doing things like this, because not
using files is so dirty.
But nowadays, using an API is essentially the KISS way to do things and one
would have to go to extra lengths to not use an API.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;to be fair, at that point in time, they were not evil yet
[kubernetes]: /tag/kubernetes.html&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>If being right is so easy, why is everyone wrong?</title>
      <link>https://example.org/blog/if-being-right-is-so-easy-why-is-everyone-wrong/</link>
      <pubDate>Wed, 22 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/if-being-right-is-so-easy-why-is-everyone-wrong/</guid>
      <description>&lt;p&gt;Recently I got officially diagnosed with &amp;ldquo;suffering more than normal from
other people&amp;rsquo;s stupidity&amp;rdquo; and I am currently in the process of getting happy
pills to have an easier time surviving the work place.
Which could have prevented a lot of misery, if people would have diagnosed
this earlier, but well, as we all know, most people suck at their job.&lt;/p&gt;
&lt;p&gt;However, due to this affliction, I was and still are always literally
painfully aware when other people are stupid or wrong.
While I still want to explore the exact mechanisms of actual neurological
stupidity in another post (I always get derailed by my pent up anger
regarding this topic), most people seem to miss blatantly obvious things,
which can not be explained by them just being on the slower side of things.&lt;/p&gt;
&lt;p&gt;And usually, being right is easy.
Nothing is ever surprising.
Yet, people are surprised.&lt;/p&gt;
&lt;p&gt;I am tired of reading and generating a rule-of-three set of examples.
This is a blog post, not a school essay.
Just think of something you were right about a long time before everyone else
caught up.&lt;/p&gt;
&lt;p&gt;Overall I think it comes down to economics.
Being right takes some intellectual effort, and there is little incentive to
be right, or you are often disincentivised of being right in the first place.
So most people forego, or downright avoid being right, and stick to their
wrong world view.&lt;/p&gt;
&lt;p&gt;To be right about a thing, you have to have some understanding of the thing.
This is for most people already the first non-trivial obstacle.
Hell, many people even can not jump over the &amp;ldquo;make a statement that makes any
sense&amp;rdquo;-hurdle, as evidenced by most of the slop we get fed every day.
So here we already have some cost associated just to making a truthful
statement.&lt;/p&gt;
&lt;p&gt;Of course, the higher and more useful your education, the lower this barrier
is relative to your intellect, and this makes it much easier for you to be
right.
You still paid the cost, but in advance and it probably already paid off in
other ways.&lt;/p&gt;
&lt;p&gt;Now, most people do not suffer directly the consequences of their actions,
which means that there is often no direct cost associated to being wrong, and
being right usually does not yield any benefit.
Consequently, there is no incentive to be right in the first place.
Why pay the high cost then?
Unless of course, you already paid in advance and you get being right for
free.&lt;/p&gt;
&lt;p&gt;This is especially true for people in leadership positions, as they are
shielded from consequences by their &lt;a href=&#34;https://example.org/optionality-not-responsibility-is-why-managers-earn-more&#34;&gt;optionality&lt;/a&gt;.
Politicians get away with being wrong, because they get paid hundreds of
thousands of money units anyway and rarely get shot, even if they put millions
in misery.&lt;/p&gt;
&lt;p&gt;However, this initial, intellectual cost of being right is miniscule.&lt;/p&gt;
&lt;p&gt;The true cost actually is a consequence of being right and acting upon it.
It is the old &amp;ldquo;it is simple, not easy&amp;rdquo;-cliche.
Being right about things usually excludes you from comfortable options and
means extra work.
While this usually means benefit down the road, this benefit is usually
distributed across many people, whereas the cost is initially only incurred to
you and everyone actually trying to make a change.
Privatized cost and socialized profit is rare for a reason.&lt;/p&gt;
&lt;p&gt;In the extreme, being wrong is just too profitable to be right.&lt;/p&gt;
&lt;p&gt;Naturally, there are also many instances, where the benefits of being right
mainly befall the person being right.
But being right is easy, in the sense that the intellectual cost of being
right is low, so that these instances are usually exploited quickly, to the
point where everything settles into some equilibrium of being not more
profitable than your average job of comparable difficulty.&lt;/p&gt;
&lt;p&gt;As a corollary, if you want to benefit from being right, you have to catch
such an opportunity quick enough as long as it generates excessive returns.&lt;/p&gt;
&lt;p&gt;If you want to convince people, you have to lower their cost of being right.
Usually this involves providing a face-saving pivot and even more work on your
side, but ultimately.
But often this is not really something you can do, especially on the level of
companies, or worse, in politics.&lt;/p&gt;
&lt;p&gt;Sometimes, the best thing you can do is just to wait and try to hedge your
bets.
Being wrong is only possible for so long, for one reason or another.
And sometimes, things just end.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;All your strength, all that rage and you couldn&amp;rsquo;t save this world from
itself&amp;hellip;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Dr. Samuel Hayden&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;
</description>
    </item>
    
    <item>
      <title>Lessons from my frist strongman prep</title>
      <link>https://example.org/blog/lessons-from-first-strongman-prep/</link>
      <pubDate>Sat, 14 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/lessons-from-first-strongman-prep/</guid>
      <description>&lt;p&gt;Due to a few coincidents, like me being too weak for powerlifting and people
at my gym having a large collection of Atlas stones, I somehow slid into
strongman and did a totally beginner meet in May 2025.
To commemorate this and have a few takeaways, I immediately started writing a
blog post about it, and well, life got busy and now it is almost a year later,
perfectly timed to remind me of the things I almost had forgotten.&lt;/p&gt;
&lt;h2 id=&#34;strongman-is-an-actual-sport&#34;&gt;
  Strongman is an actual sport
  &lt;a href=&#34;#strongman-is-an-actual-sport&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Contrasting with powerlifting, where you only need to be very strong in a very
specific position, strongman requires multiple athletic characteristics.
Endurance, speed, athleticism, mobility, spatial thinking, power and, of
course, strength mean that there is a wider competitive pool than in
powerlifting, where there is a strong selection for short limbed stocky short
people.&lt;/p&gt;
&lt;p&gt;Obviously, most athletes are very strong, duh.
Genetic gift or pharmaceutical enhancements allow many of them to perform a
few very heavy sets on the implements and still grow and get stronger from it,
something genetically misplaced individuals like me can only dream of.&lt;/p&gt;
&lt;p&gt;As a consequence, many people train like that and thus lack the work capacity
of people who actually need to double down on volume to just keep the amount
of muscle they have.
Which means, until the training meta catches up, you need a lot less talent to
compete, if you put in the work.&lt;/p&gt;
&lt;h2 id=&#34;basic-barbell-training-goes-a-long-way&#34;&gt;
  Basic barbell training goes a long way
  &lt;a href=&#34;#basic-barbell-training-goes-a-long-way&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;There are a few goated strongman movements which are just not easy to
replicate with barbells and dumbbells:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Sandbags/Stones&lt;/li&gt;
&lt;li&gt;Log Press&lt;/li&gt;
&lt;li&gt;Farmer walks&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;A few circus tricks like the findle fingers aside, most other movements are
just variations of the general patterns and you only need to get familiar with
the implement, but not actually train the implement.&lt;/p&gt;
&lt;p&gt;You get a better continental clean by training a proper power clean and just
getting a bit of practice with the continental, than by actually strength
training with the axle for the continental clean.&lt;/p&gt;
&lt;p&gt;Most overhead events are just awkward Push Presses, and a good mix of Log
Press and Push Press does check most of the boxes.
Push press itself does carry over pretty well, but the hard lay back in a log
press has more to it than just awkwardness.&lt;/p&gt;
&lt;p&gt;The same goes for sandbag or stones, it&amp;rsquo;s just not possible to replicate with
standard gym equipment.
If you have to choose one or the other, sandbags are the superior and more
versatile training implement, one of the main reasons being that you can just
drop them about anywhere without risking damage to anywhere or the sandbag
itself.
Their squishiness adds to the muscular development, whereas stones really do
not lend themselves to more grindy efforts, like just taking them out for a
walk.
Stones definitely need some practice so you learn how to grip them, but once
you have that down, there is not really much reason to train with them.&lt;/p&gt;
&lt;p&gt;Something should be said about unilateral presses, as there is definitely a
unique technical aspect to it, but so far I think unilateral barbell work like
snatches or presses does seem to do the trick somewhat.
Also unilateral barbell presses look a lot more cooler than circus dumbbells,
which well, just look like a circus trick.&lt;/p&gt;
&lt;p&gt;Farmer walks are also cool, but not world changing cool.
Still, they carry over well to real life.
They are basically useless for other sports and taking so many steps with
heavy weights does require an exaggerated amount of recovery from your hip,
knees and ankles.&lt;/p&gt;
&lt;h2 id=&#34;strongman-movements-dont-do-shit&#34;&gt;
  Strongman movements don&amp;rsquo;t do shit
  &lt;a href=&#34;#strongman-movements-dont-do-shit&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Most other strongman movements basically are just very heavy partials.
Some overload can be useful when it is placed strategically, but after all,
overload does not drive progress, it only helps you to exploit progress you&amp;rsquo;ve
already made.&lt;/p&gt;
&lt;h2 id=&#34;frontsquats-to-me-are-deadlifts-not-squats&#34;&gt;
  Frontsquats, to me, are deadlifts, not squats
  &lt;a href=&#34;#frontsquats-to-me-are-deadlifts-not-squats&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;This is one of my favorite revelations from this period, because I never got
front squats to work.
But they carry over so well to most strongman disciplines, so I replaced my
main squat work with frontsquats:
Picking up a sandbag or stone is essentially a frontsquat.
Cleans profit massively from a strong frontsquat, as demonstrated by olympic
lifters everywhere.
Carrying things in front of you profit from a frontsquat.&lt;/p&gt;
&lt;p&gt;At some point it just clicks:
Frontsquats carry over to picking up things, and deadlifts are just distilled
picking up shit.
Indeed, as the center of mass tends to hang over the midfoot, the bar is a bit
in front of it (as opposed to the deadlift, where it can move further back),
making it extraordinarily hard to hold the position.&lt;/p&gt;
&lt;p&gt;In a sense it&amp;rsquo;s a &amp;ldquo;bar very forward out and no hinge&amp;rdquo;-deadlift.
And it is just as taxing as a deadlift, which is why I never got it to work.
But slotting it in along deadlifts instead of squats should solve this issue.&lt;/p&gt;
&lt;p&gt;At least for me.
This definitely does seem to be universally true, as for one of my training
partners, frontsquats definitely are squats and they can just program them as
a light squat variant.&lt;/p&gt;
&lt;p&gt;I guess the tl;dr is that frontsquats are awesome, they possibly just don&amp;rsquo;t
slot like a regular squat.
This might actually change once I get better at them, but who knows.&lt;/p&gt;
&lt;h2 id=&#34;grip-and-forearms-are-delicate&#34;&gt;
  Grip and forearms are delicate
  &lt;a href=&#34;#grip-and-forearms-are-delicate&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Handling heavy sandbags twice a week, topped of with far too heavy Kroc Rows,
for someone with a shitty grip resulted in my first actual severe overuse
injury.
Just rolling around a 150kg or 190kg boulder on the ground already does
something to the connective tissue and muscles in your forearms, which you are
usually not exposed to.
It is a weird and unique experience.
I have not yet found a solution, but for now I strap up for RDLs and rows and
high rep deadlifts to give my forearms a break from &amp;ldquo;moderate&amp;rdquo; and accidental
workload and do more bimodal training with heavy farmers and light weight
wrist curls.&lt;/p&gt;
&lt;h2 id=&#34;points-are-weird-and-favour-the-fast&#34;&gt;
  Points are weird and favour the fast
  &lt;a href=&#34;#points-are-weird-and-favour-the-fast&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;While powerlifters long had Wilks score and now have the sidegrade DOTS
(thanks to the widely available data you can have students come up with a
fairer score than DOTS in less than an hour), in strongman each discipline
gives you points and then overall points determine the winner.
The formulae seem arbitrary and I don&amp;rsquo;t even know them, and currently, you can
dominate all strength disciplines and then still lose first place to someone
running a few seconds faster in a single discipline.
At first I thought maybe I am just picking examples, but overall this seems to
be a trend in the WSM orientied federations like the GFSA. After all, WSM
definitely has this bias as
&lt;a href=&#34;https://www.youtube.com/watch?v=2pRqGNeX6Do&#34;&gt;Alexander Bromley pointed out in this youtube video&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Is it as bad as streetlifting, which has a whole lift dedicated to an amount
of kilos that&amp;rsquo;s 10-20% of another lift in the meet?
Probably not.&lt;/p&gt;
&lt;p&gt;This ironically leads to the situation where I, relatively speaking, am
better suited for strongman than powerlifting, because I am just too fucking
weak for powerlifting.
Not to say that I could be competetive in strongman, that&amp;rsquo;s just not in the
cards.
I still suck, but at least not at the bottom of the field but in the middle of
the field, losing to people weaker and faster than me.
Which is still weeeeird for a sport that has strong in the name, but that&amp;rsquo;s at
least something I can work on.&lt;/p&gt;
&lt;p&gt;In particular, there are some basic strategies one can employ:
If the carry weights are light, practice actual running with them; I think it
makes sense to start with very submaximal weights, because running itself is
already quite taxing and you do not want to get an overuse injury because you
started sprinting with imore than a typical sprinter&amp;rsquo;s bodyweight in each hand.
On axle presses for reps, if possible, use full or power cleans instead of
contintental cleans, because the latter just take a lot of time.
Finally, in events like loading medleys, speed is a consequence of good
technique. No minor correction of your stance before lifting the implmenet
takes as long as taking a second attempt.&lt;/p&gt;
&lt;h2 id=&#34;implements-make-percentage-based-training-difficult&#34;&gt;
  Implements make percentage based training difficult
  &lt;a href=&#34;#implements-make-percentage-based-training-difficult&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;It&amp;rsquo;s well established that strength is best trained at average intensities of
around 68%-ish of true 1RM across the months, and while with barbells this can
easily be titrated, with strongman the jumps in implements require you to have
training vary more intersession than intrasesssion, offsetting heavier days
with days a lot lighter.
Which probably explains why westside style conjugate training is still
somewhat popular there.&lt;/p&gt;
&lt;p&gt;The old approach of simply staying at a weight until it becomes obnoxiously
boring also seems to help a lot.
It also gives your body enough time to accomodate, and while strength-wise
there could be faster progressions, longevity-wise this helps avoid a lot of
the injuries we usually see in amateur strongman popping up.&lt;/p&gt;
&lt;h2 id=&#34;the-gfsa-just-does-not-care-about-good-meets&#34;&gt;
  The GFSA just does not care about good meets
  &lt;a href=&#34;#the-gfsa-just-does-not-care-about-good-meets&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;On a more sad sidenote, the GFSA is shamefully lazy when it comes to the
events.
Under the false pretense of spongebob cased &amp;ldquo;strongman is about adapting&amp;rdquo;,
events are setup with uneven plates on uneven ground and rubber mats that jump
around inbetween reps and need to be kicked back under the bar by helpers
during a lifter&amp;rsquo;s attempt.
Which sometimes does not even work and then you have people deadlifting a bar
rolling around, on one side elevated on a gym mat and on the other side just
hitting the concrete of the parking lot.
That&amp;rsquo;s just rude and not fair.
Depending on the circumstances this could be forgivable, but when the meet is
in front of a well equipped gym which would allow you to use the same plates
on all bars and actually set up a good platform for the lifters, it is just
annoying.
You don&amp;rsquo;t have to go full power- or weightlifting pedantry, and prescribing as
to how each plate has to face, but, idk, maybe make it look at least a little
bit like you care?&lt;/p&gt;
&lt;p&gt;Speaking of fairness, judging is also questionable.
While I do enjoy watching lifters dribbling an axle like it is a basketball
during axle for reps, grant this privilege to all lifters and not randomly
forbid some lifters to do touch and go.
Or don&amp;rsquo;t grant it to anyone, I don&amp;rsquo;t care, just make it even.&lt;/p&gt;
&lt;h2 id=&#34;ideas-for-the-next-prep&#34;&gt;
  Ideas for the next prep
  &lt;a href=&#34;#ideas-for-the-next-prep&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To sum it up, if I were to compete again, I probably would not change much
in my regular training. Indeed, I am not even sure if I would swap out bench
for push pressing, as I did in the past, since the bench gives you quite some
hugging power and you do not need that much shoulder strength, as you can
always drive with your legs.&lt;/p&gt;
&lt;p&gt;An event day essentially is a given, as my gym buddies would demand it, so
this would happen every other week, give or take.
If there would be a very odd lift, I would make sure to practice it with light
weights on another day of the week.
Carries are somewhat a mainstay in my program, so I can simply swap them out
for whatever variation is coming up in the competition.
As mentioned, I&amp;rsquo;d favor speed over weight in training, especially if I know
the weights in advance.
And loading events I&amp;rsquo;d just train the technique.&lt;/p&gt;
&lt;p&gt;Finally, work capacitiy goes a long way in a meet day, so timing rests is a
good way to improve it basically for free.
&lt;a href=&#34;timed%20sets&#34;&gt;Timed sets&lt;/a&gt; work well with submaximal weights and do not require
very accurate weight prescriptions, so you can make them work well with the
implements.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Sucking sucks</title>
      <link>https://example.org/blog/sucking-sucks/</link>
      <pubDate>Sun, 02 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/sucking-sucks/</guid>
      <description>&lt;p&gt;Sucking sucks.
It has become a rare experience for me to truly suck at something, and even
worse, suck at something important.
I mean not like I suck at lifting, where I do most things pretty right and
definitely are at the level of conscious competence, yet still, just by having
the wrong set of parents for the sport, only getting sub mediocre results.&lt;/p&gt;
&lt;p&gt;I mean to suck at the level of unconscious incompetence.
To be the bottom feeder, where really everyone else is far better than me.
Not knowing what I do, and worse, the looming prospect that I might never
know what I am doing there and possibly never improve at all.
It is a terrible experience.&lt;/p&gt;
&lt;p&gt;But also an interesting one, because most of our experiences where we truly
sucked at something are usually at an age, where we have no conscious process
of skill building, so we only experience the horror, without really being able
to take something away from it.
As we move through life, usually we tend to gravitate to things for which we
have at least some modicum of talent, or we enter formalized programs, where
there is some expectation management.&lt;/p&gt;
&lt;h2 id=&#34;it-is-a-real-possibility-to-keep-on-sucking&#34;&gt;
  It is a real possibility to keep on sucking
  &lt;a href=&#34;#it-is-a-real-possibility-to-keep-on-sucking&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The scary part is that it is a real possibility that you will be bad at
something forever.
We see it every day.
In gyms.
Car drivers.
In offices.
Teachers.
People in general seem to be bad at things, to the extend that it is
&lt;a href=&#34;https://danluu.com/p95-skill/&#34;&gt;almost trivial to become p95 good&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However, why should you be in the 95% percentile?
The odds are against you.&lt;/p&gt;
&lt;h2 id=&#34;games-and-sports-build-important-meta-skills&#34;&gt;
  Games and sports build important meta skills
  &lt;a href=&#34;#games-and-sports-build-important-meta-skills&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Sucking at something important sucks harder than sucking at something
unimportant.
Games and sports have many uses, and one is to provide an environment in
which it is emotionally and physically safe to be bad at things.
Also hopefully you find something at which you actually improve, so you can
build confidence, for when the situation arises where you are bad at
something important.&lt;/p&gt;
&lt;h2 id=&#34;as-a-teacher-you-must-give-hope&#34;&gt;
  As a teacher, you must give hope
  &lt;a href=&#34;#as-a-teacher-you-must-give-hope&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I was lucky in the sense that, for most of my school life, I was only bad at
things my primary caregivers couldn&amp;rsquo;t care less about, like art or sports.
In school, I was just bad at those.
People told me so.
My first day at school I was told by my teacher that my artwork is bad and
used it as an example how not to draw things.
But they never told me how to draw things.&lt;/p&gt;
&lt;p&gt;In sports it was only in eleventh grade that finally a teacher showed me how to
improve at things and I think this is what people call empowering experiences.&lt;/p&gt;
&lt;p&gt;To this day this makes me angry, not because of the injustice that incurred,
but because I know that this is why most children who are bad at math, stay
bad at math.
Some idiot teacher tells them early on that they are bad in math, but never
shows them a way forward.
Or even gives them the hope of improving some day.&lt;/p&gt;
&lt;p&gt;All progress then is always seen through the lens of lagging behind and being
worse than everyone else.&lt;/p&gt;
&lt;p&gt;Incidentally, these teachers are the proof that you can keep sucking at
something important forever.&lt;/p&gt;
&lt;h2 id=&#34;it-is-emotional-painful-to-suck-at-things&#34;&gt;
  It is emotional painful to suck at things
  &lt;a href=&#34;#it-is-emotional-painful-to-suck-at-things&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;It can feel devastating to be bad at something.
Even in video games, getting wiped can ruin your day.
Every powerlifting meet someone cries because they fucked up an attempt.
To be fair, often deservingly so.&lt;/p&gt;
&lt;p&gt;Which is why most people who are bad at things try to avoid situations, where
their incompetence could become visible to themselves.
The societal consensus has also become one, where it is not okay to make
people feel bad about themselves, so more and more things are structured in a
way where incompetence is inconsequential.
Work places are free of judgment.
In online games you usually have player pools large enough to match up with
similarly unskilled individuals.&lt;/p&gt;
&lt;p&gt;At least we have a good cope for &amp;ldquo;everyone is better than me&amp;rdquo;:
The people who are worse than you don&amp;rsquo;t even show up in situations, in
which this could become apparent.&lt;/p&gt;
&lt;h2 id=&#34;repetition-is-required&#34;&gt;
  Repetition is required
  &lt;a href=&#34;#repetition-is-required&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Some of the dread comes from the experience that you do not even know what is
going on.
It takes time for your brain to conceptualize a situation, movement, game,
what have you.&lt;/p&gt;
&lt;p&gt;Depending on the task, your aptitude and already existing skills, this process
takes more or less time.
As a complete motor moron with no athletic background, I need hundreds of
repetitions before I even know where I am in a foreign movement.
However, after a few years of lifting, even things like new strongman
implements click after as little as a dozen repetitions.
In mathematics, we spend years to remodel our brain before we even really
begin to math.
While I don&amp;rsquo;t believe in the &lt;a href=&#34;https://example.org/on-the-10k-hours-rule&#34;&gt;10k hour rule&lt;/a&gt;, conscious
practice is important.
But for conscious practice to happen, you have to swim through the sea of &amp;ldquo;I
have no fucking clue what is going on here&amp;rdquo; and this can feel like drowning.&lt;/p&gt;
&lt;h2 id=&#34;good-company-goes-a-long-way&#34;&gt;
  Good company goes a long way
  &lt;a href=&#34;#good-company-goes-a-long-way&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The most annoying thing for me is that almost nobody has a metagame in re
skill acquisition.&lt;/p&gt;
&lt;p&gt;It is rare that you pick up a new hobby and then have people who have a clear
concept of how long it takes for you to even being able to digest advice or
that can give you some estimate on how long it takes until things stop feeling
like shit.&lt;/p&gt;
&lt;p&gt;So usually the next best thing is finding people who try to improve
themselves, are somewhat optimistic and somewhat nice.
Nothing is worse than telling a noob that they suck, without contextualising
it.
Even truisms like &amp;ldquo;everyone starts small&amp;rdquo; go a long way, if they are being
told by people who have been through the process.&lt;/p&gt;
&lt;p&gt;It takes time to build the mental structures and routines on which you then
can actually improve, and nothing will sabotage your progress like people who
don&amp;rsquo;t even have a subsonscious understanding of this.&lt;/p&gt;
&lt;p&gt;I suspect there is some luck involved finding good company, but there is also
a selection bias, at least among people who want to improve on their own and
not only because their trainer or boss told them to do so.&lt;/p&gt;
&lt;h2 id=&#34;skill-acquisition-is-beautiful&#34;&gt;
  Skill acquisition is beautiful
  &lt;a href=&#34;#skill-acquisition-is-beautiful&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Few things are as rewarding and fun as learning new skills.
Overcoming the dreadful zone of completely sucking and slowly developing a
feeling for what you are doing.
Getting better and forming mental structures, to the point where you can
evauluate your metagame.
Game genres like high tech boomer shooters or soullikes partially get their
appeal just from learning a new game, new mechanics, discovering new tech.&lt;/p&gt;
&lt;p&gt;And this is the most dreadful prospect, far worse than to suck forever:
To run out of things to learn.
To be stuck in an environment, in which you can not ascend to the next level.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Switching to consoomer linux</title>
      <link>https://example.org/blog/switching-to-consoomer-linux/</link>
      <pubDate>Tue, 20 May 2025 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/switching-to-consoomer-linux/</guid>
      <description>&lt;p&gt;It has now been about a year or two since I made the switch from Funtoo to
Linux Mint.
The main reasons were&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Funtoo went directions I did not like and was ultimately discontinued&lt;/li&gt;
&lt;li&gt;after Funtoo, Gentoo just felt outdated&lt;/li&gt;
&lt;li&gt;I am closer to my friends/work environment and am native to the ubuntu
based linuxes&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;That being said, here is some documentation for future me on what to do when
installing a new computer and a general rant about the state of things.&lt;/p&gt;
&lt;h2 id=&#34;time-saving-with-consoomer-distributions-is-a-lie&#34;&gt;
  Time saving with consoomer distributions is a lie
  &lt;a href=&#34;#time-saving-with-consoomer-distributions-is-a-lie&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;It really goes downhill.&lt;/p&gt;
&lt;p&gt;I never understood why people said using Funtoo/Gentoo would cost them too
much time.
Since they often were people I generally respected for their linux skills, I
did not think about it as them being bad at linux and to be fair, still do not
think that way.&lt;/p&gt;
&lt;p&gt;With a few years of professional linux use under my belt at least now I can
say, that I am very good at computer and most of my understanding comes
actually from using distributions which are more transparent with their inner
workings.&lt;/p&gt;
&lt;p&gt;Possibly there actually &lt;strong&gt;is&lt;/strong&gt; a skill issue at play, but how would I know.&lt;/p&gt;
&lt;h2 id=&#34;crypto-works-but-needs-terminal-when-installing&#34;&gt;
  Crypto works, but needs terminal when installing
  &lt;a href=&#34;#crypto-works-but-needs-terminal-when-installing&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I tried to replicate the default setup of LVM on LUKS with the Mint installer,
but I had to do a little work around, because the GUI installer just does not
have the capabilities:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;start installer to switch keyboard layout to your locale one&lt;/li&gt;
&lt;li&gt;open terminal to unlock crypto and activate lvm groups; do not proceed to
the codecs dialog yet (otherwise go one step back)&lt;/li&gt;
&lt;li&gt;use GUI installer to properly asssign partitions (make sure to not format
those you want to keep) and continue until you set your password and username&lt;/li&gt;
&lt;li&gt;use &lt;code&gt;blkid&lt;/code&gt; and find out the UUID of the &lt;strong&gt;physical device&lt;/strong&gt; that needs to
be decrypted&lt;/li&gt;
&lt;li&gt;add the crypto devices to &lt;code&gt;/etc/crypttab&lt;/code&gt; (Update: 2025 for Mint 22 it
seems to be &lt;code&gt;/target/etc/crypttab&lt;/code&gt;) in the format
&lt;code&gt;vault UUID=$uuidfromabove none luks&lt;/code&gt;
if you call your cryptdevice &lt;code&gt;vault&lt;/code&gt; and use LUKS&lt;/li&gt;
&lt;li&gt;proceed normal install&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The normal installation then parses the crypttab and creates an appropriate
initrd image and it kinda should work.&lt;/p&gt;
&lt;h2 id=&#34;pulse-audio-is-still-the-mistake-it-always-has-been&#34;&gt;
  Pulse audio is still the mistake it always has been
  &lt;a href=&#34;#pulse-audio-is-still-the-mistake-it-always-has-been&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;No good fix there.
If it works ootb, yay.
If it doesn&amp;rsquo;t work, well, have fun.
Managing multiple audio outputs is a pain.&lt;/p&gt;
&lt;h2 id=&#34;vim-plugin-manager&#34;&gt;
  Vim plugin manager
  &lt;a href=&#34;#vim-plugin-manager&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Installing vim plugins is now different because there is some fancy
&amp;ldquo;userfriendly&amp;rdquo; layer in between.
After installing a plugin via &lt;code&gt;apt&lt;/code&gt;, it still has to be activated using the
&lt;code&gt;vim-addon-manager&lt;/code&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;vim-addon-manager install &amp;lt;plugin&amp;gt;&lt;/code&gt; before you can use it as a user&lt;/li&gt;
&lt;li&gt;&lt;code&gt;vim-addons enable &amp;lt;plugin&amp;gt;&lt;/code&gt; to actually enable it&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;locale-in-de--locale-in-terminal&#34;&gt;
  Locale in DE != locale in terminal
  &lt;a href=&#34;#locale-in-de--locale-in-terminal&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The GUI does not really expose all the LC-settings, so you need to edit some
file.
Sadly I have not documented what actually helped me to set the locale as I
want it.
Possibly it was just &lt;code&gt;dpkg-reconfigure locales&lt;/code&gt;, but it was definitely
insufficient to only populate the env.
My current hypothesis is to first edit &lt;code&gt;/etc/locale.conf&lt;/code&gt; and then run
&lt;code&gt;dpkg-reconfigure locales&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;editor&#34;&gt;
  Editor
  &lt;a href=&#34;#editor&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;For some reason nano fuckbois still exist.
Fix it by running
&lt;code&gt;update-alternatives --config editor&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&#34;network-manager-cannot-consume-wpa_supplicantconf&#34;&gt;
  Network manager cannot consume wpa_supplicant.conf
  &lt;a href=&#34;#network-manager-cannot-consume-wpa_supplicantconf&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Another abomination that should be purged from earth.&lt;/p&gt;
&lt;p&gt;You can disable the device being managed by Network damager in network
settings and then go back to proper &lt;code&gt;wpa_supplicant&lt;/code&gt;:&lt;/p&gt;
&lt;p&gt;Use &lt;code&gt;systemctl edit wpa_supplicant&lt;/code&gt; to change the unit file&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Service]
 ExecStart=
 ExecStart=/sbin/wpa_supplicant -u -s -O /run/wpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -iwlp2s0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and then maybe &lt;code&gt;systemctl enable&lt;/code&gt; but what do I care.&lt;/p&gt;
&lt;h2 id=&#34;i-miss-tiling&#34;&gt;
  I miss tiling
  &lt;a href=&#34;#i-miss-tiling&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Many applications came to expect things like window borders and task bars, so
using a desktop environment like Cinnamon does make many things &amp;hellip; less
janky.
However, I just can&amp;rsquo;t find shit anymore since I switched from xmonad to
cinnamon.&lt;/p&gt;
&lt;h2 id=&#34;recent-documents-is-fucked-in-cinnamnon&#34;&gt;
  Recent documents is fucked in Cinnamnon
  &lt;a href=&#34;#recent-documents-is-fucked-in-cinnamnon&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;There are only 20 recent files hardcoded in Cinnamon, across all applications
that share this buffer.
No solution yet.&lt;/p&gt;
&lt;h2 id=&#34;steam-works-fine&#34;&gt;
  Steam works fine
  &lt;a href=&#34;#steam-works-fine&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Unbeknownst to most of the population, Steam is relies on 32bit
libraries, which made it a PITA on pure 64bit installations (such as Funtoo).&lt;/p&gt;
&lt;p&gt;Well, it does work fine on Mint, can&amp;rsquo;t complain here.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Generating a login cookie for Nextcloud</title>
      <link>https://example.org/blog/generating-a-login-cookie-for-nextcloud/</link>
      <pubDate>Fri, 18 Oct 2024 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/generating-a-login-cookie-for-nextcloud/</guid>
      <description>&lt;p&gt;When running a Nextcloud (or ownCloud 10 for that matter) you usually have a
key-value database like redis, valkey, keydb or memcache for session handling.
This introduces some complications for monitoring, because it does not suffice
to simply check if the host is up.&lt;/p&gt;
&lt;p&gt;Indeed, just the file storage failing would still lead to the login page
rendering fine, but file access being disturbed, so at least we do need a
check like&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NC_URL=&amp;quot;https://example.org&amp;quot;
WEBDAV_URL=&amp;quot;${NC_URL}/remote.php/dav/files/&amp;quot;
USER=atestuser
PASSWORD=somepassword

curl -u ${USER}:${PASSWORD} -s -G ${WEBDAV_URL}/${USER}/Readme.md
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Still, session handling can be broken independently, and it would not show
up in this test, because we do not use a session, but a user using the web
interface would not be able to use the Nextcloud instance.
Sadly it also does not suffice to check if your key-value db is up, networking
can be a bitch sometimes.&lt;/p&gt;
&lt;p&gt;One can &amp;ldquo;simply&amp;rdquo; run selenium tests mimicking the login flow and this is
definitely recommended, but they tend to be too expensive to be run at the
frequencies appropriate for liveness checks.&lt;/p&gt;
&lt;p&gt;So we need a test which tries to get a cookie.&lt;/p&gt;
&lt;p&gt;With ownCloud 10, you can repurpose the cookie generated from the request
above:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;OC_URL=&amp;quot;https://example.org&amp;quot;
WEBDAV_URL=&amp;quot;${OC_URL}/remote.php/dav/files/&amp;quot;
USER=atestuser
PASSWORD=somepassword

curl -c cookies.txt -u ${USER}:${PASSWORD} -s -G ${WEBDAV_URL}/${USER}/Readme.md
curl -b cookies.txt -s -G ${WEBDAV_URL}/${USER}/Readme.md
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But Nextcloud does some
primitive brute force protection by presenting a token string on the login
page, as well as encoding a session passphrase in the cookie, so we actually
need to use this cookie and craft the actual login POST request:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;NC_URL=&amp;quot;https://example.org&amp;quot;
WEBDAV_URL=&amp;quot;${NC_URL}/remote.php/dav/files/&amp;quot;
USER=atestuser
PASSWORD=somepassword

requesttoken=$(curl -c cookies.txt ${NC_URL}/login | \
  grep data-requesttoken | \
  sed -e &#39;s/^ data-requesttoken=&amp;quot;//g&#39; -e &#39;s/&amp;quot;&amp;gt;$//g&#39;)
curl -b cookies.txt -c cookies.txt \
  --data-urlencode &amp;quot;user=${USER}&amp;quot; \
  --data-urlencode &amp;quot;password=${PASSWORD}&amp;quot; \
  --data-urlencode &amp;quot;requesttoken=${requesttoken}&amp;quot; \
  -X POST &amp;quot;${NC_URL}/login&amp;quot; 
curl -b cookies.txt -m 7 -s -G \
        &amp;quot;${WEBDAV_URL}/Readme.md&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now this is can be integrated into one&amp;rsquo;s general CI pipeline or even ancient
monitoring tools like check_mk.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Some notes on BMI and FFMI</title>
      <link>https://example.org/blog/on-bmi/</link>
      <pubDate>Tue, 06 Aug 2024 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/on-bmi/</guid>
      <description>&lt;p&gt;The BMI (body mass index) is a well known formula to put the weight of a
person in relation to their size.
It does only work well in a small range and fails on muscular people, but at
least with one small trick we can remove the influence of muscle.&lt;/p&gt;
&lt;h2 id=&#34;historical-reason-for-bmi&#34;&gt;
  Historical reason for BMI
  &lt;a href=&#34;#historical-reason-for-bmi&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;BMI is a very simple formula.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;BMI = weight/height^2&lt;/code&gt;
where weight is measured in kg and height in m, as it should be.&lt;/p&gt;
&lt;p&gt;But why the quadratic exponent you might ask?
Doesn&amp;rsquo;t &lt;a href=&#34;https://en.wikipedia.org/wiki/Allometry&#34;&gt;allometry&lt;/a&gt;
suggest a fractional exponent?
True.
But when BMI was invented in 1832, fractional exponents were
&lt;a href=&#34;https://en.wikipedia.org/wiki/History_of_logarithms&#34;&gt;mindblowingly hard&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On the other hand, you can just calculate the square of any decimal you
encounter when measuring humans in your head pretty easily.
Or on any non-scientific calculator.&lt;/p&gt;
&lt;h2 id=&#34;ffmi-and-adjusted-ffmi&#34;&gt;
  FFMI and adjusted FFMI
  &lt;a href=&#34;#ffmi-and-adjusted-ffmi&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;FFMI is the abbreviation for Fat Free Mass Index.
Trying to find a formula for FFMI is not that easy as one would expect.
There are weird formulae all around, mostly because of freedom units and
people not thinking about what they are doing.
What the actual fuck, because the formula is not that hard:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;FFMI = lean bodymass/height^2&lt;/code&gt;.
It is just the same as BMI, you only replace total body mass by lean body
mass.&lt;/p&gt;
&lt;p&gt;In the
&lt;a href=&#34;https://journals.lww.com/cjsportsmed/Abstract/1995/10000/Fat_Free_Mass_Index_in_Users_and_Nonusers_of.3.aspx&#34;&gt;infamous Kouri et al paper estimating FFMI of steroid users&lt;/a&gt;
a linear normalization term is used for the FFMI to adjust for height, leading
to the normalized FFMI (nFFMI) given by
&lt;code&gt;nFFMI = FFMI + 6.1*(1.8 - height)&lt;/code&gt;
so that everything is normalized to the height of a 1.8m man.&lt;/p&gt;
&lt;p&gt;There are two important notes about this formula.&lt;/p&gt;
&lt;p&gt;The first is that this correction term has been created &lt;em&gt;ad hoc&lt;/em&gt; for the study
by calculating the slope of a regression line through the non-steroid users
with an FFMI of 22 and above.
Which is valid in the context of the study, but well, definitely not something
that should be extended to the whole population unquestioned, like most people
seem to do.
The second is that the abstract reports a correction factor of 6.3, whereas
the study uses 6.1 and I have seen both in use.&lt;/p&gt;
&lt;p&gt;I don&amp;rsquo;t think it&amp;rsquo;s sensible to use a linear regression factor based upon a
small, biased sample size and probably any correction is as valid or invalid
as any other until we build a model that actually works on large datasets and
ideally is not just a stupid curve fit (I am looking at you, DOTS and
Wilks&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;).&lt;/p&gt;
&lt;h2 id=&#34;bmi-decomposes-into-ffmi-and-fmi&#34;&gt;
  BMI decomposes into FFMI and FMI
  &lt;a href=&#34;#bmi-decomposes-into-ffmi-and-fmi&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;By using
&lt;code&gt;FMI = fat mass/height^2&lt;/code&gt; we can define the fat mass index and then indeed we
get a linear decomposition of BMI:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;BMI = FFMI + FMI&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;In particular we know that lifting people have FFMIs 3-8 points above genpop,
ranging from about 20 - 25, with some individuals scoring even higher.
If you lift you can gauge how advanced you are and adjust your BMI threshholds
accordingly.&lt;/p&gt;
&lt;p&gt;Note however that bodyweight alone is a risk factor just due to inconveniences
like hydrostatic pressure, so if your BMI is beyond 30 or even 35, you have to
closely monitor corresponding health markers, regardless of being fat or not. &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id=&#34;i-guess-nobody-really-tries-to-adjust-for-gender-or-height-using-the-bmi&#34;&gt;
  I guess nobody really tries to adjust for gender or height using the BMI
  &lt;a href=&#34;#i-guess-nobody-really-tries-to-adjust-for-gender-or-height-using-the-bmi&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The usual rules are 20-25 is ok, 25-30 is overweight but not critical,
over 30 is fat and under 20 is underweight, with some more categorizations of
the problematic cases as you move up or down towards death.
However, they do not account for gender or height, despite the obvious
implications of both, which becomes even more obvious with the decomposition
of BMI into FFMI and FMI.&lt;/p&gt;
&lt;p&gt;I have not come across a single attempt to adapt the guidelines, like using
lower numbers for small females or bigger numbers for tall males.
Maybe that is too easy.
Maybe physical practitioners just do that in their offices and then have to do
additional paperwork for the insurance side of things.&lt;/p&gt;
&lt;p&gt;But more likely people which do not have the default body, which is &amp;ldquo;average
sized sedentary adult human male&amp;rdquo; just get worse treatment.
As always.&lt;/p&gt;
&lt;h2 id=&#34;new-bmi-or-bbmi-for-the-rescue-maybe&#34;&gt;
  New BMI or BBMI for the rescue maybe
  &lt;a href=&#34;#new-bmi-or-bbmi-for-the-rescue-maybe&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The obvious solution is just to scrap the BMI and use something with a
fractional exponent, because we have computers.
We will still not have perfect results with any simple formular, so we might
as well take 2.5 as exponent midway between quadratic and cubic and it will be
close enough anyway.&lt;/p&gt;
&lt;p&gt;To keep the guidelines, one needs a normalizing factor to make &amp;ldquo;average sized
adult human males&amp;rdquo; score the same number as before, i.e. something along the
lines of
&lt;code&gt;1.75^2.5/1.75^2&lt;/code&gt; which is roughly equal to 1.3.&lt;/p&gt;
&lt;p&gt;Tadaa, we have arrived at
the &amp;ldquo;new BMI&amp;rdquo; or, even catchier, &amp;ldquo;Better BMI&amp;rdquo;, which obviously is defined as
&lt;code&gt;BBMI = 1.3 * weight/height^2.5&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;This is still linear in weight, so we could still use this to define a BFFMI
and a BFMI and possibly this might just work well enough.&lt;/p&gt;
&lt;p&gt;Or we can just use this to adjust our BMI tables.&lt;/p&gt;
&lt;p&gt;Just looking at the following plot at least it seems to line up better with
bodyweights observed in the wild and it is also roughly matching common
optimal weight classes such as those suggested by Boris Sheiko, putting people
in between 1.8m and 1.9m in the 110kg+ category.&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&#34;https://example.org/images/bmi-bbmi.png&#34; alt=&#34;Bodyweight for 25 BMI or BBMI and 24 FFMI at 15% bodyweight respectively&#34; /&gt;
&lt;figcaption aria-hidden=&#34;true&#34;&gt;Bodyweight for 25 BMI or BBMI and 24 FFMI at 15% bodyweight respectively&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;To defend Wilks, at their time this was a non-trivial task, whereas
nowadays you can just use the openpowerlifting dataset in a python beginner
course to improve upon both of them.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;Outside of medical conditions there is not really an excuse to ever let
heart rate and blood pressure into the high area. Cardiovascular training
works and dying kills your gains.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Divine gym truths</title>
      <link>https://example.org/blog/divine-gym-truths/</link>
      <pubDate>Sun, 21 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/divine-gym-truths/</guid>
      <description>&lt;p&gt;There are things about lifting which are so overgeneralized that they
are obviously wrong, but at the same time they are absolutely true.
Sometimes our scientific view would suggest that there should be
counterexamples, but there are not.&lt;/p&gt;
&lt;p&gt;Most of these things are obvious and can be observed by anyone who ever set
foot in a gym.
But people are usually either not observant or not at the gym, which is why
they suck.&lt;/p&gt;
&lt;p&gt;Some of these things would fit into a post titled
&amp;ldquo;things I wish I knew when I was starting lifting&amp;rdquo;
but this would be kind of clickbait and the title should probably read along
the lines
&amp;ldquo;things I am glad I already knew when I was starting lifting because I
actually read things&amp;rdquo; and that&amp;rsquo;s longer than eighty characters.&lt;/p&gt;
&lt;p&gt;As the internet is dying and half the stuff I have read has already
disappeared into the void, here is my feeble attempt to conserve some of these
divine truths, which were once imprinted into the being of everyone who was
willing to squat enough weight to please the gods.&lt;/p&gt;
&lt;h2 id=&#34;you-have-to-squat&#34;&gt;
  You have to squat
  &lt;a href=&#34;#you-have-to-squat&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Technically, you do not have to squat.
Yet I have to see anyone who has obtained a modicum of muscularity and did not
squat.
Is it a rite of passage?
Is it because it trains so much musculature on the front and backside of your
body at once and nobody has the time to replicate that effect with dozens of
machines?
Is it just the buy in and putting in the effort to learn an uncomfortable
movement, where the bar is resting on your back and it feels like it&amp;rsquo;s
crushing you?
It is the complete movement which gives you sufficient body awareness to also
make other leg exercises work and generally improve athleticism?&lt;/p&gt;
&lt;p&gt;The only thing we know is that it is so important that people even tried to
find mechanisms like growth hormone secretion to explain why only people who
squat grow.
These mechanisms are of course bullshit, but still, you need to squat.&lt;/p&gt;
&lt;p&gt;Do you need to squat every block once you are advanced?
Maybe not.
But until you are somewhat strong, you have to squat.&lt;/p&gt;
&lt;p&gt;Also.
No, you do not have strong legs, not naturally, not from other sports.
Go squat.&lt;/p&gt;
&lt;h2 id=&#34;you-have-to-squat-to-depth-below-parallel&#34;&gt;
  You have to squat to depth, below parallel
  &lt;a href=&#34;#you-have-to-squat-to-depth-below-parallel&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The only population which has any business in cutting their depth are
powerlifters, because they only need to go just below parallel and that&amp;rsquo;s it.
Incidentally, those with big squats usually have leverages such that just
below parallel for them is already a good stimulus, and it&amp;rsquo;s sufficient for
them.&lt;/p&gt;
&lt;p&gt;The rest of us, who have femurs with actual length to them, usually need to
squat deeper.
I guess it&amp;rsquo;s about reaching some relative elongation of the muscle, which
absolutely needs more angle if the muscle is longer, but research is barely
figuring out that longer muscle lengths help more, so I guess we need to wait
a few more years to see an answer here.&lt;/p&gt;
&lt;p&gt;No, conjugate method and squatting to a high box are no excuse.
No, it&amp;rsquo;s not more specific to your running.
No, you knee is probably not happier about using three times the weight through
10% of the ROM.
Yes, please do think depth will come in comp.
Keep believing.&lt;/p&gt;
&lt;h2 id=&#34;you-have-to-get-somewhat-strong&#34;&gt;
  You have to get somewhat strong
  &lt;a href=&#34;#you-have-to-get-somewhat-strong&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I think for male specimen the numbers are around a double bodyweight deadlift,
around a bodyweight bench and squat somewhere in between one and a half
bodyweight to double bodyweight depending on leverages.
For female specimen one probably would shoot for slightly lower numbers.
The above mentioned standards are still very achievable, but in the absence of
testicles there is a significant protraction of time frames and things just
take longer to play out.
So maybe something like 1.2x bodyweight squat, 1.7x bodyweight deadlift and
0.8x bodyweight bench might match that in terms of effort per value, but there
is still the disclaimer that I lack first person insight here.&lt;/p&gt;
&lt;p&gt;Furthermore, benching one plate for reps and deadlifting two plates for reps
is something any non-tiny female assigned at birth should strive for, just to
mock weak dudes at the gym.
It is not ego lifting, it is punishing male fragility.&lt;/p&gt;
&lt;p&gt;Note that these are minimums.
Most people think that you&amp;rsquo;re pretty far down the road once you hit those
numbers, whereas in fact, that&amp;rsquo;s where lifting actually starts.
Most progress will happen after these numbers, not before these.
And coincidentally it&amp;rsquo;s usually the first plateau after you exhausted linear
progression on beginner and intermediate programs.
Until then, it was more about learning the lifts and get to a baseline of
muscularity, and now it is time to put them to work.&lt;/p&gt;
&lt;p&gt;If your main sport is something different, like running or climbing, well, hit
these numbers and then keep lifting to keep your joints healthy and build some
quality mass, but you probably don&amp;rsquo;t need to push it as hard anymore.
The quicker you get it over with, the quicker you can focus on your main sport
without being held back by your pitiful weakness.&lt;/p&gt;
&lt;h2 id=&#34;if-your-main-sport-is-not-lifting-you-still-have-to-get-somewhat-strong&#34;&gt;
  If your main sport is not lifting, you still have to get somewhat strong
  &lt;a href=&#34;#if-your-main-sport-is-not-lifting-you-still-have-to-get-somewhat-strong&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;You know how in school sports always the dumb kids are the best at literally
everything because they repeated a grade and are just bigger and stronger than
everyone else?&lt;/p&gt;
&lt;p&gt;Well, by just getting somewhat strong as outlined as above, you can turn
yourself in a dumb kid.
In a good way.&lt;/p&gt;
&lt;p&gt;Most of the &amp;ldquo;first milestones&amp;rdquo; people find so difficult to attain, like
running a 10k or other arbitrary metrics, evaporate if you are just slightly
trained.&lt;/p&gt;
&lt;p&gt;It takes only six to 24 months of solid barbell training to get a lot of
strength, power and speed.
Can you get the same benefits from non-barbell training?
Sure.
But then it takes years, if not decades to reach the same level, which you
could have spent getting actually better at your main sport, or, even if you
are only in for the health benefits, living healthier.
Don&amp;rsquo;t be a scrub. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;
Time is not on your side.
Barbells are.&lt;/p&gt;
&lt;p&gt;Obviously there are diminishing returns at some point.
But they definitely do not begin at a double bodyweight deadlift.&lt;/p&gt;
&lt;p&gt;Get on a beginner linear progression, milk that out, follow up with some
intermediate linear progression, milk that out and at that point you can
probably just never set a foot in a gym again and still profit from this
invested effort, by being stronger, faster and more durable than anyone else
in your sport.&lt;/p&gt;
&lt;p&gt;Also.
No, you do not have strong legs, not naturally, not from other sports.
Go squat.&lt;/p&gt;
&lt;h2 id=&#34;you-have-to-get-stronger-for-reps&#34;&gt;
  You have to get stronger for reps
  &lt;a href=&#34;#you-have-to-get-stronger-for-reps&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Your one rep max does not matter out of powerlifting, but getting stronger for
multiple repetitions over multiple sets is what really drives muscular
progress, work capacity and general usefulness.&lt;/p&gt;
&lt;p&gt;In contrast to what Rippetoe says, it&amp;rsquo;s beneficial to be a volume warrior.
At least to become one over time.&lt;/p&gt;
&lt;p&gt;Your 5RM is a good proxy, if it goes up, you are sure as hell getting stronger
and bigger, and any training that drives your 5RM in a reliable matter will
yield benefits.
Fewer reps are more dependent on neuronal adaptations, technical stability and
the ability to display strength, so they are not that good of a proxy for
progress overall, and anything beyond ten reps will be too light to really
gauge any progress and be dependent more on other short lived factors like
local substrates or just pain tolerance.&lt;/p&gt;
&lt;p&gt;Be aware that any rep scheme will fluctuate with your fitness and your
periodization, so compare apples to apples and do not think you have stalled,
because your 10RM on the squat did not move for a year, when you did not
squat for more than 3 reps for a year, or the other way around.&lt;/p&gt;
&lt;h2 id=&#34;bodyweight-exercises-as-a-whole-suck&#34;&gt;
  Bodyweight exercises as a whole suck
  &lt;a href=&#34;#bodyweight-exercises-as-a-whole-suck&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In general bodyweight exercises suck.
Nevertheless, small people are often enamored with them, which usually boils
down to some naturalistic fallacy or just being scared of weights, having
anxiety to go to the gym or factors.
Which are serious issues and should be adressed, to allow for proper training
and possibly generally a better life.
Don&amp;rsquo;t let avoidant behaviour keep you from growing.&lt;/p&gt;
&lt;p&gt;Push-ups, unweighted squats, whatever you can think of, you are not getting
much progress out of them.&lt;/p&gt;
&lt;p&gt;Going from 0 to 10 push-ups or bodyweight squats?
OK, that&amp;rsquo;s some solid progress preparing you for the gym.
Going from 10 to 20 or 100 push-ups or bodyweight squats or crunches?
That&amp;rsquo;s just a waste of time.
Moreover, most people&amp;rsquo;s form does not warrant spamming these exercises and
will set them up for overuse injury.&lt;/p&gt;
&lt;p&gt;Every boy who watched Dragon Ball did that and none of us got any
visible progress or even transferable strength from that.&lt;/p&gt;
&lt;p&gt;On a historical note, Indian ringers did and do live on a steady regiment of
thousands of push-ups and bodyweight squats a day, and they look like shit.
I did a thousand push-ups and two thousand bodyweight squats a day and I
looked like shit and still had to start with the empty bar on the squat and
bench.&lt;/p&gt;
&lt;p&gt;Unless your main sport is gymnastics or calisthenics, bodyweight exercises
beyond the bare minimum are a waste of time.
You can manipulate the upper body movements to harder levers, but that&amp;rsquo;s just
adding weight to the bar with extra steps.
As for lower body, nothing comes close to moving weight.&lt;/p&gt;
&lt;p&gt;Experienced lifters can make them work in the context of a strength program
involving barbell lifts as the main driver, but for everyone else they are
usually a waste of time.&lt;/p&gt;
&lt;p&gt;Dips and chin-ups are the exception to the rule, but guess what?
At some point you do them weighted and not just with your bodyweight.
And if you are really into it, you can move into the leveraged versions, but
that&amp;rsquo;s once you already know what you are doing, know where you want to end up
and have developed a taste for exercises that goes beyond the children&amp;rsquo;s
palate of curls and chest flies.&lt;/p&gt;
&lt;p&gt;Also.
No, you do not have strong legs, not naturally, not from other sports.
Go squat.&lt;/p&gt;
&lt;h2 id=&#34;more-is-more&#34;&gt;
  More is more
  &lt;a href=&#34;#more-is-more&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;The answer has always been more weight for more reps, not less weight for
more reps or more weight for less reps&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The research is slow on this one and this is essentially an artifact of the
scientific process.
The first studies on a topic usually give you the protocols used for a long
time and there is a selection bias to studies which are an statistical
outlier, because otherwise people would not assume an effect in the first
place.&lt;/p&gt;
&lt;p&gt;Which is why we were stuck with protocols of three sets of eight for decades,
until finally people who actually lifted started to perform studies.
Three sets of eight works well for almost nobody but the best responders, and
even if you see bodybuilders living on a diet of 3x8, they usually do multiple
exercises for the same body part with this rep scheme, and at that point one
could raise the question if it would not be just easier to do more sets of the
same exercise and save the variation for further mesocycles.&lt;/p&gt;
&lt;p&gt;If you are getting good results with whatever you are doing right now, good.
Keep doing that.
But if not, try doing more.
Very rarely doing less is the right answer, at least outside the scope of
peaking and periodization.&lt;/p&gt;
&lt;p&gt;There are constraints to doing more:
time, energy, structural integrity, work capacity.
Be aware of them.
Work with your body, not against it.&lt;/p&gt;
&lt;p&gt;If you make progress, there is very little need to change.
But when progress stalls, the answer is usually more.&lt;/p&gt;
&lt;h2 id=&#34;if-you-train-hard-you-need-to-deload&#34;&gt;
  If you train hard, you need to deload
  &lt;a href=&#34;#if-you-train-hard-you-need-to-deload&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Unless you are being coached by some very competent coach who manages your
load masterfully throughot the year, it is very likely that you need to
deload, and probably it will be something around every four to six weeks.&lt;/p&gt;
&lt;p&gt;Deloading not only gives you a break, but actually allows you to train harder:
One, after the deload (or the very least, after the second week in the cycle)
you will be much fresher than before, so you can train much harder.
Two, just before the deload, there is very little reaon to hold back and you
can train otherwise unsustainably hard.&lt;/p&gt;
&lt;p&gt;There are multiple ways to structure a deload.
For me I found it to be a good opportunity to do a little test run of the next
cycle, just working up and stopping just before the working sets, so I can get
a feel for what the next cycle will be like and possibly change some things up
I did not notice when only writing the plan.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Sirlin coined the term &lt;a href=&#34;https://www.sirlin.net/ptw-book/introducingthe-scrub&#34;&gt;scrub&lt;/a&gt; for people who do not want to git
gud&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>How I sauna</title>
      <link>https://example.org/blog/how-i-sauna/</link>
      <pubDate>Fri, 19 Jul 2024 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/how-i-sauna/</guid>
      <description>&lt;p&gt;I have been asked about how to structure a sauna routine twice in a single
week, so I guess here is the generalized answer on this topic.&lt;/p&gt;
&lt;p&gt;Most people figure out their routine over time, and it usually boils down to
listening to your own body, but if you mimick the wrong people you just might
stumble into a style that does not suit you, leading you to think that sauna
is not for you.
But I think &amp;ldquo;listening to the body&amp;rdquo; can be operationalized a bit better, so
you know what to look out for and maybe have a better preselection at a style
that suits you.&lt;/p&gt;
&lt;p&gt;Finally I conclude with a overgeneralized tl;dr, because much of it is also
kind of &lt;a href=&#34;https://example.org/write-down-the-obvious&#34;&gt;obvious&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;factors-involved&#34;&gt;
  Factors involved
  &lt;a href=&#34;#factors-involved&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;People have been wondering what is so healthy about it and proposed very
complex models, but in the end it seems to boil down to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the change between heat and cold is stimulating the immune system andk
helping the lymphatic system&lt;/li&gt;
&lt;li&gt;it is relaxing and kind of meditative&lt;/li&gt;
&lt;li&gt;it is social&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Consequently we have validation that we can just do what we enjoy and feel is
good for us, because there are no magic buttons to push.&lt;/p&gt;
&lt;h3 id=&#34;temperature&#34;&gt;
  Temperature
  &lt;a href=&#34;#temperature&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The first difference that comes to mind is whether your sit up or lie down,
and how hot you like it.
I feel like lying down is more for people with a bit of weaker cardiovascular
system and it makes overall for a more relaxing, less intense experience.
Temperature is similar to that, hotter sauna are harder on the body and some
people just like it hotter, others like it not so hot.
Sometimes you have no choice in sauna temperature, and the only way to
modulate temperature is by sitting higher up or lower down in the sauna.&lt;/p&gt;
&lt;h3 id=&#34;costs&#34;&gt;
  Costs
  &lt;a href=&#34;#costs&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;My sauna routine happens in the context of a somewhat active lifestyle and
lifting heavy weights around four times a week.
So there are three major costs for me to consider&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the heat stress&lt;/li&gt;
&lt;li&gt;the anti-inflammatory effect of cold on muscles I just trained&lt;/li&gt;
&lt;li&gt;the time commitment&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Heat stress is an important factor, as systemically, all stress is stress and
will interfere with your gainz.
It is suggested that cooling muscles which have been trained reduces the
effect of the training, because some of the processes set in motion by the
training will inhibited.
This seems to be mostly mediated via inflammatory pathways and with NSAIDs we
have some evidence of them interfering with muscle gains, which is good enough
for me; it lines up with what we observe in the field.&lt;/p&gt;
&lt;p&gt;Practically speaking, cooling down a muscle or just taking cold showers even
without the context of lifting, seems to make the muscle less sore the next
day.
So this is a good idea if one needs to perform the next day, but there is a
possibility of it interfering with tissue accretion.&lt;/p&gt;
&lt;p&gt;Time cost is pretty obvious.
Going to the sauna takes some time and you possibly need to get there as well,
and anything you get out of sauna should be worth that.&lt;/p&gt;
&lt;h3 id=&#34;mass&#34;&gt;
  Mass
  &lt;a href=&#34;#mass&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Heating up a 90kg body to the core takes longer than heating up a 70kg body or
even a 50kg body.
Think about microwaving a large meal; if you only put it in for a few minutes
on the highest setting, you often get the outside very hot, but inside it is
pretty cold.
To circumvent this, you can mix the meal inbetween heating, or you can just
put it into the microwave for a few minutes, wait a few minutes so the heat
has a chance to dissipate towards the core, and then reheat again.
Or you just use a lower setting and let it inside the microwave for longer.&lt;/p&gt;
&lt;h2 id=&#34;my-own-routine&#34;&gt;
  My own routine
  &lt;a href=&#34;#my-own-routine&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I go to the sauna one or maybe two times a week, after training, because the
sauna is at the gym and I am just not going to the gym only for sauna.&lt;/p&gt;
&lt;p&gt;Since I like it hot and am on the heavy side of things, I do two or three
shorter bouts of eight to 15 minutes in the hottest sauna, sitting in the
hotter spots, upright.
The duration is mostly dependent on the actual temperature in the sauna and
then I basically wait until breathing becomes moderately uncomfortable; a bit
more than slightly uncomfortable.&lt;/p&gt;
&lt;p&gt;Usually that&amp;rsquo;s a good point to leave; up until then being in the sauna is
pretty relaxing, but I do not think it&amp;rsquo;s necessary or wise to push things, so
when I would need to push myself to stay inside the sauna, well, I leave.&lt;/p&gt;
&lt;p&gt;I then follow up with a cold shower and then some rest.
Usually after the second round the cold shower feels very nice and refreshing
instead of just cold, but if not and time permits it, I go for a third round,
just to get a bit more warmth.&lt;/p&gt;
&lt;h2 id=&#34;the-tldr&#34;&gt;
  The tl;dr
  &lt;a href=&#34;#the-tldr&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I think the tl;dr is&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the fitter you are, the hotter and more upright you can sauna, if you want
to&lt;/li&gt;
&lt;li&gt;the more concerned with muscle growth you are, the less you want to cool
down trained areas&lt;/li&gt;
&lt;li&gt;don&amp;rsquo;t push yourself, but find a good level of slight discomfort before
leaving the sauna&lt;/li&gt;
&lt;li&gt;remember that heat stress is stress and adds to your total systemic stress&lt;/li&gt;
&lt;li&gt;the heavier you are, the longer and more intermittent you need to sauna&lt;/li&gt;
&lt;li&gt;if you tried a few different styles and still don&amp;rsquo;t like it, well, you do
not like it and you definitely do not have to push yourself to sauna&lt;/li&gt;
&lt;/ul&gt;
</description>
    </item>
    
    <item>
      <title>Befriending oneself</title>
      <link>https://example.org/blog/befriending-oneself/</link>
      <pubDate>Sat, 03 Feb 2024 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/befriending-oneself/</guid>
      <description>&lt;p&gt;People often throw around phrases like &amp;ldquo;practice self-compassion&amp;rdquo; or &amp;ldquo;love
yourself&amp;rdquo;.
While this might be something that in theory possibly is
helpful to some people, it is not immediately clear why it should be good and
in practice the typical results seem to be bi-modally distributed around two
poles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;people become self-entitled and egoistical&lt;/li&gt;
&lt;li&gt;people become more destitute because they have very good reasons to not love
or feel compassion to themselves&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These poles are not exclusive, so this well-meant tip, like most
well-meant things, often does more harm than good, leaving people in miserable
places, with both factors reinforcing each other.&lt;/p&gt;
&lt;h1 id=&#34;we-are-better-to-others-than-to-ourselves&#34;&gt;
  We are better to others than to ourselves
  &lt;a href=&#34;#we-are-better-to-others-than-to-ourselves&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;On the other hand, when it comes to helping other people, especially friends,
we often perform exceptionally well and are relentlessly forgiving:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;we are on time and handle even tasks we normally put off&lt;/li&gt;
&lt;li&gt;we are compassionate for their failures&lt;/li&gt;
&lt;li&gt;we cheer every tiny little progress and every tiny win&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Furthermore, usually have a clearer view of their problems and how to
approach these, at least as long as we are not conflicted, and we are better
at being somewhat strict about it and we might even try to discipline our
friends.
As the saying goes, friends don&amp;rsquo;t let friends squat high.
But people still squat high, and while it would seem obvious, not everyone is
aware about it or they otherwise make it seem okay to themselves.
The outside perspective helps greatly to cut through the bullshit here.&lt;/p&gt;
&lt;p&gt;Having friends is also kinda nice, as being in places with a friend usually is
less awkward and more than than being alone there, and you are probably less
anxious about random interactions.&lt;/p&gt;
&lt;p&gt;Now, while completely appropriate and surprisingly reasonable in this setting
(maybe for another issue), this is not the cue for the talk about our lord and
savior, Jesus Christ, but about befriending oneself.&lt;/p&gt;
&lt;h1 id=&#34;befriending-yourself&#34;&gt;
  Befriending yourself
  &lt;a href=&#34;#befriending-yourself&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;The propositional meaning of this is kinda obvious: to be a better friend to
oneself (or even a friend in the first place), because it is a friend you
could theoretically always have with you.
On the surface this sounds kinda meh, but when we explore how to accomplish
this and in light of aforementioned benefits of friendship, it becomes clear
that this is can be a transformative process.&lt;/p&gt;
&lt;p&gt;Being a friend to yourself basically requires three things:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;entering an I-Thou relationship with yourself (in the &lt;a href=&#34;https://en.wikipedia.org/wiki/Martin_Buber&#34;&gt;Buberian&lt;/a&gt;
sense)&lt;/li&gt;
&lt;li&gt;spending time with yourself&lt;/li&gt;
&lt;li&gt;developing an appropriate and actually positive attitude&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;the-self&#34;&gt;
  The self
  &lt;a href=&#34;#the-self&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Both is kind of what we would call spiritual in nature, but that is just fancy
speak for &amp;ldquo;you can experience this yourself if you just observe yourself&amp;rdquo;.
To enter an I-Thou relationship with yourself you first have to discover the I
and the Thou.
Since it is yourself, this basically comes down to differentiating between
oneself and one&amp;rsquo;s feelings and thoughts and all that relatively impermanent
crap.&lt;/p&gt;
&lt;p&gt;In case you wonder, this is essentially the intro to probably any
non-corporate meditation class.
Basically it comes down to exploring these questions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Are you your thoughts?&lt;/li&gt;
&lt;li&gt;Are you your feelings?&lt;/li&gt;
&lt;li&gt;Are you your body?&lt;/li&gt;
&lt;li&gt;Are you the story you or people tell about yourself?&lt;/li&gt;
&lt;li&gt;What is constant?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And the only thing that remains the same is the capacity of experiencing these
things, but not any of these things.&lt;/p&gt;
&lt;h2 id=&#34;the-i-thou-relationship-with-yourself&#34;&gt;
  The I-Thou relationship with yourself
  &lt;a href=&#34;#the-i-thou-relationship-with-yourself&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Great, we found the self.
Now, what does &lt;em&gt;I-Thou&lt;/em&gt; relationship mean?
Well, it is not an &lt;em&gt;I-It&lt;/em&gt; relationship, where you, the subject, interact with
an object.
The I-It relationship is transactional and does not recognize the object as
a subject.
It is how you interact with most inanimate things, NPCs or also, it is how you
are being interacted with by HR, corporate entities and government.
In the I-Thou relationship, both sides are connected and relate to each other.
Both sides wish to experience &lt;a href=&#34;agency-not-attention-is-the-most-valuable-resource.md&#34;&gt;agency&lt;/a&gt; and acknowledge each other&amp;rsquo;s wish for
agency.
It&amp;rsquo;s how you interact with actual players.&lt;/p&gt;
&lt;p&gt;Recognizing how you interact with yourself is the next step.
Some interactions are immediate, some are not.
You might talk to yourself (the stuff you mutter under your breath), which is
kind of a direct interaction.
But also the things you do now affect your future self, and actions of your
past self interact with your present self.
What you do at work might interact with what you experience at home and vice
versa.
All actions have consequences, but you can never force yourself to do
something specific at a different time, at a different place, even if you
really would wish for yourself to do exactly this.
Just like you could not force a friend to behave a certain way, even if you
think it would be the best for them, underlining that not only it is possible
to enter an I-Thou relationship with oneself, but also that it is more
appropriate than assuming continuous &lt;a href=&#34;agency-not-attention-is-the-most-valuable-resource.md&#34;&gt;agency&lt;/a&gt;.&lt;/p&gt;
&lt;h2 id=&#34;spending-time-with-yourself-and-developing-unconditionally-positive-regard&#34;&gt;
  Spending time with yourself and developing unconditionally positive regard
  &lt;a href=&#34;#spending-time-with-yourself-and-developing-unconditionally-positive-regard&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Spending time with oneself is also hard, for various reasons, some people just
do not have the time, other people are constantly occupied with running from
themselves and distracting themselves with hedonism, people and media.
Well, to be fair, if you assume yourself to be all powerful and
being able to decide now what will be done for a person at a different time
and place, but then failing at this basic task of exerting godlike powers, you
definitely feel bad.&lt;/p&gt;
&lt;p&gt;So this at least gets partially easier once we move into a more reasonable
relationship with ourselves.
Which is good, because you need to spend more time in solitude, and also just
hang out with yourself.
Ideally we could just sit in a cave in cold mountains all day long, but since
this is for most of us not an option, we can resort to the usual things we do
with friends and all activities obviously are postfixed with &amp;ldquo;without checking
your phone&amp;rdquo;, like taking a walk, going to the gym, having a nice meal, going
to the sauna or just hanging out on the couch.&lt;/p&gt;
&lt;p&gt;And because now we are spending time with a friend, me-time is not anymore
a hedonistic shitfest, but you can explore the interaction, how some things
are hard for one at certain times, and try to find ways to make it easier for
one you at a time and place to act in accordance to another you at a another
time and place, as well as find compassion for various perceived failings.
It also helps to make biography, and not only make it into a set of excuses.&lt;/p&gt;
&lt;p&gt;Now, not all interactions are friendly, but in friendship we aim for one where
both people have an attitude of unconditional positive regard to each other,
and it is totally okay if at first you can not relate to yourself in a
positive regard.
Do not let anyone tell you otherwise.
But of course, you are stuck with yourself for the rest of the life, so you
have a strong incentive to make it a good relationship and at least you can
start with a truce and try to not make each other&amp;rsquo;s life harder than it needs
to be.
And there will be conflict and you need to resolve it, and sometimes, well, it
even takes another, external friend to resolve these conflicts.&lt;/p&gt;
&lt;h1 id=&#34;befriending-oneself-in-the-general-landscape&#34;&gt;
  Befriending oneself in the general landscape
  &lt;a href=&#34;#befriending-oneself-in-the-general-landscape&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;First and foremost, we now have found the proper perspectival shift to make
&amp;ldquo;self-compassion&amp;rdquo; and &amp;ldquo;loving yourself&amp;rdquo; into non-bullshit concepts and can see
how these actually can be helpful.
By distinguishing between ourselves in the present moment and at other times,
but also acknowledging the interaction between these two, we can forgive
parts and work together, instead of beating ourselves up.
It helps us getting unstuck in our heads and have more of an outside,
less entangled perspective, at least concerning our interactions with
ourselves.&lt;/p&gt;
&lt;p&gt;This also gives us another perspective on how solitude is the cure to
loneliness, though while it would be convincing, this perspective is
incomplete.&lt;/p&gt;
&lt;p&gt;We also find that all the underlying mechanisms which psychotherapeutic
schools have isolated, e.g. part-work is the resolution of conflict between
our selfs, Freudian-style psychotherapy is biographical in nature, reflecting
of actions and reframing is cognitive restructuring, so indeed, we have even
have evidence of the effectiveness of each of the mechanisms, but in a
framework which does not require differential diagnostics to choose the right
solution for the right problem, but in a continuous dialogue and evolving
meta-cognitive process.
By practicing kindness to ourself not only in thought, but also in action,
like proper exercise, hygiene and organization (remember, we try to work
together here and if future you always forgets what they wanted to buy in the
store, you write it down for them!), we also can uncover and utilize the
whole toolkit of CBT.&lt;/p&gt;
&lt;p&gt;Finally, epistemological it is a more appropriate representation of our
&lt;a href=&#34;agency-not-attention-is-the-most-valuable-resource.md&#34;&gt;agency&lt;/a&gt;, because decisions are made in the present and if we wish to
change how decisions are made, we have to negotiate with the person in
charge at that time and place.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Using endpoints and external services in kubernetes</title>
      <link>https://example.org/blog/using-endpoints-and-external-services-in-kubernetes/</link>
      <pubDate>Tue, 14 Nov 2023 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/using-endpoints-and-external-services-in-kubernetes/</guid>
      <description>&lt;p&gt;Sometimes we need to access services in our cluster via network which are not
yet part of the cluster, but we plan on migrating them at some point.
Or there are webservices still running on some old piece of junk, but we&amp;rsquo;d
like to have all the comforts of an ingress controller in place, before we
are touching that old damn thing.&lt;/p&gt;
&lt;p&gt;Luckily, there are at least two ways (network plugins such as cilium offer
even further ways) to reflect such things in native kubernetes resources,
which, although simple, are not that well known as one would expect.&lt;/p&gt;
&lt;h1 id=&#34;endpoint--service&#34;&gt;
  Endpoint + Service
  &lt;a href=&#34;#endpoint--service&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Usually when working with services, we use labels to select pods.
In the background, kubernetes then creates an Endpoint object bearing the same
name as our service, which is then regularly updated depending on the type of
the service and contains the ports and IPs of the, well, endpoints.&lt;/p&gt;
&lt;p&gt;But we can also simply create our own Endpoint object.
The following would create and Endpoint and a Service, allowing us to access
the ips and named ports in the Endpoint via the service.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
apiVersion: v1
kind: Endpoints
metadata:
  name: example
subsets:
  - addresses:
      - ip: 10.0.0.1
      - ip: 10.0.0.2
    ports:
      - port: 80
        name: http
      - port: 9100
        name: metrics
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Now this endpoint would be created in the default namespace and point at the
ips &lt;code&gt;10.0.0.1&lt;/code&gt; and &lt;code&gt;10.0.0.2&lt;/code&gt;, exposing port 80 under the name http and 9100
under the name metrics.
To have it accessible via a service, we now need a service with the same name
in the same namespace.
There is no magic using labels involved.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
apiVersion: v1
kind: Service
metadata:
  name: example
spec:
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
    name: http
  - port: 9100
    protocol: TCP
    targetPort: 9100
    name: metrics
&lt;/code&gt;&lt;/pre&gt;
&lt;h1 id=&#34;externalname-service&#34;&gt;
  ExternalName Service
  &lt;a href=&#34;#externalname-service&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;When we already have a DNS name we can use, we can use a Service
of type &lt;code&gt;ExternalName&lt;/code&gt;.
This also could just be a service in another namespace, such as
&lt;code&gt;example.another-namespace.svc&lt;/code&gt;!&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;---
kind: Service
apiVersion: v1
metadata:
  name: external-example
spec:
  type: ExternalName
  externalName: example.org
  ports:
    - protocol: TCP
      port: 80
      targetPort: 80
      name: http
    - protocol: TCP
      port: 9100
      targetPort: 9100
      name: http
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In both instances we now have a Service &lt;code&gt;example&lt;/code&gt; in our default namespace,
exposing port 80 and 9100 of some, possibly external, entity.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>My kubernetes blogroll</title>
      <link>https://example.org/blog/my-kubernetes-blogroll/</link>
      <pubDate>Wed, 13 Sep 2023 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/my-kubernetes-blogroll/</guid>
      <description>&lt;p&gt;This post contains a few links I refer to or share with other people.
These links go to external sites and while I do my best to check them
regularly for shady stuff, well you know how it goes in the
wild wild web, so make sure to stay safe when browsing other people&amp;rsquo;s
websites, especially when you have JavaScript or similar plugins enabled by
default.&lt;/p&gt;
&lt;p&gt;Also please contact me, if you find anything fishy going on on some domain, so
I can either take the links out or in some instances try to contact the people
I hoped the link belongs to.&lt;/p&gt;
&lt;p&gt;I thought I would wait until this list is longer, but good content is not
produced at such a high rate and the maximum number of links I can remember is
already capped out.&lt;/p&gt;
&lt;h2 id=&#34;ivan-on-containers-kubernetes-and-serverside&#34;&gt;
  Ivan on containers, kubernetes, and serverside
  &lt;a href=&#34;#ivan-on-containers-kubernetes-and-serverside&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Link: &lt;a href=&#34;https://iximiuz.com/en/&#34;&gt;https://iximiuz.com/en/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A very nice, technical blog with many elaborate illustrations about different
things on the topic.
Almost like a reference for questions you never knew you would have, e.g. what
happens when you do a &lt;code&gt;kubectl exec&lt;/code&gt;?
In &lt;a href=&#34;https://iximiuz.com/en/posts/containers-101-attach-vs-exec/&#34;&gt;this post&lt;/a&gt; you get the answer.&lt;/p&gt;
&lt;p&gt;Caveat: It might be not very accessible, as much of it&amp;rsquo;s value comes from very
niceley designed pictures.&lt;/p&gt;
&lt;h2 id=&#34;posts-on-k8s-which-are-not-the-default-yadda-yadda&#34;&gt;
  Posts on k8s which are not the default yadda yadda
  &lt;a href=&#34;#posts-on-k8s-which-are-not-the-default-yadda-yadda&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;There is not much to say about these posts.
They are &lt;a href=&#34;https://example.org/why-you-should-start-a-blog&#34;&gt;blog posts&lt;/a&gt; about kubernetes, and their main value is in
getting some actual perspective and not just a bunch of buzzwords of people
who barely finished the tutorial:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://czernobog.org/posts/k8s-i/&#34;&gt;https://czernobog.org/posts/k8s-i/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://blog.chaz.pro/posts/2021-12-05/how-i-kubernetes&#34;&gt;https://blog.chaz.pro/posts/2021-12-05/how-i-kubernetes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://spacelift.io/blog/kubernetes-challenges&#34;&gt;https://spacelift.io/blog/kubernetes-challenges&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;more-meta-posts-about-good-practices&#34;&gt;
  More meta posts about good practices
  &lt;a href=&#34;#more-meta-posts-about-good-practices&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;In my memory I had a nice checklist somewhere here which I wanted to link, but
I do not find it.
For now there is only this checklist from the CNCF for gitops:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.cncf.io/blog/2022/07/08/the-16-point-checklist-for-gitops-success/&#34;&gt;https://www.cncf.io/blog/2022/07/08/the-16-point-checklist-for-gitops-success/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;my-own-k8s-posts&#34;&gt;
  My own k8s posts
  &lt;a href=&#34;#my-own-k8s-posts&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Of course you find my own posts on &lt;a href=&#34;https://example.org/tag/kubernetes.html&#34;&gt;kubernetes&lt;/a&gt; in the tags of this blog.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>How to finally fall in love with chin- and pullups</title>
      <link>https://example.org/blog/how-to-finally-fall-in-love-with-chin-and-pull-ups/</link>
      <pubDate>Sun, 09 Jul 2023 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/how-to-finally-fall-in-love-with-chin-and-pull-ups/</guid>
      <description>&lt;p&gt;Few exercises are so noncontroversial as chin- and pullups.
Medical professional, gym enthusiasts, calisthenic people, crossfitters,
almost everyone seems to like them. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;
The only people honestly not liking them tend to be strong and jacked (I mean
even fat people acknowledge that they are just too fat, so they only jokingly
dislike them).&lt;/p&gt;
&lt;p&gt;There are of course several factors at play here, the two most evident being
one, that of course it&amp;rsquo;s a lot harder to pull yourself up, if you weigh more
than the average gym goer with additional weights, and two, most people only
half-ass pullups and chinups and then of course it is easier because they are
only doing half of the movement.
Occasionally we may witness people with veiny bulging biceps moving tons
of extra weight, but it is a rare sight and we often miss the opportunity to
stop and take the clues, namely that it is all about bulging biceps and moving
tons of weight. &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Chins and pullups are good exercises, but they require some effort
to make them work, because otherwise they are only frustrating, hurt and take
more than they give, but well, it&amp;rsquo;s not that hard and bad actually, once you
find a good approach and I argue that thinking of them as an arm exercise is a
good one.&lt;/p&gt;
&lt;h2 id=&#34;nomenclature-and-admissible-technique&#34;&gt;
  Nomenclature and admissible technique
  &lt;a href=&#34;#nomenclature-and-admissible-technique&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;First let us discuss how I use all the terms here and what is proper
technique, because apparently the names and the history and technique
diverged a little bit.&lt;/p&gt;
&lt;p&gt;A chinup is pulling yourself up at a bar with a supinated grip, until the bar
touches your chest.
No touching, no rep.
Like in the bench or overhead press.
The other end of the movement is a bit more flexible, as apparently some
people have shoulder issues or what do I know, but you should acquire some good
stretch in the muscles involved&lt;/p&gt;
&lt;p&gt;A pullup is pulling yourself up at a bar with a pronated grip, until your chin
is higher than the bar.
It is very hard and awkward to get the bar to touch here, so it&amp;rsquo;s not a
requirement.&lt;/p&gt;
&lt;p&gt;One might interject that this should have been called chinup, but at some
point the words have become confused and now we have this situation and the
necessity to explain it once more.&lt;/p&gt;
&lt;p&gt;Finally, you can have different grips, depending on the equipment available,
or use of rings and other implements.
In general you can clarify by prefixing the grip or equipment used and then
use chinup if touching is a requirement or pullup if only the chin needs to
pass a certain height.
The same goes for kipping, though one might argue that it might be more
sensible to view it as its own version, like a cardio pullup, similar how there
are cardio machines for rowing which of course are not the same as barbell
rows.&lt;/p&gt;
&lt;h2 id=&#34;program-it-like-a-big-lift&#34;&gt;
  Program it like a big lift
  &lt;a href=&#34;#program-it-like-a-big-lift&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The common way to stay stuck in the gym is trying to get with a certain weight
to say 8 - 12 reps for three sets and only then increasing the weight.
The reliable way to increase one&amp;rsquo;s 10RM is to increase one&amp;rsquo;s 3RM or 5RM and
it&amp;rsquo;s no different here.
It&amp;rsquo;s no different with chin- and pullups.
Add weight, increase the weight added over time.
Not necessarily on every session during the week, but if you are stuck, adding
weight helps getting unstuck.&lt;/p&gt;
&lt;p&gt;On the other hand, if you want to accumulate volume, do it similar to the big
lifts, meaning lots of sets, lots of initial RIR (or RPE in the range from @7
to @9).
The obvious problem with chinups and pullups vs. squats is that with the
former the minimal amount of weight you can use is your bodyweight and for a
very long time (read: forever) your bodyweight will be the majority of the
load.
While a bodyweight chinup is something almost no one ever achieves, a
bodyweight squat is something you can get most trainees to in a year, if not
much shorter times.
So even unloaded you are usually closer to 80% of your 1RM than say 60% of
your 1RM, especially in the beginning.
Which means you usually need to be even further away from failure to
accumulate sufficient amounts of volume.&lt;/p&gt;
&lt;h2 id=&#34;its-an-arm-exercise-first&#34;&gt;
  It&amp;rsquo;s an arm exercise first
  &lt;a href=&#34;#its-an-arm-exercise-first&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Chinups and pullups are often slotted as back exercises, but ootb they suck at
back.
Any proper horizontal row&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; or deadlifts are better back builders.&lt;/p&gt;
&lt;p&gt;It is the classical &amp;ldquo;weakest link in the chain&amp;rdquo; problem; your back is attached
to the bar via your arms and your arms are connected via your hands, and due
to proprioceptive feedback you will not be able to fully engage your back as
long as your arms are not up to the task.&lt;/p&gt;
&lt;p&gt;This also means that chinups are the better choice in the beginning, as your
arms are in a more favorable position and you can manage the load better,
which is also the reason why beginner programs usually advocate these.&lt;/p&gt;
&lt;p&gt;Bodybuilders often just strap up on chins and pullups, but as a strength
athlete I think it is more favorable to build the necessary strength in all of
the positions.&lt;/p&gt;
&lt;p&gt;Having established that we will slot it as arm exercise, let us now also treat
it as such.
Consequently we actively try to primarily use the arms and support with the
back and not vice versa.
In particular we reduce the systemic fatigue experienced from chins (otherwise
known as &amp;ldquo;fuck up your back for the whole week&amp;rdquo;).
The back involvement can and will rise with more strength and mastery of the
movement, but I deem it smarter to start out this way.&lt;/p&gt;
&lt;p&gt;With chins now being some kind low rep high weight curl, we can also
incorporate it in our arm routine in a more nuanced way, e.g. sandwiched
between curls or after doing some back exercises, having a lighter curl
variant and then doing chinups.
A new favorite of mine is doing hammer curls before doing chins, because then
my arms are already warmed up, my shoulders are a bit more ready for the
external rotation and the pump is just otherworldly.&lt;/p&gt;
&lt;h2 id=&#34;wide-grip-pullups-are-weird-start-narrow&#34;&gt;
  Wide grip pullups are weird, start narrow
  &lt;a href=&#34;#wide-grip-pullups-are-weird-start-narrow&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;There is some strange fascination with wide grip pullups and in German we even
have saying &amp;ldquo;breit greifen, breit werden&amp;rdquo;, which roughly translates to &amp;ldquo;grip
widely, grow wide&amp;rdquo;, and is, of course, as wrong as you can be while being
right.
In view of the ROM discussion, for most people wide grip pullups are the
inferior movement and also usually pretty awkward.
It&amp;rsquo;s much more sensible to start with a narrower grip and then slowly build
the positional strength to actually be able to have a good ROM and a smooth
movement on the wide grips.
A good grip is your press or clean grip, because it obviously allows you to
get a bar to your chest or shoulders, so the only thing holding your back then
is strength, but not anatomy.&lt;/p&gt;
&lt;p&gt;I suspect in the calisthenics world one would call wide grip pullups a
progression from pullups, as in the absence of weight, you move to more and
more awkward positions to make exercises harder.
In this sense we can already think of pullups as progression from chinups and
program them accordingly.&lt;/p&gt;
&lt;h2 id=&#34;tldr-chinups-are-a-powerlift-for-the-biceps&#34;&gt;
  tl;dr Chinups are a powerlift for the biceps
  &lt;a href=&#34;#tldr-chinups-are-a-powerlift-for-the-biceps&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Once we can attach enough weight to have room to play around, we can just see
chinups as a powerlift for the biceps.
Keeping the awkwardness of the high minimal load in mind, programming them
then accordingly as a big lift seems to work out much better than slotting
them as some back assistance exercise.&lt;/p&gt;
&lt;p&gt;By focusing the biceps over the back, we shift most of the fatigue over
from the very central and systemic back over to the very localized biceps and
maybe forearms.
This makes it easier to program, because the reduced systemic fatigue
means less interference with other training slots to worry about and overall
the recovery of your arms is rather easy to gauge, simplifying questions of
progression and volume allocation.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;This could have been a warning sign&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;I guess it&amp;rsquo;s also partly because people do not want to admit that they
want big guns and move big weights.
Be honest with yourself.
Be honest with the world.
Train your biceps.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;Basically everything but Yates rows, which are not rows.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Upgrading a kubeadm kubernetes cluster</title>
      <link>https://example.org/blog/upgrading-a-kubeadm-kubernetes-cluster/</link>
      <pubDate>Tue, 13 Jun 2023 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/upgrading-a-kubeadm-kubernetes-cluster/</guid>
      <description>&lt;p&gt;Upgrading a kubeadm kubernetes cluster is not nearly as bad as it might seem
in the first place, as it is all very well documented, but in the sea of
documentation you always feel like missing something.
In this post I summarize the most important links and the things I do, so
that I have it all in one place.&lt;/p&gt;
&lt;p&gt;First of all, the &lt;a href=&#34;https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/&#34;&gt;official docs&lt;/a&gt; are pretty straight forward
and you should read them; they differ a bit between verisons and for older
versions you might need to look into &lt;a href=&#34;https://github.com/kubernetes/website&#34;&gt;website git repo&lt;/a&gt;.&lt;/p&gt;
&lt;nav id=&#34;TableOfContents&#34;&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#deprecated-api-versions&#34;&gt;Deprecated API versions&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#the-next-kubeadm-and-kubelet-packages&#34;&gt;The next kubeadm and kubelet packages&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;

  &lt;ul&gt;
    &lt;li&gt;&lt;a href=&#34;#setting-up-some-watchers&#34;&gt;Setting up some watchers&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#the-control-plane&#34;&gt;The control plane&lt;/a&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href=&#34;#the-first-control-plane-member&#34;&gt;The first control plane member&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href=&#34;#the-remaining-control-plane-members&#34;&gt;The remaining control plane members&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;a href=&#34;#the-worker-nodes&#34;&gt;The worker nodes&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;

&lt;h1 id=&#34;prerequisites&#34;&gt;
  Prerequisites
  &lt;a href=&#34;#prerequisites&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;h2 id=&#34;deprecated-api-versions&#34;&gt;
  Deprecated API versions
  &lt;a href=&#34;#deprecated-api-versions&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;To upgrade a cluster you first need to make sure that no APIs are used which
have been deprecated and will be removed with the new version, lest you want
to have workloads fail (which is totally fine if you have customers who had
plenty of notice to update their manifests).&lt;/p&gt;
&lt;p&gt;In general for this you simply check the &lt;a href=&#34;https://kubernetes.io/docs/reference/using-api/deprecation-guide/&#34;&gt;api deprecation guide&lt;/a&gt;, which
tells you most of the relevant things.&lt;/p&gt;
&lt;p&gt;I have not yet figured out a reliable way to just automtacially run a single
script and find everything.
Actually &lt;a href=&#34;https://github.com/doitintl/kube-no-trouble&#34;&gt;kubent&lt;/a&gt; should do exactly this, but I have seen deprecated
resources which &lt;code&gt;kubent&lt;/code&gt; did not show me (probably PEBKAC), so I still
manually check some things manually with &lt;code&gt;kubectl&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Deprecations up to version 1.19 are pretty rare and do not require much
automation though.&lt;/p&gt;
&lt;p&gt;Kubernetes 1.19 also introduced an API server metric,
&lt;code&gt;apiserver_requested_deprecated_apis&lt;/code&gt; which can be used to see which
deprecated API objects are still being requested and also tells you
the actual version when this object will be removed, e.g.:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;apiserver_requested_deprecated_apis{endpoint=&amp;quot;https&amp;quot;, group=&amp;quot;extensions&amp;quot;, instance=&amp;quot;10.118.0.22:6443&amp;quot;, job=&amp;quot;apiserver&amp;quot;, namespace=&amp;quot;default&amp;quot;, removed_release=&amp;quot;1.22&amp;quot;, resource=&amp;quot;ingresses&amp;quot;, service=&amp;quot;kubernetes&amp;quot;, version=&amp;quot;v1beta1&amp;quot;}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Given this output I then can just search for the corresponding resources,
which is given by the &lt;code&gt;resource&lt;/code&gt; label, so in the above example to see the
used api versions for any ingress I use the following command:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kubectl get ing -A -o custom-columns&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;Namespace:.metadata.namespace, Name:.metadata.name, apiVersion:.apiVersion
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;the-next-kubeadm-and-kubelet-packages&#34;&gt;
  The next kubeadm and kubelet packages
  &lt;a href=&#34;#the-next-kubeadm-and-kubelet-packages&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;For k8s it is totally fine to skip minor versions, but you should not skip
major versions, i.e. if you want to upgrade from 1.16.6 to 1.19.15, you
upgrade to 1.17.x and 1.18.y, before upgrading to 1.19.15. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;This means you will need the packages for &lt;code&gt;kubeadm&lt;/code&gt; (actually I think kubeadm
you can get away with the latest) and &lt;code&gt;kubelet&lt;/code&gt; of the respective versions.
Which might be a PITA depending on the distribution&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; of your
nodes, and it&amp;rsquo;s better to have them in place before starting to upgrade the
nodes (esp. in heterogeneous clusters) than to have a panic attack after your
first nodes upgraded and you can not upgrade the remaining nodes.&lt;/p&gt;
&lt;h1 id=&#34;performing-the-upgrade&#34;&gt;
  Performing the upgrade
  &lt;a href=&#34;#performing-the-upgrade&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;h2 id=&#34;setting-up-some-watchers&#34;&gt;
  Setting up some watchers
  &lt;a href=&#34;#setting-up-some-watchers&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Several things can happen during the upgrade you probably want to know about.
Apart from monitoring (which, if running in the same cluster, could be
unavailable if things go wrong), I have a &lt;code&gt;watch&lt;/code&gt; on a few things I&amp;rsquo;d like to
see healthy during all operations, e.g. my &lt;code&gt;ceph&lt;/code&gt; status.&lt;/p&gt;
&lt;p&gt;I think during the upgrades &lt;code&gt;kube-proxy&lt;/code&gt; will restart (not sure if this is a
must, but it can happen), which might take a while under heavy loads and lead
to DB clusters resynchronizing, which is something I would wait for before
progressing.&lt;/p&gt;
&lt;p&gt;Finally on some small corner I have a
&lt;code&gt;watch &amp;quot;kubectl get nodes | grep -v &amp;lt;new_version&amp;gt; &amp;amp;&amp;amp; kubectl get nodes | grep NotReady&amp;quot;&lt;/code&gt;
to have a good overview on what is still left to do and to see things if
things break horribly.&lt;/p&gt;
&lt;h2 id=&#34;the-control-plane&#34;&gt;
  The control plane
  &lt;a href=&#34;#the-control-plane&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;h3 id=&#34;the-first-control-plane-member&#34;&gt;
  The first control plane member
  &lt;a href=&#34;#the-first-control-plane-member&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;On the first control plane member, we first only upgrade &lt;code&gt;kubeadm&lt;/code&gt;.
Performing &lt;code&gt;kubeadm upgrade plan&lt;/code&gt; or &lt;code&gt;kubeadm upgrade plan &amp;lt;targetversion&lt;/code&gt;
(usually&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; not needed).&lt;/p&gt;
&lt;p&gt;This will also once again remember you to check things like the in-cluster
kubeadm config map, which you should check.&lt;/p&gt;
&lt;p&gt;If everything noted is as it should be, next double check your &lt;code&gt;etcd&lt;/code&gt; are
healthy, e.g. via&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;kubectl exec -it -n kube-system your-control-plane-node -- etcdctl --cert&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/etc/kubernetes/pki/etcd/peer.crt --key /etc/kubernetes/pki/etcd/peer.key --cacert /etc/kubernetes/pki/etcd/ca.crt --endpoints https://localhost:2379 member list
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(the syntax might differ a bit between etcdctl versions).&lt;/p&gt;
&lt;p&gt;Drain this node, then run &lt;code&gt;kubeadm upgrade &amp;lt;version&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;After this, you can rune &lt;code&gt;kubeadm upgrade node&lt;/code&gt; and then upgrade &lt;code&gt;kubelet&lt;/code&gt; via
your package manager or whatever you use.&lt;/p&gt;
&lt;p&gt;Uncordon the node and wait for everything to come back up healthy and then
proceed with&lt;/p&gt;
&lt;h3 id=&#34;the-remaining-control-plane-members&#34;&gt;
  The remaining control plane members
  &lt;a href=&#34;#the-remaining-control-plane-members&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The main thing with control plane members is that before and after each node
you want to be really sure things are healthy.&lt;/p&gt;
&lt;p&gt;So, for each controle plane member&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;check if etcd and everything is healthy&lt;/li&gt;
&lt;li&gt;drain the node&lt;/li&gt;
&lt;li&gt;run &lt;code&gt;kubeadm upgrade node&lt;/code&gt; on it&lt;/li&gt;
&lt;li&gt;update the &lt;code&gt;kubelet&lt;/code&gt; package to the correct version&lt;/li&gt;
&lt;li&gt;uncordon node, wait for everything to be healthy again&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id=&#34;the-worker-nodes&#34;&gt;
  The worker nodes
  &lt;a href=&#34;#the-worker-nodes&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;If you use image based deployments, just drain and replace your old workers
with new images.
Otherwise, you can just repeat the same steps as above for the control plane
members, sans checking the control plane services, but possibly you will need
to take care of other services like ingress controllers.
It is recommended that you drain every node before the upgrade, but so far it
worked for me to just run the &lt;code&gt;kubeadm upgrade node&lt;/code&gt; followed by the &lt;code&gt;kubelet&lt;/code&gt;
upgrade.
YMMV, so the recommended way would be for each node:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;check application health&lt;/li&gt;
&lt;li&gt;drain the node&lt;/li&gt;
&lt;li&gt;&lt;code&gt;kubeadm upgrade node&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;update &lt;code&gt;kubelet&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;uncordon node&lt;/li&gt;
&lt;/ol&gt;
&lt;h1 id=&#34;finishing-up&#34;&gt;
  Finishing up
  &lt;a href=&#34;#finishing-up&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;In general there is not much to do afterwards and everything should work as
expected.
It&amp;rsquo;s a good idea to check all dashboards for missing data entries as metrics
can change.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;of course there is an exception, as 1.19.16 has a bug which breaks
with upgrade path and necessitates you to upgrade to 1.19.15 first (if
your upgrade path is beyond 1.19 you can then just skip 1.19.16 anyway)&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;as usual, &amp;ldquo;enterprise&amp;rdquo; is a warning label&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;of course there is an exception, as 1.19.16 has a bug which breaks
with upgrade path and necessitates you to upgrade to 1.19.15 first (if
your upgrade path is beyond 1.19 you can then just skip 1.19.16 anyway)&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Agency, not attention is the most valuable resource</title>
      <link>https://example.org/blog/agency-not-attention-is-the-most-valuable-resource/</link>
      <pubDate>Sat, 04 Mar 2023 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/agency-not-attention-is-the-most-valuable-resource/</guid>
      <description>&lt;p&gt;This is a correction to a former post of myself.
I made the claim that
&lt;a href=&#34;https://example.org/attention-not-time-is-the-most-valuable-resource&#34;&gt;attention, not time is the most valuable resource&lt;/a&gt;.
This should read:
Agency, not attention is the most valuable resource, and hence the title of
this post, whereas &lt;em&gt;agency&lt;/em&gt; refers to the capacity of an autonomous agent to
act in accordance to their goals and wants.
All these terms of course are loaded with debate and nitpicking, but
&lt;a href=&#34;diagnostics-and-phenomenology.md&#34;&gt;phenomenologically&lt;/a&gt; speaking, you have agency when you
can do what you think you want and you think you want what you actually want
and there is some conformity between your actions and your thoughts and your
experience.&lt;/p&gt;
&lt;p&gt;I suspect it its pretty &lt;a href=&#34;https://example.org/write-down-the-obvious&#34;&gt;obvious&lt;/a&gt;, that this statement at least is an
improvement.&lt;/p&gt;
&lt;p&gt;Of course, the former statement is not completely untrue.
For most people attention has become the &lt;a href=&#34;https://example.org/on-bottlenecks-magic-bullets-and-optimization&#34;&gt;bottleneck&lt;/a&gt; to their own
agency, but in the past we were much more limited by our time than our
attention, and well, the author of the former blog post probably tried to
catch this change, as the Zeitgeist at the time still was much more about time
management than technological and mental hygiene.&lt;/p&gt;
&lt;p&gt;Correctness aside, it was also insensitive.
It can be argued that suffering is our experience of a loss of agency, and
well, then of course for many sufferers attention will not be the most
valuable resource.&lt;/p&gt;
&lt;p&gt;Furthermore, the viewpoint of agency is much more use- and helpful.
Trying to protect our attention mostly puts us at war with the abstract
predatory attention economy, an emergent phenomenon of sightless minmaxing and
A/B testing, and a society which is at large not equipped with the tools
necessary to face abstract dangers.
It is a situation in which we are powerless.
Reducing our attention to attention also
separates us from people suffering for other reasons, which not only
makes us even more powerless due to being fewer in numbers, but also due to
reducing our ability to find solutions which are acceptable for everyone.&lt;/p&gt;
&lt;p&gt;Finally, we are not limited to fighting the pretty hopeless fight against
attention thievery, but we can engage in multiple ways to protect or even
extend our agency.
We do not need to do whole digital hermit thing, or built some
anti-tech bunker as it has become fashionable among rich entertainment
creators, but we are empowered to structure our living space in a way that
serves us.
Maybe we can even reclaim some of the awesome technology we
initially built to improve our lives out of the clutches of capitalism.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Diagnostics, communication and phenomenology</title>
      <link>https://example.org/blog/diagnostics-and-phenomenology/</link>
      <pubDate>Mon, 23 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/diagnostics-and-phenomenology/</guid>
      <description>&lt;p&gt;It is almost a meme in coaching, consulting and also just general problem
solving in various areas of life and business:
To outsiders it is pretty obvious what the issues are, whereas the insiders
seem to be oblivious to them.
Depending on the severity, you can sometimes even tell them and they will
still not see it.
Sometimes they can even spot the exact same problems in other people and still
do not see them in themselves.&lt;/p&gt;
&lt;p&gt;Now, there are three ways to approach this, two of which are pretty well known,
but also a third one we can and should engage in more.&lt;/p&gt;
&lt;h2 id=&#34;this-is-just-the-nature-of-business&#34;&gt;
  This is just the nature of business
  &lt;a href=&#34;#this-is-just-the-nature-of-business&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The most common way is in accordance to the old proverb:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Give a man a fish and you feed him for the day.
Teach a man how to fish and you lose a recurring revenue stream.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Just buy my consulting and have an outsider tell you what is wrong.
The price just has to be high enough so you have an incentive to listen to
them.
The conflicts of interest in these situations are pretty obvious, and, well,
we see in the corporate world how large consulting businesses usually just
siphon money away without actually doing something useful. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id=&#34;learning-to-take-a-step-back-and-ego-control&#34;&gt;
  Learning to take a step back and ego control
  &lt;a href=&#34;#learning-to-take-a-step-back-and-ego-control&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Many of these problems can be understood, once you can take a step back, get
your ego in check and can just for a moment to some extent get the outsiders
perspective.&lt;/p&gt;
&lt;p&gt;This is a good ability to cultivate, and we have millennia of literature
elaborating its importance and how to cultivate it.
Yet, it is a skill lost on many, if not most, if not almost all people.
Especially in corporate settings this becomes a problem, because only one
person bound up in their ego can bring the whole process to a halt.&lt;/p&gt;
&lt;p&gt;What good is this approach in situations, where the required skill is not
present?&lt;/p&gt;
&lt;h2 id=&#34;understanding-and-documenting-the-phenomenology&#34;&gt;
  Understanding and documenting the phenomenology
  &lt;a href=&#34;#understanding-and-documenting-the-phenomenology&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Now, phenomenology seems to be one of those words people have written too much
about, so let us do language properly and just look at the word:
&lt;em&gt;φαινόμενον&lt;/em&gt; &amp;ldquo;that which appears&amp;rdquo; and &lt;em&gt;λόγος&lt;/em&gt;.
Phenomenology is just the study of how things appear or present themselves to
us.
In general, we as a society, strive to objectively diagnose issues.
Part of the objective point of view is that it is an outsider&amp;rsquo;s
perspective and then we use tools to inspect whatever issue we are dealing
with.
It is just not how things present themselves to us us by default.&lt;/p&gt;
&lt;p&gt;Taking back a step is a skill which needs to be sufficiently trained, and then
we still need to do the - often cumbersome - objective assessment of the
situation, only to then come up with a plan to change things and properly
operationalize this.
These are several pretty difficult things we have to do there, which is also
reflected in the reality that most often these things just do not happen.&lt;/p&gt;
&lt;p&gt;On the other hand, if we have an subjective description of what typically is
experienced in certain situations or in the presence of certain issues, we can
skip directly to our own current experience.
In general this does not suffice for a good diagnosis, but speeds up the
process dramatically.&lt;/p&gt;
&lt;p&gt;Superficially the main issue is that nobody writes down and documents the
phenomenology.
But this is not without reason.&lt;/p&gt;
&lt;p&gt;Proper awareness of one&amp;rsquo;s own experience is a skill, which has to be honed.
Without it we are unable to write down what we experience, and without it we
are unable to properly use other people&amp;rsquo;s description of the phenomenology.
Indeed, when looking at the development of literature in applicable fields, we
usually see a slow increase in awareness and refinement of documented
phenomenology, but it usually takes several generations of experts to arrive
at a good description.&lt;/p&gt;
&lt;p&gt;Also, people untrained in the mental disciplines have a tendency to run
away with it, leading to them believing they have cancer or any other
illness they searched on the internet.
Which is why we still need to embed it in some objective framework.&lt;/p&gt;
&lt;h2 id=&#34;communication-and-phenomenology&#34;&gt;
  Communication and phenomenology
  &lt;a href=&#34;#communication-and-phenomenology&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;There is another reason why we need to step up our game when it comes to the
description of phenomenology:
The subjective experience precedes the objective analysis.&lt;/p&gt;
&lt;p&gt;This is well known by the advertisement and consent industries, and in fact,
it is the first thing you learn when learning how to do good advertisement or
propaganda.&lt;/p&gt;
&lt;p&gt;Advertising never works by actually giving you an objective solution to an
objective problem.
Advertising works by giving a feel good solution to a feel bad.&lt;/p&gt;
&lt;p&gt;We people in the harder sciences do not vibe with that well, and as a
consequence have tried to steer away from any such subjective description.
But indeed, this is also just because in our subjective experience, all
subjective descriptions are made by dishonest people trying to sell you junk,
and fools as we are, this makes us a little bit dishonest with ourselves.&lt;/p&gt;
&lt;p&gt;As a consequence, people, companies and society are being kept imprisoned in
their respective situations, because all they need is the next supplement, the
next software product, another year of consulting or just some other
initiative allowing people to display their virtuous life.
Whenever we engage with a feel good solution, this takes some time.
Most of the quick hack solutions do not increase your awareness of the
problem, but just dampen some of the pain, and in the end you are as smart
as before, you just pissed away a significant amount of money and, worse,
time.&lt;/p&gt;
&lt;p&gt;We do not want to do dishonest advertising for things that work, but by
ignoring the phenomenology, we give our work an unnecessary disadvantage
compared to shills and people who place their self-interest above that of
society.&lt;/p&gt;
&lt;h2 id=&#34;phenomenology-plausible-deniability-and-rationalization&#34;&gt;
  Phenomenology, plausible deniability and rationalization
  &lt;a href=&#34;#phenomenology-plausible-deniability-and-rationalization&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Plausible deniability is something we learn to catch on early in life; I am no
developmental psychologist, but it seems to me almost like a phase where
children try to do things which can not be objectively traced back to them.
At least it is some kind of trope in youth literature and many criminal
stories revolve around the theme that the protagonist already knows
what is up, but lacks the necessary objective proof.&lt;/p&gt;
&lt;p&gt;During our education we learn to dismiss any gut feelings and wait for
objective proof.
In particular, we learn to dismiss any gut feelings, and instead of being
inquisitive about it, objective proof becomes something we are being handed
from authorities and it is not something we could possibly hope to attain for
ourselves.
This of course is a weakness, and as all weaknesses it is being exploited;
just because we are being educated and admonished to leave any research to a
mystical guild of professionals, even when you are exactly the professional.&lt;/p&gt;
&lt;p&gt;We all are familiar with the situation:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;It walks like a duck.
It swims like a duck.
It quacks like a duck.
We have to wait for legal to come back to us before we can say it is a duck.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Many things happening under the umbrella of plausible deniability
still have consequences which can be experienced, and thus, can be described.
A classical and also current example are companies which are going to lay off
large amounts of people.
While only leaks of CEO or HR mails could really prove such things, there is a
pattern to the subtle or not so subtle shifts in internal communication.&lt;/p&gt;
&lt;p&gt;Should you really be in denial about such things?&lt;/p&gt;
&lt;p&gt;In some instances the antagonist is not external, but we are in conflict with
ourselves.
We do things that we on some level might even perceive to be not right, but we
can make wonderful explanations why this behaviour is correct.
Such rationalizations can sometimes be overcome by adding further experiential
criteria.&lt;/p&gt;
&lt;p&gt;You are dieting for fat-loss, not very &lt;a href=&#34;on-more-successful-dieting.md&#34;&gt;successfully&lt;/a&gt;, but can still
justify eating caloric dense, but healthy snacks like nuts and bananas between
meals?
But at least you are not hungry all the time?
Well, guess what.
There is a secret they do not want you to know about:
Part of fat loss is experiencing hunger. &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;h2 id=&#34;actually-describing-the-phenomenology&#34;&gt;
  Actually describing the phenomenology
  &lt;a href=&#34;#actually-describing-the-phenomenology&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;As with everything, both the awareness and the description of phenomenology
need to be trained, and well, formal training for this seems to be
non-existent in this society.&lt;/p&gt;
&lt;p&gt;I think one of the major issues we had in the more recent past was the
communication of extremely dangerous but also very abstract risks, like
climate change or a pandemic.
With climate change we have the very scary prospect of losing (having lost)
stability in a dynamical system and with a pandemic you face the inevitability
of an exponential function.
As mathematician I am viscerally frightened by these things.
But genpop?
I think not so much.&lt;/p&gt;
&lt;p&gt;Now, how do we communicate such a risk to people without the years of
necessary training ?
Especially when at first it seems like nothing is going to happen?
Nobody listens to &amp;ldquo;well, this is an exponential process, just look at the
chart and the quotient of any two consecutive data points&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;Well, by acknowledging that at first it does not seem like anything is
happening.
I think we did lose quite a lot of acceptance as some of us have fallen astray
and followed the dark path of advertising and tried to dramatize the effects.
When all your credibility comes from objectivity, you can not afford to risk
it by bending the facts, even if it seems to be for a good cause.&lt;/p&gt;
&lt;p&gt;A better start could be something like &amp;ldquo;well, at first it will not seem like
much is happening, but it is a devious process which grows upon you&amp;rdquo;.
People have surprisingly long history of believing into invisible things being
at work, so to them this might even sound less weird as it might sound to
you.&lt;/p&gt;
&lt;p&gt;It seems &lt;a href=&#34;https://example.org/write-down-the-obvious&#34;&gt;obvious&lt;/a&gt;, it is &lt;a href=&#34;embrace-boredom.md&#34;&gt;boring&lt;/a&gt;.
But it is the first thing people notice, and still a level on which they can
relate, without any shared academic background.&lt;/p&gt;
&lt;h2 id=&#34;a-more-refined-approach&#34;&gt;
  A more refined approach
  &lt;a href=&#34;#a-more-refined-approach&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Clearly, one should not turn completely away from objective criteria and
towards subjective experience.
This has already happend often enough and vice versa, but it is time to
develop a more nuanced and comprehensive framework, which not only
encompasses the objective or the subjective side, but both, each with a
specific purpose.&lt;/p&gt;
&lt;p&gt;As argued, I think this could&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;improve the speed at which we diagnose problems&lt;/li&gt;
&lt;li&gt;empower people and make them less dependent on external diagnostics&lt;/li&gt;
&lt;li&gt;get rid of a few of the bugs in our societal system&lt;/li&gt;
&lt;li&gt;improve communication between science and mortals&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I suspect we could use a more formalized approach to the subjective
perspective and possibly those already exist and I am just not familiar with
them (you know how to &lt;a href=&#34;https://example.org/about.html&#34;&gt;contact&lt;/a&gt; me).
On the other hand, I do do not see how it would differ from increasing
awareness, and we have extensive literature on this.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Consulting or coaching can be a good thing, when you have well
defined constraints or problems to solve, or probably even more important,
need to clarify the nature of the problem.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;If you are not really active in the fitness space, this is a
frequent problem and it is pretty easy to distract oneself with all the
technical details, when in the end of the day you just need to be hungry
most of the time.
But &amp;ldquo;lose fat without being hungry with my new diet&amp;rdquo; sells better than &amp;ldquo;be
miserable for six weeks to look a tiny bit nicer in the end&amp;rdquo;.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>Embrace boredom</title>
      <link>https://example.org/blog/embrace-boredom/</link>
      <pubDate>Thu, 05 Jan 2023 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/embrace-boredom/</guid>
      <description>&lt;p&gt;Boredom used to have a pretty bad reputation, and while it is slowly clearing
up, I think there is still some way ahead of us to fully appreciate boredom.&lt;/p&gt;
&lt;p&gt;Boredom is what we experience when our mind searches for things to do and
to occupy itself with.
It is inherently not a pleasant feeling, compelling us to do something about
it.
Evolutionary speaking this is beneficial, as it compels us to do things, other
than just sitting around idle as long as we are fed, and improve our
position or situation in the long run.
However, the predatory attention economy is taking advantage of this trait and
tries to trap us in the engagement loop. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Consequently, being able to tolerate boredom is what allows us to escape
engagement and act on our own volition. &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;For long I wondered if there is an additional function to boredom, for I have
always found it to almost be a necessary condition for true productivity or
progress to happen.
I do not know if there is such a function, but also, it is not necessary,
because we can make the following observation:&lt;/p&gt;
&lt;p&gt;For us to experience and feel boredom, we need to first achieve some level of
mental emptiness and disengagement, and free ourselves from occupation.
Thus boredom is a useful indicator.&lt;/p&gt;
&lt;p&gt;We can use this to our advantage, namely by cultivating boredom;
just like when we cultivate plants, we do not grow themselves, but only
prepare the soil and circumstances for them to grow, we can adjust our
own circumstances to allow boredom to come up.
This seems to get the job done better, than trying to explicitly going for
productivity. &lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;In the end, there does not seem to be too much to boredom.
Fitting.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;This seems to be very similar to the food industry, which profits from
us eating cheap sugars and fats.
There does not need to be an evil plan, we just arrived in this situation
by AB-testing optimizing for profit, and stay there by people defending
corporate interest.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;In the spirit of above footnote, tolerating hunger is what allows us to
break free from the unhealthy food industry.
This might also give us a hint how long of a uphill battle we are facing
here, given the attention economy is still pretty young.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;Possibly the analogy would be more accurate with intertillage which is
planted to improve soil composition.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>On more successful dieting</title>
      <link>https://example.org/blog/on-more-successful-dieting/</link>
      <pubDate>Sat, 31 Dec 2022 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/on-more-successful-dieting/</guid>
      <description>&lt;p&gt;It is new years eve or something like that and everyone is again thinking of
really losing weight this year.
Or really gaining muscle.
And just as it happens, I procrastinated long enough on this post to post it
on this fateful date, lol.&lt;/p&gt;
&lt;p&gt;In this post I do not really want to delve into the nutritional mechanics of
dieting, as on one hand, it depends on what a certain diet is supposed to
accomplish (fat loss, weight gain, managing gas, spiritual goals, there is an
infinite number of reasons why people embark on a specific diet), and on the
other hand, usually the application side of things is mechanical and
well understood.&lt;/p&gt;
&lt;p&gt;I am mainly looking at things from the perspective of fat loss, as it
is one of the more frequent and important issues people struggle with, and I
can draw from first hand experience.
It does however generalize fairly well to all other sorts of diets, such as
very skinny persons that are in dire need of muscle gain, as both those who
are too skinny and those who are too fat people emerge from and end up in
similar social structures.&lt;/p&gt;
&lt;h2 id=&#34;getting-the-mechanics-out-of-the-way&#34;&gt;
  Getting the mechanics out of the way
  &lt;a href=&#34;#getting-the-mechanics-out-of-the-way&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Losing fat is simple, but apparently not easy.&lt;/p&gt;
&lt;p&gt;Depending on your ability to operationalize things, the whole dieting concept
fits on a &lt;a href=&#34;https://github.com/Deaddy/post-it-blog/blob/master/macros.rst&#34;&gt;post-it note&lt;/a&gt;, but if you want a bit more
insights, get Lyle Mc Donalds Book &amp;ldquo;Flexible Dieting&amp;rdquo; and just read it.
I am not making money of it, it&amp;rsquo;s just a somewhat unexciting problem and has
been for all practical purposes solved with that book.&lt;/p&gt;
&lt;p&gt;Managing the logistics of a successful diet might be a different problem, as
obtaining quality food usually means you have to cook yourself and pack lunch,
because cafeterias and restaurants suck, unless specifically targeted at
bodybuilders and strength athletes. &lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;
While this might involve a little bit of planning, it is still very mechanical
and a problem which a competent coach or housekeeper can solve quickly.&lt;/p&gt;
&lt;h2 id=&#34;psychological-factors&#34;&gt;
  Psychological factors
  &lt;a href=&#34;#psychological-factors&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Now, to find out where people struggle, it is easiest to see what is exploited
the most to sell shit like dieting programs, apps and gadgets:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;motivational alpha drivel&lt;/li&gt;
&lt;li&gt;discipline&lt;/li&gt;
&lt;li&gt;insecurities about weight loss and your own bodyweight&lt;/li&gt;
&lt;li&gt;quick fixes, this one weird trick and hacks&lt;/li&gt;
&lt;li&gt;giving up and staying fat&lt;/li&gt;
&lt;li&gt;pure ignorance about the mechanics&lt;/li&gt;
&lt;li&gt;the opposite of the above and the complete reduction to the mechanics&lt;/li&gt;
&lt;li&gt;inability to operationalize a diet and go from &amp;ldquo;I need to eat less and I
should eat these things&amp;rdquo; to having food on the table&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The last point is where any halfway decent coach can help you, or some dieting
app, or some dieting app subscription of some halfway decent provider.
It&amp;rsquo;s annoying and easily outsourcable.&lt;/p&gt;
&lt;p&gt;The third to last point is pretty much solved by &amp;ldquo;just read Lyle&amp;rsquo;s book&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;The remaining points are where the real struggle lies and is usually never
addressed in an adequate way.
In some sense this is not much more interesting than the mechanical part of
dieting, as it all boils down to &amp;ldquo;be more detached, keep your ego in check and
increase your emotional awareness&amp;rdquo;, but this seems to be a discussion
completely lost on the fitness culture.&lt;/p&gt;
&lt;p&gt;Most of the approaches can be found on a spectrum which spans on one end the
very aggressive grind hustle &amp;ldquo;suck it up it is your own fault that you are
fat&amp;rdquo; kind of motivational stuff - sometimes nicely dressed in more athletic
terms, as fat does not lift weight.
On the other end of the spectrum we find the fat acceptance movement, where we
even find denial of health impacts of being overly fat and everyone who says
so is fatphobic subhuman trash.&lt;/p&gt;
&lt;p&gt;Unsurprisingly, both extremes are completely wrong but contain nuggets of
truth and actually are helpful to &lt;em&gt;some&lt;/em&gt; people, but in general harmful,
especially when people slide into echo chambers pertaining to one of the
extremes.&lt;/p&gt;
&lt;p&gt;So if you find yourself amongst those people for whom this is helpful,
congratulations.
Maybe this post will then lead you to a clearer understanding what is the
thing about your approach that works and help you refine your approach.&lt;/p&gt;
&lt;h3 id=&#34;fat-acceptance-guilt-and-shame&#34;&gt;
  Fat acceptance, guilt and shame
  &lt;a href=&#34;#fat-acceptance-guilt-and-shame&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Guilt and shame are really good at making you feel better about yourself, when
you can sent someone else down the guilt trip.
But feeling guilty and shameful do not really help you accomplish anything,
especially they do not help in ceasing with behaviours or establishing better,
productive behaviours.
This is wonder- and woefully demonstrated by millions of smokers, alcoholics,
addicts, micromanagers and, of course, fat people.&lt;/p&gt;
&lt;p&gt;It is almost a tragic trope, but something probably everyone who is &amp;ldquo;more
than a little bit pudgy&amp;rdquo; is familiar with:
Feel guilty and ashamed because you are fat?
No problem, just eat a chocolate
bar and you feel better.
It works every time.
Sad thing is, only for a very short time and it makes the problem worse.
Also people make fun of you, and you maybe even make fun of you yourself, or
at least you feel very ashamed and guilty, because if you read it out loud it
sounds so fucking stupid.&lt;/p&gt;
&lt;p&gt;It&amp;rsquo;s a vicious cycle and very hard to escape.&lt;/p&gt;
&lt;p&gt;But you can escape.&lt;/p&gt;
&lt;p&gt;Part of the escape plan is acceptance and in this sense fat acceptance is a
movement which does helpful things for a number of people.&lt;/p&gt;
&lt;p&gt;Accept that you are fat.&lt;/p&gt;
&lt;p&gt;And probably it is not even your fault.
Well, it is usually not &amp;ldquo;muh genetics&amp;rdquo;, but ostensibly you have not been
provided with the tools necessary to deal with life in a healthy way, lest you
would not have ended up in this situation.&lt;/p&gt;
&lt;p&gt;There is a multitude of reasons why you could end up in such a situation, e.g.:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;you likely never learned formally what good food is and what is bad food&lt;/li&gt;
&lt;li&gt;you grew up in a socially unhealthy family and eating was your emotional
coping mechanism&lt;/li&gt;
&lt;li&gt;it only happened that due to life and work stress you suddenly found
yourself not moving around a lot and also stress eating sometimes and
drinking a lot&lt;/li&gt;
&lt;li&gt;your parents grew up in poverty and now think of plenty food as something
very holy and there is always too much food for everyone&lt;/li&gt;
&lt;li&gt;how the fuck should 18 yo you have known that something that tastes so
good can not be good for you in the long run&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And of course, even assuming you did try to get out of the situation, it took
a while until you found reliable information (as laid out in Lyle&amp;rsquo;s book), if
any, because most of the shit you find are fad diets or people shilling
their programs.&lt;/p&gt;
&lt;p&gt;Even medical professionals are usually pretty uneducated about proper
nutrition, as &amp;ldquo;nutrition for healthy people&amp;rdquo; is traditionally not what you
learn about in medical school, where you usually learn to treat sick people.
There, nutrition is usually an afterthought, as for most of the time you only
needed them to survive for a while until they got better.
People eating too much of the wrong stuff is still a young pathology.&lt;/p&gt;
&lt;p&gt;Are you the person stuffing the food in your face?
Definitely.
But you really do not deserve all the blame for this, as you have the odds
stacked against you learning and ingraining appropriate eating behaviours from
day one.&lt;/p&gt;
&lt;p&gt;Actually, sometimes I wonder why so few people are not fat, but turns out,
most (i.e. more than 50% of) people simply turn fat over time at different
rates.
It&amp;rsquo;s not your metabolism that slows down at thirty, it&amp;rsquo;s just that it took ten
years to accumulate enough fat for you to notice.&lt;/p&gt;
&lt;p&gt;And this might be a good reason to see at the other side of the spectrum.&lt;/p&gt;
&lt;h3 id=&#34;motivational-alpha-grind-hustle-drivel&#34;&gt;
  Motivational alpha grind hustle drivel
  &lt;a href=&#34;#motivational-alpha-grind-hustle-drivel&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;This is basically the antithesis to the fat acceptance movement and guilt
shaming you into fat loss.
Usually also trying to sell you coaching, dieting plans or even fat burners
(those are still a thing), because, unsurprisingly, you are not shredded after
six weeks of following a diet, BUT IT IS YOUR FAULT.
But do not worry, we got you covered with our new trademarked AI assisted
dieting plan.&lt;/p&gt;
&lt;p&gt;Again, as much as there is wrong with it, there exists a kernel of truth.
As noted, most people accumulate enough fat to notice at some point, but,
well, you have to notice that you are fat.
And this is becoming increasingly harder, as the majority &lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; of people is
fat, so very likely you do not look so different from your peers.&lt;/p&gt;
&lt;p&gt;Here is a simple trick to find out if you&amp;rsquo;re not fat:
Is your sixpack still showing?
If so, you are probably not fat. &lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt;
But what if you&amp;rsquo;re just not sixpack lean?
Well, harder to tell.
But in the world of hardcore trainers, this is much simpler and the question
whether or not you are fat reduces to the existence of a visible sixpack.
To get lean of course, you also need all the other goodies, such as veins on
your lower abs and striations somewhere, but I digress.&lt;/p&gt;
&lt;p&gt;And sometimes this is really helpful.
Noticing the problem is the first step to solve it, as nobody accidentally
goes from fat to lean, and it is even less likely that somebody just builds
muscle accidentally in the process.
Disgust can be a good motivator, and for some people shame avoidance is a, if
not the, major driver of their actions.
Leveraging this does get the job done for some people.&lt;/p&gt;
&lt;p&gt;But.
But as noted before, shame is a tricky thing and definitely not an approach
you can use on all people, as it will cripple some, and well, this then leads
to the other side of the spectrum, the fat acceptance movement.&lt;/p&gt;
&lt;p&gt;Also probably it is not a healthy way to deal with things anyway?&lt;/p&gt;
&lt;h3 id=&#34;the-evidence-based-approach&#34;&gt;
  The &amp;ldquo;evidence based&amp;rdquo; approach
  &lt;a href=&#34;#the-evidence-based-approach&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;A third big group kinda missing the point is the evidence based crowd.
Not only is their paper exegesis usually without any substantial understanding
of neither the underlying mechanics nor the way statistics work, but their
training programs and diet plans end up being average incarnate.&lt;/p&gt;
&lt;p&gt;Which is a good starting point, but as noticed, not really the problem fat
people struggle with.&lt;/p&gt;
&lt;p&gt;The approaches are usually[^evidence based coaches] not as insane as those of
the hardcore crowd, but still oblivious of the reality most people live in.&lt;/p&gt;
&lt;h3 id=&#34;the-skinny-side-redux&#34;&gt;
  The skinny side redux
  &lt;a href=&#34;#the-skinny-side-redux&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Skinny people have roughly the same issues, but well, they are just on the
other side of the inequality.&lt;/p&gt;
&lt;p&gt;Again they usually do not know how to eat properly, but instead of eating far
too much, they eat to little.
How could they have known, when they grew up in a household where a piece of
bread counts as a meal, or you eat one plate of pasta and call it a day.&lt;/p&gt;
&lt;p&gt;As nobody is muscular, they have no idea how much muscle actual healthy people
carry, and the perception of being fine is often confirmed by the visibility
of some muscles, as there is no fat which could hide them.&lt;/p&gt;
&lt;p&gt;I suspect the grind hustle bubble is pretty much the same; especially as
making someone gain muscle who does not need to avoid fat gain is technically
much easier than making someone lose fat; GOMAD is not just a meme, but
actually works, and is at least physiologically sensible.
But maybe not psychologically, which truthfully took me a while to realize.&lt;/p&gt;
&lt;p&gt;As the saying goes, you can&amp;rsquo;t argue with results and thus
sensible ways are dismissed, even when a more moderate approach would lead to
better adherence and ultimately to better results down the road.&lt;/p&gt;
&lt;p&gt;On the acceptance side, this then becomes the &amp;ldquo;reject natural&amp;rdquo; bubble, in
which people just assume anyone with a modicum of muscle is on gear, making
the natty or not question a favorite topic, and if the bubble is male, the
incel sphere is very close.&lt;/p&gt;
&lt;h3 id=&#34;advertising-and-more-general-society&#34;&gt;
  Advertising and more general society
  &lt;a href=&#34;#advertising-and-more-general-society&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;As if everything wasn&amp;rsquo;t already hard enough, if you are eating more mindfully,
you very likely have to put up with more shit in your social circle.
Especially if your goal is to lose fat and maybe even gain some muscle.&lt;/p&gt;
&lt;p&gt;There is a trillion dollar industry pushing cheap, fattening foods into every
corner of the world, and targeting mostly children and poor people with their
advertising for decades.
This lead to a grassroots acceptance and normalization of such foods, and it
has become a stereotype to be made fun of when ordering a diet soda at a
restaurant.
Or to not go out to a restaurant every month or get takeout on a regular
basis.&lt;/p&gt;
&lt;p&gt;Cooking has been degraded from a everyday activity to a special occasion.
And with special occasions you also get special issues.&lt;/p&gt;
&lt;p&gt;On the other end of the media extremes, you see an overemphasis on expensive
organic local health foods, shaming you for using produce from the
supermarket and advocating a lifestyle which can only be sustained by the
rich.&lt;/p&gt;
&lt;p&gt;In fitness circles, the end of year festivities like Christmas (and
thanksgiving in the US) are kind of a meme, but, looking at the whole year of
nutrition, those few days should not matter much.
Even if you were to put on a pound every season, and be in homeostasis the
rest of the year, over 60 years this would only mean 30kg weight gain.
Which is not necessarily nice, but also not problematic.
The weight gain rates we usually are struggling with are much more dramatic.&lt;/p&gt;
&lt;h2 id=&#34;embracing-positivity-i-guess&#34;&gt;
  Embracing positivity I guess
  &lt;a href=&#34;#embracing-positivity-i-guess&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;So, I think obviously we can not get away with the health at every size stuff.
Our bodies need muscle, and they likely need more muscle than you think they
need.
And we should not be too fat, and have some strength training and some
endurance training on a regular basis.&lt;/p&gt;
&lt;p&gt;The road to a healthy lifestyle is a long one and you definitely do not need
to find the optimum quickly.
Depending on what is at stake, the approaches need to differ, which usually
translates to &amp;ldquo;the fatter you are, the more drastic interventions are
necessary&amp;rdquo;.&lt;/p&gt;
&lt;p&gt;But it is really hard to make progress if&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;you are in denial about your situation, or&lt;/li&gt;
&lt;li&gt;you are deeply ashamed about your situation.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Which is kind of a truism for every situation, not only weight loss, but with
weight loss we face extremely warped values in society and are being sent
mixed signals by almost everyone.&lt;/p&gt;
&lt;p&gt;Trying to satisfy the need for some practicality, I think we end up with three
categories of interventions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;if you are massively overweight, you have to treat it as if you were sick;
your medical professionals will probably agree and support you in this
endeavor.
You are probably severely limited in the exercises you can do, and
overexertion can be truly risky.
Acknowledge that you not only have to heal the physical damage, but also
deal with the emotional trauma that got you into this situation and the
trauma that this situation brought to you.&lt;/li&gt;
&lt;li&gt;if you are only slightly overweight or just a bit unhappy with your body,
getting into some exercise routine will be much more important and helpful
than doing the dieting stuff; it can be a nice journey and you have time and
can experience many improvements.
Strength training would be favorable over endurance training, but you can
can afford the luxury of trying out things and do what is fun.
The exercise itself will probably not bring you fat loss, but be more
effective in impact of quality of life and health outcomes, and maybe help
with motivation for more goal oriented eating.&lt;/li&gt;
&lt;li&gt;if you are moderately overweight, you should make an effort both on the
dieting and the exercise front;
exercise will have the bigger impact on your health, but to move the needle
you need to diet.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I suspect you can use the
&amp;ldquo;pathological/moderate/nice-to-have&amp;rdquo; categories also for non-fatloss goals and
then examine in which you truly belong and hopefully find a more suitable
approach, which allows you to successfully continue on the journey, instead of
making you feel like a disappointment by failing unrealistic standards.&lt;/p&gt;
&lt;p&gt;[^evidence based coaches]: Well, usually.
Sometimes it is also just the alpha egghead stuff wrapped in the package
of a skinny dude with glasses, with insane energy deficits and diets
requiring impossible amounts of precision to make weight for completely
irrelevant competitions.
Usually accompanied by the same lackluster collection of variations of the
main lifts targeting all possible positions, so you can roll out the same
cookie cutter template to all of your athletes for only 200 bucks a month.
But well, this possibly warrants another post.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Even at olympic training centers (targeted at all sports and &amp;ldquo;sports&amp;rdquo;
present in the olympics, not only weightlifting) the food is pretty much
your standard cafetaria food with a bit more salads and vegetables. Turns
out when you are &lt;a href=&#34;https://example.org/on-the-10k-hours-rule&#34;&gt;gifted&lt;/a&gt;, you have more leeway than us mere mortals.&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:2&#34;&gt;
&lt;p&gt;In Germany, according to the &lt;a href=&#34;https://www.rki.de/DE/Content/Gesundheitsmonitoring/Themen/Uebergewicht_Adipositas/Uebergewicht_Adipositas_node.html&#34;&gt;RKI&lt;/a&gt;, 67% of male (assigned at birth)
population and 53% of female population are overweight by BMI.
A staggering 23% and 24% respectively are adipose.
Yes, BMI does not work well when you have muscle, but even at gyms
muscular people remain a rarity.&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li id=&#34;fn:3&#34;&gt;
&lt;p&gt;Having a sixpack is not as reliably as one could hope to be; more
feminine people can often reveal a sixpack while still carrying a good
amount of fat around their hips and legs, but maybe it is just that:
A &lt;strong&gt;good&lt;/strong&gt; amount of fat.
In males a worse condition seems to sometimes occur, where the visceral
fat is still there and you have a bulging belly, but the subcutaneous fat
is gone, so this bulge shows a sixpack.
That might be a bit more worrysome.&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
    <item>
      <title>while read line in bash</title>
      <link>https://example.org/blog/while-read-line-in-bash/</link>
      <pubDate>Sun, 30 Oct 2022 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/while-read-line-in-bash/</guid>
      <description>&lt;p&gt;I always forget about this thing and the only reason I do not remember
is because I have not written it down somewhere.
And it is so embarrassing to ecosia it.
At least now I can look it up on my own blog, slightly reducing the amount of
embarrassment&lt;/p&gt;
&lt;p&gt;The problem is simple:
You have some command which does multiple lines of output and you need to do a
little bit more complex operation with each of the lines, so you can&amp;rsquo;t just
use &lt;code&gt;xarg&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Now, one could work around with &lt;code&gt;for&lt;/code&gt; and some &lt;code&gt;IFS&lt;/code&gt; magic, but I never get
this working right.&lt;/p&gt;
&lt;p&gt;And the pattern is really simple:&lt;/p&gt;
&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  command | &lt;span style=&#34;color:#66d9ef&#34;&gt;while&lt;/span&gt; read line
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;do&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    some_other_command $line
&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#66d9ef&#34;&gt;done&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The command of course could be a longer pipe of commands.
Note that &lt;code&gt;line&lt;/code&gt; is just some arbitrary variable name and is not some sort of
directive.&lt;/p&gt;
&lt;p&gt;In particular, with some awk magic we can quickly build more complex commands.&lt;/p&gt;
</description>
    </item>
    
    <item>
      <title>Why you should start a blog</title>
      <link>https://example.org/blog/why-you-should-start-a-blog/</link>
      <pubDate>Fri, 12 Aug 2022 00:00:00 +0000</pubDate>
      <guid>https://example.org/blog/why-you-should-start-a-blog/</guid>
      <description>&lt;p&gt;The other day I asked a friend for their blog URL and they did not have a
blog.
I was shocked.
I thought every intellectual has a blog (or some other outlet) nowadays, but I
was wrong.
Because having a blog is such an &lt;a href=&#34;https://example.org/write-down-the-obvious&#34;&gt;obvious&lt;/a&gt; thing.&lt;/p&gt;
&lt;p&gt;Blogs have several properties, which make them a good choice in many
instances.
And since you read this on my blog, I have to assume you might have
sufficiently interesting things to write about, so this is the first reason
why you should write a blog.&lt;/p&gt;
&lt;h1 id=&#34;blogs-are-cheap-and-hard-to-monetize&#34;&gt;
  Blogs are cheap and hard to monetize
  &lt;a href=&#34;#blogs-are-cheap-and-hard-to-monetize&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;A blog does not need much to run.&lt;/p&gt;
&lt;p&gt;Ideally you host it yourself and use some file based backend, because this
makes for even easier backup, but e.g. when you&amp;rsquo;re a student or have no other
income, this might be prohibitively expensive.&lt;/p&gt;
&lt;p&gt;But there are thousands of free ways to host a blog, e.g. github or gitlab
pages and if you do not use something like WordPress, migrations are easy and
you can probably run your blog at close to no cost forever.&lt;/p&gt;
&lt;p&gt;Furthermore, the golden era of blogs is over, and nowadays &amp;ldquo;starting a blog&amp;rdquo;
is nothing anyone considers a business model anymore.
It probably can still be profitable, but if you were to create a business, you
would not choose to start a blog anymore, but probably some kind of niche
landing page with affiliate links.&lt;/p&gt;
&lt;p&gt;Not only does blogging itself not work well as a business anymore, but also it
is not that great of a sales funnel, as those have basically shifted to video
platforms.&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt;&lt;/p&gt;
&lt;p&gt;Being cheap and non-commercial does have several benefits:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;there is little pressure to create new content, as nothing is wasted, which
can increase the signal-to-noise ratio&lt;/li&gt;
&lt;li&gt;it&amp;rsquo;s easy to take breaks or even suspend it when you are not actively
writing anymore&lt;/li&gt;
&lt;li&gt;you have fewer incentives to write bad content, like unnecessary product
reviews or incomplete teasers to upsell for your coaching or educational
program or whatever&lt;/li&gt;
&lt;li&gt;there is not really a cost associated, so you have the freedom to play
around with things and can post things you are not totally sure about&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Last but not least, being cheap is nice by itself.
I am tired of paying.&lt;/p&gt;
&lt;h1 id=&#34;blogs-are-low-friction&#34;&gt;
  Blogs are low friction
  &lt;a href=&#34;#blogs-are-low-friction&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;You can just write a post and it can stand for itself.
With stuff like tags you even can get some rough automatic categorization of
your posts, and then just adding a simple list as archive makes for a pretty
pleasant retrieval experience.
No fucking searches, no fucking non-linear timelines, no fucking
recommendation engines.&lt;/p&gt;
&lt;p&gt;Also you do not have to put in much effort to bundle everything in a cohesive
package.
To write a long thesis or book, you have to put in a lot of work to make it
flow smoothly and make it a pleasant experience, besides having enough to say
on a given topic to fill a book.
Which most people (including book authors) don&amp;rsquo;t, resulting in many books that
should have been blog articles and are only filler fluff, repetitions and
repetitions.&lt;/p&gt;
&lt;p&gt;Something similar could be said about more traditional homepages.
Blogs are more like a pile of stuff and you can just pick whatever you like.
However, when you do not really have a singular focus, you end up with many
many subcategories, and it is cumbersome trying to reconcile those in a more
structured approach.&lt;/p&gt;
&lt;p&gt;Blogs are basically object stores, where you have content and some metadata to
retrieve it.
It&amp;rsquo;s easier to scale than file systems, where things have to be hierarchical
in some sense.&lt;/p&gt;
&lt;p&gt;And if there really is a cohesive topic, you can always just gather all the
posts belonging to it and create a miniseries or put those things on a
separate page.&lt;/p&gt;
&lt;h1 id=&#34;blogs-have-a-preselection&#34;&gt;
  Blogs have a preselection
  &lt;a href=&#34;#blogs-have-a-preselection&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;With blogs, your audience builds organically and unless you make it to
hacker news, there is very little influx of inconsiderate people.
You can assume a little bit that readers will get accustomed to your writing
style and lingo, and more importantly, you can assume any level of competency
you like.
Your blog can be very basic, or you can work with very abstract foundations.
You can be more nuanced, as you can expect your audience to understand
quantifiers and their implications.&lt;/p&gt;
&lt;p&gt;You can get pretty much right to the heart of the matter, if you like, or at
least you do not have to preface every post with a introduction to Bayesian
statistics or an overview of the von Neumann architecture just because you
want to talk about clusters of computers.&lt;/p&gt;
&lt;p&gt;Also, you do not have to convince the reader, which is another reason why many
books exceed the appropriate length by far.&lt;/p&gt;
&lt;h1 id=&#34;blogs-are-easy-to-backup-and-maintain&#34;&gt;
  Blogs are easy to backup and maintain
  &lt;a href=&#34;#blogs-are-easy-to-backup-and-maintain&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Preserving knowledge is one of the largest challenges we face.
The times where the internet did not forget have been.
Proprietary services are very forgetful, often on purpose.
If you can not download it, you have to expect to never see it again.
Often you even can not start a series anymore before it gets pulled from the
respective service.&lt;/p&gt;
&lt;figure&gt;
&lt;img src=&#34;https://example.org/images/why-you-should-start-a-blog-1.jpeg&#34; alt=&#34;/images/why-you-should-start-a-blog-1.jpeg&#34; /&gt;
&lt;/figure&gt;
&lt;p&gt;Blogs on the other hand, are easy to backup.
It&amp;rsquo;s text.
Everyone can download it.
Usually you can simply print it to PDF, even though for proper rendering there
people should put in more effort than I did.
If your source is some repository, as a blog owner you can keep it around
pretty much forever.&lt;/p&gt;
&lt;h1 id=&#34;blogs-are-great-filters-for-yourself&#34;&gt;
  Blogs are great filters for yourself
  &lt;a href=&#34;#blogs-are-great-filters-for-yourself&#34; class=&#34;anchor&#34;&gt;#&lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;I do keep around almost all the posts I started writing, even though some of
them never finish.
Often for a good reason:
Once you start writing things down, you notice when things just don&amp;rsquo;t sound as
nice as they did in their head.&lt;/p&gt;
&lt;p&gt;Keeping old drafts around is nice though, because sometimes you find out why
an idea was actually bad and then you can finally let this article rest.
Or you sometimes find the reason missing that tied everything together.&lt;/p&gt;
&lt;p&gt;I do have a pretty good memory, so in general I remember most of my good and
bad ideas, but I do not remember exactly when I had this idea, or in which
context.
Having a file which is roughly dated then is not only a nice reminder,
but I find it also interesting to see how much or how little one has learned
in the mean time, and just having some understanding of how long it takes for
oneself to discover things makes learning new things easier to plan out.&lt;/p&gt;
&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;
&lt;hr&gt;
&lt;ol&gt;
&lt;li id=&#34;fn:1&#34;&gt;
&lt;p&gt;Obviously I have no idea about these things, lest I would not be poor,
but I digress. Video content is just much more wasteful^w engaging per unit
of information and people on which sales work are much more likely to be
influenced by video&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
</description>
    </item>
    
  </channel>
</rss>
