diff options
| author | Paul Buetow <paul@buetow.org> | 2025-02-22 21:05:40 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-02-22 21:05:40 +0200 |
| commit | 41b75ad185e20ebb6d9b7eee63af03b061517e3b (patch) | |
| tree | 962f79d4e2c948c16e71e6e2040550a12c7f2bed | |
| parent | 1ac2164d8013c91d0e667bf205b125b225e7b742 (diff) | |
| parent | 30b9c0e750f8682d2cec1955bedd38739c664de1 (diff) | |
Merge branch 'content-gemtext' of codeberg.org:snonux/foo.zone into content-gemtext
| -rw-r--r-- | about/resources.gmi | 180 | ||||
| -rw-r--r-- | gemfeed/atom.xml | 130 | ||||
| -rw-r--r-- | index.gmi | 2 | ||||
| -rw-r--r-- | notes/97-things-every-sre-should-know.gmi | 311 | ||||
| -rw-r--r-- | notes/97-things-every-sre-should-know.gmi.tpl | 289 | ||||
| -rw-r--r-- | notes/fluent-forever.gmi | 80 | ||||
| -rw-r--r-- | notes/implementing-service-level-objectives.gmi | 83 | ||||
| -rw-r--r-- | notes/implementing-service-level-objectives.gmi.tpl | 74 | ||||
| -rw-r--r-- | notes/index.gmi | 6 | ||||
| -rw-r--r-- | notes/love-people-use-things.gmi | 108 | ||||
| -rw-r--r-- | notes/site-reliability-engineering.gmi | 90 | ||||
| -rw-r--r-- | notes/site-reliability-engineering.gmi.tpl | 74 | ||||
| -rw-r--r-- | notes/the-science-of-living.gmi | 51 | ||||
| -rw-r--r-- | notes/when.gmi | 3 | ||||
| -rw-r--r-- | uptime-stats.gmi | 295 |
15 files changed, 1326 insertions, 450 deletions
diff --git a/about/resources.gmi b/about/resources.gmi index a70b80d3..030e3b0f 100644 --- a/about/resources.gmi +++ b/about/resources.gmi @@ -35,101 +35,101 @@ You won't find any links on this site because, over time, the links will break. In random order: +* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press +* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly +* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly +* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly * Java ist auch eine Insel; Christian Ullenboom; -* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt -* Modern Perl; Chromatic ; Onyx Neon Press -* Systemprogrammierung in Go; Frank Müller; dpunkt -* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional +* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook +* The Pragmatic Programmer; David Thomas; Addison-Wesley * Effective Java; Joshua Bloch; Addison-Wesley Professional -* Concurrency in Go; Katherine Cox-Buday; O'Reilly -* Pro Puppet; James Turnbull, Jeffrey McCune; Apress -* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner -* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly -* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton -* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible -* Ultimate Go Notebook; Bill Kennedy -* Higher Order Perl; Mark Dominus; Morgan Kaufmann -* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers -* Data Science at the Command Line; Jeroen Janssens; O'Reilly * Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly -* Effective awk programming; Arnold Robbins; O'Reilly -* 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 -* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press +* Ultimate Go Notebook; Bill Kennedy +* Systemprogrammierung in Go; Frank Müller; dpunkt * Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers -* The Docker Book; James Turnbull; Kindle -* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications * Polished Ruby Programming; Jeremy Evans; Packt Publishing -* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press * Perl New Features; Joshua McAdams, brian d foy; Perl School -* Raku Fundamentals; Moritz Lenz; Apress -* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible -* Developing Games in Java; David Brackeen and others...; New Riders -* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly -* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly -* C++ Programming Language; Bjarne Stroustrup; +* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly +* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications +* Modern Perl; Chromatic ; Onyx Neon Press * Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson * Terraform Cookbook; Mikael Krief; Packt Publishing -* DNS and BIND; Cricket Liu; O'Reilly -* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications +* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible +* Raku Recipes; J.J. Merelo; Apress +* C++ Programming Language; Bjarne Stroustrup; * Funktionale Programmierung; Peter Pepper; Springer -* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly +* Raku Fundamentals; Moritz Lenz; Apress +* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications +* Higher Order Perl; Mark Dominus; Morgan Kaufmann +* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible +* 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 * Site Reliability Engineering; How Google runs production systems; O'Reilly -* Raku Recipes; J.J. Merelo; Apress -* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly -* The Pragmatic Programmer; David Thomas; Addison-Wesley * Leanring eBPF; Liz Rice; O'Reilly -* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly -* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook +* Effective awk programming; Arnold Robbins; O'Reilly +* Pro Puppet; James Turnbull, Jeffrey McCune; Apress +* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press +* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner +* The Docker Book; James Turnbull; Kindle +* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton +* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly +* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt +* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers +* Concurrency in Go; Katherine Cox-Buday; O'Reilly +* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly +* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional +* DNS and BIND; Cricket Liu; O'Reilly +* Data Science at the Command Line; Jeroen Janssens; O'Reilly +* Developing Games in Java; David Brackeen and others...; New Riders ## Technical references I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order: -* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly +* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley * Implementing Service Level Objectives; Alex Hidalgo; O'Reilly -* Relayd and Httpd Mastery; Michael W Lucas * Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley -* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley -* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly * The Linux Programming Interface; Michael Kerrisk; No Starch Press +* Relayd and Httpd Mastery; Michael W Lucas +* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly +* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly ## Self-development and soft-skills books In random order: -* Solve for Happy; Mo Gawdat -* Deep Work; Cal Newport; Piatkus -* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion -* The Bullet Journal Method; Ryder Carroll; Fourth Estate -* Digital Minimalism; Cal Newport; Portofolio Penguin -* 101 Essays that change the way you think; Brianna Wiest; Audible +* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook +* Ultralearning; Anna Laurent; Self-published via Amazon * The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books -* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press +* So Good They Can't Ignore You; Cal Newport; Business Plus * Atomic Habits; James Clear; Random House Business +* Ultralearning; Scott Young; Thorsons * Staff Engineer: Leadership beyond the management track; Will Larson; Audible -* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select -* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly -* The Power of Now; Eckhard Tolle; Yellow Kite -* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne +* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK +* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion * The Off Switch; Mark Cropley; Virgin Books -* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing -* Ultralearning; Anna Laurent; Self-published via Amazon -* Stop starting, start finishing; Arne Roock; Lean-Kanban University -* The Good Enough Job; Simone Stolzoff; Ebury Edge -* So Good They Can't Ignore You; Cal Newport; Business Plus +* The Power of Now; Eckhard Tolle; Yellow Kite * The Joy of Missing Out; Christina Crook; New Society Publishers -* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook -* Soft Skills; John Sommez; Manning Publications +* The Bullet Journal Method; Ryder Carroll; Fourth Estate * Influence without Authority; A. Cohen, D. Bradford; Wiley +* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press +* The Good Enough Job; Simone Stolzoff; Ebury Edge * Eat That Frog!; Brian Tracy; Hodder Paperbacks -* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business +* Soft Skills; John Sommez; Manning Publications +* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly +* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne * Getting Things Done; David Allen -* Slow Productivity; Cal Newport; Penguin Random House -* Ultralearning; Scott Young; Thorsons +* Psycho-Cybernetics; Maxwell Maltz; Perigee Books * The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd -* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK +* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business +* 101 Essays that change the way you think; Brianna Wiest; Audible +* Digital Minimalism; Cal Newport; Portofolio Penguin +* Solve for Happy; Mo Gawdat * Eat That Frog; Brian Tracy -* Psycho-Cybernetics; Maxwell Maltz; Perigee Books +* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select +* Stop starting, start finishing; Arne Roock; Lean-Kanban University +* Deep Work; Cal Newport; Piatkus +* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing +* Slow Productivity; Cal Newport; Penguin Random House => ../notes/index.gmi Here are notes of mine for some of the books @@ -137,30 +137,30 @@ In random order: Some of these were in-person with exams; others were online learning lectures only. In random order: -* Functional programming lecture; Remote University of Hagen -* Developing IaC with Terraform (with Live Lessons); O'Reilly Online -* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online -* AWS Immersion Day; Amazon; 1-day interactive online training * Apache Tomcat Best Practises; 3-day on-site training -* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training -* Scripting Vim; Damian Conway; O'Reilly Online -* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online -* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online +* Structure and Interpretation of Computer Programs; Harold Abelson and more...; * 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) +* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online +* Developing IaC with Terraform (with Live Lessons); O'Reilly Online * MySQL Deep Dive Workshop; 2-day on-site training -* Structure and Interpretation of Computer Programs; Harold Abelson and more...; -* Ultimate Go Programming; Bill Kennedy; O'Reilly Online -* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon +* Functional programming lecture; Remote University of Hagen * Protocol buffers; O'Reilly Online +* Scripting Vim; Damian Conway; O'Reilly Online +* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon +* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online * F5 Loadbalancers Training; 2-day on-site training; F5, Inc. +* AWS Immersion Day; Amazon; 1-day interactive online training +* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online +* Ultimate Go Programming; Bill Kennedy; O'Reilly Online +* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training ## Technical guides These are not whole books, but guides (smaller or larger) which I found very useful. in random order: * Raku Guide at https://raku.guide -* Advanced Bash-Scripting Guide * How CPUs work at https://cpu.land +* Advanced Bash-Scripting Guide ## Podcasts @@ -168,46 +168,46 @@ These are not whole books, but guides (smaller or larger) which I found very use In random order: -* Maintainable +* The Pragmatic Engineer Podcast +* BSD Now +* Hidden Brain * Fork Around And Find Out * Deep Questions with Cal Newport -* Backend Banter +* Fallthrough [Golang] * Dev Interrupted -* Hidden Brain -* The Changelog Podcast(s) -* The Pragmatic Engineer Podcast * The ProdCast (Google SRE Podcast) -* BSD Now +* Maintainable +* Backend Banter +* The Changelog Podcast(s) * Cup o' Go [Golang] -* Fallthrough [Golang] ### Podcasts I liked I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests. +* Go Time (predecessor of fallthrough) * CRE: Chaosradio Express [german] -* Java Pub House * Modern Mentor -* FLOSS weekly * Ship It (predecessor of Fork Around And Find Out) -* Go Time (predecessor of fallthrough) +* Java Pub House +* FLOSS weekly ## Newsletters I like This is a mix of tech and non-tech newsletters I am subscribed to. In random order: -* VK Newsletter +* Applied Go Weekly Newsletter +* Monospace Mentor * The Pragmatic Engineer -* Andreas Brandhorst Newsletter (Sci-Fi author) -* The Imperfectionist * byteSizeGo -* Golang Weekly -* Monospace Mentor -* Changelog News -* Applied Go Weekly Newsletter * Register Spill +* Golang Weekly +* VK Newsletter * Ruby Weekly * The Valuable Dev +* Andreas Brandhorst Newsletter (Sci-Fi author) +* Changelog News +* The Imperfectionist # Formal education diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index 7f86085a..69b4940b 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <updated>2025-02-13T10:21:17+02:00</updated> + <updated>2025-02-21T11:07:08+02:00</updated> <title>foo.zone feed</title> <subtitle>To be in the .zone!</subtitle> <link href="gemini://foo.zone/gemfeed/atom.xml" rel="self" /> @@ -1289,33 +1289,33 @@ Jan 26 17:36:32 f2 apcupsd[2159]: apcupsd shutdown succeeded by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -<pre><b><font color="#ffffff">export</font></b><font color="#ff0000"> </font><font color="#ff0000">EDITOR</font><font color="#F3E651">=</font><font color="#ff0000">hx</font> -<b><font color="#ffffff">export</font></b><font color="#ff0000"> </font><font color="#ff0000">VISUAL</font><font color="#F3E651">=</font><font color="#ff0000">$EDITOR</font> -<b><font color="#ffffff">export</font></b><font color="#ff0000"> </font><font color="#ff0000">GIT_EDITOR</font><font color="#F3E651">=</font><font color="#ff0000">$EDITOR</font> -<b><font color="#ffffff">export</font></b><font color="#ff0000"> </font><font color="#ff0000">HELIX_CONFIG_DIR</font><font color="#F3E651">=</font><font color="#ff0000">$HOME</font><font color="#F3E651">/.</font><font color="#ff0000">config/helix</font> - -<font color="#ff0000">editor</font><font color="#F3E651">::</font><font color="#ff0000">helix</font><font color="#F3E651">::</font><font color="#7bc710">random_theme ()</font><font color="#ff0000"> {</font> -<font color="#ff0000"> </font><i><font color="#ababab"># May add more theme search paths based on OS. This one is</font></i> -<font color="#ff0000"> </font><i><font color="#ababab"># for Fedora Linux, but there is also MacOS, etc.</font></i> -<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">theme_dir</font><font color="#F3E651">=</font><font color="#ff0000">/usr/share/helix/runtime/themes</font> -<font color="#ff0000"> </font><b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> </font><font color="#F3E651">!</font><font color="#ff0000"> -d </font><font color="#ff0000">$theme_dir</font><font color="#ff0000"> </font><font color="#F3E651">];</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b> -<font color="#ff0000"> echo </font><font color="#bb00ff">"Helix theme dir $theme_dir doesnt exist"</font> -<font color="#ff0000"> </font><b><font color="#ffffff">return</font></b><font color="#ff0000"> </font><font color="#bb00ff">1</font> -<font color="#ff0000"> </font><b><font color="#ffffff">fi</font></b> - -<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">config_file</font><font color="#F3E651">=</font><font color="#ff0000">$HELIX_CONFIG_DIR</font><font color="#ff0000">/config</font><font color="#F3E651">.</font><font color="#ff0000">toml</font> -<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">random_theme</font><font color="#F3E651">=</font><font color="#bb00ff">"$(basename "</font><font color="#ff0000">$(</font><font color="#ff0000">ls </font><font color="#ff0000">$theme_dir</font><font color="#ff0000"> </font><font color="#F3E651">\</font> -<font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> grep -v random</font><font color="#F3E651">.</font><font color="#ff0000">toml </font><font color="#F3E651">|</font><font color="#ff0000"> grep </font><font color="#F3E651">.</font><font color="#ff0000">toml </font><font color="#F3E651">|</font><font color="#ff0000"> sort -R </font><font color="#F3E651">\</font> -<font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> head -n </font><font color="#bb00ff">1</font><font color="#F3E651">)</font><font color="#bb00ff">" | cut -d. -f1)"</font> - -<font color="#ff0000"> sed </font><font color="#bb00ff">"/^theme =/ { s/.*/theme = </font><font color="#ffffff">\"</font><font color="#bb00ff">$random_theme</font><font color="#ffffff">\"</font><font color="#bb00ff">/; }"</font><font color="#ff0000"> </font><font color="#F3E651">\</font> -<font color="#ff0000"> </font><font color="#ff0000">$config_file</font><font color="#ff0000"> </font><font color="#F3E651">></font><font color="#ff0000"> </font><font color="#ff0000">$config_file</font><font color="#F3E651">.</font><font color="#ff0000">tmp </font><font color="#F3E651">&&</font><font color="#ff0000"> </font> -<font color="#ff0000"> mv </font><font color="#ff0000">$config_file</font><font color="#F3E651">.</font><font color="#ff0000">tmp </font><font color="#ff0000">$config_file</font> -<font color="#ff0000">}</font> - -<b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> -f </font><font color="#ff0000">$HELIX_CONFIG_DIR</font><font color="#ff0000">/config</font><font color="#F3E651">.</font><font color="#ff0000">toml </font><font color="#F3E651">];</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b> -<font color="#ff0000"> editor</font><font color="#F3E651">::</font><font color="#ff0000">helix</font><font color="#F3E651">::</font><font color="#ff0000">random_theme</font> -<b><font color="#ffffff">fi</font></b> +<pre><b><u><font color="#000000">export</font></u></b> EDITOR=hx +<b><u><font color="#000000">export</font></u></b> VISUAL=$EDITOR +<b><u><font color="#000000">export</font></u></b> GIT_EDITOR=$EDITOR +<b><u><font color="#000000">export</font></u></b> HELIX_CONFIG_DIR=$HOME/.config/helix + +editor::helix::random_theme () { + <i><font color="silver"># May add more theme search paths based on OS. This one is</font></i> + <i><font color="silver"># for Fedora Linux, but there is also MacOS, etc.</font></i> + <b><u><font color="#000000">local</font></u></b> -r theme_dir=/usr/share/helix/runtime/themes + <b><u><font color="#000000">if</font></u></b> [ ! -d $theme_dir ]; <b><u><font color="#000000">then</font></u></b> + echo <font color="#808080">"Helix theme dir $theme_dir doesnt exist"</font> + <b><u><font color="#000000">return</font></u></b> <font color="#000000">1</font> + <b><u><font color="#000000">fi</font></u></b> + + <b><u><font color="#000000">local</font></u></b> -r config_file=$HELIX_CONFIG_DIR/config.toml + <b><u><font color="#000000">local</font></u></b> -r random_theme=<font color="#808080">"$(basename "</font>$(ls $theme_dir \ + | grep -v random.toml | grep .toml | sort -R \ + | head -n <font color="#000000">1</font>)<font color="#808080">" | cut -d. -f1)"</font> + + sed <font color="#808080">"/^theme =/ { s/.*/theme = </font>\"<font color="#808080">$random_theme</font>\"<font color="#808080">/; }"</font> \ + $config_file > $config_file.tmp && + mv $config_file.tmp $config_file +} + +<b><u><font color="#000000">if</font></u></b> [ -f $HELIX_CONFIG_DIR/config.toml ]; <b><u><font color="#000000">then</font></u></b> + editor::helix::random_theme +<b><u><font color="#000000">fi</font></u></b> </pre> <br /> <span>So every time I open a new terminal or shell, <span class='inlinecode'>editor::helix::random_theme</span> gets called, which randomly selects a theme from all installed ones and updates the helix config accordingly.</span><br /> @@ -1324,16 +1324,16 @@ http://www.gnu.org/software/src-highlite --> by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -<pre><font color="#F3E651">[</font><font color="#ff0000">paul@earth</font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">~</font><font color="#ff0000"> </font><font color="#F3E651">%</font><font color="#ff0000"> editor</font><font color="#F3E651">::</font><font color="#ff0000">helix</font><font color="#F3E651">::</font><font color="#ff0000">random_theme</font> -<font color="#F3E651">[</font><font color="#ff0000">paul@earth</font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">~</font><font color="#ff0000"> </font><font color="#F3E651">%</font><font color="#ff0000"> head -n </font><font color="#bb00ff">1</font><font color="#ff0000"> </font><font color="#F3E651">~/.</font><font color="#ff0000">config/helix/config</font><font color="#F3E651">.</font><font color="#ff0000">toml</font> -<font color="#ff0000">theme </font><font color="#F3E651">=</font><font color="#ff0000"> </font><font color="#bb00ff">"jellybeans"</font> -<font color="#F3E651">[</font><font color="#ff0000">paul@earth</font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">~</font><font color="#ff0000"> </font><font color="#F3E651">%</font><font color="#ff0000"> editor</font><font color="#F3E651">::</font><font color="#ff0000">helix</font><font color="#F3E651">::</font><font color="#ff0000">random_theme</font> -<font color="#F3E651">[</font><font color="#ff0000">paul@earth</font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">~</font><font color="#ff0000"> </font><font color="#F3E651">%</font><font color="#ff0000"> head -n </font><font color="#bb00ff">1</font><font color="#ff0000"> </font><font color="#F3E651">~/.</font><font color="#ff0000">config/helix/config</font><font color="#F3E651">.</font><font color="#ff0000">toml</font> -<font color="#ff0000">theme </font><font color="#F3E651">=</font><font color="#ff0000"> </font><font color="#bb00ff">"rose_pine"</font> -<font color="#F3E651">[</font><font color="#ff0000">paul@earth</font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">~</font><font color="#ff0000"> </font><font color="#F3E651">%</font><font color="#ff0000"> editor</font><font color="#F3E651">::</font><font color="#ff0000">helix</font><font color="#F3E651">::</font><font color="#ff0000">random_theme</font> -<font color="#F3E651">[</font><font color="#ff0000">paul@earth</font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">~</font><font color="#ff0000"> </font><font color="#F3E651">%</font><font color="#ff0000"> head -n </font><font color="#bb00ff">1</font><font color="#ff0000"> </font><font color="#F3E651">~/.</font><font color="#ff0000">config/helix/config</font><font color="#F3E651">.</font><font color="#ff0000">toml</font> -<font color="#ff0000">theme </font><font color="#F3E651">=</font><font color="#ff0000"> </font><font color="#bb00ff">"noctis"</font> -<font color="#F3E651">[</font><font color="#ff0000">paul@earth</font><font color="#F3E651">]</font><font color="#ff0000"> </font><font color="#F3E651">~</font><font color="#ff0000"> </font><font color="#F3E651">%</font> +<pre>[paul@earth] ~ % editor::helix::random_theme +[paul@earth] ~ % head -n <font color="#000000">1</font> ~/.config/helix/config.toml +theme = <font color="#808080">"jellybeans"</font> +[paul@earth] ~ % editor::helix::random_theme +[paul@earth] ~ % head -n <font color="#000000">1</font> ~/.config/helix/config.toml +theme = <font color="#808080">"rose_pine"</font> +[paul@earth] ~ % editor::helix::random_theme +[paul@earth] ~ % head -n <font color="#000000">1</font> ~/.config/helix/config.toml +theme = <font color="#808080">"noctis"</font> +[paul@earth] ~ % </pre> <br /> <h2 style='display: inline' id='a-better-version'>A better version</h2><br /> @@ -1344,33 +1344,33 @@ http://www.gnu.org/software/src-highlite --> by Lorenzo Bettini http://www.lorenzobettini.it http://www.gnu.org/software/src-highlite --> -<pre><b><font color="#ffffff">export</font></b><font color="#ff0000"> </font><font color="#ff0000">EDITOR</font><font color="#F3E651">=</font><font color="#ff0000">hx</font> -<b><font color="#ffffff">export</font></b><font color="#ff0000"> </font><font color="#ff0000">VISUAL</font><font color="#F3E651">=</font><font color="#ff0000">$EDITOR</font> -<b><font color="#ffffff">export</font></b><font color="#ff0000"> </font><font color="#ff0000">GIT_EDITOR</font><font color="#F3E651">=</font><font color="#ff0000">$EDITOR</font> -<b><font color="#ffffff">export</font></b><font color="#ff0000"> </font><font color="#ff0000">HELIX_CONFIG_DIR</font><font color="#F3E651">=</font><font color="#ff0000">$HOME</font><font color="#F3E651">/.</font><font color="#ff0000">config/helix</font> - -<font color="#ff0000">editor</font><font color="#F3E651">::</font><font color="#ff0000">helix</font><font color="#F3E651">::</font><font color="#ff0000">theme</font><font color="#F3E651">::</font><font color="#7bc710">get_random ()</font><font color="#ff0000"> {</font> -<font color="#ff0000"> </font><b><font color="#ffffff">for</font></b><font color="#ff0000"> dir </font><b><font color="#ffffff">in</font></b><font color="#ff0000"> </font><font color="#ff0000">$(</font><font color="#ff0000">hx --health </font><font color="#F3E651">\</font> -<font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> awk </font><font color="#bb00ff">'/^Runtime directories/ { print $3 }'</font><font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> tr </font><font color="#bb00ff">';'</font><font color="#ff0000"> </font><font color="#bb00ff">' '</font><font color="#F3E651">);</font><font color="#ff0000"> </font><b><font color="#ffffff">do</font></b> -<font color="#ff0000"> </font><b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> -d </font><font color="#ff0000">$dir</font><font color="#ff0000">/themes </font><font color="#F3E651">];</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b> -<font color="#ff0000"> ls </font><font color="#ff0000">$dir</font><font color="#ff0000">/themes</font> -<font color="#ff0000"> </font><b><font color="#ffffff">fi</font></b> -<font color="#ff0000"> </font><b><font color="#ffffff">done</font></b><font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> grep -F </font><font color="#F3E651">.</font><font color="#ff0000">toml </font><font color="#F3E651">|</font><font color="#ff0000"> sort -R </font><font color="#F3E651">|</font><font color="#ff0000"> head -n </font><font color="#bb00ff">1</font><font color="#ff0000"> </font><font color="#F3E651">|</font><font color="#ff0000"> cut -d</font><font color="#F3E651">.</font><font color="#ff0000"> -f</font><font color="#bb00ff">1</font> -<font color="#ff0000">}</font> - -<font color="#ff0000">editor</font><font color="#F3E651">::</font><font color="#ff0000">helix</font><font color="#F3E651">::</font><font color="#ff0000">theme</font><font color="#F3E651">::</font><font color="#7bc710">set ()</font><font color="#ff0000"> {</font> -<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">theme</font><font color="#F3E651">=</font><font color="#bb00ff">"$1"</font><font color="#F3E651">;</font><font color="#ff0000"> </font><b><font color="#ffffff">shift</font></b> - -<font color="#ff0000"> </font><b><font color="#ffffff">local</font></b><font color="#ff0000"> -r </font><font color="#ff0000">config_file</font><font color="#F3E651">=</font><font color="#ff0000">$HELIX_CONFIG_DIR</font><font color="#ff0000">/config</font><font color="#F3E651">.</font><font color="#ff0000">toml</font> - -<font color="#ff0000"> sed </font><font color="#bb00ff">"/^theme =/ { s/.*/theme = </font><font color="#ffffff">\"</font><font color="#bb00ff">$theme</font><font color="#ffffff">\"</font><font color="#bb00ff">/; }"</font><font color="#ff0000"> </font><font color="#F3E651">\</font> -<font color="#ff0000"> </font><font color="#ff0000">$config_file</font><font color="#ff0000"> </font><font color="#F3E651">></font><font color="#ff0000"> </font><font color="#ff0000">$config_file</font><font color="#F3E651">.</font><font color="#ff0000">tmp </font><font color="#F3E651">&&</font><font color="#ff0000"> </font> -<font color="#ff0000"> mv </font><font color="#ff0000">$config_file</font><font color="#F3E651">.</font><font color="#ff0000">tmp </font><font color="#ff0000">$config_file</font> -<font color="#ff0000">}</font> - -<b><font color="#ffffff">if</font></b><font color="#ff0000"> </font><font color="#F3E651">[</font><font color="#ff0000"> -f </font><font color="#ff0000">$HELIX_CONFIG_DIR</font><font color="#ff0000">/config</font><font color="#F3E651">.</font><font color="#ff0000">toml </font><font color="#F3E651">];</font><font color="#ff0000"> </font><b><font color="#ffffff">then</font></b> -<font color="#ff0000"> editor</font><font color="#F3E651">::</font><font color="#ff0000">helix</font><font color="#F3E651">::</font><font color="#ff0000">theme</font><font color="#F3E651">::</font><b><font color="#ffffff">set</font></b><font color="#ff0000"> </font><font color="#ff0000">$(editor::helix::theme::get_random)</font> -<b><font color="#ffffff">fi</font></b> +<pre><b><u><font color="#000000">export</font></u></b> EDITOR=hx +<b><u><font color="#000000">export</font></u></b> VISUAL=$EDITOR +<b><u><font color="#000000">export</font></u></b> GIT_EDITOR=$EDITOR +<b><u><font color="#000000">export</font></u></b> HELIX_CONFIG_DIR=$HOME/.config/helix + +editor::helix::theme::get_random () { + <b><u><font color="#000000">for</font></u></b> dir <b><u><font color="#000000">in</font></u></b> $(hx --health \ + | awk <font color="#808080">'/^Runtime directories/ { print $3 }'</font> | tr <font color="#808080">';'</font> <font color="#808080">' '</font>); <b><u><font color="#000000">do</font></u></b> + <b><u><font color="#000000">if</font></u></b> [ -d $dir/themes ]; <b><u><font color="#000000">then</font></u></b> + ls $dir/themes + <b><u><font color="#000000">fi</font></u></b> + <b><u><font color="#000000">done</font></u></b> | grep -F .toml | sort -R | head -n <font color="#000000">1</font> | cut -d. -f<font color="#000000">1</font> +} + +editor::helix::theme::set () { + <b><u><font color="#000000">local</font></u></b> -r theme=<font color="#808080">"$1"</font>; <b><u><font color="#000000">shift</font></u></b> + + <b><u><font color="#000000">local</font></u></b> -r config_file=$HELIX_CONFIG_DIR/config.toml + + sed <font color="#808080">"/^theme =/ { s/.*/theme = </font>\"<font color="#808080">$theme</font>\"<font color="#808080">/; }"</font> \ + $config_file > $config_file.tmp && + mv $config_file.tmp $config_file +} + +<b><u><font color="#000000">if</font></u></b> [ -f $HELIX_CONFIG_DIR/config.toml ]; <b><u><font color="#000000">then</font></u></b> + editor::helix::theme::<b><u><font color="#000000">set</font></u></b> $(editor::helix::theme::get_random) +<b><u><font color="#000000">fi</font></u></b> </pre> <br /> <span>I hope you had some fun. E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br /> @@ -1,6 +1,6 @@ # foo.zone -> This site was generated at 2025-02-16T11:18:30+02:00 by `Gemtexter` +> This site was generated at 2025-02-21T17:05:13+02:00 by `Gemtexter` Welcome to the foo.zone. Everything you read on this site is my personal opinion and experience. You can call me a Linux/*BSD enthusiast and hobbyist. I mainly write about tech, IT, programming and sometimes also about self-improvement here. And I also like coding. diff --git a/notes/97-things-every-sre-should-know.gmi b/notes/97-things-every-sre-should-know.gmi new file mode 100644 index 00000000..ff511964 --- /dev/null +++ b/notes/97-things-every-sre-should-know.gmi @@ -0,0 +1,311 @@ +# "97 Things Every SRE Should Know" book notes + +These are my personal book notes of Emil Stolarsky's and Jaime Woo's "97 Things Every SRE Should Know". They are for myself, but I hope they might be useful to you too. + +## Table of Contents + +* ⇢ "97 Things Every SRE Should Know" book notes +* ⇢ ⇢ Introduction +* ⇢ ⇢ Observability +* ⇢ ⇢ The ancient art of writing things down +* ⇢ ⇢ The teams health +* ⇢ ⇢ Sharing responsibilities +* ⇢ ⇢ The roles and the solo SRE +* ⇢ ⇢ Being customer-focused +* ⇢ ⇢ Don't have all the answers +* ⇢ ⇢ Runbooks +* ⇢ ⇢ Alerts per shift +* ⇢ ⇢ Balancing velocity +* ⇠|
