summaryrefslogtreecommitdiff
path: root/gemfeed
diff options
context:
space:
mode:
Diffstat (limited to 'gemfeed')
-rw-r--r--gemfeed/2008-06-26-perl-poetry.html2
-rw-r--r--gemfeed/2008-12-29-using-my-nokia-n95-for-fixing-my-mta.html2
-rw-r--r--gemfeed/2010-04-09-standard-ml-and-haskell.html2
-rw-r--r--gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html2
-rw-r--r--gemfeed/2010-05-09-the-fype-programming-language.html2
-rw-r--r--gemfeed/2011-05-07-perl-daemon-service-framework.html2
-rw-r--r--gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html2
-rw-r--r--gemfeed/2015-12-05-run-debian-on-your-phone-with-debroid.html2
-rw-r--r--gemfeed/2016-04-03-offsite-backup-with-zfs.html2
-rw-r--r--gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html2
-rw-r--r--gemfeed/2016-04-16-offsite-backup-with-zfs-part2.html2
-rw-r--r--gemfeed/2016-05-22-spinning-up-my-own-authoritative-dns-servers.html2
-rw-r--r--gemfeed/2016-11-20-object-oriented-programming-with-ansi-c.html2
-rw-r--r--gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.html2
-rw-r--r--gemfeed/2021-04-22-dtail-the-distributed-log-tail-program.html2
-rw-r--r--gemfeed/2021-04-24-welcome-to-the-geminispace.html3
-rw-r--r--gemfeed/2021-05-16-personal-bash-coding-style-guide.html2
-rw-r--r--gemfeed/2021-06-05-gemtexter-one-bash-script-to-rule-it-all.html2
-rw-r--r--gemfeed/2021-07-04-the-well-grounded-rubyist.html2
-rw-r--r--gemfeed/2021-08-01-on-being-pedantic-about-open-source.html2
-rw-r--r--gemfeed/2021-09-12-keep-it-simple-and-stupid.html2
-rw-r--r--gemfeed/2021-10-22-defensive-devops.html2
-rw-r--r--gemfeed/2021-11-29-bash-golf-part-1.html2
-rw-r--r--gemfeed/2021-12-26-how-to-stay-sane-as-a-devops-person.html2
-rw-r--r--gemfeed/2022-01-01-bash-golf-part-2.html2
-rw-r--r--gemfeed/2022-01-23-welcome-to-the-foo.zone.html2
-rw-r--r--gemfeed/2022-02-04-computer-operating-systems-i-use.html2
-rw-r--r--gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html2
-rw-r--r--gemfeed/2022-04-10-creative-universe.html2
-rw-r--r--gemfeed/2022-05-27-perl-is-still-a-great-choice.html4
-rw-r--r--gemfeed/2022-06-15-sweating-the-small-stuff.html2
-rw-r--r--gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html2
-rw-r--r--gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html2
-rw-r--r--gemfeed/2022-09-30-after-a-bad-nights-sleep.html2
-rw-r--r--gemfeed/2022-10-30-installing-dtail-on-openbsd.html2
-rw-r--r--gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html2
-rw-r--r--gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html2
-rw-r--r--gemfeed/2023-01-23-why-grapheneos-rox.html2
-rw-r--r--gemfeed/2023-02-26-how-to-shut-down-after-work.html2
-rw-r--r--gemfeed/2023-03-16-the-pragmatic-programmer-book-notes.html79
-rw-r--r--gemfeed/atom.xml357
-rw-r--r--gemfeed/index.html1
42 files changed, 348 insertions, 170 deletions
diff --git a/gemfeed/2008-06-26-perl-poetry.html b/gemfeed/2008-06-26-perl-poetry.html
index c46d5b18..37ec2b54 100644
--- a/gemfeed/2008-06-26-perl-poetry.html
+++ b/gemfeed/2008-06-26-perl-poetry.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Perl Poetry</h1>
-<p class="quote"><i>Published by Paul at 2008-06-26 23:43:51 CEST, last updated at 2021-05-04</i></p>
+<p class="quote"><i>Published at 2008-06-26T21:43:51+01:00; Updated at 2021-05-04</i></p>
<pre>
'\|/' *
-- * -----
diff --git a/gemfeed/2008-12-29-using-my-nokia-n95-for-fixing-my-mta.html b/gemfeed/2008-12-29-using-my-nokia-n95-for-fixing-my-mta.html
index a706b1a8..6461c32f 100644
--- a/gemfeed/2008-12-29-using-my-nokia-n95-for-fixing-my-mta.html
+++ b/gemfeed/2008-12-29-using-my-nokia-n95-for-fixing-my-mta.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Using my Nokia N95 for fixing my MTA</h1>
-<p class="quote"><i>Published by Paul at 2008-12-29 11:10:41 CEST, last updated at 2021-12-01</i></p>
+<p class="quote"><i>Published at 2008-12-29T09:10:41+00:00; Updated at 2021-12-01</i></p>
<pre>
_
diff --git a/gemfeed/2010-04-09-standard-ml-and-haskell.html b/gemfeed/2010-04-09-standard-ml-and-haskell.html
index 0da275c4..a2a82525 100644
--- a/gemfeed/2010-04-09-standard-ml-and-haskell.html
+++ b/gemfeed/2010-04-09-standard-ml-and-haskell.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Standard ML and Haskell</h1>
-<p class="quote"><i>Published by Paul at 2010-04-10 00:57:36 CEST</i></p>
+<p class="quote"><i>Published at 2010-04-09T22:57:36+01:00</i></p>
<p>I am currently looking into the functional programming language Standard ML (aka SML). The purpose is to refresh my functional programming skills and to learn something new too. Since I already knew a little Haskell, I could not help myself, and I also implemented the same exercises in Haskell.</p>
<p>As you will see, SML and Haskell are very similar (at least when it comes to the basics). However, the syntax of Haskell is a bit more "advanced". Haskell utilizes fewer keywords (e.g. no val, end, fun, fn ...). Haskell also allows to write down the function types explicitly. What I have been missing in SML so far is the so-called pattern guards. Although this is a very superficial comparison for now, so far, I like Haskell more than SML. Nevertheless, I thought it would be fun to demonstrate a few simple functions of both languages to show off the similarities. </p>
<p>Haskell is also a "pure functional" programming language, whereas SML also makes explicit use of imperative concepts. I am by far not a specialist in either of these languages, but here are a few functions implemented in both SML and Haskell:</p>
diff --git a/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html b/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html
index 9b78c549..0f42715a 100644
--- a/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html
+++ b/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Lazy Evaluation with Standard ML</h1>
-<p class="quote"><i>Published by Paul at 2010-05-07 10:17:59 CEST</i></p>
+<p class="quote"><i>Published at 2010-05-07T08:17:59+01:00</i></p>
<pre>
_____|~~\_____ _____________
diff --git a/gemfeed/2010-05-09-the-fype-programming-language.html b/gemfeed/2010-05-09-the-fype-programming-language.html
index be812c69..41206f9b 100644
--- a/gemfeed/2010-05-09-the-fype-programming-language.html
+++ b/gemfeed/2010-05-09-the-fype-programming-language.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>The Fype Programming Language</h1>
-<p class="quote"><i>Published by Paul at 2010-05-09 14:48:29 CEST, last updated at 2021-05-05</i></p>
+<p class="quote"><i>Published at 2010-05-09T12:48:29+01:00; Updated at 2021-05-05</i></p>
<pre>
____ _ __
/ / _|_ _ _ __ ___ _ _ ___ __ _| |__ / _|_ _
diff --git a/gemfeed/2011-05-07-perl-daemon-service-framework.html b/gemfeed/2011-05-07-perl-daemon-service-framework.html
index 26c8d96e..c275ca58 100644
--- a/gemfeed/2011-05-07-perl-daemon-service-framework.html
+++ b/gemfeed/2011-05-07-perl-daemon-service-framework.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Perl Daemon (Service Framework)</h1>
-<p class="quote"><i>Published by Paul at 2011-05-08 00:26:02 CEST, last updated at 2021-05-07</i></p>
+<p class="quote"><i>Published at 2011-05-07T22:26:02+01:00; Updated at 2021-05-07</i></p>
<pre>
a'! _,,_ a'! _,,_ a'! _,,_
\\_/ \ \\_/ \ \\_/ \.-,
diff --git a/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html b/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html
index ce418f75..33809e5b 100644
--- a/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html
+++ b/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>The fibonacci.pl.raku.c Polyglot</h1>
-<p class="quote"><i>Published by Paul at 2014-03-24 23:32:53 CEST, last updated at 2022-04-23</i></p>
+<p class="quote"><i>Published at 2014-03-24T21:32:53+00:00; Updated at 2022-04-23</i></p>
<p>In computing, a polyglot is a computer program or script written in a valid form of multiple programming languages, which performs the same operations or output independent of the programming language used to compile or interpret it.</p>
<a class="textlink" href="https://en.wikipedia.org/wiki/Polyglot_(computing)">https://en.wikipedia.org/wiki/Polyglot_(computing)</a><br />
<h2>The Fibonacci numbers</h2>
diff --git a/gemfeed/2015-12-05-run-debian-on-your-phone-with-debroid.html b/gemfeed/2015-12-05-run-debian-on-your-phone-with-debroid.html
index 6f8d3ee2..ca66874b 100644
--- a/gemfeed/2015-12-05-run-debian-on-your-phone-with-debroid.html
+++ b/gemfeed/2015-12-05-run-debian-on-your-phone-with-debroid.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Run Debian on your phone with Debroid</h1>
-<p class="quote"><i>Published by Paul at 2015-12-05 18:12:57 CEST, last updated at 2021-05-16</i></p>
+<p class="quote"><i>Published at 2015-12-05T16:12:57+00:00; Updated at 2021-05-16</i></p>
<pre>
____ _ _ _
| _ \ ___| |__ _ __ ___ (_) __| |
diff --git a/gemfeed/2016-04-03-offsite-backup-with-zfs.html b/gemfeed/2016-04-03-offsite-backup-with-zfs.html
index 98abe02a..087aaeb2 100644
--- a/gemfeed/2016-04-03-offsite-backup-with-zfs.html
+++ b/gemfeed/2016-04-03-offsite-backup-with-zfs.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Offsite backup with ZFS</h1>
-<p class="quote"><i>Published by Paul at 2016-04-04 00:43:42 GMT</i></p>
+<p class="quote"><i>Published at 2016-04-03T22:43:42+01:00</i></p>
<pre>
________________
|# : : #|
diff --git a/gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html b/gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html
index 4d17deed..619de81b 100644
--- a/gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html
+++ b/gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Jails and ZFS with Puppet on FreeBSD</h1>
-<p class="quote"><i>Published by Paul at 2016-04-09 20:29:47 GMT</i></p>
+<p class="quote"><i>Published at 2016-04-09T18:29:47+01:00</i></p>
<pre>
__ __
(( \---/ ))
diff --git a/gemfeed/2016-04-16-offsite-backup-with-zfs-part2.html b/gemfeed/2016-04-16-offsite-backup-with-zfs-part2.html
index 4f1cf771..34c71990 100644
--- a/gemfeed/2016-04-16-offsite-backup-with-zfs-part2.html
+++ b/gemfeed/2016-04-16-offsite-backup-with-zfs-part2.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Offsite backup with ZFS (Part 2)</h1>
-<p class="quote"><i>Published by Paul at 2016-04-17 00:43:42 GMT</i></p>
+<p class="quote"><i>Published at 2016-04-16T22:43:42+01:00</i></p>
<pre>
________________
|# : : #|
diff --git a/gemfeed/2016-05-22-spinning-up-my-own-authoritative-dns-servers.html b/gemfeed/2016-05-22-spinning-up-my-own-authoritative-dns-servers.html
index 1a35e8fb..67fc095b 100644
--- a/gemfeed/2016-05-22-spinning-up-my-own-authoritative-dns-servers.html
+++ b/gemfeed/2016-05-22-spinning-up-my-own-authoritative-dns-servers.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Spinning up my own authoritative DNS servers</h1>
-<p class="quote"><i>Published by Paul at 2016-05-22 20:59:01 GMT</i></p>
+<p class="quote"><i>Published at 2016-05-22T18:59:01+01:00</i></p>
<h2>Background</h2>
<p>Finally, I had time to deploy my 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 edit the DNS records (BIND files) manually. And they also allow you to set your authoritative DNS servers for your domains. From now, I am making use of that option.</p>
<a class="textlink" href="http://www.schlundtech.de">Schlund Technologies</a><br />
diff --git a/gemfeed/2016-11-20-object-oriented-programming-with-ansi-c.html b/gemfeed/2016-11-20-object-oriented-programming-with-ansi-c.html
index 740391d7..62cf293f 100644
--- a/gemfeed/2016-11-20-object-oriented-programming-with-ansi-c.html
+++ b/gemfeed/2016-11-20-object-oriented-programming-with-ansi-c.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Object oriented programming with ANSI C</h1>
-<p class="quote"><i>Published by Paul at 2016-11-21 00:10:57 GMT, updated 2022-01-29</i></p>
+<p class="quote"><i>Published at 2016-11-20T22:10:57+00:00; Updated at 2022-01-29</i></p>
<pre>
___ ___ ____ ____
/ _ \ / _ \| _ \ / ___|
diff --git a/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.html b/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.html
index a837f6c9..148909d8 100644
--- a/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.html
+++ b/gemfeed/2018-06-01-realistic-load-testing-with-ioriot-for-linux.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Realistic load testing with I/O Riot for Linux</h1>
-<p class="quote"><i>Published by Paul at 2018-06-01 16:50:29 GMT, last updated at 2021-05-08</i></p>
+<p class="quote"><i>Published at 2018-06-01T14:50:29+01:00; Updated at 2021-05-08</i></p>
<pre>
.---.
/ \
diff --git a/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program.html b/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program.html
index f837ced7..3de2f8df 100644
--- a/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program.html
+++ b/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>DTail - The distributed log tail program</h1>
-<p class="quote"><i>Published by Paul at 2021-04-22 21:28:41 GMT, last updated at 2021-04-26</i></p>
+<p class="quote"><i>Published at 2021-04-22T19:28:41+01:00; Updated at 2021-04-26</i></p>
<a href="./2021-04-22-dtail-the-distributed-log-tail-program/title.png"><img alt="DTail logo image" title="DTail logo image" src="./2021-04-22-dtail-the-distributed-log-tail-program/title.png" /></a><br />
<p>This article first appeared at the Mimecast Engineering Blog but I made it available here in my personal internet site too.</p>
<a class="textlink" href="https://medium.com/mimecast-engineering/dtail-the-distributed-log-tail-program-79b8087904bb">Original Mimecast Engineering Blog post at Medium</a><br />
diff --git a/gemfeed/2021-04-24-welcome-to-the-geminispace.html b/gemfeed/2021-04-24-welcome-to-the-geminispace.html
index 9602d246..e6cd7a67 100644
--- a/gemfeed/2021-04-24-welcome-to-the-geminispace.html
+++ b/gemfeed/2021-04-24-welcome-to-the-geminispace.html
@@ -9,7 +9,8 @@
</head>
<body>
<h1>Welcome to the Geminispace</h1>
-<p class="quote"><i>Published by Paul at 2021-04-24 21:28:41 GMT, last updated at 2021-06-18, ASCII Art by Andy Hood</i></p>
+<p class="quote"><i>Published at 2021-04-24T19:28:41+01:00; Updated at 2021-06-18</i></p>
+<p>ASCII Art by Andy Hood!</p>
<p>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:</p>
<a class="textlink" href="gemini://foo.zone">gemini://foo.zone</a><br />
<p>However, if you still use HTTP, you are just surfing the fallback HTML version of this capsule. In that case, I suggest reading on what this is all about :-).</p>
diff --git a/gemfeed/2021-05-16-personal-bash-coding-style-guide.html b/gemfeed/2021-05-16-personal-bash-coding-style-guide.html
index 5d38b0a8..9b202f8b 100644
--- a/gemfeed/2021-05-16-personal-bash-coding-style-guide.html
+++ b/gemfeed/2021-05-16-personal-bash-coding-style-guide.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Personal Bash coding style guide</h1>
-<p class="quote"><i>Published by Paul at 2021-05-16 16:51:57 GMT</i></p>
+<p class="quote"><i>Published at 2021-05-16T14:51:57+01:00</i></p>
<pre>
.---------------------------.
/,--..---..---..---..---..--. `.
diff --git a/gemfeed/2021-06-05-gemtexter-one-bash-script-to-rule-it-all.html b/gemfeed/2021-06-05-gemtexter-one-bash-script-to-rule-it-all.html
index f65e6b96..2d7c0c46 100644
--- a/gemfeed/2021-06-05-gemtexter-one-bash-script-to-rule-it-all.html
+++ b/gemfeed/2021-06-05-gemtexter-one-bash-script-to-rule-it-all.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Gemtexter - One Bash script to rule it all</h1>
-<p class="quote"><i>Published by Paul at 2021-06-05 21:03:32 GMT</i></p>
+<p class="quote"><i>Published at 2021-06-05T19:03:32+01:00</i></p>
<pre>
o .,&lt;&gt;., o
|\/\/\/\/|
diff --git a/gemfeed/2021-07-04-the-well-grounded-rubyist.html b/gemfeed/2021-07-04-the-well-grounded-rubyist.html
index d192186a..cf291736 100644
--- a/gemfeed/2021-07-04-the-well-grounded-rubyist.html
+++ b/gemfeed/2021-07-04-the-well-grounded-rubyist.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>The Well-Grounded Rubyist</h1>
-<p class="quote"><i>Published by Paul at 2021-07-04 12:51:23 GMT</i></p>
+<p class="quote"><i>Published at 2021-07-04T10:51:23+01:00</i></p>
<p>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.</p>
<p>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!</p>
<a href="./2021-07-04-the-well-grounded-rubyist/book-cover.jpg"><img src="./2021-07-04-the-well-grounded-rubyist/book-cover.jpg" /></a><br />
diff --git a/gemfeed/2021-08-01-on-being-pedantic-about-open-source.html b/gemfeed/2021-08-01-on-being-pedantic-about-open-source.html
index ef898a0e..85c52008 100644
--- a/gemfeed/2021-08-01-on-being-pedantic-about-open-source.html
+++ b/gemfeed/2021-08-01-on-being-pedantic-about-open-source.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>On being Pedantic about Open-Source</h1>
-<p class="quote"><i>Published by Paul at 2021-08-01, last updated at 2023-01-23</i></p>
+<p class="quote"><i>Published at 2021-08-01T10:37:58+03:00; Updated at 2023-01-23</i></p>
<pre>
__
_____....--' .'
diff --git a/gemfeed/2021-09-12-keep-it-simple-and-stupid.html b/gemfeed/2021-09-12-keep-it-simple-and-stupid.html
index dcf63a91..b1c39346 100644
--- a/gemfeed/2021-09-12-keep-it-simple-and-stupid.html
+++ b/gemfeed/2021-09-12-keep-it-simple-and-stupid.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Keep it simple and stupid</h1>
-<p class="quote"><i>Published by Paul at 2021-09-12 09:39:20 GMT, last updated at 2022-04-21</i></p>
+<p class="quote"><i>Published at 2021-09-12T09:39:20+03:00; Updated at 2022-04-21</i></p>
<pre>
_______________ |*\_/*|_______
| ___________ | .-. .-. ||_/-\_|______ |
diff --git a/gemfeed/2021-10-22-defensive-devops.html b/gemfeed/2021-10-22-defensive-devops.html
index 578b64ff..cbdf055a 100644
--- a/gemfeed/2021-10-22-defensive-devops.html
+++ b/gemfeed/2021-10-22-defensive-devops.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Defensive DevOps</h1>
-<p class="quote"><i>Published by Paul at 2021-10-22 10:02:46 GMT</i></p>
+<p class="quote"><i>Published at 2021-10-22T10:02:46+03:00</i></p>
<pre>
c=====e
H
diff --git a/gemfeed/2021-11-29-bash-golf-part-1.html b/gemfeed/2021-11-29-bash-golf-part-1.html
index be0675bc..e9712051 100644
--- a/gemfeed/2021-11-29-bash-golf-part-1.html
+++ b/gemfeed/2021-11-29-bash-golf-part-1.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Bash Golf Part 1</h1>
-<p class="quote"><i>Published by Paul at 2021-11-29 16:06:14 GMT, last updated at 2022-01-05</i></p>
+<p class="quote"><i>Published at 2021-11-29T14:06:14+00:00; Updated at 2022-01-05</i></p>
<pre>
'\ . . |&gt;18&gt;&gt;
diff --git a/gemfeed/2021-12-26-how-to-stay-sane-as-a-devops-person.html b/gemfeed/2021-12-26-how-to-stay-sane-as-a-devops-person.html
index dae8ed40..d9a948f8 100644
--- a/gemfeed/2021-12-26-how-to-stay-sane-as-a-devops-person.html
+++ b/gemfeed/2021-12-26-how-to-stay-sane-as-a-devops-person.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>How to stay sane as a DevOps person </h1>
-<p class="quote"><i>Published by Paul at 2021-12-26 14:02:02 GMT, last updated at 2022-01-12</i></p>
+<p class="quote"><i>Published at 2021-12-26T12:02:02+00:00; Updated at 2022-01-12</i></p>
<pre>
)
) (( (
diff --git a/gemfeed/2022-01-01-bash-golf-part-2.html b/gemfeed/2022-01-01-bash-golf-part-2.html
index 5e854d7c..8c791571 100644
--- a/gemfeed/2022-01-01-bash-golf-part-2.html
+++ b/gemfeed/2022-01-01-bash-golf-part-2.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Bash Golf Part 2</h1>
-<p class="quote"><i>Published by Paul at 2022-01-02 01:36:15 GMT, last updated at 2022-01-05</i></p>
+<p class="quote"><i>Published at 2022-01-01T23:36:15+00:00; Updated at 2022-01-05</i></p>
<pre>
'\ '\ . . |&gt;18&gt;&gt;
diff --git a/gemfeed/2022-01-23-welcome-to-the-foo.zone.html b/gemfeed/2022-01-23-welcome-to-the-foo.zone.html
index 04ce856c..da3aa921 100644
--- a/gemfeed/2022-01-23-welcome-to-the-foo.zone.html
+++ b/gemfeed/2022-01-23-welcome-to-the-foo.zone.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Welcome to the foo.zone</h1>
-<p class="quote"><i>Published by Paul at 2022-01-23 18:42:04 GMT</i></p>
+<p class="quote"><i>Published at 2022-01-23T16:42:04+00:00</i></p>
<pre>
__
/ _| ___ ___ _______ _ __ ___
diff --git a/gemfeed/2022-02-04-computer-operating-systems-i-use.html b/gemfeed/2022-02-04-computer-operating-systems-i-use.html
index b5cbabbe..b4f207b2 100644
--- a/gemfeed/2022-02-04-computer-operating-systems-i-use.html
+++ b/gemfeed/2022-02-04-computer-operating-systems-i-use.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Computer operating systems I use(d)</h1>
-<p class="quote"><i>Published by Paul at 2022-02-04 11:58:22 GMT, updated 2022-02-18</i></p>
+<p class="quote"><i>Published at 2022-02-04T09:58:22+00:00; Updated at 2022-02-18</i></p>
<pre>
/( )`
\ \___ / |
diff --git a/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html b/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html
index c4f4fc93..14392e46 100644
--- a/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html
+++ b/gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>The release of DTail 4.0.0</h1>
-<p class="quote"><i>Published by Paul at 2022-03-06 20:11:39 GMT</i></p>
+<p class="quote"><i>Published at 2022-03-06T18:11:39+00:00</i></p>
<pre>
,_---~~~~~----._
_,,_,*^____ _____``*g*\"*,
diff --git a/gemfeed/2022-04-10-creative-universe.html b/gemfeed/2022-04-10-creative-universe.html
index 62a724e1..c91dc81d 100644
--- a/gemfeed/2022-04-10-creative-universe.html
+++ b/gemfeed/2022-04-10-creative-universe.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Creative universe</h1>
-<p class="quote"><i>Published by Paul at 2022-04-10 12:09:11 GMT, last updated at 2022-04-18</i></p>
+<p class="quote"><i>Published at 2022-04-10T10:09:11+01:00; Updated at 2022-04-18</i></p>
<pre>
. + . . . . . .
. . . *
diff --git a/gemfeed/2022-05-27-perl-is-still-a-great-choice.html b/gemfeed/2022-05-27-perl-is-still-a-great-choice.html
index dc943f48..1b4aad2c 100644
--- a/gemfeed/2022-05-27-perl-is-still-a-great-choice.html
+++ b/gemfeed/2022-05-27-perl-is-still-a-great-choice.html
@@ -9,8 +9,8 @@
</head>
<body>
<h1>Perl is still a great choice</h1>
-<p class="quote"><i>Published by Paul at 2022-05-27, last updated at 2023-01-28, Comic source: XKCD</i></p>
-<a href="./2022-05-27-perl-is-still-a-great-choice/regular_expressions.png"><img src="./2022-05-27-perl-is-still-a-great-choice/regular_expressions.png" /></a><br />
+<p class="quote"><i>Published at 2022-05-27T07:50:12+01:00; Updated at 2023-01-28</i></p>
+<a href="./2022-05-27-perl-is-still-a-great-choice/regular_expressions.png"><img alt="Comic source: XKCD" title="Comic source: XKCD" src="./2022-05-27-perl-is-still-a-great-choice/regular_expressions.png" /></a><br />
<p>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 <span class="inlinecode">perl</span> the name of the interpreter or the interpreter command.</p>
<p>Unfortunately (it makes me sad), Perl's popularity has been declining over the last years as Google trends shows:</p>
<a href="./2022-05-27-perl-is-still-a-great-choice/googletrendsperl.jpg"><img src="./2022-05-27-perl-is-still-a-great-choice/googletrendsperl.jpg" /></a><br />
diff --git a/gemfeed/2022-06-15-sweating-the-small-stuff.html b/gemfeed/2022-06-15-sweating-the-small-stuff.html
index 2e8ced05..81bce19d 100644
--- a/gemfeed/2022-06-15-sweating-the-small-stuff.html
+++ b/gemfeed/2022-06-15-sweating-the-small-stuff.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Sweating the small stuff - Tiny projects of mine</h1>
-<p class="quote"><i>Published by Paul at 2022-06-15 10:47:44 GMT, last updated at 2022-06-18</i></p>
+<p class="quote"><i>Published at 2022-06-15T08:47:44+01:00; Updated at 2022-06-18</i></p>
<pre>
_
/_/_ .'''.
diff --git a/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html b/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html
index 81237711..6173ffc1 100644
--- a/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html
+++ b/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Let's Encrypt with OpenBSD and Rex</h1>
-<p class="quote"><i>Published by Paul at 2022-07-30 14:14:31 EEST</i></p>
+<p class="quote"><i>Published at 2022-07-30T12:14:31+01:00</i></p>
<pre>
/ _ \
The Hebern Machine \ ." ". /
diff --git a/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html b/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html
index d64a8973..aa28c8b7 100644
--- a/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html
+++ b/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Gemtexter 1.1.0 - Let's Gemtext again</h1>
-<p class="quote"><i>Published by Paul at 2022-08-27 20:25:57 EEST</i></p>
+<p class="quote"><i>Published at 2022-08-27T18:25:57+01:00</i></p>
<pre>
-=[ typewriter ]=- 1/98
diff --git a/gemfeed/2022-09-30-after-a-bad-nights-sleep.html b/gemfeed/2022-09-30-after-a-bad-nights-sleep.html
index dcc0b956..7b8d812e 100644
--- a/gemfeed/2022-09-30-after-a-bad-nights-sleep.html
+++ b/gemfeed/2022-09-30-after-a-bad-nights-sleep.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>After a bad night's sleep</h1>
-<p class="quote"><i>Published by Paul at 2022-09-30 09:53:23 EEST, last updated at 2022-10-12</i></p>
+<p class="quote"><i>Published at 2022-09-30T09:53:23+03:00; Updated at 2022-10-12</i></p>
<pre>
z
z
diff --git a/gemfeed/2022-10-30-installing-dtail-on-openbsd.html b/gemfeed/2022-10-30-installing-dtail-on-openbsd.html
index 916dc43e..4ee00b29 100644
--- a/gemfeed/2022-10-30-installing-dtail-on-openbsd.html
+++ b/gemfeed/2022-10-30-installing-dtail-on-openbsd.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Installing DTail on OpenBSD</h1>
-<p class="quote"><i>Published by Paul at 2022-10-30 11:03:19 EET</i></p>
+<p class="quote"><i>Published at 2022-10-30T11:03:19+02:00</i></p>
<pre>
,_---~~~~~----._
_,,_,*^____ _____``*g*\"*,
diff --git a/gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html b/gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html
index d65ccf1b..a4b6b798 100644
--- a/gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html
+++ b/gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>I tried (Doom) Emacs, but I switched back to (Neo)Vim</h1>
-<p class="quote"><i>Published by Paul at 2022-11-24 11:17:15 EET, last updated at 2022-11-26</i></p>
+<p class="quote"><i>Published at 2022-11-24T11:17:15+02:00; Updated at 2022-11-26</i></p>
<pre>
_/ \ _(\(o
/ \ / _ ^^^o
diff --git a/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html b/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html
index 519722c0..b597b447 100644
--- a/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html
+++ b/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Ultra(re)learning Java - My takeaways</h1>
-<p class="quote"><i>Published by Paul at 2022-12-24</i></p>
+<p class="quote"><i>Published at 2022-12-24T23:18:40+02:00</i></p>
<a href="./2022-12-24-ultrarelearning-java-my-takeaways/learnjava.jpg"><img src="./2022-12-24-ultrarelearning-java-my-takeaways/learnjava.jpg" /></a><br />
<p>As a regular participant in the annual Pet Project competition at work, I always try to find a project where I can learn something new. In this post, I would like to share my takeaways after revisiting Java. You can read about my motivations in my "Creative universe" post:</p>
<a class="textlink" href="./2022-04-10-creative-universe.html">Creative universe</a><br />
diff --git a/gemfeed/2023-01-23-why-grapheneos-rox.html b/gemfeed/2023-01-23-why-grapheneos-rox.html
index 9f1edf3e..ba072e1b 100644
--- a/gemfeed/2023-01-23-why-grapheneos-rox.html
+++ b/gemfeed/2023-01-23-why-grapheneos-rox.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>Why GrapheneOS rox</h1>
-<p class="quote"><i>Published by Paul at 2023-01-21</i></p>
+<p class="quote"><i>Published at 2023-01-23T15:31:52+02:00</i></p>
<pre>
Art by Joan Stark
_.===========================._
diff --git a/gemfeed/2023-02-26-how-to-shut-down-after-work.html b/gemfeed/2023-02-26-how-to-shut-down-after-work.html
index 8dc4459f..9b8c19a1 100644
--- a/gemfeed/2023-02-26-how-to-shut-down-after-work.html
+++ b/gemfeed/2023-02-26-how-to-shut-down-after-work.html
@@ -9,7 +9,7 @@
</head>
<body>
<h1>How to shut down after work</h1>
-<p class="quote"><i>Published by Paul at 2023-02-26</i></p>
+<p class="quote"><i>Published at 2023-02-26T23:48:01+02:00</i></p>
<pre>
|\ "Music should be heard not only with the ears, but also the soul."
|---|--\-----------------------|-----------------------------------------|
diff --git a/gemfeed/2023-03-16-the-pragmatic-programmer-book-notes.html b/gemfeed/2023-03-16-the-pragmatic-programmer-book-notes.html
new file mode 100644
index 00000000..5e0ee580
--- /dev/null
+++ b/gemfeed/2023-03-16-the-pragmatic-programmer-book-notes.html
@@ -0,0 +1,79 @@
+<!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>'The pragmatic programmer' book notes</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>
+<h1>"The pragmatic programmer" book notes</h1>
+<p class="quote"><i>Published at 2023-03-15T00:55:20+02:00</i></p>
+<p>These are my personal takeaways after reading "The Pragmatic Programmer" by David Thomas and Andrew Hunt. Note that the book contains much more knowledge and pearls of wisdom and that the following notes only contain points I personally found worth writing down. This is mainly for my use, but you might find it helpful too.</p>
+<pre>
+ ,.......... ..........,
+ ,..,' '.' ',..,
+ ,' ,' : ', ',
+ ,' ,' : ', ',
+ ,' ,' : ', ',
+ ,' ,'............., : ,.............', ',
+,' '............ '.' ............' ',
+ '''''''''''''''''';''';''''''''''''''''''
+ '''
+</pre><br />
+<p>Think about your work while doing it - every day on every project. Have a feeling of continuous improvement. </p>
+<ul>
+<li>Be a realist.</li>
+<li>Smell challenges.</li>
+<li>Care about your craft.</li>
+<li>Code can always be flawed, but it can meet the requirements.</li>
+<li>You should be proud of your code, though.</li>
+</ul>
+<p>No one writes perfect code, including you. However:</p>
+<ul>
+<li>Paranoia is good thinking.</li>
+<li>Practice defensive programming and crash early.</li>
+<li>Crashing is often the best thing you can do. </li>
+<li>Changes should be reversible.</li>
+</ul>
+<p>Erlang: Defensive programming is a waste of time. Let it crash. "This can never happen" - don't practise that kind of self-deception when programming. </p>
+<p>Leave assertions in the code, even in production. Only leave out the assertions causing the performance issues.</p>
+<p>Take small steps, always. Get feedback, too, for each of the steps the code does. Avoid fortune telling. If you have to involve in it, then the step is too large.</p>
+<p>Decouple the code (e.g. OOP or functional programming). Prefer interfaces for types and mixins for a class extension over class inheritance.</p>
+<ul>
+<li>Refactor now and not later.</li>
+<li>Later, it will be even more painful.</li>
+</ul>
+<p>Don't think outside the box. Find the box. The box is more extensive than you think. Think about the hard problem at hand. Do you have to do it a certain way, or do you have to do it at all?</p>
+<p>Do what works and not what's fashionable. E.g. does SCRUM make sense? The goal is to deliver deliverables and not to "become" agile.</p>
+<h2>Continuous learning</h2>
+<p>Add new tools to your repertoire every day and keep the momentum up. Learning new things is your most crucial aspect. Invest regularly in your knowledge portfolio. The learning process extends your thinking. It does not matter if you will never use it.</p>
+<ul>
+<li>Learn a new programming language every year.</li>
+<li>Read a technical book every month.</li>
+<li>Take courses.</li>
+</ul>
+<p>Think critically about everything you learn. Use paper for your notes. There is something special about it.</p>
+<h2>Stay connected</h2>
+<p>It's your life, and you own it. Bruce Lee once said: </p>
+<p class="quote"><i>"I am not on the world to life after your expectations, neither are you to life after mine."</i></p>
+<ul>
+<li>Go to meet-ups and actively engage.</li>
+<li>Stay current.</li>
+<li>Dealing with computers is hard. Dealing with people is harder. </li>
+</ul>
+<p>It's your life. Share it, celebrate it, be proud and have fun.</p>
+<h2>The story of stone soup</h2>
+<p>How to motivate others to contribute something (e.g. ideas to a startup):</p>
+<p class="quote"><i>A kindly, old stranger was walking through the land when he came upon a village. As he entered, the villagers moved towards their homes, locking doors and windows. The stranger smiled and asked, why are you all so frightened. I am a simple traveler, looking for a soft place to stay for the night and a warm place for a meal. "There's not a bite to eat in the whole province," he was told. "We are weak and our children are starving. Better keep moving on." "Oh, I have everything I need," he said. "In fact, I was thinking of making some stone soup to share with all of you." He pulled an iron cauldron from his cloak, filled it with water, and began to build a fire under it. Then, with great ceremony, he drew an ordinary-looking stone from a silken bag and dropped it into the water. By now, hearing the rumor of food, most of the villagers had come out of their homes or watched from their windows. As the stranger sniffed the "broth" and licked his lips in anticipation, hunger began to overcome their fear. "Ahh," the stranger said to himself rather loudly, "I do like a tasty stone soup. Of course, stone soup with cabbage -- that's hard to beat." Soon a villager approached hesitantly, holding a small cabbage he'd retrieved from its hiding place, and added it to the pot. "Wonderful!!" cried the stranger. "You know, I once had stone soup with cabbage and a bit of salt beef as well, and it was fit for a king." The village butcher managed to find some salt beef . . . And so it went, through potatoes, onions, carrots, mushrooms, and so on, until there was indeed a delicious meal for everyone in the village to share. The village elder offered the stranger a great deal of money for the magic stone, but he refused to sell it and traveled on the next day. As he left, the stranger came upon a group of village children standing near the road. He gave the silken bag containing the stone to the youngest child, whispering to a group, "It was not the stone, but the villagers that had performed the magic." </i></p>
+<p>By working together, everyone contributes what they can, achieving a greater good together.</p>
+<p>E-Mail your comments to hi@paul.cyou :-)</p>
+<a class="textlink" href="../">Go back to the main site</a><br />
+<p class="footer">
+Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter</a> |
+served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> |
+<a href="https://www.foo.zone/site-mirrors.html">Site Mirrors</a>
+</p>
+</body>
+</html>
diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml
index 2e2ff39c..6810b985 100644
--- a/gemfeed/atom.xml
+++ b/gemfeed/atom.xml
@@ -1,25 +1,121 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
- <updated>2023-03-03T12:25:46+02:00</updated>
+ <updated>2023-03-15T00:35:56+02: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>'The pragmatic programmer' book notes</title>
+ <link href="https://foo.zone/gemfeed/2023-03-16-the-pragmatic-programmer-book-notes.html" />
+ <id>https://foo.zone/gemfeed/2023-03-16-the-pragmatic-programmer-book-notes.html</id>
+ <updated>2023-03-16T00:35:56+02:00</updated>
+ <author>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
+ </author>
+ <summary>These are my personal takeaways after reading 'The Pragmatic Programmer' by David Thomas and Andrew Hunt. Note that the book contains much more knowledge and pearls of wisdom and that the following notes only contain points I personally found worth writing down. This is mainly for my use, but you might find it helpful too.</summary>
+ <content type="xhtml">
+ <div xmlns="http://www.w3.org/1999/xhtml">
+ <h1>"The pragmatic programmer" book notes</h1>
+<p>These are my personal takeaways after reading "The Pragmatic Programmer" by David Thomas and Andrew Hunt. Note that the book contains much more knowledge and pearls of wisdom and that the following notes only contain points I personally found worth writing down. This is mainly for my use, but you might find it helpful too.</p>
+<pre>
+ ____________________________________________________
+ |____________________________________________________|
+ | __ __ ____ ___ || ____ ____ _ __ |
+ || |__ |--|_| || |_| |||_|**|*|__|+|+||___| || | |
+ ||==|^^||--| |=||=| |=*=||| |~~|~| |=|=|| | |~||==| |
+ || |##|| | | || | |JRO|||-| | |==|+|+||-|-|~||__| |
+ ||__|__||__|_|_||_|_|___|||_|__|_|__|_|_||_|_|_||__|_|
+ ||_______________________||__________________________|
+ | _____________________ || __ __ _ __ _ |
+ ||=|=|=|=|=|=|=|=|=|=|=| __..\/ | |_| ||#||==| / /|
+ || | | | | | | | | | | |/\ \ \\|++|=| || ||==| / / |
+ ||_|_|_|_|_|_|_|_|_|_|_/_/\_.___\__|_|__||_||__|/_/__|
+ |____________________ /\~()/()~//\ __________________|
+ | __ __ _ _ \_ (_ . _/ _ ___ _____|
+ ||~~|_|..|__| || |_ _ \ //\\ / |=|__|~|~|___| | | |
+ ||--|+|^^|==|1||2| | |__/\ __ /\__| |==|x|x|+|+|=|=|=|
+ ||__|_|__|__|_||_|_| / \ \ / / \_|__|_|_|_|_|_|_|_|
+ |_________________ _/ \/\/\/ \_ _______________|
+ | _____ _ __ |/ \../ \| __ __ ___|
+ ||_____|_| |_|##|_|| | \/ __| ||_|==|_|++|_|-|||
+ ||______||=|#|--| |\ \ o / /| | |~| | | |||
+ ||______||_|_|__|_|_\ \ o / /_|_|__|_|__|_|_|||
+ |_________ __________\___\____/___/___________ ______|
+ |__ _ / ________ ______ /| _ _ _|
+ |\ \ |=|/ // /| // / / / | / ||%|%|%|
+ | \/\ |*/ .//____//.// /__/__/ (_) / ||=|=|=|
+__| \/\|/ /(____|/ // / /||~|~|~|__
+ |___\_/ /________// ________ / / ||_|_|_|
+ |___ / (|________/ |\_______\ / /| |______|
+ / \|________) / / | |
+</pre><br />
+<p>Think about your work while doing it - every day on every project. Have a feeling of continuous improvement. </p>
+<ul>
+<li>Be a realist.</li>
+<li>Smell challenges.</li>
+<li>Care about your craft.</li>
+<li>Code can always be flawed, but it can meet the requirements.</li>
+<li>You should be proud of your code, though.</li>
+</ul>
+<p>No one writes perfect code, including you. However:</p>
+<ul>
+<li>Paranoia is good thinking.</li>
+<li>Practice defensive programming and crash early.</li>
+<li>Crashing is often the best thing you can do. </li>
+<li>Changes should be reversible.</li>
+</ul>
+<p>Erlang: Defensive programming is a waste of time. Let it crash. "This can never happen" - don't practise that kind of self-deception when programming. </p>
+<p>Leave assertions in the code, even in production. Only leave out the assertions causing the performance issues.</p>
+<p>Take small steps, always. Get feedback, too, for each of the steps the code does. Avoid fortune telling. If you have to involve in it, then the step is too large.</p>
+<p>Decouple the code (e.g. OOP or functional programming). Prefer interfaces for types and mixins for a class extension over class inheritance.</p>
+<ul>
+<li>Refactor now and not later.</li>
+<li>Later, it will be even more painful.</li>
+</ul>
+<p>Don't think outside the box. Find the box. The box is more extensive than you think. Think about the hard problem at hand. Do you have to do it a certain way, or do you have to do it at all?</p>
+<p>Do what works and not what's fashionable. E.g. does SCRUM make sense? The goal is to deliver deliverables and not to "become" agile.</p>
+<h2>Continuous learning</h2>
+<p>Add new tools to your repertoire every day and keep the momentum up. Learning new things is your most crucial aspect. Invest regularly in your knowledge portfolio. The learning process extends your thinking. It does not matter if you will never use it.</p>
+<ul>
+<li>Learn a new programming language every year.</li>
+<li>Read a technical book every month.</li>
+<li>Take courses.</li>
+</ul>
+<p>Think critically about everything you learn. Use paper for your notes. There is something special about it.</p>
+<h2>Stay connected</h2>
+<p>It's your life, and you own it. Bruce Lee once said: </p>
+<p class="quote"><i>"I am not on the world to life after your expectations, neither are you to life after mine."</i></p>
+<ul>
+<li>Go to meet-ups and actively engage.</li>
+<li>Stay current.</li>
+<li>Dealing with computers is hard. Dealing with people is harder. </li>
+</ul>
+<p>It's your life. Share it, celebrate it, be proud and have fun.</p>
+<h2>The story of stone soup</h2>
+<p>How to motivate others to contribute something (e.g. ideas to a startup):</p>
+<p>A kindly, old stranger was walking through the land when he came upon a village. As he entered, the villagers moved towards their homes, locking doors and windows. The stranger smiled and asked, why are you all so frightened. I am a simple traveler, looking for a soft place to stay for the night and a warm place for a meal. "There's not a bite to eat in the whole province," he was told. "We are weak and our children are starving. Better keep moving on." "Oh, I have everything I need," he said. "In fact, I was thinking of making some stone soup to share with all of you." He pulled an iron cauldron from his cloak, filled it with water, and began to build a fire under it. Then, with great ceremony, he drew an ordinary-looking stone from a silken bag and dropped it into the water. By now, hearing the rumor of food, most of the villagers had come out of their homes or watched from their windows. As the stranger sniffed the "broth" and licked his lips in anticipation, hunger began to overcome their fear. "Ahh," the stranger said to himself rather loudly, "I do like a tasty stone soup. Of course, stone soup with cabbage -- that's hard to beat." Soon a villager approached hesitantly, holding a small cabbage he'd retrieved from its hiding place, and added it to the pot. "Wonderful!!" cried the stranger. "You know, I once had stone soup with cabbage and a bit of salt beef as well, and it was fit for a king." The village butcher managed to find some salt beef . . . And so it went, through potatoes, onions, carrots, mushrooms, and so on, until there was indeed a delicious meal for everyone in the village to share. The village elder offered the stranger a great deal of money for the magic stone, but he refused to sell it and traveled on the next day. As he left, the stranger came upon a group of village children standing near the road. He gave the silken bag containing the stone to the youngest child, whispering to a group, "It was not the stone, but the villagers that had performed the magic." </p>
+<p>By working together, everyone contributes what they can, achieving a greater good together.</p>
+<p>E-Mail your comments to hi@paul.cyou :-)</p>
+ </div>
+ </content>
+ </entry>
+ <entry>
<title>How to shut down after work</title>
<link href="https://foo.zone/gemfeed/2023-02-26-how-to-shut-down-after-work.html" />
<id>https://foo.zone/gemfeed/2023-02-26-how-to-shut-down-after-work.html</id>
<updated>2023-02-26T23:48:01+02:00</updated>
<author>
- <name>Paul C. Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
</author>
- <summary>Do you need help fully discharging from work in the evenings or for the weekend? Shutting down from work won't just improve your work-life balance; it will also significantly improve the quality of your personal life and work. After a restful weekend, you will be much more energized and productive the next working day. So it should not just be in your own, but also your employers' interest that you fully relax and shut down after work. . .....to read on please visit my site.</summary>
+ <summary>Do you need help fully discharging from work in the evenings or for the weekend? Shutting down from work won't just improve your work-life balance; it will also significantly improve the quality of your personal life and work. After a restful weekend, you will be much more energized and productive the next working day. So it should not just be in your own, but also your employers' interest that you fully relax and shut down after work. </summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>How to shut down after work</h1>
-<p class="quote"><i>Published by Paul at 2023-02-26</i></p>
+<p class="quote"><i>Published at 2023-02-26T23:48:01+02:00</i></p>
<pre>
|\ "Music should be heard not only with the ears, but also the soul."
|---|--\-----------------------|-----------------------------------------|
@@ -72,19 +168,19 @@
</content>
</entry>
<entry>
- <title>Why GrapheneOS Rox</title>
+ <title>Why GrapheneOS rox</title>
<link href="https://foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html" />
<id>https://foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html</id>
<updated>2023-01-23T15:31:52+02:00</updated>
<author>
- <name>Paul C. Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
</author>
- <summary>Art by Joan Stark. .....to read on please visit my site.</summary>
+ <summary>Art by Joan Stark</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Why GrapheneOS rox</h1>
-<p class="quote"><i>Published by Paul at 2023-01-21</i></p>
+<p class="quote"><i>Published at 2023-01-23T15:31:52+02:00</i></p>
<pre>
Art by Joan Stark
_.===========================._
@@ -176,14 +272,14 @@ Art by Joan Stark
<id>https://foo.zone/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways.html</id>
<updated>2022-12-24T23:18:40+02:00</updated>
<author>
- <name>Paul C. Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
</author>
- <summary>As a regular participant in the annual Pet Project competition at work, I always try to find a project where I can learn something new. In this post, I would like to share my takeaways after revisiting Java (Spoiler: I am still not the biggest Java fan, but Java has its uses). You can read about my motivations in my 'Creative universe' post:. .....to read on please visit my site.</summary>
+ <summary>As a regular participant in the annual Pet Project competition at work, I always try to find a project where I can learn something new. In this post, I would like to share my takeaways after revisiting Java. You can read about my motivations in my 'Creative universe' post:</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Ultra(re)learning Java - My takeaways</h1>
-<p class="quote"><i>Published by Paul at 2022-12-24</i></p>
+<p class="quote"><i>Published at 2022-12-24T23:18:40+02:00</i></p>
<a href="https://foo.zone/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways/learnjava.jpg"><img src="https://foo.zone/gemfeed/2022-12-24-ultrarelearning-java-my-takeaways/learnjava.jpg" /></a><br />
<p>As a regular participant in the annual Pet Project competition at work, I always try to find a project where I can learn something new. In this post, I would like to share my takeaways after revisiting Java. You can read about my motivations in my "Creative universe" post:</p>
<a class="textlink" href="https://foo.zone/gemfeed/2022-04-10-creative-universe.html">Creative universe</a><br />
@@ -253,19 +349,19 @@ Art by Joan Stark
</content>
</entry>
<entry>
- <title>I tried Doom Emacs, but I switched back to (Neo)Vim</title>
+ <title>I tried (Doom) Emacs, but I switched back to (Neo)Vim</title>
<link href="https://foo.zone/gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html" />
<id>https://foo.zone/gemfeed/2022-11-24-i-tried-emacs-but-i-switched-back-to-neovim.html</id>
<updated>2022-11-24T11:17:15+02:00</updated>
<author>
- <name>Paul C. Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
</author>
- <summary>As a long-lasting user of Vim (and NeoVim), I always wondered what GNU Emacs is really about, so I decided to try it. I didn't try vanilla GNU Emacs, but Doom Emacs. I chose Doom Emacs as it is a neat distribution of Emacs with Evil mode enabled by default. Evil mode allows Vi(m) key bindings (so to speak, it's emulating Vim within Emacs), and I am pretty sure I won't be ready to give up all the muscle memory I have built over more than a decade.. .....to read on please visit my site.</summary>
+ <summary>Art by \ \_! / __!</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>I tried (Doom) Emacs, but I switched back to (Neo)Vim</h1>
-<p class="quote"><i>Published by Paul at 2022-11-24 11:17:15 EET, last updated at 2022-11-26</i></p>
+<p class="quote"><i>Published at 2022-11-24T11:17:15+02:00; Updated at 2022-11-26</i></p>
<pre>
_/ \ _(\(o
/ \ / _ ^^^o
@@ -402,14 +498,14 @@ nmap ,j :call OpenJournalPage()&lt;CR&gt;
<id>https://foo.zone/gemfeed/2022-10-30-installing-dtail-on-openbsd.html</id>
<updated>2022-10-30T11:03:19+02:00</updated>
<author>
- <name>Paul C. Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
</author>
- <summary>This will be a quick blog post, as I am busy with my personal life now. I have relocated to a different country and am still busy arranging things. So bear with me :-). .....to read on please visit my site.</summary>
+ <summary>This will be a quick blog post, as I am busy with my personal life now. I have relocated to a different country and am still busy arranging things. So bear with me :-)</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Installing DTail on OpenBSD</h1>
-<p class="quote"><i>Published by Paul at 2022-10-30 11:03:19 EET</i></p>
+<p class="quote"><i>Published at 2022-10-30T11:03:19+02:00</i></p>
<pre>
,_---~~~~~----._
_,,_,*^____ _____``*g*\"*,
@@ -697,14 +793,14 @@ REMOTE|fishfinger|100|7|fstab|093f510ec5c0f512.h /usr/local ffs rw,wxallowed,nod
<id>https://foo.zone/gemfeed/2022-09-30-after-a-bad-nights-sleep.html</id>
<updated>2022-09-30T09:53:23+03:00</updated>
<author>
- <name>Paul C. Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
</author>
- <summary>Everyone has it once a while: A bad night's sleep. Here I attempt to list useful tips how to deal with it.. .....to read on please visit my site.</summary>
+ <summary>Everyone has it once in a while: A bad night's sleep. Here I attempt to list valuable tips on how to deal with it.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>After a bad night's sleep</h1>
-<p class="quote"><i>Published by Paul at 2022-09-30 09:53:23 EEST, last updated at 2022-10-12</i></p>
+<p class="quote"><i>Published at 2022-09-30T09:53:23+03:00; Updated at 2022-10-12</i></p>
<pre>
z
z
@@ -771,14 +867,14 @@ jgs (________\ \
<id>https://foo.zone/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html</id>
<updated>2022-08-27T18:25:57+01:00</updated>
<author>
- <name>Paul C. Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
</author>
- <summary>I am proud to announce that I've released Gemtexter version `1.1.0`. What is Gemtexter? It's my static site generator written in GNU Bash:. .....to read on please visit my site.</summary>
+ <summary>I am proud to announce that I've released Gemtexter version `1.1.0`. What is Gemtexter? It's my static site generator written in GNU Bash:</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Gemtexter 1.1.0 - Let's Gemtext again</h1>
-<p class="quote"><i>Published by Paul at 2022-08-27 20:25:57 EEST</i></p>
+<p class="quote"><i>Published at 2022-08-27T18:25:57+01:00</i></p>
<pre>
-=[ typewriter ]=- 1/98
@@ -847,14 +943,14 @@ check_dependencies () {
<id>https://foo.zone/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html</id>
<updated>2022-07-30T12:14:31+01:00</updated>
<author>
- <name>Paul C. Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <name>Paul Buetow</name>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>I was amazed at how easy it is to automatically generate and update Let's Encrypt certificates with OpenBSD.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Let's Encrypt with OpenBSD and Rex</h1>
-<p class="quote"><i>Published by Paul at 2022-07-30 14:14:31 EEST</i></p>
+<p class="quote"><i>Published at 2022-07-30T12:14:31+01:00</i></p>
<pre>
/ _ \
The Hebern Machine \ ." ". /
@@ -1455,13 +1551,13 @@ rex commons
<updated>2022-06-15T08:47:44+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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:</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Sweating the small stuff - Tiny projects of mine</h1>
-<p class="quote"><i>Published by Paul at 2022-06-15 10:47:44 GMT, last updated at 2022-06-18</i></p>
+<p class="quote"><i>Published at 2022-06-15T08:47:44+01:00; Updated at 2022-06-18</i></p>
<pre>
_
/_/_ .'''.
@@ -1696,14 +1792,14 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs
<updated>2022-05-27T07:50:12+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Perl is still a great choice</h1>
-<p class="quote"><i>Published by Paul at 2022-05-27, last updated at 2023-01-28, Comic source: XKCD</i></p>
-<a href="https://foo.zone/gemfeed/2022-05-27-perl-is-still-a-great-choice/regular_expressions.png"><img src="https://foo.zone/gemfeed/2022-05-27-perl-is-still-a-great-choice/regular_expressions.png" /></a><br />
+<p class="quote"><i>Published at 2022-05-27T07:50:12+01:00; Updated at 2023-01-28</i></p>
+<a href="https://foo.zone/gemfeed/2022-05-27-perl-is-still-a-great-choice/regular_expressions.png"><img alt="Comic source: XKCD" title="Comic source: XKCD" src="https://foo.zone/gemfeed/2022-05-27-perl-is-still-a-great-choice/regular_expressions.png" /></a><br />
<p>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 <span class="inlinecode">perl</span> the name of the interpreter or the interpreter command.</p>
<p>Unfortunately (it makes me sad), Perl's popularity has been declining over the last years as Google trends shows:</p>
<a href="https://foo.zone/gemfeed/2022-05-27-perl-is-still-a-great-choice/googletrendsperl.jpg"><img src="https://foo.zone/gemfeed/2022-05-27-perl-is-still-a-great-choice/googletrendsperl.jpg" /></a><br />
@@ -1805,13 +1901,13 @@ v = 008 [v = p*c*(s != c ? 2 : 1)] Total logical CPUs
<updated>2022-04-10T10:09:11+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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:</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Creative universe</h1>
-<p class="quote"><i>Published by Paul at 2022-04-10 12:09:11 GMT, last updated at 2022-04-18</i></p>
+<p class="quote"><i>Published at 2022-04-10T10:09:11+01:00; Updated at 2022-04-18</i></p>
<pre>
. + . . . . . .
. . . *
@@ -1912,13 +2008,13 @@ learn () {
<updated>2022-03-06T18:11:39+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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:</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>The release of DTail 4.0.0</h1>
-<p class="quote"><i>Published by Paul at 2022-03-06 20:11:39 GMT</i></p>
+<p class="quote"><i>Published at 2022-03-06T18:11:39+00:00</i></p>
<pre>
,_---~~~~~----._
_,,_,*^____ _____``*g*\"*,
@@ -2164,13 +2260,13 @@ exec /usr/local/bin/dtailhealth --server localhost:2222
<updated>2022-02-04T09:58:22+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Computer operating systems I use(d)</h1>
-<p class="quote"><i>Published by Paul at 2022-02-04 11:58:22 GMT, updated 2022-02-18</i></p>
+<p class="quote"><i>Published at 2022-02-04T09:58:22+00:00; Updated at 2022-02-18</i></p>
<pre>
/( )`
\ \___ / |
@@ -2330,13 +2426,13 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2
<updated>2022-01-23T16:42:04+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Welcome to the foo.zone</h1>
-<p class="quote"><i>Published by Paul at 2022-01-23 18:42:04 GMT</i></p>
+<p class="quote"><i>Published at 2022-01-23T16:42:04+00:00</i></p>
<pre>
__
/ _| ___ ___ _______ _ __ ___
@@ -2377,13 +2473,13 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2
<updated>2022-01-01T23:36:15+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Bash Golf Part 2</h1>
-<p class="quote"><i>Published by Paul at 2022-01-02 01:36:15 GMT, last updated at 2022-01-05</i></p>
+<p class="quote"><i>Published at 2022-01-01T23:36:15+00:00; Updated at 2022-01-05</i></p>
<pre>
'\ '\ . . |&gt;18&gt;&gt;
@@ -2789,13 +2885,13 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH
<updated>2021-12-26T12:02:02+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>How to stay sane as a DevOps person </h1>
-<p class="quote"><i>Published by Paul at 2021-12-26 14:02:02 GMT, last updated at 2022-01-12</i></p>
+<p class="quote"><i>Published at 2021-12-26T12:02:02+00:00; Updated at 2022-01-12</i></p>
<pre>
)
) (( (
@@ -2881,13 +2977,13 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH
<updated>2021-11-29T14:06:14+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Bash Golf Part 1</h1>
-<p class="quote"><i>Published by Paul at 2021-11-29 16:06:14 GMT, last updated at 2022-01-05</i></p>
+<p class="quote"><i>Published at 2021-11-29T14:06:14+00:00; Updated at 2022-01-05</i></p>
<pre>
'\ . . |&gt;18&gt;&gt;
@@ -3265,13 +3361,13 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
<updated>2021-10-22T10:02:46+03:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Defensive DevOps</h1>
-<p class="quote"><i>Published by Paul at 2021-10-22 10:02:46 GMT</i></p>
+<p class="quote"><i>Published at 2021-10-22T10:02:46+03:00</i></p>
<pre>
c=====e
H
@@ -3344,13 +3440,13 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
<updated>2021-09-12T09:39:20+03:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Keep it simple and stupid</h1>
-<p class="quote"><i>Published by Paul at 2021-09-12 09:39:20 GMT, last updated at 2022-04-21</i></p>
+<p class="quote"><i>Published at 2021-09-12T09:39:20+03:00; Updated at 2022-04-21</i></p>
<pre>
_______________ |*\_/*|_______
| ___________ | .-. .-. ||_/-\_|______ |
@@ -3415,13 +3511,13 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
<updated>2021-08-01T10:37:58+03:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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. </summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>On being Pedantic about Open-Source</h1>
-<p class="quote"><i>Published by Paul at 2021-08-01, last updated at 2023-01-23</i></p>
+<p class="quote"><i>Published at 2021-08-01T10:37:58+03:00; Updated at 2023-01-23</i></p>
<pre>
__
_____....--' .'
@@ -3497,13 +3593,13 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
<updated>2021-07-04T10:51:23+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>The Well-Grounded Rubyist</h1>
-<p class="quote"><i>Published by Paul at 2021-07-04 12:51:23 GMT</i></p>
+<p class="quote"><i>Published at 2021-07-04T10:51:23+01:00</i></p>
<p>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.</p>
<p>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!</p>
<a href="https://foo.zone/gemfeed/2021-07-04-the-well-grounded-rubyist/book-cover.jpg"><img src="https://foo.zone/gemfeed/2021-07-04-the-well-grounded-rubyist/book-cover.jpg" /></a><br />
@@ -3578,13 +3674,13 @@ Hello World
<updated>2021-06-05T19:03:32+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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. </summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Gemtexter - One Bash script to rule it all</h1>
-<p class="quote"><i>Published by Paul at 2021-06-05 21:03:32 GMT</i></p>
+<p class="quote"><i>Published at 2021-06-05T19:03:32+01:00</i></p>
<pre>
o .,&lt;&gt;., o
|\/\/\/\/|
@@ -3717,13 +3813,13 @@ assert::equals "$(generate::make_link md "$gemtext")" \
<updated>2021-05-16T14:51:57+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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. </summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Personal Bash coding style guide</h1>
-<p class="quote"><i>Published by Paul at 2021-05-16 16:51:57 GMT</i></p>
+<p class="quote"><i>Published at 2021-05-16T14:51:57+01:00</i></p>
<pre>
.---------------------------.
/,--..---..---..---..---..--. `.
@@ -4025,13 +4121,14 @@ fi
<updated>2021-04-24T19:28:41+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>ASCII Art by Andy Hood!</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Welcome to the Geminispace</h1>
-<p class="quote"><i>Published by Paul at 2021-04-24 21:28:41 GMT, last updated at 2021-06-18, ASCII Art by Andy Hood</i></p>
+<p class="quote"><i>Published at 2021-04-24T19:28:41+01:00; Updated at 2021-06-18</i></p>
+<p>ASCII Art by Andy Hood!</p>
<p>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:</p>
<a class="textlink" href="https://foo.zone">https://foo.zone</a><br />
<p>However, if you still use HTTP, you are just surfing the fallback HTML version of this capsule. In that case, I suggest reading on what this is all about :-).</p>
@@ -4095,13 +4192,13 @@ fi
<updated>2021-04-22T19:28:41+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>This article first appeared at the Mimecast Engineering Blog but I made it available here in my personal internet site too.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>DTail - The distributed log tail program</h1>
-<p class="quote"><i>Published by Paul at 2021-04-22 21:28:41 GMT, last updated at 2021-04-26</i></p>
+<p class="quote"><i>Published at 2021-04-22T19:28:41+01:00; Updated at 2021-04-26</i></p>
<a href="https://foo.zone/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program/title.png"><img alt="DTail logo image" title="DTail logo image" src="https://foo.zone/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program/title.png" /></a><br />
<p>This article first appeared at the Mimecast Engineering Blog but I made it available here in my personal internet site too.</p>
<a class="textlink" href="https://medium.com/mimecast-engineering/dtail-the-distributed-log-tail-program-79b8087904bb">Original Mimecast Engineering Blog post at Medium</a><br />
@@ -4176,13 +4273,13 @@ dtail –servers serverlist.txt –files ‘/var/log/*.log’ –regex ‘(?i:er
<updated>2018-06-01T14:50:29+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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. </summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Realistic load testing with I/O Riot for Linux</h1>
-<p class="quote"><i>Published by Paul at 2018-06-01 16:50:29 GMT, last updated at 2021-05-08</i></p>
+<p class="quote"><i>Published at 2018-06-01T14:50:29+01:00; Updated at 2021-05-08</i></p>
<pre>
.---.
/ \
@@ -4315,13 +4412,13 @@ Total time: 1213.00s
<updated>2016-11-20T22:10:57+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>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.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Object oriented programming with ANSI C</h1>
-<p class="quote"><i>Published by Paul at 2016-11-21 00:10:57 GMT, updated 2022-01-29</i></p>
+<p class="quote"><i>Published at 2016-11-20T22:10:57+00:00; Updated at 2022-01-29</i></p>
<pre>
___ ___ ____ ____
/ _ \ / _ \| _ \ / ___|
@@ -4407,13 +4504,13 @@ mult.calculate(mult,a,b));
<updated>2016-05-22T18:59:01+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>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.</summary>
+ <summary>Finally, I had time to deploy my 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 edit the DNS records (BIND files) manually. And they also allow you to set your authoritative DNS servers for your domains. From now, I am making use of that option.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Spinning up my own authoritative DNS servers</h1>
-<p class="quote"><i>Published by Paul at 2016-05-22 20:59:01 GMT</i></p>
+<p class="quote"><i>Published at 2016-05-22T18:59:01+01:00</i></p>
<h2>Background</h2>
<p>Finally, I had time to deploy my 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 edit the DNS records (BIND files) manually. And they also allow you to set your authoritative DNS servers for your domains. From now, I am making use of that option.</p>
<a class="textlink" href="http://www.schlundtech.de">Schlund Technologies</a><br />
@@ -4632,13 +4729,13 @@ apply Service "dig6" {
<updated>2016-04-16T22:43:42+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>I enhanced the procedure a bit. From now on I am having two external 2TB USB hard drives. Both are setup exactly the same way. To decrease the probability that they will not fail at about the same time both drives are of different brands. One drive is kept at the secret location. The other one is kept at home right next to my HP MicroServer. ...to read on visit my site.</summary>
+ <summary>I enhanced the procedure a bit. From now on, I have two external 2TB USB hard drives. Both are set up precisely the same way. To decrease the probability that both drives will not fail simultaneously, they are of different brands. One drive is kept at a secret location. The other one is held at home, right next to my HP MicroServer.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Offsite backup with ZFS (Part 2)</h1>
-<p class="quote"><i>Published by Paul at 2016-04-17 00:43:42 GMT</i></p>
+<p class="quote"><i>Published at 2016-04-16T22:43:42+01:00</i></p>
<pre>
________________
|# : : #|
@@ -4669,13 +4766,13 @@ apply Service "dig6" {
<updated>2016-04-09T18:29:47+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>Over the last couple of years I wrote quite a few Puppet modules in order to manage my personal server infrastructure. One of them manages FreeBSD Jails and another one ZFS file systems. I thought I would give a brief overview in how it looks and feels.. .....to read on please visit my site.</summary>
+ <summary>Over the last couple of years I wrote quite a few Puppet modules in order to manage my personal server infrastructure. One of them manages FreeBSD Jails and another one ZFS file systems. I thought I would give a brief overview in how it looks and feels.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Jails and ZFS with Puppet on FreeBSD</h1>
-<p class="quote"><i>Published by Paul at 2016-04-09 20:29:47 GMT</i></p>
+<p class="quote"><i>Published at 2016-04-09T18:29:47+01:00</i></p>
<pre>
__ __
(( \---/ ))
@@ -5048,13 +5145,13 @@ Notice: Finished catalog run in 206.09 seconds
<updated>2016-04-03T22:43:42+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>When it comes to data storage and potential data loss I am a paranoid person. It is not just due to my job but also due to a personal experience I encountered over 10 years ago: A single drive failure and loss of all my data (pictures, music, ....). ...to read on visit my site.</summary>
+ <summary>When it comes to data storage and potential data loss, I am a paranoid person. It is due to my job and a personal experience I encountered over ten years ago: A single drive failure and loss of all my data (pictures, music, etc.).</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Offsite backup with ZFS</h1>
-<p class="quote"><i>Published by Paul at 2016-04-04 00:43:42 GMT</i></p>
+<p class="quote"><i>Published at 2016-04-03T22:43:42+01:00</i></p>
<pre>
________________
|# : : #|
@@ -5091,13 +5188,13 @@ Notice: Finished catalog run in 206.09 seconds
<updated>2015-12-05T16:12:57+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>You can use the following tutorial to install a full blown Debian GNU/Linux Chroot on a LG G3 D855 CyanogenMod 13 (Android 6). First of all you need to have root permissions on your phone and you also need to have the developer mode activated. The following steps have been tested on Linux (Fedora 23). .....to read on please visit my site.</summary>
+ <summary>You can use the following tutorial to install a full-blown Debian GNU/Linux Chroot on an LG G3 D855 CyanogenMod 13 (Android 6). First of all, you need to have root permissions on your phone, and you also need to have the developer mode activated. The following steps have been tested on Linux (Fedora 23).</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Run Debian on your phone with Debroid</h1>
-<p class="quote"><i>Published by Paul at 2015-12-05 18:12:57 CEST, last updated at 2021-05-16</i></p>
+<p class="quote"><i>Published at 2015-12-05T16:12:57+00:00; Updated at 2021-05-16</i></p>
<pre>
____ _ _ _
| _ \ ___| |__ _ __ ___ (_) __| |
@@ -5249,19 +5346,19 @@ exit
</content>
</entry>
<entry>
- <title>The fibonacci.pl.c Polyglot</title>
+ <title>The fibonacci.pl.raku.c Polyglot</title>
<link href="https://foo.zone/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html" />
<id>https://foo.zone/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html</id>
<updated>2014-03-24T21:32:53+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>In computing, a polyglot is a computer program or script written in a valid form of multiple programming languages, which performs the same operations or output independent of the programming language used to compile or interpret it. .....to read on please visit my site.</summary>
+ <summary>In computing, a polyglot is a computer program or script written in a valid form of multiple programming languages, which performs the same operations or output independent of the programming language used to compile or interpret it.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>The fibonacci.pl.raku.c Polyglot</h1>
-<p class="quote"><i>Published by Paul at 2014-03-24 23:32:53 CEST, last updated at 2022-04-23</i></p>
+<p class="quote"><i>Published at 2014-03-24T21:32:53+00:00; Updated at 2022-04-23</i></p>
<p>In computing, a polyglot is a computer program or script written in a valid form of multiple programming languages, which performs the same operations or output independent of the programming language used to compile or interpret it.</p>
<a class="textlink" href="https://en.wikipedia.org/wiki/Polyglot_(computing)">https://en.wikipedia.org/wiki/Polyglot_(computing)</a><br />
<h2>The Fibonacci numbers</h2>
@@ -5397,13 +5494,13 @@ fib(10) = 55
<updated>2011-05-07T22:26:02+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>PerlDaemon is a minimal daemon for Linux and other Unix like operating systems programmed in Perl. It is a minimal but pretty functional and fairly generic service framework. This means that it does not do anything useful other than providing a framework for starting, stopping, configuring and logging. In order to do something a module (written in Perl) bust be provided.. .....to read on please visit my site.</summary>
+ <summary>PerlDaemon is a minimal daemon for Linux and other Unix like operating systems programmed in Perl. It is a minimal but pretty functional and fairly generic service framework. This means that it does not do anything useful other than providing a framework for starting, stopping, configuring and logging. To do something useful, a module (written in Perl) must be provided.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Perl Daemon (Service Framework)</h1>
-<p class="quote"><i>Published by Paul at 2011-05-08 00:26:02 CEST, last updated at 2021-05-07</i></p>
+<p class="quote"><i>Published at 2011-05-07T22:26:02+01:00; Updated at 2021-05-07</i></p>
<pre>
a'! _,,_ a'! _,,_ a'! _,,_
\\_/ \ \\_/ \ \\_/ \.-,
@@ -5543,13 +5640,13 @@ sub do ($) {
<updated>2010-05-09T12:48:29+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>Fype is an interpreted programming language created by me for learning and fun. The interpreter is written in C. It has been tested on FreeBSD and NetBSD and may also work on other Unix like operating systems such as Linux based ones. To be honest, besides learning and fun there is really no other use case of why Fype actually exists as many other programming languages are much faster and more powerful.. .....to read on please visit my site.</summary>
+ <summary>Fype is an interpreted programming language created by me for learning and fun. The interpreter is written in C. It has been tested on FreeBSD and NetBSD and may also work on other Unix like operating systems such as Linux based ones. Besides learning and fun, there is no other use case of why Fype exists as many other programming languages are much faster and more powerful.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>The Fype Programming Language</h1>
-<p class="quote"><i>Published by Paul at 2010-05-09 14:48:29 CEST, last updated at 2021-05-05</i></p>
+<p class="quote"><i>Published at 2010-05-09T12:48:29+01:00; Updated at 2021-05-05</i></p>
<pre>
____ _ __
/ / _|_ _ _ __ ___ _ _ ___ __ _| |__ / _|_ _
@@ -5958,13 +6055,13 @@ BB
<updated>2010-05-07T08:17:59+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>In contrast to Haskell, Standard SML does not use lazy evaluation by default, but strict evaluation. . .....to read on please visit my site.</summary>
+ <summary>In contrast to Haskell, Standard SML does not use lazy evaluation by default but an eager evaluation. </summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Lazy Evaluation with Standard ML</h1>
-<p class="quote"><i>Published by Paul at 2010-05-07 10:17:59 CEST</i></p>
+<p class="quote"><i>Published at 2010-05-07T08:17:59+01:00</i></p>
<pre>
_____|~~\_____ _____________
@@ -6058,13 +6155,13 @@ first 10 nat_pairs_not_null
<updated>2010-04-09T22:57:36+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>I am currently looking into the functional programming language Standard ML (aka SML). The purpose is to refresh my functional programming skills and to learn something new too. Since I already know a little Haskell, could I do not help myself and I implemented the same exercises in Haskell too.. .....to read on please visit my site.</summary>
+ <summary>I am currently looking into the functional programming language Standard ML (aka SML). The purpose is to refresh my functional programming skills and to learn something new too. Since I already knew a little Haskell, I could not help myself, and I also implemented the same exercises in Haskell.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Standard ML and Haskell</h1>
-<p class="quote"><i>Published by Paul at 2010-04-10 00:57:36 CEST</i></p>
+<p class="quote"><i>Published at 2010-04-09T22:57:36+01:00</i></p>
<p>I am currently looking into the functional programming language Standard ML (aka SML). The purpose is to refresh my functional programming skills and to learn something new too. Since I already knew a little Haskell, I could not help myself, and I also implemented the same exercises in Haskell.</p>
<p>As you will see, SML and Haskell are very similar (at least when it comes to the basics). However, the syntax of Haskell is a bit more "advanced". Haskell utilizes fewer keywords (e.g. no val, end, fun, fn ...). Haskell also allows to write down the function types explicitly. What I have been missing in SML so far is the so-called pattern guards. Although this is a very superficial comparison for now, so far, I like Haskell more than SML. Nevertheless, I thought it would be fun to demonstrate a few simple functions of both languages to show off the similarities. </p>
<p>Haskell is also a "pure functional" programming language, whereas SML also makes explicit use of imperative concepts. I am by far not a specialist in either of these languages, but here are a few functions implemented in both SML and Haskell:</p>
@@ -6212,13 +6309,13 @@ my_filter f l = foldr (make_filter_fn f) [] l
<updated>2008-12-29T09:10:41+00:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>The last week I was in Vidin, Bulgaria with no internet access and I had to fix my MTA (Postfix) at. .....to read on please visit my site.</summary>
+ <summary>The last week I was in Vidin, Bulgaria with no internet access and I had to fix my MTA (Postfix) at host.0.buetow.org which serves E-Mail for all my customers at P. B. Labs. Good, that I do not guarantee high availability on my web services (I've to do a full time job somewhere else too). </summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Using my Nokia N95 for fixing my MTA</h1>
-<p class="quote"><i>Published by Paul at 2008-12-29 11:10:41 CEST, last updated at 2021-12-01</i></p>
+<p class="quote"><i>Published at 2008-12-29T09:10:41+00:00; Updated at 2021-12-01</i></p>
<pre>
_
@@ -6258,13 +6355,13 @@ _jgs_\|//_\\|///_\V/_\|//__
<updated>2008-06-26T21:43:51+01:00</updated>
<author>
<name>Paul Buetow</name>
- <email>comments@mx.buetow.org</email>
+ <email>hi@paul.cyou</email>
</author>
- <summary>Here are some Perl Poems I wrote. They don't do anything useful when you run them but they don't produce a compiler error either. They only exists for fun and demonstrate what you can do with Perl syntax.. .....to read on please visit my site.</summary>
+ <summary>Here are some Perl Poems I wrote. They don't do anything useful when you run them, but they don't produce a compiler error either. They only exist for fun and demonstrate what you can do with Perl syntax.</summary>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
<h1>Perl Poetry</h1>
-<p class="quote"><i>Published by Paul at 2008-06-26 23:43:51 CEST, last updated at 2021-05-04</i></p>
+<p class="quote"><i>Published at 2008-06-26T21:43:51+01:00; Updated at 2021-05-04</i></p>
<pre>
'\|/' *
-- * -----
diff --git a/gemfeed/index.html b/gemfeed/index.html
index 0df75405..1181f2e6 100644
--- a/gemfeed/index.html
+++ b/gemfeed/index.html
@@ -10,6 +10,7 @@
<body>
<h1>Gemfeed of foo.zone</h1>
<h2>To be in the .zone!</h2>
+<a class="textlink" href="./2023-03-16-the-pragmatic-programmer-book-notes.html">2023-03-16 - 'The pragmatic programmer' book notes</a><br />
<a class="textlink" href="./2023-02-26-how-to-shut-down-after-work.html">2023-02-26 - How to shut down after work</a><br />
<a class="textlink" href="./2023-01-23-why-grapheneos-rox.html">2023-01-23 - Why GrapheneOS rox</a><br />
<a class="textlink" href="./2022-12-24-ultrarelearning-java-my-takeaways.html">2022-12-24 - Ultra(re)learning Java - My takeaways</a><br />