From 36227f09dd96ee54e13f581f2286e6594d8c2136 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 8 Feb 2026 22:39:32 +0200 Subject: Update content for html --- about/index.html | 2 +- about/novels.html | 2 +- about/resources.html | 200 ++++++++++----------- ...010-05-07-lazy-evaluation-with-standard-ml.html | 123 +++++++++++++ ...010-05-07-lazy-evaluation-with-standarn-ml.html | 123 ------------- .../2022-05-27-perl-is-still-a-great-choice.html | 2 +- gemfeed/2022-09-30-after-a-bad-nights-sleep.html | 4 +- ...-03-16-the-pragmatic-programmer-book-notes.html | 2 +- ...03-25-gemtexter-2.0.0-lets-gemtext-again-2.html | 2 +- ...4-01-never-split-the-difference-book-notes.html | 2 +- ...3-05-06-the-obstacle-is-the-way-book-notes.html | 2 +- ...17-career-guide-and-soft-skills-book-notes.html | 26 +-- gemfeed/2023-11-11-mind-management-book-notes.html | 2 +- .../2024-05-01-slow-productivity-book-notes.html | 2 +- ...2024-06-23-terminal-multiplexing-with-tmux.html | 8 +- .../2024-07-07-the-stoic-challenge-book-notes.html | 2 +- gemfeed/2024-10-24-staff-engineer-book-notes.html | 2 +- ...5-04-05-f3s-kubernetes-with-freebsd-part-4.html | 18 +- gemfeed/2025-04-19-when-book-notes.html | 2 +- ...6-07-a-monks-guide-to-happiness-book-notes.html | 2 +- ...5-07-14-f3s-kubernetes-with-freebsd-part-6.html | 8 +- ...1-02-the-courage-to-be-disliked-book-notes.html | 2 +- ...tmux-popup-editor-for-cursor-agent-prompts.html | 2 +- gemfeed/atom.xml | 56 +++--- gemfeed/index.html | 4 +- index.html | 6 +- notes/a-monks-guide-to-happiness.html | 2 +- notes/career-guide-and-soft-skills.html | 26 +-- notes/index.html | 2 +- notes/influence-wihout-authority.html | 2 +- notes/mind-management.html | 2 +- notes/never-split-the-difference.html | 2 +- notes/slow-productivity.html | 2 +- notes/staff-engineer.html | 2 +- notes/the-courage-to-be-disliked.html | 2 +- notes/the-obstacle-is-the-way.html | 2 +- notes/the-pragmatic-programmer.html | 2 +- notes/the-stoic-challenge.html | 2 +- notes/when.html | 2 +- uptime-stats.html | 2 +- 40 files changed, 329 insertions(+), 329 deletions(-) create mode 100644 gemfeed/2010-05-07-lazy-evaluation-with-standard-ml.html delete mode 100644 gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html diff --git a/about/index.html b/about/index.html index dab9d9ff..3bedd4b8 100644 --- a/about/index.html +++ b/about/index.html @@ -19,7 +19,7 @@
  • Born in: Germany, currently living in: Sofia, Bulgaria
  • Profession: Computerist - Solving problems with computers that we wouldn't have without them
  • Current job: Site Reliability Engineer
  • -
  • Education: Diplom-Informatiker (FH) (Diploma from a German University of Applied Sciences, before hey had international Bachelor and Masters programs)
  • +
  • Education: Diplom-Informatiker (FH) (Diploma from a German University of Applied Sciences, before they had international Bachelor and Masters programs)
  • E-Mail: paul@nospam.buetow.org

  • My sites


    diff --git a/about/novels.html b/about/novels.html index f6b872e6..46db7355 100644 --- a/about/novels.html +++ b/about/novels.html @@ -29,7 +29,7 @@

    Introduction



    -This site lists my favourite novels I have read. I prefer to read them in German though. You will notice that these are mostly Science Fiction novels. Where possible, this page shows both, english (english) and german (german), titles.
    +This site lists my favourite novels I have read. I prefer to read them in German though. You will notice that these are mostly Science Fiction novels. Where possible, this page shows both English and German titles.

    Some were read as paperback, others as eBooks, and some were listened to (Audiobook). For a graphical representation you can also have a look here:

    diff --git a/about/resources.html b/about/resources.html index 51df99cd..995042e5 100644 --- a/about/resources.html +++ b/about/resources.html @@ -50,112 +50,112 @@ In random order:


    Technical references



    I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order:


    Self-development and soft-skills books



    In random order:


    Here are notes of mine for some of the books

    @@ -164,31 +164,31 @@ Some of these were in-person with exams; others were online learning lectures only. In random order:


    Technical guides



    These are not whole books, but guides (smaller or larger) which I found very useful. in random order:


    Podcasts



    @@ -197,60 +197,60 @@ In random order:


    Podcasts I liked



    I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests.


    Newsletters I like



    This is a mix of tech and non-tech newsletters I am subscribed to. In random order:


    Magazines I like(d)



    This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order:


    Formal education


    diff --git a/gemfeed/2010-05-07-lazy-evaluation-with-standard-ml.html b/gemfeed/2010-05-07-lazy-evaluation-with-standard-ml.html new file mode 100644 index 00000000..641d8c0c --- /dev/null +++ b/gemfeed/2010-05-07-lazy-evaluation-with-standard-ml.html @@ -0,0 +1,123 @@ + + + + +Lazy Evaluation with Standard ML + + + + + +

    +Home | Markdown | Gemini +

    +

    Lazy Evaluation with Standard ML


    +
    +Published at 2010-05-07T08:17:59+01:00
    +
    +
    +      _____|~~\_____      _____________
    +  _-~               \    |    \
    +  _-    | )     \    |__/   \   \
    +  _-         )   |   |  |     \  \
    +  _-    | )     /    |--|      |  |
    + __-_______________ /__/_______|  |_________
    +(                |----         |  |
    + `---------------'--\\\\      .`--'          -Glyde-
    +                              `||||
    +
    +
    +In contrast to Haskell, Standard SML does not use lazy evaluation by default but an eager evaluation.
    +
    +https://en.wikipedia.org/wiki/Eager_evaluation
    +https://en.wikipedia.org/wiki/Lazy_evaluation
    +
    +
    +You can solve specific problems with lazy evaluation easier than with eager evaluation. For example, you might want to list the number Pi or another infinite list of something. With the help of lazy evaluation, each element of the list is calculated when it is accessed first, but not earlier.
    +
    +

    Emulating lazy evaluation in SML


    +
    +However, it is possible to emulate lazy evaluation in most eager evaluation languages. This is how it is done with Standard ML (with some play with an infinite list of natural number tuples filtering out 0 elements):
    +
    +
    +type ’a lazy = unit -> ’a;
    +
    +fun force (f:’a lazy) = f ();
    +fun delay x = (fn () => x) : ’a lazy;
    +
    +datatype ’a sequ = NIL | CONS of ’a * ’a sequ lazy;
    +
    +fun first 0 s = []
    +  | first n NIL = []
    +  | first n (CONS (i,r)) = i :: first (n-1) (force r);
    +
    +fun filters p NIL = NIL
    +  | filters p (CONS (x,r)) =
    +      if p x
    +          then CONS (x, fn () => filters p (force r))
    +      else
    +          filters p (force r);
    +
    +fun nat_pairs () =
    +    let
    +        fun from_pair (x,0) =
    +              CONS ((x,0), fn () => from_pair (0,x+1))
    +          | from_pair (up,dn) =
    +              CONS ((up,dn), fn () => from_pair (up+1,dn-1))
    +        in from_pair (0,0)
    +    end;
    +
    +(* Test
    +val test = first 10 (nat_pairs ())
    +*)
    +
    +fun nat_pairs_not_null () =
    +    filters (fn (x,y) => x > 0 andalso y > 0) (nat_pairs ());
    +
    +(* Test
    +val test = first 10 (nat_pairs_not_null ());
    +*)
    +
    +
    +http://smlnj.org/
    +
    +

    Real laziness with Haskell


    +
    +As Haskell already uses lazy evaluation by default, there is no need to construct a new data type. Lists in Haskell are lazy by default. You will notice that the code is also much shorter and easier to understand than the SML version.
    +
    +
    +{- Just to make it look like the ML example -}
    +first = take
    +filters = filter
    +
    +{- Implementation -}
    +nat_pairs = from_pair 0 0
    +    where
    +        from_pair x 0 = [x,0] : from_pair 0 (x+1)
    +        from_pair up dn = [up,dn] : from_pair (up+1) (dn-1)
    +
    +{- Test:
    +first 10 nat_pairs
    +-}
    +
    +nat_pairs_not_null = filters (\[x,y] -> x > 0 && y > 0) nat_pairs
    +
    +{- Test:
    +first 10 nat_pairs_not_null
    +-}
    +
    +
    +http://www.haskell.org/
    +
    +E-Mail your comments to paul@nospam.buetow.org :-)
    +
    +Back to the main site
    + + + diff --git a/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html b/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html deleted file mode 100644 index c525ed7f..00000000 --- a/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html +++ /dev/null @@ -1,123 +0,0 @@ - - - - -Lazy Evaluation with Standard ML - - - - - -

    -Home | Markdown | Gemini -

    -

    Lazy Evaluation with Standard ML


    -
    -Published at 2010-05-07T08:17:59+01:00
    -
    -
    -      _____|~~\_____      _____________
    -  _-~               \    |    \
    -  _-    | )     \    |__/   \   \
    -  _-         )   |   |  |     \  \
    -  _-    | )     /    |--|      |  |
    - __-_______________ /__/_______|  |_________
    -(                |----         |  |
    - `---------------'--\\\\      .`--'          -Glyde-
    -                              `||||
    -
    -
    -In contrast to Haskell, Standard SML does not use lazy evaluation by default but an eager evaluation.
    -
    -https://en.wikipedia.org/wiki/Eager_evaluation
    -https://en.wikipedia.org/wiki/Lazy_evaluation
    -
    -
    -You can solve specific problems with lazy evaluation easier than with eager evaluation. For example, you might want to list the number Pi or another infinite list of something. With the help of lazy evaluation, each element of the list is calculated when it is accessed first, but not earlier.
    -
    -

    Emulating lazy evaluation in SML


    -
    -However, it is possible to emulate lazy evaluation in most eager evaluation languages. This is how it is done with Standard ML (with some play with an infinite list of natural number tuples filtering out 0 elements):
    -
    -
    -type ’a lazy = unit -> ’a;
    -
    -fun force (f:’a lazy) = f ();
    -fun delay x = (fn () => x) : ’a lazy;
    -
    -datatype ’a sequ = NIL | CONS of ’a * ’a sequ lazy;
    -
    -fun first 0 s = []
    -  | first n NIL = []
    -  | first n (CONS (i,r)) = i :: first (n-1) (force r);
    -
    -fun filters p NIL = NIL
    -  | filters p (CONS (x,r)) =
    -      if p x
    -          then CONS (x, fn () => filters p (force r))
    -      else
    -          filters p (force r);
    -
    -fun nat_pairs () =
    -    let
    -        fun from_pair (x,0) =
    -              CONS ((x,0), fn () => from_pair (0,x+1))
    -          | from_pair (up,dn) =
    -              CONS ((up,dn), fn () => from_pair (up+1,dn-1))
    -        in from_pair (0,0)
    -    end;
    -
    -(* Test
    -val test = first 10 (nat_pairs ())
    -*)
    -
    -fun nat_pairs_not_null () =
    -    filters (fn (x,y) => x > 0 andalso y > 0) (nat_pairs ());
    -
    -(* Test
    -val test = first 10 (nat_pairs_not_null ());
    -*)
    -
    -
    -http://smlnj.org/
    -
    -

    Real laziness with Haskell


    -
    -As Haskell already uses lazy evaluation by default, there is no need to construct a new data type. Lists in Haskell are lazy by default. You will notice that the code is also much shorter and easier to understand than the SML version.
    -
    -
    -{- Just to make it look like the ML example -}
    -first = take
    -filters = filter
    -
    -{- Implementation -}
    -nat_pairs = from_pair 0 0
    -    where
    -        from_pair x 0 = [x,0] : from_pair 0 (x+1)
    -        from_pair up dn = [up,dn] : from_pair (up+1) (dn-1)
    -
    -{- Test:
    -first 10 nat_pairs
    --}
    -
    -nat_pairs_not_null = filters (\[x,y] -> x > 0 && y > 0) nat_pairs
    -
    -{- Test:
    -first 10 nat_pairs_not_null
    --}
    -
    -
    -http://www.haskell.org/
    -
    -E-Mail your comments to paul@nospam.buetow.org :-)
    -
    -Back to the main site
    - - - diff --git a/gemfeed/2022-05-27-perl-is-still-a-great-choice.html b/gemfeed/2022-05-27-perl-is-still-a-great-choice.html index 2172314b..cd17d661 100644 --- a/gemfeed/2022-05-27-perl-is-still-a-great-choice.html +++ b/gemfeed/2022-05-27-perl-is-still-a-great-choice.html @@ -130,7 +130,7 @@ Here are some reasons why not to chose Perl and look for "better" alternatives:


    Introduction



    -In the previous posts, we set up a WireGuard mesh network. In the future, we will also setting up a Kubernetes cluster. Kubernetes workloads often require persistent storage for databases, configuration files, and application data. Local storage on each node has significant limitations:
    +In the previous posts, we set up a WireGuard mesh network. In the future, we will also set up a Kubernetes cluster. Kubernetes workloads often require persistent storage for databases, configuration files, and application data. Local storage on each node has significant limitations:


    -The FreeBSD VM is only used for development purposes, so it doesn't require as frequent replication as the NFS data. It's off-topic to this blog series, but it showcases, hows zrepl's flexibility in handling different datasets with varying replication needs.
    +The FreeBSD VM is only used for development purposes, so it doesn't require as frequent replication as the NFS data. It's off-topic to this blog series, but it showcases how zrepl's flexibility in handling different datasets with varying replication needs.

    Furthermore:


    Configuring zrepl on f1 (sink)



    diff --git a/gemfeed/2025-11-02-the-courage-to-be-disliked-book-notes.html b/gemfeed/2025-11-02-the-courage-to-be-disliked-book-notes.html index 294f2fdf..9a616fa8 100644 --- a/gemfeed/2025-11-02-the-courage-to-be-disliked-book-notes.html +++ b/gemfeed/2025-11-02-the-courage-to-be-disliked-book-notes.html @@ -141,7 +141,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/gemfeed/2026-02-02-tmux-popup-editor-for-cursor-agent-prompts.html b/gemfeed/2026-02-02-tmux-popup-editor-for-cursor-agent-prompts.html index e525a93d..42199650 100644 --- a/gemfeed/2026-02-02-tmux-popup-editor-for-cursor-agent-prompts.html +++ b/gemfeed/2026-02-02-tmux-popup-editor-for-cursor-agent-prompts.html @@ -92,7 +92,7 @@ bind-key e run-shell -b "tmux display-message -p '#{pane_id}'
    Prefilled prompt text

    -And here is the full script. It is a bit ugly since it's shell (written with Cursor Agent with GPT-5.2-Codex), and I might (let) rewrite it in Go with propper unit tests, config-file, multi-agent support and release it once I have time. But it works well enough for now.
    +And here is the full script. It is a bit ugly since it's shell (written with Cursor Agent with GPT-5.2-Codex), and I might (let) rewrite it in Go with proper unit tests, config-file, multi-agent support and release it once I have time. But it works well enough for now.

    Update 2026-02-08: This functionality has been integrated into the hexai project (https://codeberg.org/snonux/hexai) with proper multi-agent support for Cursor Agent, Claude Code CLI, and Ampcode. The hexai version includes unit tests, configuration files, and better agent detection. While still experimental, it's more robust than this shell script. See the hexai-tmux-edit command for details.

    diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index c3a52b63..e3b7b285 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ - 2026-02-08T18:17:43+02:00 + 2026-02-08T22:37:47+02:00 foo.zone feed To be in the .zone! @@ -99,7 +99,7 @@ bind-key e run-shell -b "tmux display-message -p '#{pane_id}'
    Prefilled prompt text

    -And here is the full script. It is a bit ugly since it's shell (written with Cursor Agent with GPT-5.2-Codex), and I might (let) rewrite it in Go with propper unit tests, config-file, multi-agent support and release it once I have time. But it works well enough for now.
    +And here is the full script. It is a bit ugly since it's shell (written with Cursor Agent with GPT-5.2-Codex), and I might (let) rewrite it in Go with proper unit tests, config-file, multi-agent support and release it once I have time. But it works well enough for now.

    Update 2026-02-08: This functionality has been integrated into the hexai project (https://codeberg.org/snonux/hexai) with proper multi-agent support for Cursor Agent, Claude Code CLI, and Ampcode. The hexai version includes unit tests, configuration files, and better agent detection. While still experimental, it's more robust than this shell script. See the hexai-tmux-edit command for details.

    @@ -3614,7 +3614,7 @@ spec: 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    @@ -7126,7 +7126,7 @@ content = "{CODE}" f3s: Kubernetes with FreeBSD - Part 6: Storage https://foo.zone/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.html - 2025-07-13T16:44:29+03:00, last updated: 27.01.2026 + 2025-07-13T16:44:29+03:00, last updated Tue 27 Jan 10:09:08 EET 2026 Paul Buetow aka snonux paul@dev.buetow.org @@ -7136,7 +7136,7 @@ content = "{CODE}"

    f3s: Kubernetes with FreeBSD - Part 6: Storage



    -Published at 2025-07-13T16:44:29+03:00, last updated: 27.01.2026
    +Published at 2025-07-13T16:44:29+03:00, last updated Tue 27 Jan 10:09:08 EET 2026

    This is the sixth blog post about the f3s series for self-hosting demands in a home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution used on FreeBSD-based physical machines.

    @@ -7209,7 +7209,7 @@ content = "{CODE}"

    Introduction



    -In the previous posts, we set up a WireGuard mesh network. In the future, we will also setting up a Kubernetes cluster. Kubernetes workloads often require persistent storage for databases, configuration files, and application data. Local storage on each node has significant limitations:
    +In the previous posts, we set up a WireGuard mesh network. In the future, we will also set up a Kubernetes cluster. Kubernetes workloads often require persistent storage for databases, configuration files, and application data. Local storage on each node has significant limitations:

    • No data sharing: Pods (once we run Kubernetes) on different nodes can't access the same data
    • @@ -7623,13 +7623,13 @@ EOF
    • f0_to_f1_nfsdata: Replicates NFS data every minute for faster failover recovery
    • f0_to_f1_freebsd: Replicates FreeBSD VM every ten minutes (less critical)

    -The FreeBSD VM is only used for development purposes, so it doesn't require as frequent replication as the NFS data. It's off-topic to this blog series, but it showcases, hows zrepl's flexibility in handling different datasets with varying replication needs.
    +The FreeBSD VM is only used for development purposes, so it doesn't require as frequent replication as the NFS data. It's off-topic to this blog series, but it showcases how zrepl's flexibility in handling different datasets with varying replication needs.

    Furthermore:

    • We're specifically replicating zdata/enc/nfsdata instead of the entire zdata/enc dataset. This dedicated dataset will contain all the data we later want to expose via NFS, keeping a clear separation between replicated NFS data and other local encrypted data.
    • -
    • The send: encrypted: false option turns off ZFS native encryption for the replication stream. Since we're using a WireGuard tunnel between f0 and f1, the data is already encrypted in transit. Disabling ZFS stream encryption reduces CPU overhead and improves replication performance.
    • +
    • We use send: encrypted: true to keep the replication stream encrypted. While WireGuard already encrypts in transit, this provides additional protection. For reduced CPU overhead, you could set encrypted: false since the tunnel is secure.

    Configuring zrepl on f1 (sink)



    @@ -10303,7 +10303,7 @@ http://www.gnu.org/software/src-highlite --> 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    @@ -12446,7 +12446,7 @@ __ejm\___/________dwb`---`______________________ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    @@ -12459,7 +12459,7 @@ __ejm\___/________dwb`---`______________________ f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs https://foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.html - 2025-04-04T23:21:01+03:00, updated Fri 26 Dec 08:51:06 EET 2025 + 2025-04-04T23:21:01+03:00, last updated Fri 26 Dec 08:51:06 EET 2025 Paul Buetow aka snonux paul@dev.buetow.org @@ -12469,7 +12469,7 @@ __ejm\___/________dwb`---`______________________

    f3s: Kubernetes with FreeBSD - Part 4: Rocky Linux Bhyve VMs



    -Published at 2025-04-04T23:21:01+03:00, updated Fri 26 Dec 08:51:06 EET 2025
    +Published at 2025-04-04T23:21:01+03:00, last updated Fri 26 Dec 08:51:06 EET 2025

    This is the fourth blog post about the f3s series for self-hosting demands in a home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution used on FreeBSD-based physical machines.

    @@ -12570,7 +12570,7 @@ paul@f0:~ % doas vm switch create public paul@f0:~ % doas vm switch add public re0
    -Bhyve stores all it's data in the /bhyve of the zroot ZFS pool:
    +Bhyve stores all its data in the /bhyve of the zroot ZFS pool:

    -
    [root@r0 ~] % dnmcli connection modify enp0s5 ipv4.address 192.168.1.120/24
    -[root@r0 ~] % dnmcli connection modify enp0s5 ipv4.gateway 192.168.1.1
    -[root@r0 ~] % dnmcli connection modify enp0s5 ipv4.DNS 192.168.1.1
    -[root@r0 ~] % dnmcli connection modify enp0s5 ipv4.method manual
    -[root@r0 ~] % dnmcli connection down enp0s5
    -[root@r0 ~] % dnmcli connection up enp0s5
    +
    [root@r0 ~] % nmcli connection modify enp0s5 ipv4.address 192.168.1.120/24
    +[root@r0 ~] % nmcli connection modify enp0s5 ipv4.gateway 192.168.1.1
    +[root@r0 ~] % nmcli connection modify enp0s5 ipv4.DNS 192.168.1.1
    +[root@r0 ~] % nmcli connection modify enp0s5 ipv4.method manual
    +[root@r0 ~] % nmcli connection down enp0s5
    +[root@r0 ~] % nmcli connection up enp0s5
     [root@r0 ~] % hostnamectl set-hostname r0.lan.buetow.org
     [root@r0 ~] % cat <<END >>/etc/hosts
     192.168.1.120 r0 r0.lan r0.lan.buetow.org
    @@ -15805,7 +15805,7 @@ http://www.gnu.org/software/src-highlite -->
     2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    @@ -16461,7 +16461,7 @@ jgs \\`_..---.Y.---.._`// 2024-07-07 "The Stoic Challenge" book notes (You are currently reading this)
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    @@ -16873,7 +16873,7 @@ r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\ Terminal multiplexing with `tmux` - Z-Shell edition https://foo.zone/gemfeed/2024-06-23-terminal-multiplexing-with-tmux.html - 2024-06-23T22:41:59+03:00 + 2024-06-23T22:41:59+03:00, last updated Fri 02 May 00:10:49 EEST 2025 Paul Buetow aka snonux paul@dev.buetow.org @@ -16883,7 +16883,7 @@ r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\

    Terminal multiplexing with tmux - Z-Shell edition



    -Published at 2024-06-23T22:41:59+03:00; Last updated 2025-05-02
    +Published at 2024-06-23T22:41:59+03:00, last updated Fri 02 May 00:10:49 EEST 2025

    This is the Z-Shell version. There is also a Fish version:

    @@ -16969,7 +16969,7 @@ http://www.gnu.org/software/src-highlite --> alias tssh=tmux::cluster_ssh

    -Note all tmux::...; those are custom shell functions doing certain things, and they aren't part of the Tmux distribution. But let's run through every aliases one by one.
    +Note all tmux::...; those are custom shell functions doing certain things, and they aren't part of the Tmux distribution. But let's run through every alias one by one.

    The first two are pretty straightforward. tm is simply a shorthand for tmux, so I have to type less, and tl lists all Tmux sessions that are currently open. No magic here.

    @@ -16981,7 +16981,7 @@ http://www.gnu.org/software/src-highlite --> by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -
    # Create new session and if alread exists attach to it
    +
    # Create new session and if already exists attach to it
     tmux::new () {
         readonly session=$1
         local date=date
    @@ -17289,7 +17289,7 @@ bind-key T choose-tree
     
    The third one, choose-tree, opens a tree view in Tmux listing all sessions and windows. This one is handy to get a better overview of what is currently running in any local Tmux session. It looks like this (it also allows me to press a hotkey to switch to a particular Tmux window):

    -Tmux sessiont tree view
    +Tmux session tree view


    The last remaining lines in my configuration file are:
    @@ -17811,7 +17811,7 @@ http://www.gnu.org/software/src-highlite --> 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes (You are currently reading this)
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/gemfeed/index.html b/gemfeed/index.html index ab813f68..7d71eeda 100644 --- a/gemfeed/index.html +++ b/gemfeed/index.html @@ -66,7 +66,7 @@ 2023-09-25 - DTail usage examples
    2023-08-18 - Site Reliability Engineering - Part 1: SRE and Organizational Culture
    2023-07-21 - Gemtexter 2.1.0 - Let's Gemtext again³
    -2023-07-17 - 'Software Developmers Career Guide and Soft Skills' book notes
    +2023-07-17 - 'Software Developers Career Guide and Soft Skills' book notes
    2023-06-01 - KISS server monitoring with Gogios
    2023-05-06 - 'The Obstacle is the Way' book notes
    2023-05-01 - Unveiling guprecords.raku: Global Uptime Records with Raku
    @@ -108,7 +108,7 @@ 2014-03-24 - The fibonacci.pl.raku.c Polyglot
    2011-05-07 - Perl Daemon (Service Framework)
    2010-05-09 - The Fype Programming Language
    -2010-05-07 - Lazy Evaluation with Standard ML
    +2010-05-07 - Lazy Evaluation with Standard ML
    2010-04-09 - Standard ML and Haskell
    2009-02-13 - SGI Onyx 3200
    2008-12-29 - Using my Nokia N95 for fixing my MTA
    diff --git a/index.html b/index.html index 4950db9d..21f10df3 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@

    Hello!



    -This site was generated at 2026-02-08T18:17:43+02:00 by Gemtexter
    +This site was generated at 2026-02-08T22:37:47+02:00 by Gemtexter

    Welcome to the foo.zone!

    @@ -94,7 +94,7 @@ 2023-09-25 - DTail usage examples
    2023-08-18 - Site Reliability Engineering - Part 1: SRE and Organizational Culture
    2023-07-21 - Gemtexter 2.1.0 - Let's Gemtext again³
    -2023-07-17 - 'Software Developmers Career Guide and Soft Skills' book notes
    +2023-07-17 - 'Software Developers Career Guide and Soft Skills' book notes
    2023-06-01 - KISS server monitoring with Gogios
    2023-05-06 - 'The Obstacle is the Way' book notes
    2023-05-01 - Unveiling guprecords.raku: Global Uptime Records with Raku
    @@ -136,7 +136,7 @@ 2014-03-24 - The fibonacci.pl.raku.c Polyglot
    2011-05-07 - Perl Daemon (Service Framework)
    2010-05-09 - The Fype Programming Language
    -2010-05-07 - Lazy Evaluation with Standard ML
    +2010-05-07 - Lazy Evaluation with Standard ML
    2010-04-09 - Standard ML and Haskell
    2009-02-13 - SGI Onyx 3200
    2008-12-29 - Using my Nokia N95 for fixing my MTA
    diff --git a/notes/a-monks-guide-to-happiness.html b/notes/a-monks-guide-to-happiness.html index c8a94975..6c6d82c7 100644 --- a/notes/a-monks-guide-to-happiness.html +++ b/notes/a-monks-guide-to-happiness.html @@ -107,7 +107,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/career-guide-and-soft-skills.html b/notes/career-guide-and-soft-skills.html index 892f58a9..6dbe13d9 100644 --- a/notes/career-guide-and-soft-skills.html +++ b/notes/career-guide-and-soft-skills.html @@ -2,7 +2,7 @@ -'Software Developmers Career Guide and Soft Skills' book notes +'Software Developers Career Guide and Soft Skills' book notes @@ -11,7 +11,7 @@

    Home | Markdown | Gemini

    -

    "Software Developmers Career Guide and Soft Skills" book notes


    +

    "Software Developers Career Guide and Soft Skills" book notes



    Published at 2023-07-17T04:56:20+03:00

    @@ -32,7 +32,7 @@

    Table of Contents




    Promotions



    -The most valuable employees are the ones who make themselves obsolete and automate all away. Keep a safety net of 3 to 6 months of finances. Safe at least 10 percent of your earnings. Also, if you make money it does not mean that you have to spent more money. Is a new car better than a used car which both can bring you from A to B? Liability vs assets.
    +The most valuable employees are the ones who make themselves obsolete and automate it all away. Keep a safety net of 3 to 6 months of finances. Save at least 10 percent of your earnings. Also, if you make money it does not mean that you have to spend more money. Is a new car better than a used car which both can bring you from A to B? Liability vs assets.

    • Raise or promotion, what's better? Promotion is better as money will follow anyway then.
    • Take projects no-one wants and make them shine. A promotion will follow.
    • A promotion is not going to come to you because you deserve it. You have to hunt and ask for it.
    • Track all kudos (e.g. ask for emails from your colleagues).
    • -
    • Big corporations HRs don't expect a figjit. That's why it's so important to keep track of your accomplishments and kudos'.
    • +
    • Big corporations HRs don't expect a fig. That's why it's so important to keep track of your accomplishments and kudos.
    • If you want a raise be specific how much and know to back your demands. Don't make a thread and no ultimatums.
    • Best way for a promotion is to switch jobs. You can even switch back with a better salary.

    Finish things



    -Hard work is necessary for accomplish results. However, work smarter not harder. Furthermore, working smart is not a substitute for working hard. Work both, hard and smart.
    +Hard work is necessary to accomplish results. However, work smarter not harder. Furthermore, working smart is not a substitute for working hard. Work both, hard and smart.

    • Learn to finish things without motivation. Things will pay off when you stick to stuff and eventually motivation can also come back.
    • -
    • You will fail if you don't plan realistically. Set also a schedule and follow to it as of life depends on it.
    • -
    • Advances come only of you give more than asked. Consistency, commitment and knowing what you need to do is more key than hard work.
    • +
    • You will fail if you don't plan realistically. Set also a schedule and follow it as if life depends on it.
    • +
    • Advances come only if you give more than asked. Consistency, commitment and knowing what you need to do is more key than hard work.
    • Any action is better than no action. If you get stuck you have gained nothing.
    • You need to know the unknowns. Identify as many unknown not known things as possible.

    Hard vs fun: Both engage the brain (video games vs work). Some work is hard and other is easy. Hard work is boring. The harsh truth is you have to put in hard and boring work in order to accomplish and be successful. Work won't be always boring though, as joy will follow with mastery.

    -Defeat is finally give up. Failure is the road to success, embrace it. Failure does not define you but how you respond to it. Events don't make your unhappy, but how you react to events do.
    +Defeat is finally giving up. Failure is the road to success, embrace it. Failure does not define you but how you respond to it. Events don't make your unhappy, but how you react to events do.

    Expand the empire



    @@ -208,19 +208,19 @@

    No drama



    -Avoid drama at work. Where are humans there is drama. You can decide where to spent your energy in. But don't avoid conflict. Conflict is healthy in any kind of relationship. Be tactful and state your opinion. The goal is to find the best solution to the problem.
    +Avoid drama at work. Where there are humans, there is drama. You can decide where to spend your energy in. But don't avoid conflict. Conflict is healthy in any kind of relationship. Be tactful and state your opinion. The goal is to find the best solution to the problem.

    Don't worry about other people what they do and don't do. You only worry about you. Shut up and get your own things done. But you could help to inspire a not working colleague.

    • During an argument, take the opponent's position and see how your opinion changes.
    • -
    • If you they to convince someone else it's an argument. Of you try to find the best solution it is a good resolution.
    • +
    • If you try to convince someone else it's an argument. If you try to find the best solution it is a good resolution.
    • If someone is hurting the team let the manager know but phrase it nicely.
    • How to get rid of a never ending talking person? Set up focus hours officially where you don't want to be interrupted. Present as if it is your defect that you get interrupted easily.
    • TOXIC PEOPLE: AVOID THEM. RUN.
    • Boss likes if you get shit done without getting asked all the time about things and also without drama.

    -You have to learn how to work in a team. Be honest but tactful. It's not too be the loudest but about selling your ideas. Don't argue otherwise you won't sell anything. Be persuasive by finding the common ground. Or lead the colleagues to your idea and don't sell it upfront. Communicate clearly.
    +You have to learn how to work in a team. Be honest but tactful. It's not to be the loudest but about selling your ideas. Don't argue otherwise you won't sell anything. Be persuasive by finding the common ground. Or lead the colleagues to your idea and don't sell it upfront. Communicate clearly.

    Personal brand



    @@ -353,7 +353,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes (You are currently reading this)
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes (You are currently reading this)
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/index.html b/notes/index.html index 21f70f1e..75c4879a 100644 --- a/notes/index.html +++ b/notes/index.html @@ -37,7 +37,7 @@ 'Implementing Service Level Objectives' book notes
    'Fluent Forever' book notes
    'Eat That Frog' book notes
    -'Software Developmers Career Guide and Soft Skills' book notes
    +'Software Developers Career Guide and Soft Skills' book notes
    'A Monk's Guide to Happiness' book notes
    '97 Things Every SRE Should Know' book notes

    diff --git a/notes/influence-wihout-authority.html b/notes/influence-wihout-authority.html index 098c3d3e..4f5b5cfe 100644 --- a/notes/influence-wihout-authority.html +++ b/notes/influence-wihout-authority.html @@ -17,7 +17,7 @@
    These notes capture key strategies from "Influence Without Authority" by Allan R. Cohen and David L. Bradford for effective interpersonal relationships and influencing others in the workplace without formal authority.

    -These are my personal notes, but maybe you will find them usefull too.
    +These are my personal notes, but maybe you will find them useful too.

    Table of Contents



    diff --git a/notes/mind-management.html b/notes/mind-management.html index 78b4b296..98630dfd 100644 --- a/notes/mind-management.html +++ b/notes/mind-management.html @@ -138,7 +138,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes (You are currently reading this)
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/never-split-the-difference.html b/notes/never-split-the-difference.html index eb78e106..a5a13a5d 100644 --- a/notes/never-split-the-difference.html +++ b/notes/never-split-the-difference.html @@ -168,7 +168,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes (You are currently reading this)
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/slow-productivity.html b/notes/slow-productivity.html index aa49e60a..a5e8e7b0 100644 --- a/notes/slow-productivity.html +++ b/notes/slow-productivity.html @@ -164,7 +164,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes (You are currently reading this)
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/staff-engineer.html b/notes/staff-engineer.html index e6ed0f17..b6450172 100644 --- a/notes/staff-engineer.html +++ b/notes/staff-engineer.html @@ -145,7 +145,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/the-courage-to-be-disliked.html b/notes/the-courage-to-be-disliked.html index 433602f4..70cf916c 100644 --- a/notes/the-courage-to-be-disliked.html +++ b/notes/the-courage-to-be-disliked.html @@ -141,7 +141,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/the-obstacle-is-the-way.html b/notes/the-obstacle-is-the-way.html index d15a245d..52e213c7 100644 --- a/notes/the-obstacle-is-the-way.html +++ b/notes/the-obstacle-is-the-way.html @@ -121,7 +121,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes (You are currently reading this)
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/the-pragmatic-programmer.html b/notes/the-pragmatic-programmer.html index ede67476..25e30c90 100644 --- a/notes/the-pragmatic-programmer.html +++ b/notes/the-pragmatic-programmer.html @@ -105,7 +105,7 @@ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes (You are currently reading this)
    diff --git a/notes/the-stoic-challenge.html b/notes/the-stoic-challenge.html index 0426be07..54db0438 100644 --- a/notes/the-stoic-challenge.html +++ b/notes/the-stoic-challenge.html @@ -80,7 +80,7 @@ 2024-07-07 "The Stoic Challenge" book notes (You are currently reading this)
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/notes/when.html b/notes/when.html index 466e0001..ba140312 100644 --- a/notes/when.html +++ b/notes/when.html @@ -125,7 +125,7 @@ __ejm\___/________dwb`---`______________________ 2024-07-07 "The Stoic Challenge" book notes
    2024-05-01 "Slow Productivity" book notes
    2023-11-11 "Mind Management" book notes
    -2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes
    +2023-07-17 "Software Developers Career Guide and Soft Skills" book notes
    2023-05-06 "The Obstacle is the Way" book notes
    2023-04-01 "Never split the difference" book notes
    2023-03-16 "The Pragmatic Programmer" book notes
    diff --git a/uptime-stats.html b/uptime-stats.html index b9dea50b..ecce9b98 100644 --- a/uptime-stats.html +++ b/uptime-stats.html @@ -13,7 +13,7 @@

    My machine uptime stats



    -This site was last updated at 2026-02-08T18:17:42+02:00
    +This site was last updated at 2026-02-08T22:37:47+02:00

    The following stats were collected via uptimed on all of my personal computers over many years and the output was generated by guprecords, the global uptime records stats analyser of mine.

    -- cgit v1.2.3