aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKumar Damani <me@kumardamani.net>2026-07-29 17:02:57 +0000
committerKumar Damani <me@kumardamani.net>2026-07-29 17:02:57 +0000
commit564ab84af7f69603e3658bce846168f2cfb91249 (patch)
tree1d0082161f294dac2eb1f53e91a9470b5ece236c
parentf2315a58fdaaa20c9e1300399ea8d528c80e2cc6 (diff)
normalized, and converted all images to webp
-rwxr-xr-xoptimize-images.sh27
-rw-r--r--post/a-rack-finally.typ22
-rw-r--r--post/a-rack-finally/24hlater.pngbin1105465 -> 0 bytes
-rw-r--r--post/a-rack-finally/24hlater.webpbin0 -> 39798 bytes
-rw-r--r--post/a-rack-finally/annotated.pngbin698589 -> 0 bytes
-rw-r--r--post/a-rack-finally/annotated.webpbin0 -> 57390 bytes
-rw-r--r--post/a-rack-finally/final.jpgbin766677 -> 0 bytes
-rw-r--r--post/a-rack-finally/final.webpbin0 -> 74560 bytes
-rw-r--r--post/a-rack-finally/powering-on.jpgbin635529 -> 0 bytes
-rw-r--r--post/a-rack-finally/rack-rails.jpgbin853580 -> 0 bytes
-rw-r--r--post/a-rack-finally/rack-rails.webpbin0 -> 86356 bytes
-rw-r--r--post/a-rack-finally/rack.jpgbin717985 -> 0 bytes
-rw-r--r--post/a-rack-finally/rack.webpbin0 -> 77688 bytes
-rw-r--r--post/a-rack-finally/rear-view.jpgbin605892 -> 0 bytes
-rw-r--r--post/a-rack-finally/rear-view.webpbin0 -> 40888 bytes
-rw-r--r--post/a-rack-finally/side-vew.jpgbin703315 -> 0 bytes
-rw-r--r--post/a-rack-finally/side-vew.webpbin0 -> 39606 bytes
-rw-r--r--post/a-rack-finally/survived.pngbin205740 -> 0 bytes
-rw-r--r--post/a-rack-finally/survived.webpbin0 -> 12742 bytes
-rw-r--r--post/a-rack-finally/switch-and-patch-panel.jpgbin633606 -> 0 bytes
-rw-r--r--post/a-rack-finally/switch-and-patch-panel.webpbin0 -> 60616 bytes
-rw-r--r--post/a-rack-finally/switch-reset.jpgbin675291 -> 0 bytes
-rw-r--r--post/a-rack-finally/switch-reset.webpbin0 -> 69938 bytes
-rw-r--r--post/a-rack-finally/tldr.pngbin1248163 -> 0 bytes
-rw-r--r--post/a-rack-finally/tldr.webpbin0 -> 56792 bytes
-rw-r--r--post/framework-server-p2.typ8
-rwxr-xr-xpost/framework-server-p2/current-lab.jpgbin37401 -> 0 bytes
-rw-r--r--post/framework-server-p2/current-lab.webpbin0 -> 30780 bytes
-rwxr-xr-xpost/framework-server-p2/ethernet.pngbin110306 -> 0 bytes
-rw-r--r--post/framework-server-p2/ethernet.webpbin0 -> 9856 bytes
-rwxr-xr-xpost/framework-server-p2/server-front.pngbin87328 -> 0 bytes
-rw-r--r--post/framework-server-p2/server-front.webpbin0 -> 8910 bytes
-rwxr-xr-xpost/framework-server-p2/server-inside.pngbin221831 -> 0 bytes
-rw-r--r--post/framework-server-p2/server-inside.webpbin0 -> 26772 bytes
-rw-r--r--post/framework-server.typ74
-rwxr-xr-xpost/framework-server/bios.jpgbin162196 -> 0 bytes
-rw-r--r--post/framework-server/bios.webpbin0 -> 54868 bytes
-rwxr-xr-xpost/framework-server/bios2.pngbin289613 -> 0 bytes
-rw-r--r--post/framework-server/bios2.webpbin0 -> 18214 bytes
-rwxr-xr-xpost/framework-server/case.jpgbin111978 -> 0 bytes
-rw-r--r--post/framework-server/case.webpbin0 -> 32010 bytes
-rwxr-xr-xpost/framework-server/dmz.pngbin69096 -> 0 bytes
-rw-r--r--post/framework-server/dmz.webpbin0 -> 25892 bytes
-rwxr-xr-xpost/framework-server/dns.jpgbin59205 -> 0 bytes
-rw-r--r--post/framework-server/dns.webpbin0 -> 25544 bytes
-rwxr-xr-xpost/framework-server/dri.pngbin9650 -> 0 bytes
-rw-r--r--post/framework-server/dri.webpbin0 -> 5868 bytes
-rwxr-xr-xpost/framework-server/error.jpgbin43548 -> 0 bytes
-rw-r--r--post/framework-server/error.webpbin0 -> 18548 bytes
-rwxr-xr-xpost/framework-server/eth.jpgbin107918 -> 0 bytes
-rw-r--r--post/framework-server/eth.webpbin0 -> 20522 bytes
-rwxr-xr-xpost/framework-server/fail.pngbin164105 -> 0 bytes
-rw-r--r--post/framework-server/fail.webpbin0 -> 15922 bytes
-rwxr-xr-xpost/framework-server/feelsbadman.pngbin32798 -> 0 bytes
-rw-r--r--post/framework-server/feelsbadman.webpbin0 -> 15078 bytes
-rwxr-xr-xpost/framework-server/fix1.pngbin23658 -> 0 bytes
-rw-r--r--post/framework-server/fix1.webpbin0 -> 7744 bytes
-rwxr-xr-xpost/framework-server/fix2.pngbin67102 -> 0 bytes
-rw-r--r--post/framework-server/fix2.webpbin0 -> 21404 bytes
-rwxr-xr-xpost/framework-server/fix3.pngbin27163 -> 0 bytes
-rw-r--r--post/framework-server/fix3.webpbin0 -> 7770 bytes
-rwxr-xr-xpost/framework-server/fw1.pngbin29985 -> 0 bytes
-rw-r--r--post/framework-server/fw1.webpbin0 -> 9954 bytes
-rwxr-xr-xpost/framework-server/fw2.pngbin15422 -> 0 bytes
-rw-r--r--post/framework-server/fw2.webpbin0 -> 5256 bytes
-rwxr-xr-xpost/framework-server/imp.pngbin341529 -> 0 bytes
-rw-r--r--post/framework-server/imp.webpbin0 -> 31208 bytes
-rwxr-xr-xpost/framework-server/lab.pngbin85363 -> 0 bytes
-rw-r--r--post/framework-server/lab.webpbin0 -> 26664 bytes
-rwxr-xr-xpost/framework-server/lan.pngbin87550 -> 0 bytes
-rw-r--r--post/framework-server/lan.webpbin0 -> 26274 bytes
-rwxr-xr-xpost/framework-server/mistakes.jpgbin62973 -> 0 bytes
-rw-r--r--post/framework-server/mistakes.webpbin0 -> 38380 bytes
-rwxr-xr-xpost/framework-server/nas.jpgbin139364 -> 0 bytes
-rw-r--r--post/framework-server/nas.webpbin0 -> 40128 bytes
-rwxr-xr-xpost/framework-server/net1.pngbin22726 -> 0 bytes
-rw-r--r--post/framework-server/net1.webpbin0 -> 7632 bytes
-rwxr-xr-xpost/framework-server/net2.pngbin21835 -> 0 bytes
-rw-r--r--post/framework-server/net2.webpbin0 -> 7686 bytes
-rwxr-xr-xpost/framework-server/network.pngbin55633 -> 0 bytes
-rw-r--r--post/framework-server/network.webpbin0 -> 21818 bytes
-rwxr-xr-xpost/framework-server/pbr.pngbin14982 -> 0 bytes
-rw-r--r--post/framework-server/pbr.webpbin0 -> 4606 bytes
-rwxr-xr-xpost/framework-server/pbr1.pngbin33683 -> 0 bytes
-rw-r--r--post/framework-server/pbr1.webpbin0 -> 11986 bytes
-rwxr-xr-xpost/framework-server/pbr2.pngbin8422 -> 0 bytes
-rw-r--r--post/framework-server/pbr2.webpbin0 -> 2716 bytes
-rwxr-xr-xpost/framework-server/pfnet.pngbin9831 -> 0 bytes
-rw-r--r--post/framework-server/pfnet.webpbin0 -> 4218 bytes
-rwxr-xr-xpost/framework-server/physical.pngbin79028 -> 0 bytes
-rw-r--r--post/framework-server/physical.webpbin0 -> 25874 bytes
-rwxr-xr-xpost/framework-server/port1.pngbin6063 -> 0 bytes
-rw-r--r--post/framework-server/port1.webpbin0 -> 2442 bytes
-rwxr-xr-xpost/framework-server/port2.pngbin44834 -> 0 bytes
-rw-r--r--post/framework-server/port2.webpbin0 -> 14156 bytes
-rwxr-xr-xpost/framework-server/rproxy.pngbin48318 -> 0 bytes
-rw-r--r--post/framework-server/rproxy.webpbin0 -> 18948 bytes
-rwxr-xr-xpost/framework-server/ups.jpgbin151532 -> 0 bytes
-rw-r--r--post/framework-server/ups.webpbin0 -> 45886 bytes
-rwxr-xr-xpost/framework-server/vps.pngbin30087 -> 0 bytes
-rw-r--r--post/framework-server/vps.webpbin0 -> 8104 bytes
-rwxr-xr-xpost/framework-server/wg.pngbin23335 -> 0 bytes
-rw-r--r--post/framework-server/wg.webpbin0 -> 5600 bytes
-rwxr-xr-xpost/framework-server/wrtnet.pngbin57663 -> 0 bytes
-rw-r--r--post/framework-server/wrtnet.webpbin0 -> 16434 bytes
-rwxr-xr-xpost/framework-server/wrtnet2.pngbin12214 -> 0 bytes
-rw-r--r--post/framework-server/wrtnet2.webpbin0 -> 3644 bytes
-rwxr-xr-xpost/framework-server/wtf.jpgbin41867 -> 0 bytes
-rw-r--r--post/framework-server/wtf.webpbin0 -> 25536 bytes
-rw-r--r--post/listing-my-fav-advice.typ8
-rwxr-xr-xpost/listing-my-fav-advice/balance.jpgbin18818 -> 0 bytes
-rw-r--r--post/listing-my-fav-advice/balance.webpbin0 -> 12684 bytes
-rwxr-xr-xpost/listing-my-fav-advice/boss.jpgbin122736 -> 0 bytes
-rw-r--r--post/listing-my-fav-advice/boss.webpbin0 -> 49324 bytes
-rwxr-xr-xpost/listing-my-fav-advice/indulgence.jpgbin78009 -> 0 bytes
-rw-r--r--post/listing-my-fav-advice/indulgence.webpbin0 -> 60862 bytes
-rwxr-xr-xpost/listing-my-fav-advice/money.jpgbin21475 -> 0 bytes
-rw-r--r--post/listing-my-fav-advice/money.webpbin0 -> 14176 bytes
-rw-r--r--post/nas-upgrade.typ10
-rwxr-xr-xpost/nas-upgrade/cockpit-lxc.pngbin72110 -> 0 bytes
-rw-r--r--post/nas-upgrade/cockpit-lxc.webpbin0 -> 17512 bytes
-rwxr-xr-xpost/nas-upgrade/ethernet.pngbin110306 -> 0 bytes
-rw-r--r--post/nas-upgrade/ethernet.webpbin0 -> 9856 bytes
-rwxr-xr-xpost/nas-upgrade/nas-chassis.pngbin72957 -> 0 bytes
-rw-r--r--post/nas-upgrade/nas-chassis.webpbin0 -> 8264 bytes
-rwxr-xr-xpost/nas-upgrade/oldnas.pngbin89215 -> 0 bytes
-rw-r--r--post/nas-upgrade/oldnas.webpbin0 -> 14240 bytes
-rwxr-xr-xpost/nas-upgrade/zfs-pool.pngbin79343 -> 0 bytes
-rw-r--r--post/nas-upgrade/zfs-pool.webpbin0 -> 20220 bytes
-rw-r--r--post/nixos-p1.typ8
-rwxr-xr-xpost/nixos-p1/boot.pngbin12893 -> 0 bytes
-rw-r--r--post/nixos-p1/boot.webpbin0 -> 35684 bytes
-rwxr-xr-xpost/nixos-p1/dwl.pngbin3082421 -> 0 bytes
-rw-r--r--post/nixos-p1/dwl.webpbin0 -> 87496 bytes
-rwxr-xr-xpost/nixos-p1/fox.jpgbin30886 -> 0 bytes
-rw-r--r--post/nixos-p1/fox.webpbin0 -> 13636 bytes
-rwxr-xr-xpost/nixos-p1/rice.pngbin1670023 -> 0 bytes
-rw-r--r--post/nixos-p1/rice.webpbin0 -> 86234 bytes
-rw-r--r--post/programming-as-art.typ8
-rwxr-xr-xpost/programming-as-art/code.pngbin530926 -> 0 bytes
-rw-r--r--post/programming-as-art/code.webpbin0 -> 27192 bytes
-rwxr-xr-xpost/programming-as-art/math.pngbin398307 -> 0 bytes
-rw-r--r--post/programming-as-art/math.webpbin0 -> 23592 bytes
-rwxr-xr-xpost/programming-as-art/teaching.pngbin410632 -> 0 bytes
-rw-r--r--post/programming-as-art/teaching.webpbin0 -> 25168 bytes
-rwxr-xr-xpost/programming-as-art/wand.pngbin356173 -> 0 bytes
-rw-r--r--post/programming-as-art/wand.webpbin0 -> 25914 bytes
-rwxr-xr-xpost/programs/dwl.pngbin3082421 -> 0 bytes
-rw-r--r--post/programs/dwl.webpbin0 -> 87496 bytes
-rw-r--r--post/self-host.typ12
-rwxr-xr-xpost/self-host/6imv05.jpgbin66020 -> 0 bytes
-rw-r--r--post/self-host/6imv05.webpbin0 -> 31406 bytes
-rwxr-xr-xpost/self-host/elections.jpgbin97041 -> 0 bytes
-rw-r--r--post/self-host/elections.webpbin0 -> 55462 bytes
-rwxr-xr-xpost/self-host/freedom.jpgbin300014 -> 0 bytes
-rw-r--r--post/self-host/freedom.webpbin0 -> 93676 bytes
-rwxr-xr-xpost/self-host/office.pngbin1443597 -> 0 bytes
-rw-r--r--post/self-host/office.webpbin0 -> 23774 bytes
-rwxr-xr-xpost/self-host/police.jpgbin190074 -> 0 bytes
-rw-r--r--post/self-host/police.webpbin0 -> 58450 bytes
-rwxr-xr-xpost/self-host/why.jpgbin110502 -> 0 bytes
-rw-r--r--post/self-host/why.webpbin0 -> 50478 bytes
162 files changed, 102 insertions, 75 deletions
diff --git a/optimize-images.sh b/optimize-images.sh
new file mode 100755
index 0000000..c95da6e
--- /dev/null
+++ b/optimize-images.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env bash
+# Optimize a folder of images for the web:
+#
+# ./optimize-images.sh post/my-post
+#
+# For every .jpg/.jpeg/.png in the folder:
+# - converts it to .webp (scaled to fit inside 1200x800, quality 80)
+# - deletes the original (recoverable via git history)
+# .gif and existing .webp files are left untouched.
+
+set -euo pipefail
+
+if [ $# -ne 1 ]; then
+ echo "usage: $0 <image-folder> e.g. $0 post/my-post" >&2
+ exit 1
+fi
+
+dir="${1%/}"
+[ -d "$dir" ] || { echo "error: not a directory: $dir" >&2; exit 1; }
+
+shopt -s nullglob nocaseglob
+
+for file in "$dir"/*.jpg "$dir"/*.jpeg "$dir"/*.png; do
+ magick "$file" -resize '1200x800>' -quality 80 "${file%.*}.webp"
+ rm "$file"
+ echo "$file -> ${file%.*}.webp"
+done
diff --git a/post/a-rack-finally.typ b/post/a-rack-finally.typ
index 8cbf084..ec3d530 100644
--- a/post/a-rack-finally.typ
+++ b/post/a-rack-finally.typ
@@ -5,7 +5,7 @@ Migrating my home-lab to a more permanent home.
= tldr;
-#fig("a-rack-finally/tldr.png", alt: "before and after pic")
+#fig("a-rack-finally/tldr.webp", alt: "before and after pic")
Mostly.
@@ -22,7 +22,7 @@ Once I moved to a larger space, naturally, I expanded. Unfortunately a worn-out
chair was all that was left of my budget at the time :)
]
-#fig("a-rack-finally/annotated.png", alt: "all my equipment annotated")
+#fig("a-rack-finally/annotated.webp", alt: "all my equipment annotated")
+ See that NAS up there? It came with rack-rails. Sure would be nice
to use them so that I don't have to take eveything above it off every time
@@ -50,7 +50,7 @@ mount two rack-shelves back-to-back. More on this later.
I had already measured my stuff prior to purchasing the rack.
]
-#fig("a-rack-finally/rack.jpg", alt: "my new rack assembled")
+#fig("a-rack-finally/rack.webp", alt: "my new rack assembled")
Its cheap, but sturdy enough once assembled. It will do the job for now.
@@ -59,25 +59,25 @@ Its cheap, but sturdy enough once assembled. It will do the job for now.
First things to go in are the patch-panel and my new (to me)
Brocade switch.
-#fig("a-rack-finally/switch-and-patch-panel.jpg", alt: "switch and patch panel in")
+#fig("a-rack-finally/switch-and-patch-panel.webp", alt: "switch and patch panel in")
After some wrangling with the console port, I got it configured.
-#fig("a-rack-finally/switch-reset.jpg", alt: "console into switch from laptop")
+#fig("a-rack-finally/switch-reset.webp", alt: "console into switch from laptop")
My rack rails in action.
-#fig("a-rack-finally/rack-rails.jpg", alt: "sliding in the NAS on the rack rails")
+#fig("a-rack-finally/rack-rails.webp", alt: "sliding in the NAS on the rack rails")
And the rest of the crap.
Hopefully, now you can see why I needed those shelves to fit back-to-back...
-#fig("a-rack-finally/side-vew.jpg", alt: "side view of the rack to show the shelves.")
+#fig("a-rack-finally/side-vew.webp", alt: "side view of the rack to show the shelves.")
Still kind of a mess, but less of an eye-sore?
-#fig("a-rack-finally/rear-view.jpg", alt: "rearview of the rack to show the shelves.")
+#fig("a-rack-finally/rear-view.webp", alt: "rearview of the rack to show the shelves.")
In hindsight, I probably should've gone with a 15U :)
@@ -85,15 +85,15 @@ In hindsight, I probably should've gone with a 15U :)
Ended the day with this.
-#fig("a-rack-finally/final.jpg", alt: "final rack at the end of the day")
+#fig("a-rack-finally/final.webp", alt: "final rack at the end of the day")
Checking back the next day...things were normal since the big shift.
Yay we survived!
-#fig("a-rack-finally/survived.png", alt: "grafana metics")
+#fig("a-rack-finally/survived.webp", alt: "grafana metics")
And...oh well.
-#fig("a-rack-finally/24hlater.png", alt: "final final")
+#fig("a-rack-finally/24hlater.webp", alt: "final final")
]
diff --git a/post/a-rack-finally/24hlater.png b/post/a-rack-finally/24hlater.png
deleted file mode 100644
index 393c550..0000000
--- a/post/a-rack-finally/24hlater.png
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/24hlater.webp b/post/a-rack-finally/24hlater.webp
new file mode 100644
index 0000000..b29a843
--- /dev/null
+++ b/post/a-rack-finally/24hlater.webp
Binary files differ
diff --git a/post/a-rack-finally/annotated.png b/post/a-rack-finally/annotated.png
deleted file mode 100644
index e3ecc28..0000000
--- a/post/a-rack-finally/annotated.png
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/annotated.webp b/post/a-rack-finally/annotated.webp
new file mode 100644
index 0000000..a349237
--- /dev/null
+++ b/post/a-rack-finally/annotated.webp
Binary files differ
diff --git a/post/a-rack-finally/final.jpg b/post/a-rack-finally/final.jpg
deleted file mode 100644
index 2366a1c..0000000
--- a/post/a-rack-finally/final.jpg
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/final.webp b/post/a-rack-finally/final.webp
new file mode 100644
index 0000000..09fb779
--- /dev/null
+++ b/post/a-rack-finally/final.webp
Binary files differ
diff --git a/post/a-rack-finally/powering-on.jpg b/post/a-rack-finally/powering-on.jpg
deleted file mode 100644
index 2872e7f..0000000
--- a/post/a-rack-finally/powering-on.jpg
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/rack-rails.jpg b/post/a-rack-finally/rack-rails.jpg
deleted file mode 100644
index b951ea5..0000000
--- a/post/a-rack-finally/rack-rails.jpg
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/rack-rails.webp b/post/a-rack-finally/rack-rails.webp
new file mode 100644
index 0000000..7155427
--- /dev/null
+++ b/post/a-rack-finally/rack-rails.webp
Binary files differ
diff --git a/post/a-rack-finally/rack.jpg b/post/a-rack-finally/rack.jpg
deleted file mode 100644
index afb86b2..0000000
--- a/post/a-rack-finally/rack.jpg
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/rack.webp b/post/a-rack-finally/rack.webp
new file mode 100644
index 0000000..866fac4
--- /dev/null
+++ b/post/a-rack-finally/rack.webp
Binary files differ
diff --git a/post/a-rack-finally/rear-view.jpg b/post/a-rack-finally/rear-view.jpg
deleted file mode 100644
index 9912dda..0000000
--- a/post/a-rack-finally/rear-view.jpg
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/rear-view.webp b/post/a-rack-finally/rear-view.webp
new file mode 100644
index 0000000..4e2f4d9
--- /dev/null
+++ b/post/a-rack-finally/rear-view.webp
Binary files differ
diff --git a/post/a-rack-finally/side-vew.jpg b/post/a-rack-finally/side-vew.jpg
deleted file mode 100644
index c65aa81..0000000
--- a/post/a-rack-finally/side-vew.jpg
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/side-vew.webp b/post/a-rack-finally/side-vew.webp
new file mode 100644
index 0000000..8b19d5f
--- /dev/null
+++ b/post/a-rack-finally/side-vew.webp
Binary files differ
diff --git a/post/a-rack-finally/survived.png b/post/a-rack-finally/survived.png
deleted file mode 100644
index ac85cca..0000000
--- a/post/a-rack-finally/survived.png
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/survived.webp b/post/a-rack-finally/survived.webp
new file mode 100644
index 0000000..88665ad
--- /dev/null
+++ b/post/a-rack-finally/survived.webp
Binary files differ
diff --git a/post/a-rack-finally/switch-and-patch-panel.jpg b/post/a-rack-finally/switch-and-patch-panel.jpg
deleted file mode 100644
index f2a4480..0000000
--- a/post/a-rack-finally/switch-and-patch-panel.jpg
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/switch-and-patch-panel.webp b/post/a-rack-finally/switch-and-patch-panel.webp
new file mode 100644
index 0000000..d9fc471
--- /dev/null
+++ b/post/a-rack-finally/switch-and-patch-panel.webp
Binary files differ
diff --git a/post/a-rack-finally/switch-reset.jpg b/post/a-rack-finally/switch-reset.jpg
deleted file mode 100644
index d71e522..0000000
--- a/post/a-rack-finally/switch-reset.jpg
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/switch-reset.webp b/post/a-rack-finally/switch-reset.webp
new file mode 100644
index 0000000..d4c1311
--- /dev/null
+++ b/post/a-rack-finally/switch-reset.webp
Binary files differ
diff --git a/post/a-rack-finally/tldr.png b/post/a-rack-finally/tldr.png
deleted file mode 100644
index 0322a34..0000000
--- a/post/a-rack-finally/tldr.png
+++ /dev/null
Binary files differ
diff --git a/post/a-rack-finally/tldr.webp b/post/a-rack-finally/tldr.webp
new file mode 100644
index 0000000..d68131f
--- /dev/null
+++ b/post/a-rack-finally/tldr.webp
Binary files differ
diff --git a/post/framework-server-p2.typ b/post/framework-server-p2.typ
index e40b8e7..06d3b95 100644
--- a/post/framework-server-p2.typ
+++ b/post/framework-server-p2.typ
@@ -35,8 +35,8 @@ under that to make it worthwhile.
I picked these up from eBay:
-#fig("framework-server-p2/server-front.png", alt: "server front")
-#fig("framework-server-p2/ethernet.png", alt: "ethernet adapter")
+#fig("framework-server-p2/server-front.webp", alt: "server front")
+#fig("framework-server-p2/ethernet.webp", alt: "ethernet adapter")
#table(
columns: 2,
@@ -61,7 +61,7 @@ IPMI would have been nice-to-have, but I decided that for this price, and the
bonus of that Nvidia K620 was too good to pass up! This is an immediate upgrade
from my current integrated Iris GPU on my Framework server.
-#fig("framework-server-p2/server-inside.png", alt: "server inside")
+#fig("framework-server-p2/server-inside.webp", alt: "server inside")
All of my home-lab VMs, and LXC containers run within Proxmox. So I set up a
fresh Proxmox here.
@@ -96,7 +96,7 @@ instance and Plex guests.
Here's what my "rack" looks like now:
-#fig("framework-server-p2/current-lab.jpg", alt: "current lab")
+#fig("framework-server-p2/current-lab.webp", alt: "current lab")
Once everything was back online, I powered down the old Framework server and
re-installed it back onto its laptop chassis, bought a W10 license, and
diff --git a/post/framework-server-p2/current-lab.jpg b/post/framework-server-p2/current-lab.jpg
deleted file mode 100755
index d64be2e..0000000
--- a/post/framework-server-p2/current-lab.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server-p2/current-lab.webp b/post/framework-server-p2/current-lab.webp
new file mode 100644
index 0000000..e192134
--- /dev/null
+++ b/post/framework-server-p2/current-lab.webp
Binary files differ
diff --git a/post/framework-server-p2/ethernet.png b/post/framework-server-p2/ethernet.png
deleted file mode 100755
index f39110d..0000000
--- a/post/framework-server-p2/ethernet.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server-p2/ethernet.webp b/post/framework-server-p2/ethernet.webp
new file mode 100644
index 0000000..e2c0b2f
--- /dev/null
+++ b/post/framework-server-p2/ethernet.webp
Binary files differ
diff --git a/post/framework-server-p2/server-front.png b/post/framework-server-p2/server-front.png
deleted file mode 100755
index 31e34da..0000000
--- a/post/framework-server-p2/server-front.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server-p2/server-front.webp b/post/framework-server-p2/server-front.webp
new file mode 100644
index 0000000..d9ede07
--- /dev/null
+++ b/post/framework-server-p2/server-front.webp
Binary files differ
diff --git a/post/framework-server-p2/server-inside.png b/post/framework-server-p2/server-inside.png
deleted file mode 100755
index 79e7139..0000000
--- a/post/framework-server-p2/server-inside.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server-p2/server-inside.webp b/post/framework-server-p2/server-inside.webp
new file mode 100644
index 0000000..b6c7972
--- /dev/null
+++ b/post/framework-server-p2/server-inside.webp
Binary files differ
diff --git a/post/framework-server.typ b/post/framework-server.typ
index 4e9d5b6..a8d82a3 100644
--- a/post/framework-server.typ
+++ b/post/framework-server.typ
@@ -11,12 +11,12 @@ How I re-purposed my Framework as a standalone server for my home-lab.
I \#feelsbad for abusing my lowly NAS -
-#img("framework-server/feelsbadman.png", alt: "feelsbadman", width: "150px")
+#img("framework-server/feelsbadman.webp", alt: "feelsbadman", width: "150px")
Its not it's fault that its owner expected it to run Collabora Online while
running all his other services without instantly crashing...
-#fig("framework-server/error.jpg", alt: "meme of error page")
+#fig("framework-server/error.webp", alt: "meme of error page")
Did I learn anything? Basically a NAS should just do NAS things like worry
about storage. Compute should be handled by something else.
@@ -52,14 +52,14 @@ over NFS from my NAS.
I'll setup a dedicated "workstation" VM for those 1%-of-the-time tasks.
-#fig("framework-server/physical.png", alt: "physical architecture image")
+#fig("framework-server/physical.webp", alt: "physical architecture image")
= Prior to starting!
To avoid making the same mistakes I made, do the following *while the mainboard
is still in the laptop chassis!*
-#fig("framework-server/mistakes.jpg", alt: "mistakes meme")
+#fig("framework-server/mistakes.webp", alt: "mistakes meme")
+ *Update your BIOS firmware to at least 3.17.* It is *impossible* to do so
once the battery is un-plugged from the board on older firmwares. I learned
@@ -70,7 +70,7 @@ is still in the laptop chassis!*
+ In your BIOS settings, enable "Standalone operation".
+ In your BIOS settings, under "Boot" enable the option to power-on on
power-attach.
- #fig("framework-server/bios.jpg", alt: "bios image")
+ #fig("framework-server/bios.webp", alt: "bios image")
+ Install Proxmox VE. Since this will require a screen, and keyboard input, you
might as well do it now. See the #link(<hypervisor>)[hypervisor] section
below.
@@ -85,7 +85,7 @@ I'm using my original
#extlink("https://frame.work/ca/en/products/mainboard-11th-gen-intel-core?v=FRANFG000B")[Framework
13] laptop.
-#fig("framework-server/case.jpg", alt: "case image")
+#fig("framework-server/case.webp", alt: "case image")
Its an i7-1165G7 - yes a "mobile" CPU. Am I asking for trouble? We'll see. Its
more than powerful enough for me (for now).
@@ -112,7 +112,7 @@ I opted for the 2.5G
#extlink("https://frame.work/ca/en/products/ethernet-expansion-card")[ethernet
expansion card] from Framework.
-#fig("framework-server/eth.jpg", alt: "framework eth adapter image")
+#fig("framework-server/eth.webp", alt: "framework eth adapter image")
I suppose one could also use a WiFi card, but it makes more sense to go wired
in a 24/7 "on" configuration.
@@ -127,7 +127,7 @@ So I opt for a cheap VPS from
#extlink("https://www.racknerd.com/kvm-vps")[Racknerd]. These are about a \$1/mo
for a public IPv4 IP, and a decent amount of network bandwidth.
-#fig("framework-server/vps.png", alt: "racknerd vps pricing image")
+#fig("framework-server/vps.webp", alt: "racknerd vps pricing image")
== Storage
@@ -139,7 +139,7 @@ I used the 1TB NVME drive I had on my Framework.
_You should have a storage solution (NAS) in place already!_
-#fig("framework-server/nas.jpg", alt: "nas image")
+#fig("framework-server/nas.webp", alt: "nas image")
Setting this up is beyond the scope of this post. You can check out my DIY ZFS
backed NAS setup
@@ -168,7 +168,7 @@ There are also many options for pre-made NAS appliances such as Synology.
Highly recommend a UPS such as
#extlink("https://www.amazon.ca/APC-BE600M1-Back-Uninterrupted-Electronics-Computers/dp/B01FWAZEIU/ref=sr_1_6?crid=28ZH7JP9IYXPU&keywords=ups&qid=1690928556&sprefix=ups%2Caps%2C172&sr=8-6")[this].
-#fig("framework-server/ups.jpg", alt: "ups image")
+#fig("framework-server/ups.webp", alt: "ups image")
Even if you don't care about uptime, *you should care about data integrity*
issues resulting from abrupt power-loss.
@@ -199,7 +199,7 @@ allowing provisioning of VMs, and LXC Containers through code. Neat!
- Under your host (mine's `pve`), under System, Network, create a bridge
`vmbr0` with:
-#fig("framework-server/net1.png", alt: "proxmox net image")
+#fig("framework-server/net1.webp", alt: "proxmox net image")
This will make your Proxmox host available in your home network. *Set this to
something else if you like.*
@@ -211,7 +211,7 @@ something else if you like.*
While you're here, create another bridge `vmbr1` with `VLAN Aware` checked:
-#fig("framework-server/net2.png", alt: "proxmox net image")
+#fig("framework-server/net2.webp", alt: "proxmox net image")
#quote(block: true)[
We are going to create our home-lab network primarily on `vmbr1`. Think of
@@ -238,7 +238,7 @@ _selectively_ routing a segment of my network over a VPN.
Here is what I would like:
-#fig("framework-server/network.png", alt: "network architecture")
+#fig("framework-server/network.webp", alt: "network architecture")
== Goals: 1,2
@@ -253,7 +253,7 @@ Then I decided to try out OpenWRT, and boy am I glad I did.
I gave it two networking interfaces, each `vbmrX` we created earlier:
-#fig("framework-server/pfnet.png", alt: "openwrt bridge image")
+#fig("framework-server/pfnet.webp", alt: "openwrt bridge image")
- `vmbr0` will be used to access our router from the home-network. It will also
be how our router gets access to the internet. Aka. *WAN*.
@@ -267,7 +267,7 @@ I gave it two networking interfaces, each `vbmrX` we created earlier:
I was able to setup a network with a few VLANs:
-#fig("framework-server/wrtnet.png", alt: "openwrt network image")
+#fig("framework-server/wrtnet.webp", alt: "openwrt network image")
#quote(block: true)[
This means that the next time we create a new VM or LXC container, we can
@@ -280,7 +280,7 @@ Few observations:
- The Luci web UI is much more minimal and to the point. The terminology used
for things are more in-line with what I'm familiar with.
- Soon I had the segregation I was looking for thanks to Firewall settings:
- #fig("framework-server/fw1.png", alt: "firewall settings image")
+ #fig("framework-server/fw1.webp", alt: "firewall settings image")
- DHCP, *and* DNS working as expected.
== Goals: 3
@@ -295,24 +295,24 @@ Then I started working on setting up my VPN (Wireguard) remote on my VPS.
- Then I enabled the "DMZ" setting (but *not* "Advanced DMZ" - which is
probably the _real_ DMZ) on my home ISP router settings, and added my OpenWRT
VM to it.
- #fig("framework-server/dmz.png", alt: "dmz image")
+ #fig("framework-server/dmz.webp", alt: "dmz image")
- I also setup a port-forward for the Wireguard port 51820 from my ISP router
settings, to point to my OpenWRT VM's internal port 51820.
- #fig("framework-server/port1.png", alt: "port forward image")
+ #fig("framework-server/port1.webp", alt: "port forward image")
After all that, I started setting up Wireguard on OpenWRT.
- The corresponding OpenWRT package is called `luci-app-wireguard`.
- This will give you the ability to create a Wireguard interface on OpenWRT.
- #fig("framework-server/wg.png", alt: "wg menu image")
+ #fig("framework-server/wg.webp", alt: "wg menu image")
- I followed the following excellent tutorial for setting up the Wireguard
interface, configured to use my VPS as its peer:
#extlink("https://www.youtube.com/watch?v=04q41GEPvKA")[Setting up Wireguard
on OpenWRT]
- Created the new interface and added the firewall settings:
- #fig("framework-server/wrtnet2.png", alt: "openwrt wg ifrace")
- #fig("framework-server/fw2.png", alt: "firewall wg settings image")
+ #fig("framework-server/wrtnet2.webp", alt: "openwrt wg ifrace")
+ #fig("framework-server/fw2.webp", alt: "firewall wg settings image")
- As is, this will mean that *only* LAB will have internet access (using the
Wireguard interface) - which is not what I want. I still want other subnets
@@ -327,18 +327,18 @@ After all that, I started setting up Wireguard on OpenWRT.
Luckily OpenWRT has a way to accomplish exactly this with a package called
`luci-app-pbr`. This will add the PBR setting to your menu:
-#fig("framework-server/pbr.png", alt: "pbr setting image")
+#fig("framework-server/pbr.webp", alt: "pbr setting image")
- I followed the following tutorial:
#extlink("https://www.youtube.com/watch?v=FN2qfxNIs2g")[Setting up PBR on
OpenWRT]
- Set up the rule for my PBR:
- #fig("framework-server/pbr2.png", alt: "pbr rule image")
+ #fig("framework-server/pbr2.webp", alt: "pbr rule image")
- The default interface is set to `wan`, so everything else should behave as
normal:
- #fig("framework-server/pbr1.png", alt: "pbr global gateways image")
+ #fig("framework-server/pbr1.webp", alt: "pbr global gateways image")
However, it did take many trail & error sessions (see the
#link(<pbr-dns-leakage>)[dns leakage issues] section below) to get this working
@@ -351,14 +351,14 @@ When I create a VM/container in my _Lab_ subnet,
- its external IP is that of my VPS
- when it reaches out to the internet, it goes through the Wireguard tunnel
encrypted, to the VPS, and out the VPS's ISP.
- #fig("framework-server/lab.png", alt: "lab flow image")
+ #fig("framework-server/lab.webp", alt: "lab flow image")
When I create a VM/container *not* in my Lab subnet,
- its external IP is the same as my home-network's public IP
- when it reaches out to the internet, it goes through my home ISP (NAT), just
like all other devices on my home-network.
- #fig("framework-server/lan.png", alt: "lan flow image")
+ #fig("framework-server/lan.webp", alt: "lan flow image")
PBR provides quite granular control over this, for example, if you run a Plex
server, it frequently needs to access the `plex.tv` domain. You can choose to
@@ -385,12 +385,12 @@ PostDown = iptables -t nat -D PREROUTING -p tcp -i eth0 --dport 443 -j DNAT --to
Then we also need to setup port-forwards for 80,443 on OpenWRT going to our
Reverse Proxy VM/Container.
-#fig("framework-server/port2.png", alt: "port forwards image")
+#fig("framework-server/port2.webp", alt: "port forwards image")
I just setup a temporary Caddy container in reverse-proxy mode to test this
out.
-#fig("framework-server/rproxy.png", alt: "reverse-proxy setup image")
+#fig("framework-server/rproxy.webp", alt: "reverse-proxy setup image")
Once this works, we can move on to building out our services :)
@@ -435,7 +435,7 @@ lxc.mount.entry: /dev/dri/renderD128 dev/renderD128 none bind,optional,create=fi
Then inside your LXC container do `ls -al /dev/dri/` and you should see some
devices.
-#fig("framework-server/dri.png", alt: "gpu devices image")
+#fig("framework-server/dri.webp", alt: "gpu devices image")
= Issues <issues>
@@ -456,7 +456,7 @@ BIOS update.
So I proceeded to give that a shot from within Proxmox using `fwupmgr`:
-#fig("framework-server/fail.png", alt: "bios up fail image")
+#fig("framework-server/fail.webp", alt: "bios up fail image")
And to my surprise it was complaining about _battery level_? Its not even
connected to the battery...
@@ -471,7 +471,7 @@ being connected.
- So I went ahead and pretty much attached the whole thing back into the laptop
chassis
- Updated to 3.17, and applied "Standalone operation"
- #fig("framework-server/bios2.png", alt: "bios update image")
+ #fig("framework-server/bios2.webp", alt: "bios update image")
- Thankfully, all my connectivity issues have gone away now.
- Framework support service is excellent!
@@ -483,7 +483,7 @@ This one kept me up for many nights. To summarize:
- in a host in the Lab network, doing an `apt update` the first time would
hang, mid-way through
- running it a few times again, would eventually succeed the operation
- #fig("framework-server/wtf.jpg", alt: "wtf meme")
+ #fig("framework-server/wtf.webp", alt: "wtf meme")
Could it be DNS? Could it be PBR? Could it be Wireguard?
@@ -509,20 +509,20 @@ Although my external IP would correctly report to being my VPS one, tests like
#extlink("https://github.com/macvk/dnsleaktest")[this] would show that DNS was
still being sent to my home ISP.
-#fig("framework-server/dns.jpg", alt: "dns meme image")
+#fig("framework-server/dns.webp", alt: "dns meme image")
To fix this, I had to:
- *Un-check* setting default route on the Lab interface.
- #fig("framework-server/fix1.png", alt: "dns fix 1 image")
+ #fig("framework-server/fix1.webp", alt: "dns fix 1 image")
- Explicitly set DHCP DNS settings for my Lab gateway interface to use my VPS's
`wg0` interface IP.
- #fig("framework-server/fix2.png", alt: "dns fix 2 image")
+ #fig("framework-server/fix2.webp", alt: "dns fix 2 image")
- Needed a static route defied for the `wg0` interface targeting the VPN
network via the OpenWRT local IP for `wg0` as a gateway.
- #fig("framework-server/fix3.png", alt: "dns fix 3 image")
+ #fig("framework-server/fix3.webp", alt: "dns fix 3 image")
== pfSense <pfsense>
@@ -551,7 +551,7 @@ so is my NAS as a storage server.
Since switching to this setup, I've observed a dramatic improvement in
responsiveness for all of my services.
-#fig("framework-server/imp.png", alt: "improvement meme image")
+#fig("framework-server/imp.webp", alt: "improvement meme image")
Overall I'm quite pleased with how everything turned out once the appropriate
BIOS was running on the Framework.
diff --git a/post/framework-server/bios.jpg b/post/framework-server/bios.jpg
deleted file mode 100755
index 76cda35..0000000
--- a/post/framework-server/bios.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/bios.webp b/post/framework-server/bios.webp
new file mode 100644
index 0000000..bd6f82a
--- /dev/null
+++ b/post/framework-server/bios.webp
Binary files differ
diff --git a/post/framework-server/bios2.png b/post/framework-server/bios2.png
deleted file mode 100755
index 094e37e..0000000
--- a/post/framework-server/bios2.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/bios2.webp b/post/framework-server/bios2.webp
new file mode 100644
index 0000000..fc8c1a1
--- /dev/null
+++ b/post/framework-server/bios2.webp
Binary files differ
diff --git a/post/framework-server/case.jpg b/post/framework-server/case.jpg
deleted file mode 100755
index a40c172..0000000
--- a/post/framework-server/case.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/case.webp b/post/framework-server/case.webp
new file mode 100644
index 0000000..7cdb0a5
--- /dev/null
+++ b/post/framework-server/case.webp
Binary files differ
diff --git a/post/framework-server/dmz.png b/post/framework-server/dmz.png
deleted file mode 100755
index 372c12b..0000000
--- a/post/framework-server/dmz.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/dmz.webp b/post/framework-server/dmz.webp
new file mode 100644
index 0000000..6443838
--- /dev/null
+++ b/post/framework-server/dmz.webp
Binary files differ
diff --git a/post/framework-server/dns.jpg b/post/framework-server/dns.jpg
deleted file mode 100755
index 0b32528..0000000
--- a/post/framework-server/dns.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/dns.webp b/post/framework-server/dns.webp
new file mode 100644
index 0000000..16195fd
--- /dev/null
+++ b/post/framework-server/dns.webp
Binary files differ
diff --git a/post/framework-server/dri.png b/post/framework-server/dri.png
deleted file mode 100755
index a578c79..0000000
--- a/post/framework-server/dri.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/dri.webp b/post/framework-server/dri.webp
new file mode 100644
index 0000000..17f2490
--- /dev/null
+++ b/post/framework-server/dri.webp
Binary files differ
diff --git a/post/framework-server/error.jpg b/post/framework-server/error.jpg
deleted file mode 100755
index 429eef8..0000000
--- a/post/framework-server/error.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/error.webp b/post/framework-server/error.webp
new file mode 100644
index 0000000..05b277b
--- /dev/null
+++ b/post/framework-server/error.webp
Binary files differ
diff --git a/post/framework-server/eth.jpg b/post/framework-server/eth.jpg
deleted file mode 100755
index f8ad12a..0000000
--- a/post/framework-server/eth.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/eth.webp b/post/framework-server/eth.webp
new file mode 100644
index 0000000..79db1b2
--- /dev/null
+++ b/post/framework-server/eth.webp
Binary files differ
diff --git a/post/framework-server/fail.png b/post/framework-server/fail.png
deleted file mode 100755
index f0e06db..0000000
--- a/post/framework-server/fail.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/fail.webp b/post/framework-server/fail.webp
new file mode 100644
index 0000000..a35dbe9
--- /dev/null
+++ b/post/framework-server/fail.webp
Binary files differ
diff --git a/post/framework-server/feelsbadman.png b/post/framework-server/feelsbadman.png
deleted file mode 100755
index b1c2a26..0000000
--- a/post/framework-server/feelsbadman.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/feelsbadman.webp b/post/framework-server/feelsbadman.webp
new file mode 100644
index 0000000..841f190
--- /dev/null
+++ b/post/framework-server/feelsbadman.webp
Binary files differ
diff --git a/post/framework-server/fix1.png b/post/framework-server/fix1.png
deleted file mode 100755
index b36489e..0000000
--- a/post/framework-server/fix1.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/fix1.webp b/post/framework-server/fix1.webp
new file mode 100644
index 0000000..87956c8
--- /dev/null
+++ b/post/framework-server/fix1.webp
Binary files differ
diff --git a/post/framework-server/fix2.png b/post/framework-server/fix2.png
deleted file mode 100755
index 5b64900..0000000
--- a/post/framework-server/fix2.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/fix2.webp b/post/framework-server/fix2.webp
new file mode 100644
index 0000000..3f80c69
--- /dev/null
+++ b/post/framework-server/fix2.webp
Binary files differ
diff --git a/post/framework-server/fix3.png b/post/framework-server/fix3.png
deleted file mode 100755
index 9af2433..0000000
--- a/post/framework-server/fix3.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/fix3.webp b/post/framework-server/fix3.webp
new file mode 100644
index 0000000..7beec7f
--- /dev/null
+++ b/post/framework-server/fix3.webp
Binary files differ
diff --git a/post/framework-server/fw1.png b/post/framework-server/fw1.png
deleted file mode 100755
index 72a95ee..0000000
--- a/post/framework-server/fw1.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/fw1.webp b/post/framework-server/fw1.webp
new file mode 100644
index 0000000..ba8c08b
--- /dev/null
+++ b/post/framework-server/fw1.webp
Binary files differ
diff --git a/post/framework-server/fw2.png b/post/framework-server/fw2.png
deleted file mode 100755
index cec00e1..0000000
--- a/post/framework-server/fw2.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/fw2.webp b/post/framework-server/fw2.webp
new file mode 100644
index 0000000..9e06a58
--- /dev/null
+++ b/post/framework-server/fw2.webp
Binary files differ
diff --git a/post/framework-server/imp.png b/post/framework-server/imp.png
deleted file mode 100755
index c11b806..0000000
--- a/post/framework-server/imp.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/imp.webp b/post/framework-server/imp.webp
new file mode 100644
index 0000000..373a728
--- /dev/null
+++ b/post/framework-server/imp.webp
Binary files differ
diff --git a/post/framework-server/lab.png b/post/framework-server/lab.png
deleted file mode 100755
index 6591a8b..0000000
--- a/post/framework-server/lab.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/lab.webp b/post/framework-server/lab.webp
new file mode 100644
index 0000000..e023533
--- /dev/null
+++ b/post/framework-server/lab.webp
Binary files differ
diff --git a/post/framework-server/lan.png b/post/framework-server/lan.png
deleted file mode 100755
index 461d598..0000000
--- a/post/framework-server/lan.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/lan.webp b/post/framework-server/lan.webp
new file mode 100644
index 0000000..1a6d533
--- /dev/null
+++ b/post/framework-server/lan.webp
Binary files differ
diff --git a/post/framework-server/mistakes.jpg b/post/framework-server/mistakes.jpg
deleted file mode 100755
index d4b2e12..0000000
--- a/post/framework-server/mistakes.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/mistakes.webp b/post/framework-server/mistakes.webp
new file mode 100644
index 0000000..ad82826
--- /dev/null
+++ b/post/framework-server/mistakes.webp
Binary files differ
diff --git a/post/framework-server/nas.jpg b/post/framework-server/nas.jpg
deleted file mode 100755
index 75f5251..0000000
--- a/post/framework-server/nas.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/nas.webp b/post/framework-server/nas.webp
new file mode 100644
index 0000000..dbbafff
--- /dev/null
+++ b/post/framework-server/nas.webp
Binary files differ
diff --git a/post/framework-server/net1.png b/post/framework-server/net1.png
deleted file mode 100755
index a0a4eff..0000000
--- a/post/framework-server/net1.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/net1.webp b/post/framework-server/net1.webp
new file mode 100644
index 0000000..ee36709
--- /dev/null
+++ b/post/framework-server/net1.webp
Binary files differ
diff --git a/post/framework-server/net2.png b/post/framework-server/net2.png
deleted file mode 100755
index c5ad118..0000000
--- a/post/framework-server/net2.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/net2.webp b/post/framework-server/net2.webp
new file mode 100644
index 0000000..6bd28fc
--- /dev/null
+++ b/post/framework-server/net2.webp
Binary files differ
diff --git a/post/framework-server/network.png b/post/framework-server/network.png
deleted file mode 100755
index 1b1fba6..0000000
--- a/post/framework-server/network.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/network.webp b/post/framework-server/network.webp
new file mode 100644
index 0000000..639f730
--- /dev/null
+++ b/post/framework-server/network.webp
Binary files differ
diff --git a/post/framework-server/pbr.png b/post/framework-server/pbr.png
deleted file mode 100755
index 2b1e330..0000000
--- a/post/framework-server/pbr.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/pbr.webp b/post/framework-server/pbr.webp
new file mode 100644
index 0000000..0cc8497
--- /dev/null
+++ b/post/framework-server/pbr.webp
Binary files differ
diff --git a/post/framework-server/pbr1.png b/post/framework-server/pbr1.png
deleted file mode 100755
index 4d7f075..0000000
--- a/post/framework-server/pbr1.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/pbr1.webp b/post/framework-server/pbr1.webp
new file mode 100644
index 0000000..8cd23ad
--- /dev/null
+++ b/post/framework-server/pbr1.webp
Binary files differ
diff --git a/post/framework-server/pbr2.png b/post/framework-server/pbr2.png
deleted file mode 100755
index 0a07839..0000000
--- a/post/framework-server/pbr2.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/pbr2.webp b/post/framework-server/pbr2.webp
new file mode 100644
index 0000000..6237339
--- /dev/null
+++ b/post/framework-server/pbr2.webp
Binary files differ
diff --git a/post/framework-server/pfnet.png b/post/framework-server/pfnet.png
deleted file mode 100755
index 67cc5f4..0000000
--- a/post/framework-server/pfnet.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/pfnet.webp b/post/framework-server/pfnet.webp
new file mode 100644
index 0000000..46ec1ae
--- /dev/null
+++ b/post/framework-server/pfnet.webp
Binary files differ
diff --git a/post/framework-server/physical.png b/post/framework-server/physical.png
deleted file mode 100755
index fc1cb81..0000000
--- a/post/framework-server/physical.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/physical.webp b/post/framework-server/physical.webp
new file mode 100644
index 0000000..419a343
--- /dev/null
+++ b/post/framework-server/physical.webp
Binary files differ
diff --git a/post/framework-server/port1.png b/post/framework-server/port1.png
deleted file mode 100755
index 1b72ab1..0000000
--- a/post/framework-server/port1.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/port1.webp b/post/framework-server/port1.webp
new file mode 100644
index 0000000..48ed547
--- /dev/null
+++ b/post/framework-server/port1.webp
Binary files differ
diff --git a/post/framework-server/port2.png b/post/framework-server/port2.png
deleted file mode 100755
index 37ff887..0000000
--- a/post/framework-server/port2.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/port2.webp b/post/framework-server/port2.webp
new file mode 100644
index 0000000..de38fa1
--- /dev/null
+++ b/post/framework-server/port2.webp
Binary files differ
diff --git a/post/framework-server/rproxy.png b/post/framework-server/rproxy.png
deleted file mode 100755
index 0d3f0bf..0000000
--- a/post/framework-server/rproxy.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/rproxy.webp b/post/framework-server/rproxy.webp
new file mode 100644
index 0000000..43f6dbd
--- /dev/null
+++ b/post/framework-server/rproxy.webp
Binary files differ
diff --git a/post/framework-server/ups.jpg b/post/framework-server/ups.jpg
deleted file mode 100755
index 4cd7aee..0000000
--- a/post/framework-server/ups.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/ups.webp b/post/framework-server/ups.webp
new file mode 100644
index 0000000..3d2cc83
--- /dev/null
+++ b/post/framework-server/ups.webp
Binary files differ
diff --git a/post/framework-server/vps.png b/post/framework-server/vps.png
deleted file mode 100755
index 7392495..0000000
--- a/post/framework-server/vps.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/vps.webp b/post/framework-server/vps.webp
new file mode 100644
index 0000000..8b3cc28
--- /dev/null
+++ b/post/framework-server/vps.webp
Binary files differ
diff --git a/post/framework-server/wg.png b/post/framework-server/wg.png
deleted file mode 100755
index 18896a0..0000000
--- a/post/framework-server/wg.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/wg.webp b/post/framework-server/wg.webp
new file mode 100644
index 0000000..251b3db
--- /dev/null
+++ b/post/framework-server/wg.webp
Binary files differ
diff --git a/post/framework-server/wrtnet.png b/post/framework-server/wrtnet.png
deleted file mode 100755
index 73d435d..0000000
--- a/post/framework-server/wrtnet.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/wrtnet.webp b/post/framework-server/wrtnet.webp
new file mode 100644
index 0000000..808bdbf
--- /dev/null
+++ b/post/framework-server/wrtnet.webp
Binary files differ
diff --git a/post/framework-server/wrtnet2.png b/post/framework-server/wrtnet2.png
deleted file mode 100755
index 34cd6b9..0000000
--- a/post/framework-server/wrtnet2.png
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/wrtnet2.webp b/post/framework-server/wrtnet2.webp
new file mode 100644
index 0000000..f01f948
--- /dev/null
+++ b/post/framework-server/wrtnet2.webp
Binary files differ
diff --git a/post/framework-server/wtf.jpg b/post/framework-server/wtf.jpg
deleted file mode 100755
index 995fefe..0000000
--- a/post/framework-server/wtf.jpg
+++ /dev/null
Binary files differ
diff --git a/post/framework-server/wtf.webp b/post/framework-server/wtf.webp
new file mode 100644
index 0000000..320bfe6
--- /dev/null
+++ b/post/framework-server/wtf.webp
Binary files differ
diff --git a/post/listing-my-fav-advice.typ b/post/listing-my-fav-advice.typ
index 5984f97..63c7608 100644
--- a/post/listing-my-fav-advice.typ
+++ b/post/listing-my-fav-advice.typ
@@ -10,8 +10,8 @@ me.
columns: 2,
stroke: none,
align: center,
- img("listing-my-fav-advice/balance.jpg", alt: "balancing rocks"),
- img("listing-my-fav-advice/indulgence.jpg", alt: "indulgence painting"),
+ img("listing-my-fav-advice/balance.webp", alt: "balancing rocks"),
+ img("listing-my-fav-advice/indulgence.webp", alt: "indulgence painting"),
)
I first heard this one from Kia, my Jitsu instructor at U of T. The first part
@@ -50,7 +50,7 @@ rushing? Maybe its time to re-evaluate some things in your life.
= Don't worry so much about budgeting, focus on earning more.
-#fig("listing-my-fav-advice/money.jpg", alt: "money bob ross")
+#fig("listing-my-fav-advice/money.webp", alt: "money bob ross")
This one is somewhat controversial. I heard it from John Hill on the
#extlink("https://podcasts.apple.com/us/podcast/super-hoopers-an-nba-podcast/id1053263719")[Super
@@ -72,7 +72,7 @@ saved or at the very least doing something actually enjoyable.
= Never work for someone who you don't want to become.
-#fig("listing-my-fav-advice/boss.jpg", alt: "boss", width: "50%")
+#fig("listing-my-fav-advice/boss.webp", alt: "boss", width: "50%")
This one has helped me substantially in my career. I believe I heard it from
someone on Shark Tank (Mark Cuban? Mr. Wonderful? IIRC). More important than
diff --git a/post/listing-my-fav-advice/balance.jpg b/post/listing-my-fav-advice/balance.jpg
deleted file mode 100755
index ee5050c..0000000
--- a/post/listing-my-fav-advice/balance.jpg
+++ /dev/null
Binary files differ
diff --git a/post/listing-my-fav-advice/balance.webp b/post/listing-my-fav-advice/balance.webp
new file mode 100644
index 0000000..3e9ee06
--- /dev/null
+++ b/post/listing-my-fav-advice/balance.webp
Binary files differ
diff --git a/post/listing-my-fav-advice/boss.jpg b/post/listing-my-fav-advice/boss.jpg
deleted file mode 100755
index 631a78a..0000000
--- a/post/listing-my-fav-advice/boss.jpg
+++ /dev/null
Binary files differ
diff --git a/post/listing-my-fav-advice/boss.webp b/post/listing-my-fav-advice/boss.webp
new file mode 100644
index 0000000..5912bc5
--- /dev/null
+++ b/post/listing-my-fav-advice/boss.webp
Binary files differ
diff --git a/post/listing-my-fav-advice/indulgence.jpg b/post/listing-my-fav-advice/indulgence.jpg
deleted file mode 100755
index 446e3fb..0000000
--- a/post/listing-my-fav-advice/indulgence.jpg
+++ /dev/null
Binary files differ
diff --git a/post/listing-my-fav-advice/indulgence.webp b/post/listing-my-fav-advice/indulgence.webp
new file mode 100644
index 0000000..cd25f45
--- /dev/null
+++ b/post/listing-my-fav-advice/indulgence.webp
Binary files differ
diff --git a/post/listing-my-fav-advice/money.jpg b/post/listing-my-fav-advice/money.jpg
deleted file mode 100755
index 451ff7c..0000000
--- a/post/listing-my-fav-advice/money.jpg
+++ /dev/null
Binary files differ
diff --git a/post/listing-my-fav-advice/money.webp b/post/listing-my-fav-advice/money.webp
new file mode 100644
index 0000000..83f6ac2
--- /dev/null
+++ b/post/listing-my-fav-advice/money.webp
Binary files differ
diff --git a/post/nas-upgrade.typ b/post/nas-upgrade.typ
index 9b48839..500d7bc 100644
--- a/post/nas-upgrade.typ
+++ b/post/nas-upgrade.typ
@@ -15,7 +15,7 @@ I _probably_ have enough buffer to survive the initial few months, I certainly
wish to do better than my current 2xHDD mirrored pool giving me ~4TB of
storage.
-#fig("nas-upgrade/oldnas.png", alt: "nas nas")
+#fig("nas-upgrade/oldnas.webp", alt: "nas nas")
= The Plan
@@ -60,8 +60,8 @@ Wants:
On eBay, I ended up checking out with:
-#fig("nas-upgrade/nas-chassis.png", alt: "nas chassis")
-#fig("nas-upgrade/ethernet.png", alt: "ethernet adapter")
+#fig("nas-upgrade/nas-chassis.webp", alt: "nas chassis")
+#fig("nas-upgrade/ethernet.webp", alt: "ethernet adapter")
#table(
columns: 2,
@@ -80,7 +80,7 @@ means I am running on a single HDD for the remainder of the migration.
With the free HDD, and my two spares, I get everything assembled, and set up a
new Proxmox node with a ZFS pool from the UI using the 3 disks.
-#fig("nas-upgrade/zfs-pool.png", alt: "proxmox zfs pool")
+#fig("nas-upgrade/zfs-pool.webp", alt: "proxmox zfs pool")
= Sync
@@ -115,7 +115,7 @@ Before I can re-enable my services. I need to expose my datasets on Cockpit.
I create a Debian LXC, and assign the generated MAC a static IP on my network.
Other than that, I just make sure my container has the NFS feature enabled:
-#fig("nas-upgrade/cockpit-lxc.png", alt: "cockpit lxc features")
+#fig("nas-upgrade/cockpit-lxc.webp", alt: "cockpit lxc features")
Setting up user permissions is a pain, but once done I expose the relevant NFS
as well as Samba paths for my services - replicating my old NAS's shared paths.
diff --git a/post/nas-upgrade/cockpit-lxc.png b/post/nas-upgrade/cockpit-lxc.png
deleted file mode 100755
index a2a9363..0000000
--- a/post/nas-upgrade/cockpit-lxc.png
+++ /dev/null
Binary files differ
diff --git a/post/nas-upgrade/cockpit-lxc.webp b/post/nas-upgrade/cockpit-lxc.webp
new file mode 100644
index 0000000..f761969
--- /dev/null
+++ b/post/nas-upgrade/cockpit-lxc.webp
Binary files differ
diff --git a/post/nas-upgrade/ethernet.png b/post/nas-upgrade/ethernet.png
deleted file mode 100755
index f39110d..0000000
--- a/post/nas-upgrade/ethernet.png
+++ /dev/null
Binary files differ
diff --git a/post/nas-upgrade/ethernet.webp b/post/nas-upgrade/ethernet.webp
new file mode 100644
index 0000000..e2c0b2f
--- /dev/null
+++ b/post/nas-upgrade/ethernet.webp
Binary files differ
diff --git a/post/nas-upgrade/nas-chassis.png b/post/nas-upgrade/nas-chassis.png
deleted file mode 100755
index 5d70b60..0000000
--- a/post/nas-upgrade/nas-chassis.png
+++ /dev/null
Binary files differ
diff --git a/post/nas-upgrade/nas-chassis.webp b/post/nas-upgrade/nas-chassis.webp
new file mode 100644
index 0000000..8de7753
--- /dev/null
+++ b/post/nas-upgrade/nas-chassis.webp
Binary files differ
diff --git a/post/nas-upgrade/oldnas.png b/post/nas-upgrade/oldnas.png
deleted file mode 100755
index 15ad609..0000000
--- a/post/nas-upgrade/oldnas.png
+++ /dev/null
Binary files differ
diff --git a/post/nas-upgrade/oldnas.webp b/post/nas-upgrade/oldnas.webp
new file mode 100644
index 0000000..065b7c9
--- /dev/null
+++ b/post/nas-upgrade/oldnas.webp
Binary files differ
diff --git a/post/nas-upgrade/zfs-pool.png b/post/nas-upgrade/zfs-pool.png
deleted file mode 100755
index ecf9605..0000000
--- a/post/nas-upgrade/zfs-pool.png
+++ /dev/null
Binary files differ
diff --git a/post/nas-upgrade/zfs-pool.webp b/post/nas-upgrade/zfs-pool.webp
new file mode 100644
index 0000000..6dcdaf3
--- /dev/null
+++ b/post/nas-upgrade/zfs-pool.webp
Binary files differ
diff --git a/post/nixos-p1.typ b/post/nixos-p1.typ
index 2d248c8..ca4a7d0 100644
--- a/post/nixos-p1.typ
+++ b/post/nixos-p1.typ
@@ -8,7 +8,7 @@ NixOS the "modern" way - Flakes + Home Manager. It doesn't help that Nix's
official docs are very disjointed so hopefully this will fill in some gaps that
I observed when setting it all up.
-#fig("nixos-p1/fox.jpg", alt: "meme")
+#fig("nixos-p1/fox.webp", alt: "meme")
#quote(block: true)[
Warning: NixOS is not exactly beginner friendly - you should have
@@ -33,7 +33,7 @@ traditional distro.
For example, NixOS will present you with all previous "builds" at boot time for
you to revert to in case something gets messed up.
-#fig("nixos-p1/boot.png", alt: "boot prompt")
+#fig("nixos-p1/boot.webp", alt: "boot prompt")
= Things I want to explore as part of this exercise:
@@ -52,7 +52,7 @@ you to revert to in case something gets messed up.
= Spoilers! (End result)
-#fig("nixos-p1/rice.png", alt: "my rice")
+#fig("nixos-p1/rice.webp", alt: "my rice")
(Probably too ugly for r/unixporn, but works for me :)
@@ -346,7 +346,7 @@ sudo make install
`wbg` is a simple background setter for Wayland......aaaand BAM!
-#fig("nixos-p1/dwl.png", alt: "dwl pic")
+#fig("nixos-p1/dwl.webp", alt: "dwl pic")
== Terminal
diff --git a/post/nixos-p1/boot.png b/post/nixos-p1/boot.png
deleted file mode 100755
index 4e3d972..0000000
--- a/post/nixos-p1/boot.png
+++ /dev/null
Binary files differ
diff --git a/post/nixos-p1/boot.webp b/post/nixos-p1/boot.webp
new file mode 100644
index 0000000..ed77817
--- /dev/null
+++ b/post/nixos-p1/boot.webp
Binary files differ
diff --git a/post/nixos-p1/dwl.png b/post/nixos-p1/dwl.png
deleted file mode 100755
index 8ecbe4d..0000000
--- a/post/nixos-p1/dwl.png
+++ /dev/null
Binary files differ
diff --git a/post/nixos-p1/dwl.webp b/post/nixos-p1/dwl.webp
new file mode 100644
index 0000000..89f7245
--- /dev/null
+++ b/post/nixos-p1/dwl.webp
Binary files differ
diff --git a/post/nixos-p1/fox.jpg b/post/nixos-p1/fox.jpg
deleted file mode 100755
index 3ace57f..0000000
--- a/post/nixos-p1/fox.jpg
+++ /dev/null
Binary files differ
diff --git a/post/nixos-p1/fox.webp b/post/nixos-p1/fox.webp
new file mode 100644
index 0000000..4f9c703
--- /dev/null
+++ b/post/nixos-p1/fox.webp
Binary files differ
diff --git a/post/nixos-p1/rice.png b/post/nixos-p1/rice.png
deleted file mode 100755
index 4fd97cf..0000000
--- a/post/nixos-p1/rice.png
+++ /dev/null
Binary files differ
diff --git a/post/nixos-p1/rice.webp b/post/nixos-p1/rice.webp
new file mode 100644
index 0000000..e707a20
--- /dev/null
+++ b/post/nixos-p1/rice.webp
Binary files differ
diff --git a/post/programming-as-art.typ b/post/programming-as-art.typ
index ef80e33..e4e2fd6 100644
--- a/post/programming-as-art.typ
+++ b/post/programming-as-art.typ
@@ -15,7 +15,7 @@ for _ in range(1, 1001):
At the time it felt like having the
#extlink("https://harry-potter-compendium.fandom.com/wiki/Elder_Wand")[Elder Wand].
-#fig("programming-as-art/wand.png", alt: "Dumbledore with Elder Wand pic")
+#fig("programming-as-art/wand.webp", alt: "Dumbledore with Elder Wand pic")
But there was more to our lesson. The TA then asks us to put our newly found
power to use by computing the sum of 1 to 100. Of course, it was a natural
@@ -41,7 +41,7 @@ _linearly_ with the input size. Later we would formalize this to $cal(O)(n)$
The TA hinted that there is a better way, and that we already know of the
better way in math.
-#fig("programming-as-art/teaching.png", alt: "Teaching meme")
+#fig("programming-as-art/teaching.webp", alt: "Teaching meme")
$ S_n = sum_(i=1)^n i = 1 + 2 + ... + n = (n (n + 1)) / 2 $
@@ -60,7 +60,7 @@ instructions. Crucially, it does not depend on the size of the input like our
previous solution, thus *no matter the input, it always takes 3 instructions to
compute!* This is a HUGE win!
-#fig("programming-as-art/math.png", alt: "Math meme")
+#fig("programming-as-art/math.webp", alt: "Math meme")
Later we would formalize this to $cal(O)(1)$, or _constant_ scaling.
@@ -89,7 +89,7 @@ When I reflect on moments like this, it reminds me that there is emergent
elegance and beauty even in the seemingly arbitrary sequence of symbols that is
`code`.
-#fig("programming-as-art/code.png", alt: "The Matrix code going by image")
+#fig("programming-as-art/code.webp", alt: "The Matrix code going by image")
Programming is not quite as _objective_ as people would have you believe. There
are trade-offs to each solution, and which solution you prefer relect on the
diff --git a/post/programming-as-art/code.png b/post/programming-as-art/code.png
deleted file mode 100755
index 30c3522..0000000
--- a/post/programming-as-art/code.png
+++ /dev/null
Binary files differ
diff --git a/post/programming-as-art/code.webp b/post/programming-as-art/code.webp
new file mode 100644
index 0000000..2455aee
--- /dev/null
+++ b/post/programming-as-art/code.webp
Binary files differ
diff --git a/post/programming-as-art/math.png b/post/programming-as-art/math.png
deleted file mode 100755
index bbdc372..0000000
--- a/post/programming-as-art/math.png
+++ /dev/null
Binary files differ
diff --git a/post/programming-as-art/math.webp b/post/programming-as-art/math.webp
new file mode 100644
index 0000000..3c3993a
--- /dev/null
+++ b/post/programming-as-art/math.webp
Binary files differ
diff --git a/post/programming-as-art/teaching.png b/post/programming-as-art/teaching.png
deleted file mode 100755
index 9bf5dce..0000000
--- a/post/programming-as-art/teaching.png
+++ /dev/null
Binary files differ
diff --git a/post/programming-as-art/teaching.webp b/post/programming-as-art/teaching.webp
new file mode 100644
index 0000000..4304a7e
--- /dev/null
+++ b/post/programming-as-art/teaching.webp
Binary files differ
diff --git a/post/programming-as-art/wand.png b/post/programming-as-art/wand.png
deleted file mode 100755
index 5eefc9c..0000000
--- a/post/programming-as-art/wand.png
+++ /dev/null
Binary files differ
diff --git a/post/programming-as-art/wand.webp b/post/programming-as-art/wand.webp
new file mode 100644
index 0000000..0a65028
--- /dev/null
+++ b/post/programming-as-art/wand.webp
Binary files differ
diff --git a/post/programs/dwl.png b/post/programs/dwl.png
deleted file mode 100755
index 8ecbe4d..0000000
--- a/post/programs/dwl.png
+++ /dev/null
Binary files differ
diff --git a/post/programs/dwl.webp b/post/programs/dwl.webp
new file mode 100644
index 0000000..89f7245
--- /dev/null
+++ b/post/programs/dwl.webp
Binary files differ
diff --git a/post/self-host.typ b/post/self-host.typ
index 0fed382..171cc33 100644
--- a/post/self-host.typ
+++ b/post/self-host.typ
@@ -5,7 +5,7 @@ My reasons for self-hosting.
= Digital freedom/independence
-#fig("self-host/freedom.jpg", alt: "Freedom pic")
+#fig("self-host/freedom.webp", alt: "Freedom pic")
To put it simply, if you use a service such as Lastpass, iCloud, Dropbox,
GDrive, OneDrive, etc. to store your data, *you do not own it*.
@@ -36,14 +36,14 @@ Normies often ask me some variation of:
- Since I'm aware of targeted advertising, it won't work on me, so why should
I care if corp. X has my data?
-#fig("self-host/why.jpg", alt: "my pic", width: "75%")
+#fig("self-host/why.webp", alt: "my pic", width: "75%")
To such questions, I follow-up with:
#quote(block: true)[*Do you want to contribute to a dystopian
(#extlink("https://en.wikipedia.org/wiki/Orwellian")[Orwellian]) future?*]
-#fig("self-host/police.jpg", alt: "thought police", width: "75%")
+#fig("self-host/police.webp", alt: "thought police", width: "75%")
If your answer is _yes_, then no need to read further, the following will not
change your mind.
@@ -79,7 +79,7 @@ few recent examples:
think this is morally acceptable, and is primary reason I refuse to
participate in social-media platforms.
- #fig("self-host/6imv05.jpg", alt: "Depression")
+ #fig("self-host/6imv05.webp", alt: "Depression")
You could say "well that's due to bad parenting", but the point remains that
more and more of the digital world is having _real world_ negative consequences
@@ -96,7 +96,7 @@ regardless of your individual participation level. Another example:
Regardless of your political affiliation, it should worry you that this
_can_ happen.
- #fig("self-host/elections.jpg", alt: "Elections")
+ #fig("self-host/elections.webp", alt: "Elections")
To summarize, it might not be a problem if individuals disregard their privacy
at the individual level, but in aggregate, a _population-wide_ disregard has
@@ -134,5 +134,5 @@ Start by *valuing your privacy*. Then, follow some of these tips to _say no..._
limit your usage.
- Support government policies that respect user-privacy.
-#fig("self-host/office.png", alt: "office pic", width: "75%")
+#fig("self-host/office.webp", alt: "office pic", width: "75%")
]
diff --git a/post/self-host/6imv05.jpg b/post/self-host/6imv05.jpg
deleted file mode 100755
index d042d7a..0000000
--- a/post/self-host/6imv05.jpg
+++ /dev/null
Binary files differ
diff --git a/post/self-host/6imv05.webp b/post/self-host/6imv05.webp
new file mode 100644
index 0000000..bdf703c
--- /dev/null
+++ b/post/self-host/6imv05.webp
Binary files differ
diff --git a/post/self-host/elections.jpg b/post/self-host/elections.jpg
deleted file mode 100755
index ac4ac96..0000000
--- a/post/self-host/elections.jpg
+++ /dev/null
Binary files differ
diff --git a/post/self-host/elections.webp b/post/self-host/elections.webp
new file mode 100644
index 0000000..dcb1c64
--- /dev/null
+++ b/post/self-host/elections.webp
Binary files differ
diff --git a/post/self-host/freedom.jpg b/post/self-host/freedom.jpg
deleted file mode 100755
index d62048a..0000000
--- a/post/self-host/freedom.jpg
+++ /dev/null
Binary files differ
diff --git a/post/self-host/freedom.webp b/post/self-host/freedom.webp
new file mode 100644
index 0000000..8474288
--- /dev/null
+++ b/post/self-host/freedom.webp
Binary files differ
diff --git a/post/self-host/office.png b/post/self-host/office.png
deleted file mode 100755
index 9cff3ce..0000000
--- a/post/self-host/office.png
+++ /dev/null
Binary files differ
diff --git a/post/self-host/office.webp b/post/self-host/office.webp
new file mode 100644
index 0000000..925779a
--- /dev/null
+++ b/post/self-host/office.webp
Binary files differ
diff --git a/post/self-host/police.jpg b/post/self-host/police.jpg
deleted file mode 100755
index dde2b44..0000000
--- a/post/self-host/police.jpg
+++ /dev/null
Binary files differ
diff --git a/post/self-host/police.webp b/post/self-host/police.webp
new file mode 100644
index 0000000..361c466
--- /dev/null
+++ b/post/self-host/police.webp
Binary files differ
diff --git a/post/self-host/why.jpg b/post/self-host/why.jpg
deleted file mode 100755
index eda5402..0000000
--- a/post/self-host/why.jpg
+++ /dev/null
Binary files differ
diff --git a/post/self-host/why.webp b/post/self-host/why.webp
new file mode 100644
index 0000000..d693f07
--- /dev/null
+++ b/post/self-host/why.webp
Binary files differ