diff options
| -rw-r--r-- | about/resources.html | 182 | ||||
| -rw-r--r-- | gemfeed/2024-07-05-random-weird-things.html | 1 | ||||
| -rw-r--r-- | gemfeed/2025-02-08-random-weird-things-ii.html | 1 | ||||
| -rw-r--r-- | gemfeed/2025-08-15-random-weird-things-iii.html | 139 | ||||
| -rw-r--r-- | gemfeed/DRAFT-kubernetes-with-freebsd-part-7.html | 1 | ||||
| -rw-r--r-- | gemfeed/atom.xml | 266 | ||||
| -rw-r--r-- | gemfeed/index.html | 1 | ||||
| -rw-r--r-- | index.html | 3 | ||||
| -rw-r--r-- | uptime-stats.html | 114 |
9 files changed, 428 insertions, 280 deletions
diff --git a/about/resources.html b/about/resources.html index a63e3ebc..7daf887b 100644 --- a/about/resources.html +++ b/about/resources.html @@ -50,107 +50,107 @@ <span>In random order:</span><br /> <br /> <ul> +<li>DNS and BIND; Cricket Liu; O'Reilly</li> +<li>The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible</li> +<li>100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications</li> +<li>Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers</li> +<li>Leanring eBPF; Liz Rice; O'Reilly</li> <li>Ultimate Go Notebook; Bill Kennedy</li> -<li>Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly</li> -<li>Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly</li> -<li>Raku Fundamentals; Moritz Lenz; Apress</li> -<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li> <li>The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton</li> -<li>Leanring eBPF; Liz Rice; O'Reilly</li> -<li>Effective Java; Joshua Bloch; Addison-Wesley Professional</li> -<li>Data Science at the Command Line; Jeroen Janssens; O'Reilly</li> -<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li> -<li>Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications</li> -<li>Concurrency in Go; Katherine Cox-Buday; O'Reilly</li> -<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li> +<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li> +<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly</li> +<li>The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress</li> +<li>Effective awk programming; Arnold Robbins; O'Reilly</li> +<li>The Kubernetes Book; Nigel Poulton; Unabridged Audiobook</li> <li>Funktionale Programmierung; Peter Pepper; Springer</li> -<li>Terraform Cookbook; Mikael Krief; Packt Publishing</li> -<li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li> +<li>Concurrency in Go; Katherine Cox-Buday; O'Reilly</li> <li>Higher Order Perl; Mark Dominus; Morgan Kaufmann</li> -<li>100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications</li> -<li>The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible</li> -<li>Java ist auch eine Insel; Christian Ullenboom; </li> -<li>Developing Games in Java; David Brackeen and others...; New Riders</li> +<li>Polished Ruby Programming; Jeremy Evans; Packt Publishing</li> +<li>Raku Recipes; J.J. Merelo; Apress</li> <li>Site Reliability Engineering; How Google runs production systems; O'Reilly</li> -<li>The Kubernetes Book; Nigel Poulton; Unabridged Audiobook</li> -<li>Modern Perl; Chromatic ; Onyx Neon Press</li> -<li>Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers </li> -<li>Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf</li> -<li>Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers</li> -<li>97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly</li> -<li>Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner</li> +<li>DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible</li> +<li>Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly</li> <li>Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly</li> -<li>Perl New Features; Joshua McAdams, brian d foy; Perl School</li> -<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly</li> -<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li> -<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly</li> -<li>Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt </li> -<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li> -<li>The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress</li> -<li>Effective awk programming; Arnold Robbins; O'Reilly</li> +<li>Java ist auch eine Insel; Christian Ullenboom; </li> <li>The Docker Book; James Turnbull; Kindle</li> <li>Systemprogrammierung in Go; Frank Müller; dpunkt</li> -<li>Polished Ruby Programming; Jeremy Evans; Packt Publishing</li> +<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li> +<li>Effective Java; Joshua Bloch; Addison-Wesley Professional</li> +<li>Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf</li> +<li>Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner</li> +<li>Modern Perl; Chromatic ; Onyx Neon Press</li> +<li>Data Science at the Command Line; Jeroen Janssens; O'Reilly</li> +<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li> +<li>97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly</li> <li>C++ Programming Language; Bjarne Stroustrup;</li> -<li>DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible</li> +<li>Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly</li> +<li>Terraform Cookbook; Mikael Krief; Packt Publishing</li> +<li>Raku Fundamentals; Moritz Lenz; Apress</li> +<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li> +<li>Perl New Features; Joshua McAdams, brian d foy; Perl School</li> <li>21st Century C: C Tips from the New School; Ben Klemens; O'Reilly</li> -<li>Raku Recipes; J.J. Merelo; Apress</li> -<li>DNS and BIND; Cricket Liu; O'Reilly</li> +<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li> +<li>Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt </li> +<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly</li> +<li>Developing Games in Java; David Brackeen and others...; New Riders</li> +<li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li> +<li>Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers </li> +<li>Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications</li> </ul><br /> <h2 style='display: inline' id='technical-references'>Technical references</h2><br /> <br /> <span>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:</span><br /> <br /> <ul> -<li>Go: Design Patterns for Real-World Projects; Mat Ryer; Packt</li> <li>BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley</li> +<li>Implementing Service Level Objectives; Alex Hidalgo; O'Reilly</li> +<li>Go: Design Patterns for Real-World Projects; Mat Ryer; Packt</li> <li>Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly</li> -<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly</li> <li>Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley</li> -<li>The Linux Programming Interface; Michael Kerrisk; No Starch Press </li> <li>Relayd and Httpd Mastery; Michael W Lucas</li> -<li>Implementing Service Level Objectives; Alex Hidalgo; O'Reilly</li> +<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly</li> +<li>The Linux Programming Interface; Michael Kerrisk; No Starch Press </li> </ul><br /> <h2 style='display: inline' id='self-development-and-soft-skills-books'>Self-development and soft-skills books</h2><br /> <br /> <span>In random order:</span><br /> <br /> <ul> -<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK</li> <li>Getting Things Done; David Allen</li> +<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK</li> +<li>So Good They Can't Ignore You; Cal Newport; Business Plus</li> +<li>Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly</li> <li>Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing</li> +<li>The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)</li> +<li>The Power of Now; Eckhard Tolle; Yellow Kite</li> +<li>Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press</li> +<li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li> <li>Digital Minimalism; Cal Newport; Portofolio Penguin</li> -<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion</li> -<li>Slow Productivity; Cal Newport; Penguin Random House</li> -<li>Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly</li> -<li>Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne</li> -<li>Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook</li> -<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University </li> -<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li> -<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li> -<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li> +<li>Soft Skills; John Sommez; Manning Publications</li> +<li>Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook</li> <li>Eat That Frog; Brian Tracy</li> <li>Ultralearning; Anna Laurent; Self-published via Amazon</li> -<li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li> -<li>Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press</li> -<li>Soft Skills; John Sommez; Manning Publications</li> +<li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li> +<li>Eat That Frog!; Brian Tracy; Hodder Paperbacks</li> +<li>Influence without Authority; A. Cohen, D. Bradford; Wiley</li> +<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University </li> +<li>The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook</li> <li>Meditation for Mortals, Oliver Burkeman, Audiobook</li> -<li>So Good They Can't Ignore You; Cal Newport; Business Plus</li> +<li>Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook</li> +<li>The Good Enough Job; Simone Stolzoff; Ebury Edge</li> +<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li> +<li>Slow Productivity; Cal Newport; Penguin Random House</li> <li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li> <li>Ultralearning; Scott Young; Thorsons</li> -<li>The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)</li> -<li>Influence without Authority; A. Cohen, D. Bradford; Wiley</li> +<li>Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne</li> <li>Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)</li> -<li>Deep Work; Cal Newport; Piatkus</li> +<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion</li> +<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li> <li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li> -<li>Eat That Frog!; Brian Tracy; Hodder Paperbacks</li> <li>101 Essays that change the way you think; Brianna Wiest; Audiobook</li> +<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li> +<li>Deep Work; Cal Newport; Piatkus</li> <li>Atomic Habits; James Clear; Random House Business</li> -<li>The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook</li> -<li>The Good Enough Job; Simone Stolzoff; Ebury Edge</li> -<li>Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook</li> -<li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li> -<li>The Power of Now; Eckhard Tolle; Yellow Kite</li> </ul><br /> <a class='textlink' href='../notes/index.html'>Here are notes of mine for some of the books</a><br /> <br /> @@ -159,22 +159,22 @@ <span>Some of these were in-person with exams; others were online learning lectures only. In random order:</span><br /> <br /> <ul> -<li>The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online</li> -<li>Ultimate Go Programming; Bill Kennedy; O'Reilly Online</li> -<li>Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon</li> -<li>Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training</li> -<li>Protocol buffers; O'Reilly Online</li> -<li>Scripting Vim; Damian Conway; O'Reilly Online</li> -<li>Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)</li> <li>Structure and Interpretation of Computer Programs; Harold Abelson and more...; </li> -<li>MySQL Deep Dive Workshop; 2-day on-site training</li> +<li>The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online</li> +<li>Functional programming lecture; Remote University of Hagen</li> <li>AWS Immersion Day; Amazon; 1-day interactive online training </li> -<li>F5 Loadbalancers Training; 2-day on-site training; F5, Inc. </li> <li>Developing IaC with Terraform (with Live Lessons); O'Reilly Online</li> +<li>Protocol buffers; O'Reilly Online</li> +<li>Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)</li> <li>Apache Tomcat Best Practises; 3-day on-site training</li> +<li>Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training</li> +<li>Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon</li> +<li>Scripting Vim; Damian Conway; O'Reilly Online</li> +<li>MySQL Deep Dive Workshop; 2-day on-site training</li> +<li>Ultimate Go Programming; Bill Kennedy; O'Reilly Online</li> <li>Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online</li> <li>The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online</li> -<li>Functional programming lecture; Remote University of Hagen</li> +<li>F5 Loadbalancers Training; 2-day on-site training; F5, Inc. </li> </ul><br /> <h2 style='display: inline' id='technical-guides'>Technical guides</h2><br /> <br /> @@ -192,50 +192,50 @@ <span>In random order:</span><br /> <br /> <ul> -<li>The Pragmatic Engineer Podcast</li> +<li>Pratical AI</li> <li>Modern Mentor</li> +<li>The ProdCast (Google SRE Podcast)</li> <li>Hidden Brain</li> -<li>The Changelog Podcast(s)</li> -<li>Dev Interrupted</li> <li>Cup o' Go [Golang]</li> -<li>BSD Now [BSD]</li> -<li>Fallthrough [Golang]</li> <li>Deep Questions with Cal Newport</li> +<li>The Changelog Podcast(s)</li> +<li>BSD Now [BSD]</li> +<li>Dev Interrupted</li> +<li>The Pragmatic Engineer Podcast</li> <li>Backend Banter</li> -<li>The ProdCast (Google SRE Podcast)</li> -<li>Pratical AI</li> -<li>Maintainable</li> +<li>Fallthrough [Golang]</li> <li>Fork Around And Find Out</li> +<li>Maintainable</li> </ul><br /> <h3 style='display: inline' id='podcasts-i-liked'>Podcasts I liked</h3><br /> <br /> <span>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.</span><br /> <br /> <ul> -<li>Java Pub House</li> -<li>CRE: Chaosradio Express [german]</li> <li>Modern Mentor</li> -<li>FLOSS weekly</li> +<li>Java Pub House</li> <li>Ship It (predecessor of Fork Around And Find Out)</li> <li>Go Time (predecessor of fallthrough)</li> +<li>CRE: Chaosradio Express [german]</li> +<li>FLOSS weekly</li> </ul><br /> <h2 style='display: inline' id='newsletters-i-like'>Newsletters I like</h2><br /> <br /> <span>This is a mix of tech and non-tech newsletters I am subscribed to. In random order:</span><br /> <br /> <ul> -<li>Ruby Weekly</li> <li>Golang Weekly</li> +<li>The Valuable Dev</li> +<li>Applied Go Weekly Newsletter</li> +<li>The Pragmatic Engineer</li> +<li>Ruby Weekly</li> <li>Register Spill</li> +<li>Andreas Brandhorst Newsletter (Sci-Fi author)</li> <li>VK Newsletter</li> +<li>byteSizeGo</li> <li>Monospace Mentor</li> -<li>The Valuable Dev</li> <li>The Imperfectionist</li> -<li>Applied Go Weekly Newsletter</li> <li>Changelog News</li> -<li>byteSizeGo</li> -<li>The Pragmatic Engineer</li> -<li>Andreas Brandhorst Newsletter (Sci-Fi author)</li> </ul><br /> <h2 style='display: inline' id='magazines-i-liked'>Magazines I like(d)</h2><br /> <br /> @@ -243,9 +243,9 @@ <br /> <ul> <li>Linux User</li> +<li>Linux Magazine</li> <li>freeX (not published anymore)</li> <li>LWN (online only)</li> -<li>Linux Magazine</li> </ul><br /> <h1 style='display: inline' id='formal-education'>Formal education</h1><br /> <br /> diff --git a/gemfeed/2024-07-05-random-weird-things.html b/gemfeed/2024-07-05-random-weird-things.html index 0732189d..29cdf140 100644 --- a/gemfeed/2024-07-05-random-weird-things.html +++ b/gemfeed/2024-07-05-random-weird-things.html @@ -19,6 +19,7 @@ <br /> <a class='textlink' href='./2024-07-05-random-weird-things.html'>2024-07-05 Random Weird Things - Part Ⅰ (You are currently reading this)</a><br /> <a class='textlink' href='./2025-02-08-random-weird-things-ii.html'>2025-02-08 Random Weird Things - Part Ⅱ</a><br /> +<a class='textlink' href='./2025-08-15-random-weird-things-iii.html'>2025-08-15 Random Weird Things - Part Ⅲ</a><br /> <br /> <pre> /\_/\ diff --git a/gemfeed/2025-02-08-random-weird-things-ii.html b/gemfeed/2025-02-08-random-weird-things-ii.html index 79842473..64a37731 100644 --- a/gemfeed/2025-02-08-random-weird-things-ii.html +++ b/gemfeed/2025-02-08-random-weird-things-ii.html @@ -19,6 +19,7 @@ <br /> <a class='textlink' href='./2024-07-05-random-weird-things.html'>2024-07-05 Random Weird Things - Part Ⅰ</a><br /> <a class='textlink' href='./2025-02-08-random-weird-things-ii.html'>2025-02-08 Random Weird Things - Part Ⅱ (You are currently reading this)</a><br /> +<a class='textlink' href='./2025-08-15-random-weird-things-iii.html'>2025-08-15 Random Weird Things - Part Ⅲ</a><br /> <br /> <pre> /\_/\ /\_/\ diff --git a/gemfeed/2025-08-15-random-weird-things-iii.html b/gemfeed/2025-08-15-random-weird-things-iii.html new file mode 100644 index 00000000..63f431e5 --- /dev/null +++ b/gemfeed/2025-08-15-random-weird-things-iii.html @@ -0,0 +1,139 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>Random Weird Things - Part Ⅲ</title> +<link rel="shortcut icon" type="image/gif" href="/favicon.ico" /> +<link rel="stylesheet" href="../style.css" /> +<link rel="stylesheet" href="style-override.css" /> +</head> +<body> +<p class="header"> +<a href="https://foo.zone">Home</a> | <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/2025-08-15-random-weird-things-iii.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/2025-08-15-random-weird-things-iii.gmi">Gemini</a> +</p> +<h1 style='display: inline' id='random-weird-things---part-'>Random Weird Things - Part Ⅲ</h1><br /> +<br /> +<span class='quote'>Published at 2025-08-14T23:21:32+03:00</span><br /> +<br /> +<span>Every so often, I come across random, weird, and unexpected things on the internet. It would be neat to share them here from time to time. This is the third run.</span><br /> +<br /> +<a class='textlink' href='./2024-07-05-random-weird-things.html'>2024-07-05 Random Weird Things - Part Ⅰ</a><br /> +<a class='textlink' href='./2025-02-08-random-weird-things-ii.html'>2025-02-08 Random Weird Things - Part Ⅱ</a><br /> +<a class='textlink' href='./2025-08-15-random-weird-things-iii.html'>2025-08-15 Random Weird Things - Part Ⅲ (You are currently reading this)</a><br /> +<br /> +<pre> + /\_/\ /\_/\ /\_/\ +( o.o ) WHOA!( o.o ) WHOA!( o.o ) + > ^ < > ^ < > ^ < + / \ MEOW! / \ MOEEW!/ \ +/_____\ /_____\ /_____\ +</pre> +<br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#random-weird-things---part-'>Random Weird Things - Part Ⅲ</a></li> +<li>⇢ <a href='#21-doom-in-typescripts-type-system'>21. Doom in TypeScript’s type system</a></li> +<li>⇢ <a href='#run-it-in-a-pdf'>Run it in a PDF</a></li> +<li>⇢ ⇢ <a href='#22-doom-inside-a-pdf'>22. Doom inside a PDF</a></li> +<li>⇢ ⇢ <a href='#23-linux-inside-a-pdf'>23. Linux inside a PDF</a></li> +<li>⇢ <a href='#24-sqlite-loves-tcl'>24. SQLite loves Tcl</a></li> +<li>⇢ <a href='#25-fossil-e-and-a-tcltk-chat'>25. Fossil, “e”, and a Tcl/Tk chat</a></li> +<li>⇢ <a href='#26-kubernetes-from-an-excel-spreadsheet'>26. Kubernetes from an Excel spreadsheet</a></li> +<li>⇢ <a href='#27-sre-means-sorry'>27. SRE means “Sorry…”</a></li> +<li>⇢ <a href='#28-touch-grass-the-app'>28. Touch Grass, the app</a></li> +<li>⇢ <a href='#29-blogging-with-the-c-preprocessor'>29. Blogging with the C preprocessor</a></li> +<li>⇢ <a href='#30-accidentally-turing-complete'>30. Accidentally Turing-complete</a></li> +</ul><br /> +<h2 style='display: inline' id='21-doom-in-typescripts-type-system'>21. Doom in TypeScript’s type system</h2><br /> +<br /> +<span>Yes, really. Someone has implemented Doom to run within the TypeScript type system—compile-time madness, but fun to watch.</span><br /> +<br /> +<a class='textlink' href='https://www.youtube.com/watch?v=0mCsluv5FXA'>Doom in the TS type system</a><br /> +<br /> +<span>TypeScript’s type checker is surprisingly expressive: conditional types, recursion, and template literal types let you encode nontrivial logic that “executes” during compilation. The demo exploits this to build a tiny ray-caster that renders as compiler errors or types. It’s wildly impractical, but a great reminder that enough expressiveness plus recursion tends to drift toward Turing completeness.</span><br /> +<br /> +<h2 style='display: inline' id='run-it-in-a-pdf'>Run it in a PDF</h2><br /> +<br /> +<h3 style='display: inline' id='22-doom-inside-a-pdf'>22. Doom inside a PDF</h3><br /> +<br /> +<span>Running Doom embedded in a PDF file. No separate binary—just a cursed document.</span><br /> +<br /> +<a class='textlink' href='https://github.com/ading2210/doompdf'>doompdf</a><br /> +<br /> +<span>This relies on features like PDF JavaScript and interactive objects, which some viewers still support. Expect mixed results: many modern readers sandbox or disable scripting by default for security. If you try it, use a compatible desktop viewer and be prepared for portability quirks.</span><br /> +<br /> +<h3 style='display: inline' id='23-linux-inside-a-pdf'>23. Linux inside a PDF</h3><br /> +<br /> +<span>Boot a tiny Linux inside a PDF. This rabbit hole goes deep.</span><br /> +<br /> +<a class='textlink' href='https://github.com/ading2210/linuxpdf'>linuxpdf</a><br /> +<br /> +<span>Like the Doom-in-PDF trick, this leans on the PDF runtime to host unconventional logic and rendering. It’s more of an art piece than a daily driver, but it shows how “document” formats can accidentally become platforms. The security posture of PDF viewers varies significantly, so expect inconsistent behaviour across different apps.</span><br /> +<br /> +<h2 style='display: inline' id='24-sqlite-loves-tcl'>24. SQLite loves Tcl</h2><br /> +<br /> +<span>SQLite was initially designed as a Tcl extension and still relies heavily on Tcl today: the amalgamated C source is generated by <span class='inlinecode'>mksqlite3c.tcl</span>, tests are written in Tcl, and even the documentation is built with it.</span><br /> +<br /> +<a class='textlink' href='https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html'>Tcl 2017 paper</a><br /> +<br /> +<span>The famous single-file <span class='inlinecode'>sqlite3.c</span> is not hand-edited—developers maintain sources, plus build scripts that knit everything together deterministically. Their Tcl-centric tooling provides them with reproducible builds and a very opinionated workflow. It’s a great counterexample to the idea that “serious” projects must standardise on the most popular build stacks.</span><br /> +<br /> +<h2 style='display: inline' id='25-fossil-e-and-a-tcltk-chat'>25. Fossil, “e”, and a Tcl/Tk chat</h2><br /> +<br /> +<span>The SQLite folks use a custom Tcl/Tk editor called “e”, a homegrown VCS (Fossil), and even a Tcl/Tk chat room for development—peak bespoke tooling.</span><br /> +<br /> +<a class='textlink' href='https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html'>More details in the paper</a><br /> +<br /> +<span>Fossil bundles source control, tickets, wiki, and a web UI into a single portable binary—no external services required. The “e” editor and chat complete a tight, integrated loop tailored to their team’s needs and constraints. It’s delightfully “boring tech” that has produced one of the most reliable databases on earth.</span><br /> +<br /> +<h2 style='display: inline' id='26-kubernetes-from-an-excel-spreadsheet'>26. Kubernetes from an Excel spreadsheet</h2><br /> +<br /> +<span>Drive <span class='inlinecode'>kubectl</span> from an <span class='inlinecode'>.xlsx</span> file because clusters belong in spreadsheets, apparently.</span><br /> +<br /> +<a class='textlink' href='https://github.com/learnk8s/xlskubectl'>xlskubectl</a><br /> +<br /> +<span>Resources are rows; columns map to fields; the tool renders YAML and applies it for you. It’s oddly ergonomic for demos, audits, or letting non‑YAML‑native teammates propose changes. Obviously, be careful—permissions and review gates still matter even if your “IDE” is Excel.</span><br /> +<br /> +<h2 style='display: inline' id='27-sre-means-sorry'>27. SRE means “Sorry…”</h2><br /> +<br /> +<span>An industry joke (or truth?) that SRE stands for “Sorry…”. </span><br /> +<br /> +<span>Anecdotes are a good reminder that failure is inevitable and empathy is essential. The best takeaways are about clear communication, graceful degradation, and blameless postmortems. Laughing helps, but guardrails and good on‑call hygiene help even more.</span><br /> +<br /> +<h2 style='display: inline' id='28-touch-grass-the-app'>28. Touch Grass, the app</h2><br /> +<br /> +<span>When screens consume too much, this site/app nudges you to go outside.</span><br /> +<br /> +<a class='textlink' href='https://touchgrass.now/'>Touch grass</a><br /> +<br /> +<span>It’s simple and playful—sometimes that’s the nudge you need to break doomscroll loops. Treat it like a micro‑ritual: set a reminder, step outside, reset. Your eyes (and nervous system) will thank you.</span><br /> +<br /> +<h2 style='display: inline' id='29-blogging-with-the-c-preprocessor'>29. Blogging with the C preprocessor</h2><br /> +<br /> +<span>Use the C preprocessor to assemble a blog. It shouldn’t work this well—and yet.</span><br /> +<br /> +<a class='textlink' href='https://wheybags.com/blog/macroblog.html'>Macroblog with cpp</a><br /> +<br /> +<span>Posts are stitched together with <span class='inlinecode'>#include</span>s and macros, giving you DRY content blocks and repeatable builds. It’s hacky, fast, and delightfully text‑only—perfect for people who think makefiles are a UI. Would I recommend it for everyone? No. Is it charming and effective? Absolutely.</span><br /> +<br /> +<h2 style='display: inline' id='30-accidentally-turing-complete'>30. Accidentally Turing-complete</h2><br /> +<br /> +<span>A delightful catalogue of systems that unintentionally become Turing-complete.</span><br /> +<br /> +<a class='textlink' href='https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html'>Accidentally Turing-complete</a><br /> +<br /> +<span>Give a system conditionals, state, and unbounded composition, and it often crosses the threshold into general computation—whether that was the goal or not. The list includes items such as CSS, regular expression dialects, and even card games. It’s a fun lens for understanding why “just a configuration language” can get complicated fast.</span><br /> +<br /> +<span>I hope you had some fun. E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br /> +<br /> +<a class='textlink' href='../'>Back to the main site</a><br /> +<p class="footer"> + Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> | + served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> | + <a href="https://foo.zone/site-mirrors.html">Site Mirrors</a> + <br /> + Webring: <a href="https://shring.sh/foo.zone/previous">previous</a> | <a href="https://shring.sh">shring</a> | <a href="https://shring.sh/foo.zone/next">next</a> +</p> +</body> +</html> diff --git a/gemfeed/DRAFT-kubernetes-with-freebsd-part-7.html b/gemfeed/DRAFT-kubernetes-with-freebsd-part-7.html index c0ce383a..53777d6d 100644 --- a/gemfeed/DRAFT-kubernetes-with-freebsd-part-7.html +++ b/gemfeed/DRAFT-kubernetes-with-freebsd-part-7.html @@ -622,6 +622,7 @@ http://www.gnu.org/software/src-highlite --> <span>TODO: fix check-mounts script (mountpoint command and stale mounts... differentiate better)</span><br /> <span>TODO: remove traefic metal lb pods? persist the change?</span><br /> <span>TODO: use helm charts examples, but only after the initial apache example...</span><br /> +<span>TODO: how to set up the users for the NFSv4 user mapping (same user with same UIDs i ncontainer, on Rocky and on FreeBSD). also ensure, that the <span class='inlinecode'>id</span> command shows all the same. as there may be already entries/duplicates in the passwd files (e.g. tape group, etc)</span><br /> <br /> <span>Other *BSD-related posts:</span><br /> <br /> diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index e81b032d..c9ae9201 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,12 +1,144 @@ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <updated>2025-08-08T18:47:55+03:00</updated> + <updated>2025-08-14T23:22:50+03:00</updated> <title>foo.zone feed</title> <subtitle>To be in the .zone!</subtitle> <link href="https://foo.zone/gemfeed/atom.xml" rel="self" /> <link href="https://foo.zone/" /> <id>https://foo.zone/</id> <entry> + <title>Random Weird Things - Part Ⅲ</title> + <link href="https://foo.zone/gemfeed/2025-08-15-random-weird-things-iii.html" /> + <id>https://foo.zone/gemfeed/2025-08-15-random-weird-things-iii.html</id> + <updated>2025-08-14T23:21:32+03:00</updated> + <author> + <name>Paul Buetow aka snonux</name> + <email>paul@dev.buetow.org</email> + </author> + <summary>Every so often, I come across random, weird, and unexpected things on the internet. It would be neat to share them here from time to time. This is the third run.</summary> + <content type="xhtml"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h1 style='display: inline' id='random-weird-things---part-'>Random Weird Things - Part Ⅲ</h1><br /> +<br /> +<span class='quote'>Published at 2025-08-14T23:21:32+03:00</span><br /> +<br /> +<span>Every so often, I come across random, weird, and unexpected things on the internet. It would be neat to share them here from time to time. This is the third run.</span><br /> +<br /> +<a class='textlink' href='./2024-07-05-random-weird-things.html'>2024-07-05 Random Weird Things - Part Ⅰ</a><br /> +<a class='textlink' href='./2025-02-08-random-weird-things-ii.html'>2025-02-08 Random Weird Things - Part Ⅱ</a><br /> +<a class='textlink' href='./2025-08-15-random-weird-things-iii.html'>2025-08-15 Random Weird Things - Part Ⅲ (You are currently reading this)</a><br /> +<br /> +<pre> + /\_/\ /\_/\ /\_/\ +( o.o ) WHOA!( o.o ) WHOA!( o.o ) + > ^ < > ^ < > ^ < + / \ MEOW! / \ MOEEW!/ \ +/_____\ /_____\ /_____\ +</pre> +<br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#random-weird-things---part-'>Random Weird Things - Part Ⅲ</a></li> +<li>⇢ <a href='#21-doom-in-typescripts-type-system'>21. Doom in TypeScript’s type system</a></li> +<li>⇢ <a href='#run-it-in-a-pdf'>Run it in a PDF</a></li> +<li>⇢ ⇢ <a href='#22-doom-inside-a-pdf'>22. Doom inside a PDF</a></li> +<li>⇢ ⇢ <a href='#23-linux-inside-a-pdf'>23. Linux inside a PDF</a></li> +<li>⇢ <a href='#24-sqlite-loves-tcl'>24. SQLite loves Tcl</a></li> +<li>⇢ <a href='#25-fossil-e-and-a-tcltk-chat'>25. Fossil, “e”, and a Tcl/Tk chat</a></li> +<li>⇢ <a href='#26-kubernetes-from-an-excel-spreadsheet'>26. Kubernetes from an Excel spreadsheet</a></li> +<li>⇢ <a href='#27-sre-means-sorry'>27. SRE means “Sorry…”</a></li> +<li>⇢ <a href='#28-touch-grass-the-app'>28. Touch Grass, the app</a></li> +<li>⇢ <a href='#29-blogging-with-the-c-preprocessor'>29. Blogging with the C preprocessor</a></li> +<li>⇢ <a href='#30-accidentally-turing-complete'>30. Accidentally Turing-complete</a></li> +</ul><br /> +<h2 style='display: inline' id='21-doom-in-typescripts-type-system'>21. Doom in TypeScript’s type system</h2><br /> +<br /> +<span>Yes, really. Someone has implemented Doom to run within the TypeScript type system—compile-time madness, but fun to watch.</span><br /> +<br /> +<a class='textlink' href='https://www.youtube.com/watch?v=0mCsluv5FXA'>Doom in the TS type system</a><br /> +<br /> +<span>TypeScript’s type checker is surprisingly expressive: conditional types, recursion, and template literal types let you encode nontrivial logic that “executes” during compilation. The demo exploits this to build a tiny ray-caster that renders as compiler errors or types. It’s wildly impractical, but a great reminder that enough expressiveness plus recursion tends to drift toward Turing completeness.</span><br /> +<br /> +<h2 style='display: inline' id='run-it-in-a-pdf'>Run it in a PDF</h2><br /> +<br /> +<h3 style='display: inline' id='22-doom-inside-a-pdf'>22. Doom inside a PDF</h3><br /> +<br /> +<span>Running Doom embedded in a PDF file. No separate binary—just a cursed document.</span><br /> +<br /> +<a class='textlink' href='https://github.com/ading2210/doompdf'>doompdf</a><br /> +<br /> +<span>This relies on features like PDF JavaScript and interactive objects, which some viewers still support. Expect mixed results: many modern readers sandbox or disable scripting by default for security. If you try it, use a compatible desktop viewer and be prepared for portability quirks.</span><br /> +<br /> +<h3 style='display: inline' id='23-linux-inside-a-pdf'>23. Linux inside a PDF</h3><br /> +<br /> +<span>Boot a tiny Linux inside a PDF. This rabbit hole goes deep.</span><br /> +<br /> +<a class='textlink' href='https://github.com/ading2210/linuxpdf'>linuxpdf</a><br /> +<br /> +<span>Like the Doom-in-PDF trick, this leans on the PDF runtime to host unconventional logic and rendering. It’s more of an art piece than a daily driver, but it shows how “document” formats can accidentally become platforms. The security posture of PDF viewers varies significantly, so expect inconsistent behaviour across different apps.</span><br /> +<br /> +<h2 style='display: inline' id='24-sqlite-loves-tcl'>24. SQLite loves Tcl</h2><br /> +<br /> +<span>SQLite was initially designed as a Tcl extension and still relies heavily on Tcl today: the amalgamated C source is generated by <span class='inlinecode'>mksqlite3c.tcl</span>, tests are written in Tcl, and even the documentation is built with it.</span><br /> +<br /> +<a class='textlink' href='https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html'>Tcl 2017 paper</a><br /> +<br /> +<span>The famous single-file <span class='inlinecode'>sqlite3.c</span> is not hand-edited—developers maintain sources, plus build scripts that knit everything together deterministically. Their Tcl-centric tooling provides them with reproducible builds and a very opinionated workflow. It’s a great counterexampl |
