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 --- ...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 +- 22 files changed, 198 insertions(+), 198 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 (limited to 'gemfeed') 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
-- cgit v1.2.3