From e8e09728861cd76908e28b85dc201635897ec8d8 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Sun, 28 Aug 2022 10:04:11 +0100 Subject: fix --- gemfeed/atom.xml | 363 +++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 247 insertions(+), 116 deletions(-) (limited to 'gemfeed/atom.xml') diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index 9a7b2f89..b54cc6fe 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,6 +1,6 @@ - 2022-08-27T18:31:27+01:00 + 2022-08-28T09:53:38+01:00 foo.zone feed To be in the .zone! @@ -19,9 +19,9 @@
1c1 -< -rw-r--r--. 1 paul paul 4091 Aug 27 18:28 ../foo.zone-content/gemtext/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.gmi +< -rw-r--r--. 1 paul paul 4084 Aug 27 18:31 ../foo.zone-content/gemtext/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.gmi --- -> -rw-r--r--. 1 paul paul 4084 Aug 27 18:31 ../foo.zone-content/gemtext/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.gmi +> -rw-r--r--. 1 paul paul 4089 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.gmi

Gemtexter 1.1.0 - Let's Gemtext again

Published by Paul at 2022-08-27

@@ -82,7 +82,7 @@ check_dependencies () {
 

More

Additionally, there were a couple of bug fixes, refactorings and overall improvements in the documentation made.

Overall, it's a pretty solid 1.1.0 release without anything groundbreaking (therefore no major version jump). But I am happy about it.

-

E-Mail me your comments to paul at buetow dot org!

+E-Mail me your comments :-)
@@ -98,7 +98,12 @@ check_dependencies () { I was amazed how easy it is to automatically generate and update Let's Encrypt certificates with OpenBSD.. .....to read on please visit my site.
-

Let's Encrypt with OpenBSD and Rex

+ 1c1 +< -rw-r--r--. 1 paul paul 21483 Jul 30 12:06 ../foo.zone-content/gemtext/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.gmi +--- +> -rw-r--r--. 1 paul paul 21488 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.gmi +

Let's Encrypt with OpenBSD and Rex

+

Published by Paul at 2022-07-30

                                                /    _    \
   The Hebern Machine                            \ ." ". /
@@ -125,7 +130,6 @@ check_dependencies () {
              /________________________________________________\
                                  ASCII Art by John Savard
 

-

Published by Paul at 2022-07-30

I was amazed how easy it is to automatically generate and update Let's Encrypt certificates with OpenBSD.

What's Let's Encrypt?

Let's Encrypt is a non-profit certificate authority run by Internet Security Research Group that provides X.509 certificates for Transport Layer Security (TLS) encryption at no charge. It is the world's largest certificate authority, used by more than 265 million websites, with the goal of all websites being secure and using HTTPS.

@@ -689,7 +693,7 @@ rex commons

ACME and Let's Encrypt greatly help reducing recurring manual maintenance work (creating and renewing certificates). Furthermore, all the certificates are free of costs! I love to use OpenBSD and Rex to automate all of this.

OpenBSD suits perfectly here as all the tools are already part of the base installation. Rex is not as powerful and popular as other configuration management systems (e.g. Puppet, Chef, SALT or even Ansible). It is more of an underdog and the community is small. But I like underdogs.

I love the fact that a Rexfile is just a Perl DSL. Why re-inventing the wheel? Also, OpenBSD comes with Perl in the base system. So no new programming language had to be added to my mix for the configuration management system. Also, the acme.sh shell script is not a Bash but a standard Bourne shell script so that I didn't have to install yet another shell as OpenBSD does not come with the Bash pre-installed.

-

E-Mail me your comments to paul at buetow dot org!

+E-Mail me your comments :-)
@@ -705,7 +709,12 @@ rex commons This blog post is a bit different from the others. It consists of multiple but smaller projects worth mentioning. I got inspired by Julia Evan's 'Tiny programs' blog post and the side projects of The Sephist, so I thought I would also write a blog posts listing a couple of small projects of mine:. .....to read on please visit my site.
-

Sweating the small stuff - Tiny projects of mine

+ 1c1 +< -rw-r--r--. 1 paul paul 20516 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2022-06-15-sweating-the-small-stuff.gmi +--- +> -rw-r--r--. 1 paul paul 20521 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-06-15-sweating-the-small-stuff.gmi +

Sweating the small stuff - Tiny projects of mine

+

Published by Paul at 2022-06-15, last updated at 2022-06-18

          _
         /_/_      .'''.
@@ -713,7 +722,6 @@ rex commons
  jgs    \_\              `.    .'''
                            `..'
 

-

Published by Paul at 2022-06-15, last updated at 2022-06-18

This blog post is a bit different from the others. It consists of multiple but smaller projects worth mentioning. I got inspired by Julia Evan's "Tiny programs" blog post and the side projects of The Sephist, so I thought I would also write a blog posts listing a couple of small projects of mine:

Tiny programs
The Sephist's project list
@@ -930,7 +938,7 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs gemini://konpeito.media

If you wonder what Gemini is:

Welcome to the Geminispae
-

E-Mail me your comments to paul at buetow dot org!

+E-Mail me your comments :-)
@@ -946,9 +954,13 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs Perl (the Practical Extraction and Report Language) is a battle-tested, mature, multi-paradigm dynamic programming language. Note that it's not called PERL, neither P.E.R.L. nor Pearl. 'Perl' is the name of the language and 'perl' the name of the interpreter or the interpreter command.. .....to read on please visit my site.
-

Perl is still a great choice

-
+ 1c1 +< -rw-r--r--. 1 paul paul 16139 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2022-05-27-perl-is-still-a-great-choice.gmi +--- +> -rw-r--r--. 1 paul paul 16144 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-05-27-perl-is-still-a-great-choice.gmi +

Perl is still a great choice

Published by Paul at 2022-05-27, Comic source: XKCD

+

Perl (the Practical Extraction and Report Language) is a battle-tested, mature, multi-paradigm dynamic programming language. Note that it's not called PERL, neither P.E.R.L. nor Pearl. "Perl" is the name of the language and "perl" the name of the interpreter or the interpreter command.

Unfortunately (it makes me sad), Perl's popularity has been declining over the last years as Google trends shows:


@@ -1031,7 +1043,7 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs

Btw.: Did you know that the first version of PHP was a set of Perl snippets? Only later, PHP became an independent programming language.

https://www.perl.org
-

E-Mail me your comments to paul at buetow dot org!

+E-Mail me your comments :-)
@@ -1047,7 +1059,12 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs I have been participating in an annual work-internal project contest (we call it Pet Project contest) since I moved to London and switched jobs to my current employer. I am very happy to say that I won a 'silver' prize last week here 🎆. Over the last couple of years I have been a finalist in this contest six times and won some kind of prize five times. Some of my projects were also released as open source software. One had a magazine article published, and for another one I wrote an article on my employer's engineering blog. If you have followed all my posts on this blog (the one you are currently reading), then you have probably figured out what these projects were:. .....to read on please visit my site.
-

Creative universe

+ 1c1 +< -rw-r--r--. 1 paul paul 14563 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2022-04-10-creative-universe.gmi +--- +> -rw-r--r--. 1 paul paul 14568 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-04-10-creative-universe.gmi +

Creative universe

+

Published by Paul at 2022-04-10, last updated at 2022-04-18

  .              +   .                .   . .     .  .
                    .                    .       .     *
@@ -1068,7 +1085,6 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs
  .      .   . .   .   .   . .  +   .    .            +
                                          - the universe
 

-

Published by Paul at 2022-04-10, last updated at 2022-04-18

Prelude

I have been participating in an annual work-internal project contest (we call it Pet Project contest) since I moved to London and switched jobs to my current employer. I am very happy to say that I won a "silver" prize last week here 🎆. Over the last couple of years I have been a finalist in this contest six times and won some kind of prize five times. Some of my projects were also released as open source software. One had a magazine article published, and for another one I wrote an article on my employer's engineering blog. If you have followed all my posts on this blog (the one you are currently reading), then you have probably figured out what these projects were:

DTail - The distributed log tail program
@@ -1138,7 +1154,7 @@ learn () {
  • The Off Switch; Mark Cropley; Virgin Books
  • Ultralearning; Scott Young; Thorsons
  • -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -1154,13 +1170,18 @@ learn () { I have recently released DTail 4.0.0 and this blog post goes through all the new goodies. You can also read my previous post about DTail in case you wonder what DTail is:. .....to read on please visit my site.
    -

    The release of DTail 4.0.0

    + 1c1 +< -rw-r--r--. 1 paul paul 11934 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.gmi +--- +> -rw-r--r--. 1 paul paul 11939 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.gmi +

    The release of DTail 4.0.0

    +

    Published by Paul at 2022-03-06

                                   ,_---~~~~~----._
                             _,,_,*^____      _____``*g*\"*,
       ____ _____     _ _   / __/ /'     ^.  /      \ ^@q   f
      |  _ \_   _|_ _(_) |   @f | @))    |  | @))   l  0 _/
    - | | | || |/ _` | | |  \`/   \~____ / __ \_____/    \
    + | | | || |/ _ | | |  \/   \~____ / __ \_____/    \
      | |_| || | (_| | | |   |           _l__l_           I
      |____/ |_|\__,_|_|_|   }          [______]           I
                             ]            | | |            |
    @@ -1168,7 +1189,6 @@ learn () {
                             |                            |
                              |                           |
     

    -

    Published by Paul at 2022-03-06

    I have recently released DTail 4.0.0 and this blog post goes through all the new goodies. You can also read my previous post about DTail in case you wonder what DTail is:

    DTail - The distributed log tail program

    If you want to jump directly to DTail, do it here (there are nice animated gifs which demonstrates the usage pretty well):

    @@ -1390,7 +1410,7 @@ exec /usr/local/bin/dtailhealth --server localhost:2222

    I am a bit busy at the moment with two other pet projects of mine (one internal work-project, and one personal one, the latter you will read about in the next couple of months). If you have ideas (or even a patch), then please don't hesitate to contact me (either via E-Mail or a request at GitHub).

    Thanks!

    Paul

    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -1406,7 +1426,12 @@ exec /usr/local/bin/dtailhealth --server localhost:2222 This is a list of Operating Systems I currently use. This list is in no particular order and also will be updated over time. The very first operating system I used was MS-DOS (mainly for games) and the very first Unix like operating system I used was SuSE Linux 5.3. My first smartphone OS was Symbian on a clunky Sony Ericsson device.. .....to read on please visit my site.
    -

    Computer operating systems I use(d)

    + 1c1 +< -rw-r--r--. 1 paul paul 15961 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2022-02-04-computer-operating-systems-i-use.gmi +--- +> -rw-r--r--. 1 paul paul 15966 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-02-04-computer-operating-systems-i-use.gmi +

    Computer operating systems I use(d)

    +

    Published by Paul at 2022-02-04, updated 2022-02-18

                   /(        )`
                   \ \___   / |
    @@ -1414,20 +1439,19 @@ exec /usr/local/bin/dtailhealth --server localhost:2222
                  (/\/ \ \   /\
                  / /   | `    \
                  O O   ) /    |
    -             `-^--'`<     '
    +             -^--'<     '
                 (_.)  _  )   /
    -             `.___/`    /
    +             .___/    /
                    `-----' /
       <----.     __ / __   \
       <----|====O)))==) \) /====
    -  <----'    `--' `.__,' \
    +  <----'    --' .__,' \
                    |        |
                     \       /
                ______( (_  / \______
       (FL)   ,'  ,-----'   |        \
              `--{__________)        \/   "Berkeley Unix Daemon"
     

    -

    Published by Paul at 2022-02-04, updated 2022-02-18

    This is a list of Operating Systems I currently use. This list is in no particular order and also will be updated over time. The very first operating system I used was MS-DOS (mainly for games) and the very first Unix like operating system I used was SuSE Linux 5.3. My first smartphone OS was Symbian on a clunky Sony Ericsson device.

    Fedora Linux

    Fedora Linux is the operating system I use on my primary (personal) laptop. It's a ThinkPad X1 Carbon Gen. 9. Lenovo which comes along with official Lenovo Linux support. I already noticed hardware firmware updates being installed directly through Fedora from Lenovo. Fedora is a real powerhouse, cutting-edge and reasonably stable at the same time. It's baked by Red Hat.

    @@ -1556,7 +1580,7 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2 Asteroids OS - Open source smartphone OS
    DragonFly BSD - Fork of FreeBSD 4
    Phosh (on postmarketOS) - A true Linux shell for the smartphone
    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -1572,7 +1596,12 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2 I don't count this as a real blog post, but more of an announcement (I aim to write one real post once monthly). From now on, 'foo.zone' is the new address of this site. All other addresses will still forward to it and eventually (based on the traffic still going through) will be deactivated.. .....to read on please visit my site.
    -

    Welcome to the foo.zone

    + 1c1 +< -rw-r--r--. 1 paul paul 3363 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2022-01-23-welcome-to-the-foo.zone.gmi +--- +> -rw-r--r--. 1 paul paul 3368 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-01-23-welcome-to-the-foo.zone.gmi +

    Welcome to the foo.zone

    +

    Published by Paul at 2022-01-23

       __                                  
      / _| ___   ___   _______  _ __   ___ 
    @@ -1581,7 +1610,6 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2
     |_|  \___/ \___(_)___\___/|_| |_|\___|
                                           
     

    -

    Published by Paul at 2022-01-23

    I don't count this as a real blog post, but more of an announcement (I aim to write one real post once monthly). From now on, "foo.zone" is the new address of this site. All other addresses will still forward to it and eventually (based on the traffic still going through) will be deactivated.

    As you can read on Wikipedia, "foo" is, alongside to "bar" and "baz", a metasyntactic variable (you know what I mean if you are a programmer or IT person):

    https://en.wikipedia.org/wiki/Metasyntactic_variable
    @@ -1603,7 +1631,7 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2

    As a funny bit, I almost chose "foo.surf" over "foo.zone" as in "surfing this site", but then decided against it as I would have to tell everyone that I am not into water sports so much. Well, on the other hand, I now may have to explain to non-programmers that I am not a fan of the rock band "Foo Fighters". But that will be acceptable, as I don't expect "normal" people visiting the foo zone as much anyway. If you reached as far, I have to congratulate you. You are not a normal person.

    What about my old hosts

    The host buetow.org will stay. However, not as the primary address for this site. I will keep using it for my personal internet infrastructure as well as for most of my E-Mail addresses. I used buetow.org for that over the past 10 years already anyway and that won't change any time soon. I don't know what I am going to do with snonux.de in the long run. A .de SLD (for Germany) is pretty cheap, so I might just keep it for now.

    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -1619,7 +1647,12 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2 This is the second blog post about my Bash Golf series. This series is random Bash tips, tricks and weirdnesses I came across. It's a collection of smaller articles I wrote in an older (in German language) blog, which I translated and refreshed with some new content.. .....to read on please visit my site.
    -

    Bash Golf Part 2

    + 1c1 +< -rw-r--r--. 1 paul paul 13084 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2022-01-01-bash-golf-part-2.gmi +--- +> -rw-r--r--. 1 paul paul 13089 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2022-01-01-bash-golf-part-2.gmi +

    Bash Golf Part 2

    +

    Published by Paul at 2022-01-01, last updated at 2022-01-05

     
         '\       '\                   .  .                |>18>>
    @@ -1631,7 +1664,6 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2
     jgs^^^^^^^`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                             Art by Joan Stark, mod. by Paul Buetow
     

    -

    Published by Paul at 2022-01-01, last updated at 2022-01-05

    This is the second blog post about my Bash Golf series. This series is random Bash tips, tricks and weirdnesses I came across. It's a collection of smaller articles I wrote in an older (in German language) blog, which I translated and refreshed with some new content.

    Bash Golf Part 1
    Bash Golf Part 2 (you are reading this atm.)
    @@ -2015,7 +2047,7 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH ❯ echo $? 1
    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -2031,7 +2063,12 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH Log4shell (CVE-2021-44228) made it clear, once again, that working in information technology is not an easy job (especially when you are a DevOps/SRE or a security engineer). I thought it would be interesting to summarize a few techniques to help you to relax.. .....to read on please visit my site.
    -

    How to stay sane as a DevOps person

    + 1c1 +< -rw-r--r--. 1 paul paul 13658 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-12-26-how-to-stay-sane-as-a-devops-person.gmi +--- +> -rw-r--r--. 1 paul paul 13663 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-12-26-how-to-stay-sane-as-a-devops-person.gmi +

    How to stay sane as a DevOps person

    +

    Published by Paul at 2021-12-26, last updated at 2022-01-12

                                          )
                                  )      ((     (
    @@ -2042,7 +2079,7 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH
             | //  : | -__   ~__ o)____)),__ - '> >-  >
             | //  : |- \_ \ -\_\ -\ \ \ ~\_  \ ->> - ,  >>
             | //  : |_~_\ -\__\ \~'\ \ \, \__ . -<-  >>
    -        `-----._| `  -__`-- - ~~ -- ` --~> >
    +        -----._|   -__-- - ~~ --  --~> >
              _/___\_    //)_`//  | ||]
        _____[_______]_[~~-_ (.L_/  ||
       [____________________]' `\_,/'/
    @@ -2053,7 +2090,6 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH
     -----||-/------`-._/||-o--o---o---
       ~~~~~'
     

    -

    Published by Paul at 2021-12-26, last updated at 2022-01-12

    Log4shell (CVE-2021-44228) made it clear, once again, that working in information technology is not an easy job (especially when you are a DevOps person). I thought it would be interesting to summarize a few techniques to help you to relax.

    (PS: When I mean DevOps, I also mean Site Reliability Engineers and Sysadmins. I believe SRE, DevOps Engineer and Sysadmin are just synonym titles for the same job).

    https://en.wikipedia.org/wiki/Log4Shell
    @@ -2107,7 +2143,7 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH

    More

    Another blog post worth reading:

    https://unixsheikh.com/articles/how-to-stay-sane-in-todays-world-of-tech.html
    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -2123,7 +2159,12 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH This is the first blog post about my Bash Golf series. This series is random Bash tips, tricks and weirdnesses I came across. It's a collection of smaller articles I wrote in an older (in German language) blog, which I translated and refreshed with some new content.. .....to read on please visit my site.
    -

    Bash Golf Part 1

    + 1c1 +< -rw-r--r--. 1 paul paul 14185 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-11-29-bash-golf-part-1.gmi +--- +> -rw-r--r--. 1 paul paul 14191 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-11-29-bash-golf-part-1.gmi +

    Bash Golf Part 1

    +

    Published by Paul at 2021-11-29, last updated at 2022-01-05

     
          '\                   .  .                        |>18>>
    @@ -2135,7 +2176,6 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH
     jgs^^^^^^^`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                                                 Art by Joan Stark
     

    -

    Published by Paul at 2021-11-29, last updated at 2022-01-05

    This is the first blog post about my Bash Golf series. This series is about random Bash tips, tricks and weirdnesses I came across. It's a collection of smaller articles I wrote in an older (in German language) blog, which I translated and refreshed with some new content.

    Bash Golf Part 1 (you are reading this atm.)
    Bash Golf Part 2
    @@ -2490,7 +2530,8 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is ❯ bc <<< 'scale=2; 1/10' .10
    -

    See you later for the next post of this series. E-Mail me your comments to paul at buetow dot org!

    +

    See you later for the next post of this series.

    +E-Mail me your comments :-)
    @@ -2506,7 +2547,12 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is I have seen many different setups and infrastructures during my carreer. My roles always included front-line ad-hoc fire fighting production issues. This often involves identifying and fixing these under time pressure, without the comfort of 2-week-long SCRUM sprints and without an exhaustive QA process. I also wrote a lot of code (Bash, Ruby, Perl, Go, and a little Java), and I followed the typical software development process, but that did not always apply to critical production issues.. .....to read on please visit my site.
    -

    Defensive DevOps

    + 1c1 +< -rw-r--r--. 1 paul paul 13783 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-10-22-defensive-devops.gmi +--- +> -rw-r--r--. 1 paul paul 13788 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-10-22-defensive-devops.gmi +

    Defensive DevOps

    +

    Published by Paul at 2021-10-22

                                                                 c=====e
                                                                    H
    @@ -2516,7 +2562,6 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
        (__((__((___()()()------------------------------------'  |_____|
                                ASCII Art by Clyde Watson
     

    -

    Published by Paul at 2021-10-22

    I have seen many different setups and infrastructures during my carreer. My roles always included front-line ad-hoc fire fighting production issues. This often involves identifying and fixing these under time pressure, without the comfort of 2-week-long SCRUM sprints and without an exhaustive QA process. I also wrote a lot of code (Bash, Ruby, Perl, Go, and a little Java), and I followed the typical software development process, but that did not always apply to critical production issues.

    Unfortunately, no system is 100% reliable, and you can never be prepared for a subset of the possible problem-space. IT infrastructures can be complex. Not even mentioning Kubernetes yet, a Microservice-based infrastructure can complicate things even further. You can take care of 99% of all potential problems by following all DevOps best practices. Those best practices are not the subject of this blog post; this post is about the sub 1% of the issues arising from nowhere you can't be prepared for.

    Is there a software bug in a production, even though the software passed QA (after all, it is challenging to reproduce production behaviour in an artificial testing environment) and the software didn't show any issues running in production until a special case came up just now after it got deployed to production a week ago? Are there multiple hardware failure happening which causes loss of service redundancy or data inaccessibility? Is the automation of external customers connected to our infrastructure putting unexpectedly extra pressure on your grid, driving higher latencies and putting the SLAs at risk? You bet the solution is: Sysadmins, SREs and DevOps Engineers to the rescue.

    @@ -2569,7 +2614,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is

    Retrospective

    For every major incident, you need to follow up with an incident retrospective. A blame-free, detailed description of exactly what went wrong to cause the incident, along with a list of steps to take to prevent a similar incident from occurring again in the future.

    This usually means creating one or more tickets, which will be dealt with soon. Once the permanent fix is deployed, you can remove your ad-hoc automation and monitoring around it and focus on your regular work again.

    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -2585,7 +2630,12 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is A robust computer system must be kept simple and stupid (KISS). The fancier the system is, the more can break. Unfortunately, most systems tend to become complex and challenging to maintain in today's world. In the early days, so I was told, engineers understood every part of the system, but nowadays, we see more of the 'lasagna' stack. One layer or framework is built on top of another layer, and in the end, nobody has got a clue what's going on.. .....to read on please visit my site.
    -

    Keep it simple and stupid

    + 1c1 +< -rw-r--r--. 1 paul paul 9414 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-09-12-keep-it-simple-and-stupid.gmi +--- +> -rw-r--r--. 1 paul paul 9416 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-09-12-keep-it-simple-and-stupid.gmi +

    Keep it simple and stupid

    +

    Published by Paul at 2021-09-12, last updated at 2022-04-21

       _______________                        |*\_/*|_______
       |  ___________  |     .-.     .-.      ||_/-\_|______  |
    @@ -2600,7 +2650,6 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
      /  ************  \                      /  ************  \
     --------------------                    --------------------
     

    -

    Published by Paul at 2021-09-12, last updated at 2022-04-21

    A robust computer system must be kept simple and stupid (KISS). The fancier the system is, the more can break. Unfortunately, most systems tend to become complex and challenging to maintain in today's world. In the early days, so I was told, engineers understood every part of the system, but nowadays, we see more of the "lasagna" stack. One layer or framework is built on top of another layer, and in the end, nobody has got a clue what's going on.

    Need faster hardware

    This not just makes the system much more complex, difficult to maintain and challenging to troubleshoot, but also slow. So more experts are needed to support it. Also, newer and faster hardware is required to make it run smoothly. Often, it's so much easier to buy speedier hardware than rewrite a whole system from scratch from the bottom-up. The latter would require much more resources in the short run, but in the long run, it should pay off. Unfortunately, many project owners scare away from it as they only want to get their project done and then move on.

    @@ -2638,7 +2687,8 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is

    There is, however, a trap. The more you spend time with things, the more these things feel natural to you and you become an expert. The more you become an expert, the more you introduce more abstractions and other clever ways of doing things. For you, things seem to be KISS still, but another person may not be an expert and might not understand what you do. One of the fundamental challenges is to keep things really KISS. You might add abstraction upon abstraction to a system and don't even notice it until it is too late.

    Other relevant readings

    Is the madness ever going to end?
    -

    Enough ranted for now :-). E-Mail me your comments to paul at buetow dot org!

    +

    Enough ranted for now!

    +E-Mail me your comments :-)

    Controversially, a lack of features is a feature. Enjoy your peace an quiet. - Michael W Lucas

    @@ -2655,7 +2705,12 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is I believe that it is essential to always have free and open-source alternatives to any kind of closed-source proprietary software available to choose from. But there are a couple of points you need to take into consideration. . .....to read on please visit my site.
    -

    On being Pedantic about Open-Source

    + 1c1 +< -rw-r--r--. 1 paul paul 17663 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-08-01-on-being-pedantic-about-open-source.gmi +--- +> -rw-r--r--. 1 paul paul 17638 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-08-01-on-being-pedantic-about-open-source.gmi +

    On being Pedantic about Open-Source

    +

    Published by Paul at 2021-08-01

                                                __
                                    _____....--' .'
    @@ -2667,7 +2722,6 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
     |                                      |   `---'
     '^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^' LGB - Art by lgbearrd
     

    -

    Published by Paul at 2021-08-01

    I believe that it is essential to always have free and open-source alternatives to any kind of closed-source proprietary software available to choose from. But there are a couple of points you need to take into consideration.

    The costs of open-source

    One benefit of using open-source software is that it doesn't cost anything, right? That's correct in many cases. However, in some cases you still need to spend a significant amount of time configuring the software to work for you. It will be more expensive to use open-source software than proprietary commercial one if you aren't careful.

    @@ -2689,7 +2743,8 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is

    One of the main conceptions about open-source software is that it is more secure than closed-source software because everybody can read and fix the code. Is that actually true? You can only be sure when you audit the code by yourself. If you are like me, you won't have time to audit all the open-source software you use. It's impossible to audit more than 100 million lines of Linux kernel code. Static code analysis tools come in handy here, but they still require humans to look at the results.

    Security bugs in open-source projects are exposed to the public and fixed quickly, while we don't know exactly what happens to security bugs in closed-source ones. Still, hackers and security specialists can find them through reverse engineering and penetration testing. Overall, thinking of security, In my opinion it is still better to prefer open-source software because the more significant the project, the higher the probability that security bugs are found and fixed as more parties are looking into it. Furthermore, provided you have the necessary resources, you could still deduct an audit by yourself. The latter especially happens when companies with its own security and penetration testing departments are evaluating the use of open-source. This is something not every company can afford though.

    Always watch out for open-source alternatives

    -

    Do you need Microsoft Word? Why don't you just use the Vim text editor or GNU Emacs to write your letters? If that's too nerdy, you can still use open-source alternatives such as AbiWord or LibreOffice. Larger organizations have the tendency to standardize the software their employees have to use. Unfortunately, as Microsoft Word is the de-facto standard text processing program, most companies prefer Word over LibreOffice. Same with Microsoft Excel vs LibreOffice Calc or other spreadsheet alternatives like Gnumeric. I don't know why that is; please E-Mail me, and I will update this blog article. I guess the devil lies in the detail here.

    +

    Do you need Microsoft Word? Why don't you just use the Vim text editor or GNU Emacs to write your letters? If that's too nerdy, you can still use open-source alternatives such as AbiWord or LibreOffice. Larger organizations have the tendency to standardize the software their employees have to use. Unfortunately, as Microsoft Word is the de-facto standard text processing program, most companies prefer Word over LibreOffice. Same with Microsoft Excel vs LibreOffice Calc or other spreadsheet alternatives like Gnumeric. I don't know why that is; please....

    +E-Mail me your comments :-)

    I only use free and open-source operating systems on my personal Laptops, Desktop PCs and servers (FreeBSD and Linux based ones). Most of the programs and apps I use on them are free and open-source as well, and I am comfortable with it for over twenty years. Exceptions are the BIOSes and some firmwares of my devices. I also use Skype as most of my friends and family are using it. They are, unfortunately, proprietary software still. But I will be looking into Matrix as a Skype alternative when I have time. There are also open BIOS alternatives, but they usually don't work on my devices.

    What about mobile?

    I struggle to go 100% open-source on my Smartphone. I use a Samsung phone with the stock Android as provided by Samsung. I love the device as it is large enough to use as a portable reading and note-taking device, and it can also take decent pictures. As a cloud backup solution, I have my own NextCloud server (open-source). Android is mainly open-source software, but many closed parts are still included. I replaced most of the standard apps with free and open-source variants from the F-Droid store though.

    @@ -2718,7 +2773,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is

    Conclusion

    Should you be pedantic about open-source software? It depends. It depends on your fundamental values and how much time you are ready to invest. Open-source software is not just free as in money, but also free as in freedom. You will gain back complete control of your personal data. Unfortunately, installing ready proprietary apps from the Play Store is much more convenient than building up a trustworthy open-source-based infrastructure by yourself. As a guideline, use proprietary software and services with caution. Be mindful about your choices and where you leave your digital fingerprints. In doubt, think less is more. Do you really need this new shiny app? What benefit does it provide to you? Probably you don't really need that shiny new app.

    You have better chances when you know how to manage your own server and install and manage alternatives to the big cloud providers by yourself. I have the advantage that I have work experience as a Linux Systems Administrator here. I mentioned NextCloud already. I use NextCloud for online photo and file storage, contact and calendar sync and as an RSS news feed server. You could do the same with your own E-Mail server, you can also host your own website and blog. I also mentioned Matrix as a Skype alternative (which could also be an alternative to WhatsApp, Skype, Telegram, Viber, ...). I don't know a lot about Matrix yet, but it seems to be a very neat alternative. I am ready to invest time in it as one of my future personal pet projects. Not only because I think it's better, but also because for fun and as a hobby. But this doesn't mean that I invest *all* of my personal free time in it.

    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -2734,7 +2789,11 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is When I was a Linux System Administrator, I have been programming in Perl for years. I still maintain some personal Perl programming projects (e.g. Xerl, guprecords, Loadbars). After switching jobs a couple of years ago (becoming a Site Reliability Engineer), I found Ruby (and some Python) widely used there. As I wanted to do something new, I then decided to give Ruby a go for all medium-sized programming and scripting projects.. .....to read on please visit my site.
    -

    The Well-Grounded Rubyist

    + 1c1 +< -rw-r--r--. 1 paul paul 12356 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-07-04-the-well-grounded-rubyist.gmi +--- +> -rw-r--r--. 1 paul paul 12361 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-07-04-the-well-grounded-rubyist.gmi +

    The Well-Grounded Rubyist

    Published by Paul at 2021-07-04

    When I was a Linux System Administrator, I have been programming in Perl for years. I still maintain some personal Perl programming projects (e.g. Xerl, guprecords, Loadbars). After switching jobs a couple of years ago (becoming a Site Reliability Engineer), I found Ruby (and some Python) widely used there. As I wanted to do something new, I decided to give Ruby a go.

    You should learn or try out one new programming language once yearly anyway. If you end up not using the new language, that's not a problem. You will learn new techniques with each new programming language and this also helps you to improve your overall programming skills even for other languages. Also, having some background in a similar programming language makes it reasonably easy to get started. Besides that, learning a new programming language is kick-a** fun!

    @@ -2799,7 +2858,7 @@ Hello World

    I liked this book so much so that I even bought myself a (used) paper copy of it. To my delight, there was also a free eBook version in ePub format included, which I now have on my Kobo Forma eBook reader. :-)

    Perl

    Will I abandon my beloved Perl? Probably not. There are also some Perl scripts I use at work. But unfortunately I only have a limited amount of time and I have to use it wisely. I might look into Raku (formerly known as Perl 6) next year and use it for a personal pet project, who knows. :-). I also highly recommend reading the two Perl books "Modern Perl" and "Higher-Order Perl".

    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -2815,7 +2874,12 @@ Hello World You might have read my previous blog post about entering the Geminispace, where I pointed out the benefits of having and maintaining an internet presence there. This whole site (the blog and all other pages) is composed in the Gemtext markup language. . .....to read on please visit my site.
    -

    Gemtexter - One Bash script to rule it all

    + 1c1 +< -rw-r--r--. 1 paul paul 10684 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-06-05-gemtexter-one-bash-script-to-rule-it-all.gmi +--- +> -rw-r--r--. 1 paul paul 10689 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-06-05-gemtexter-one-bash-script-to-rule-it-all.gmi +

    Gemtexter - One Bash script to rule it all

    +

    Published by Paul at 2021-06-05

                                                                    o .,<>., o
                                                                    |\/\/\/\/|
    @@ -2837,26 +2901,25 @@ Hello World
                                                         _-'    |\  .        |
                                       _..--..   .  /"---\      | ` |      . |
               -=====================,' _     \=(*#(7.#####()   |  `/_..   , (
    -                      _.-''``';'-''-) ,.  \ '  '+/// |   .'/   \  ``-.) \
    -                    ,'  _.-  ((    `-'  `._\    `` \_/_.'  )    /`-._  ) |
    +                      _.-''`';'-''-) ,.  \ '  '+/// |   .'/   \  `-.) \
    +                    ,'  _.-  ((    -'  ._\    ` \_/_.'  )    /-._  ) |
                       ,'\ ,'  _.'.`:-.    \.-'                 /   <_L   )"  |
    -                _/   `._,' ,')`;  `-'`'                    |     L  /    /
    +                _/   ._,' ,');  -''                    |     L  /    /
                    / `.   ,' ,|_/ / \                          (    <_-'     \
    -               \ / `./  '  / /,' \                        /|`         `. |
    -               )\   /`._   ,'`._.-\                       |)            \'
    -              /  `.'    )-'.-,' )__)                      |\            `|
    -             : /`. `.._(--.`':`':/ \                      ) \             \
    +               \ / ./  '  / /,' \                        /|         `. |
    +               )\   /._   ,'._.-\                       |)            \'
    +              /  .'    )-'.-,' )__)                      |\            |
    +             : /. .._(--.':':/ \                      ) \             \
                  |::::\     ,'/::;-))  /                      ( )`.            |
                  ||:::::  . .::':  :`-(                       |/    .          |
                  ||::::|  . :|  |==[]=:                       .        -       \
                  |||:::|  : ||  :  |  |                      /\           `     |
      ___ ___     '|;:::|  | |'   \=[]=|                     /  \                \
    -|   /_  ||``|||:::::  | ;    | |  |                     \_.'\_               `-.
    -:   \_``[]--[]|::::'\_;'     )-'..`._                 .-'\``:: ` .              \
    - \___.>`''-.||:.__,'     SSt |_______`>              <_____:::.         . . \  _/
    +|   /_  ||`|||:::::  | ;    | |  |                     \_.'\_               -.
    +:   \_`[]--[]|::::'\_;'     )-'..._                 .-'\`::  .              \
    + \___.>''-.||:.__,'     SSt |_______>              <_____:::.         . . \  _/
                                                                `+a:f:......jrei'''
     

    -

    Published by Paul at 2021-06-05

    You might have read my previous blog post about entering the Geminispace, where I pointed out the benefits of having and maintaining an internet presence there. This whole site (the blog and all other pages) is composed in the Gemtext markup language.

    Welcome to the Geminispace

    This comes with the benefit that I can write content in my favourite text editor (Vim).

    @@ -2938,7 +3001,7 @@ assert::equals "$(generate::make_link md "$gemtext")" \

    Conclusion

    It was quite a lot of fun writing Gemtexter. It's a relatively small project, but given that I worked on that in my spare time once in a while, it kept me busy for several weeks.

    I finally revamped my personal internet site and started to blog again. I wanted the result to be exactly how it is now: A slightly retro-inspired internet site built for fun with unconventional tools.

    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -2954,7 +3017,12 @@ assert::equals "$(generate::make_link md "$gemtext")" \ Lately, I have been polishing and writing a lot of Bash code. Not that I never wrote a lot of Bash, but now as I also looked through the 'Google Shell Style Guide' I thought it is time to also write my own thoughts on that. I agree to that guide in most, but not in all points. . .....to read on please visit my site.
    -

    Personal Bash coding style guide

    + 1c1 +< -rw-r--r--. 1 paul paul 13899 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-05-16-personal-bash-coding-style-guide.gmi +--- +> -rw-r--r--. 1 paul paul 13904 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-05-16-personal-bash-coding-style-guide.gmi +

    Personal Bash coding style guide

    +

    Published by Paul at 2021-05-16

        .---------------------------.
       /,--..---..---..---..---..--. `.
    @@ -2967,7 +3035,6 @@ assert::equals "$(generate::make_link md "$gemtext")" \
     //  \\               //  \\ |===||  hjw
     "\__/"---------------"\__/"-+---+'
     

    -

    Published by Paul at 2021-05-16

    Lately, I have been polishing and writing a lot of Bash code. Not that I never wrote a lot of Bash, but now as I also looked through the Google Shell Style Guide, I thought it is time also to write my thoughts on that. I agree with that guide in most, but not in all points.

    Google Shell Style Guide

    My modifications

    @@ -3246,7 +3313,7 @@ fi

    Advanced Bash learning pro tip

    I also highly recommend having a read through the "Advanced Bash-Scripting Guide" (not from Google). I use it as the universal Bash reference and learn something new every time I look at it.

    Advanced Bash-Scripting Guide
    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -3262,7 +3329,11 @@ fi Have you reached this article already via Gemini? You need a special client for that, web browsers such as Firefox, Chrome, Safari etc. don't support the Gemini protocol. The Gemini address of this site (or the address of this capsule as people say in Geminispace) is: ... to read on visit my site.
    -

    Welcome to the Geminispace

    + 1c1 +< -rw-r--r--. 1 paul paul 4987 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-04-24-welcome-to-the-geminispace.gmi +--- +> -rw-r--r--. 1 paul paul 4992 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-04-24-welcome-to-the-geminispace.gmi +

    Welcome to the Geminispace

    Published by Paul at 2021-04-24, last updated at 2021-06-18, ASCII Art by Andy Hood

    Have you reached this article already via Gemini? It requires a Gemini client; web browsers such as Firefox, Chrome, Safari, etc., don't support the Gemini protocol. The Gemini address of this site (or the address of this capsule as people say in Geminispace) is:

    gemini://foo.zone
    @@ -3280,7 +3351,7 @@ fi |Gemini| | | |______| - '-`'-` . + '-'- . / . \'\ . .' ''( .'\.' ' .;' '.;.;' ;'.;' ..;;' AsH @@ -3316,7 +3387,7 @@ fi

    Check out one of the following links for more information about Gemini. For example, you will find a FAQ that explains why the protocol is named Gemini. Many Gemini capsules are dual-hosted via Gemini and HTTP(S) so that people new to Gemini can sneak peek at the content with a regular web browser. Some people go as far as tri-hosting all their content via HTTP(S), Gemini and Gopher.

    gemini://gemini.circumlunar.space
    https://gemini.circumlunar.space
    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -3332,7 +3403,11 @@ fi This article first appeared at the Mimecast Engineering Blog but I made it available here in my personal Gemini capsule too. ...to read on visit my site.
    -

    DTail - The distributed log tail program

    + 1c1 +< -rw-r--r--. 1 paul paul 12946 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program.gmi +--- +> -rw-r--r--. 1 paul paul 12951 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program.gmi +

    DTail - The distributed log tail program

    Published by Paul at 2021-04-22, last updated at 2021-04-26

    DTail logo image

    This article first appeared at the Mimecast Engineering Blog but I made it available here in my personal internet site too.

    @@ -3397,7 +3472,7 @@ dtail –servers serverlist.txt –files ‘/var/log/*.log’ –regex ‘(?i:er

    Open Source

    Mimecast highly encourages you to have a look at DTail and submit an issue for any features you would like to see. Have you found a bug? Maybe you just have a question or comment? If you want to go a step further: We would also love to see pull requests for any features or improvements. Either way, if in doubt just contact us via the DTail GitHub page.

    https://dtail.dev
    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -3413,18 +3488,22 @@ dtail –servers serverlist.txt –files ‘/var/log/*.log’ –regex ‘(?i:er This text first was published in the german IT-Administrator computer Magazine. 3 years have passed since and I decided to publish it on my blog too. . .....to read on please visit my site.
    -

    Realistic load testing with I/O Riot for Linux

    + 1c1 +< -rw-r--r--. 1 paul paul 15248 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.gmi +--- +> -rw-r--r--. 1 paul paul 15253 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.gmi +

    Realistic load testing with I/O Riot for Linux

    +

    Published by Paul at 2018-06-01, last updated at 2021-05-08

            .---.
           /     \
           \.@-@./
    -      /`\_/`\
    +      /\_/\
          //  _  \\
         | \     )|_
    -   /`\_`>  <_/ \
    +   /\_>  <_/ \
     jgs\__/'---'\__/
     

    -

    Published by Paul at 2018-06-01, last updated at 2021-05-08

    Foreword

    This text first was published in the german IT-Administrator computer Magazine. 3 years have passed since and I decided to publish it on my blog too.

    https://www.admin-magazin.de/Das-Heft/2018/06/Realistische-Lasttests-mit-I-O-Riot
    @@ -3536,7 +3615,7 @@ Total time: 1213.00s Bonnie++
    Graphite
    Memory mapped I/O
    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -3552,7 +3631,12 @@ Total time: 1213.00s You can do a little of object-oriented programming in the C Programming Language. However, that is, in my humble opinion, limited. It's easier to use a different programming language than C for OOP. But still it's an interesting exercise to try using C for this.. .....to read on please visit my site.
    -

    Object oriented programming with ANSI C

    + 1c1 +< -rw-r--r--. 1 paul paul 3672 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2016-11-20-object-oriented-programming-with-ansi-c.gmi +--- +> -rw-r--r--. 1 paul paul 3677 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2016-11-20-object-oriented-programming-with-ansi-c.gmi +

    Object oriented programming with ANSI C

    +

    Published by Paul at 2016-11-20, updated 2022-01-29

       ___   ___  ____        ____ 
      / _ \ / _ \|  _ \      / ___|
    @@ -3561,7 +3645,6 @@ Total time: 1213.00s
      \___/ \___/|_|         \____|
                                   
     

    -

    Published by Paul at 2016-11-20, updated 2022-01-29

    You can do a little of object-oriented programming in the C Programming Language. However, that is, in my humble opinion, limited. It's easier to use a different programming language than C for OOP. But still it's an interesting exercise to try using C for this.

    Function pointers

    Let's have a look at the following sample program. All you have to do is to add a function pointer such as "calculate" to the definition of struct "something_s". Later, during the struct initialization, assign a function address to that function pointer:

    @@ -3628,7 +3711,7 @@ mult.calculate(mult,a,b));

    Big C software projects, like Linux, also follow some OOP techniques:

    https://lwn.net/Articles/444910/

    C is a very old programming language with it's quirks. This might be one of the reasons why Linux will also let Rust code in.

    -

    E-Mail me your comments to paul at buetow dot org!

    +E-Mail me your comments :-)
    @@ -3644,7 +3727,11 @@ mult.calculate(mult,a,b)); Finally, I had time to deploy my own authoritative DNS servers (master and slave) for my domains 'buetow.org' and 'buetow.zone'. My domain name provider is Schlund Technologies. They allow their customers to manually edit the DNS records (BIND files). And they also give you the opportunity to set your own authoritative DNS servers for your domains. From now I am making use of that option.. .....to read on please visit my site.
    -

    Spinning up my own authoritative DNS servers

    + 1c1 +< -rw-r--r--. 1 paul paul 8266 Jun 19 19:38 ../foo.zone-content/gemtext/gemfeed/2016-05-22-spinning-up-my-own-authoritative-dns-servers.gmi +--- +> -rw-r--r--. 1 paul paul 8271 Aug 28 09:53 ../foo.zone-content/gemtext/gemfeed/2016-05-