summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html102
-rw-r--r--gemfeed/2021-09-12-keep-it-simple-and-stupid.html3
-rw-r--r--gemfeed/2022-04-10-creative-universe.html3
-rw-r--r--gemfeed/atom.xml108
-rw-r--r--gemfeed/index.html2
-rw-r--r--index.html6
-rw-r--r--resources.html81
7 files changed, 192 insertions, 113 deletions
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 1f369aae..179cbafe 100644
--- a/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html
+++ b/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html
@@ -2,17 +2,17 @@
<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 fibonacci.pl.c Polyglot</title>
+<title>The fibonacci.pl.raku.c Polyglot</title>
<link rel="shortcut icon" type="image/gif" href="/favicon.ico" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
-<h1>The fibonacci.pl.c Polyglot</h1>
-<p class="quote"><i>Published by Paul at 2014-03-24</i></p>
+<h1>The fibonacci.pl.raku.c Polyglot</h1>
+<p class="quote"><i>Published by Paul at 2014-03-24, last updated 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>
-<p>For fun, I programmed my own Polyglot, which is both valid Perl and C code. The exciting part about C is that $ is a valid character to start variable names with:</p>
+<p>For fun, I programmed my own Polyglot, which is both valid Perl, Raku, C and C++ code (I have added C++ and Raku support in 2022). The exciting part about C and C++ is that $ is a valid character to start variable names with:</p>
<pre>
#include &lt;stdio.h&gt;
@@ -24,46 +24,64 @@
my $arg;
sub hello() {
- printf("Hello, welcome to Perl-C!\n");
- printf("This program is both valid C and Perl code!\n");
- printf("It calculates all fibonacci numbers from 0 to 9!\n\n");
- return 0;
+ printf("Hello, welcome to the Fibonacci Numbers!\n");
+ printf("This program is all, valid C and C++ and Perl and Raku code!\n");
+ printf("It calculates all fibonacci numbers from 0 to 9!\n\n");
+ return 0;
}
sub fibonacci() {
- my $n = $arg;
+ my $n = $arg;
- if ($n &lt; 2) {
- return $n;
- }
+ if ($n &lt; 2) {
+ return $n;
+ }
- $arg = $n - 1;
- my $fib1 = fibonacci();
- $arg = $n - 2;
- my $fib2 = fibonacci();
+ $arg = $n - 1;
+ my $fib1 = fibonacci();
+ $arg = $n - 2;
+ my $fib2 = fibonacci();
- return $fib1 + $fib2;
+ return $fib1 + $fib2;
}
BEGIN {
- hello();
- my $i = 0;
+ hello();
+ my $i = 0;
- for ($i = 0; $i &lt;= 10; ++$i) {
- $arg = $i;
- printf("fib(%d) = %d\n", $i, fibonacci());
- }
-
- return 0;
+ while ($i &lt;= 10) {
+ $arg = $i;
+ printf("fib(%d) = %d\n", $i, fibonacci());
+ $i++;
+ }
}
</pre>
<p>You can find the full source code at GitHub:</p>
<a class="textlink" href="https://codeberg.org/snonux/perl-c-fibonacci">https://codeberg.org/snonux/perl-c-fibonacci</a><br />
-<h3>Let's run it with Perl:</h3>
+<h3>Let's run it with C and C++</h3>
<pre>
-❯ perl fibonacci.pl.c
-Hello, welcome to Perl-C!
-This program is both valid C and Perl code!
+% gcc fibonacci.pl.raku.c -o fibonacci
+% ./fibonacci
+Hello, welcome to the Fibonacci Numbers!
+This program is all, valid C and C++ and Perl and Raku code!
+It calculates all fibonacci numbers from 0 to 9!
+
+fib(0) = 0
+fib(1) = 1
+fib(2) = 1
+fib(3) = 2
+fib(4) = 3
+fib(5) = 5
+fib(6) = 8
+fib(7) = 13
+fib(8) = 21
+fib(9) = 34
+fib(10) = 55
+
+% g++ fibonacci.pl.raku.c -o fibonacci
+% ./fibonacci
+Hello, welcome to the Fibonacci Numbers!
+This program is all, valid C and C++ and Perl and Raku code!
It calculates all fibonacci numbers from 0 to 9!
fib(0) = 0
@@ -78,12 +96,28 @@ fib(8) = 21
fib(9) = 34
fib(10) = 55
</pre>
-<h3>Let's compile it as C and run the binary:</h3>
+<h3>Let's run it with Perl and Raku</h3>
<pre>
-❯ gcc fibonacci.pl.c -o fibonacci
-❯ ./fibonacci
-Hello, welcome to Perl-C!
-This program is both valid C and Perl code!
+% perl fibonacci.pl.raku.c
+Hello, welcome to the Fibonacci Numbers!
+This program is all, valid C and C++ and Perl and Raku code!
+It calculates all fibonacci numbers from 0 to 9!
+
+fib(0) = 0
+fib(1) = 1
+fib(2) = 1
+fib(3) = 2
+fib(4) = 3
+fib(5) = 5
+fib(6) = 8
+fib(7) = 13
+fib(8) = 21
+fib(9) = 34
+fib(10) = 55
+
+% raku fibonacci.pl.raku.c
+Hello, welcome to the Fibonacci Numbers!
+This program is all, valid C and C++ and Perl and Raku code!
It calculates all fibonacci numbers from 0 to 9!
fib(0) = 0
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 f1eb0c8d..61ff5485 100644
--- a/gemfeed/2021-09-12-keep-it-simple-and-stupid.html
+++ b/gemfeed/2021-09-12-keep-it-simple-and-stupid.html
@@ -22,7 +22,7 @@
/ ************ \ / ************ \
-------------------- --------------------
</pre>
-<p class="quote"><i>Published by Paul at 2021-09-12, last updated at 2022-01-23</i></p>
+<p class="quote"><i>Published by Paul at 2021-09-12, last updated at 2022-04-21</i></p>
<p>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.</p>
<h1>Need faster hardware</h1>
<p>This not just makes the system much more complex, difficult to maintain and challenging to troubleshoot, but also slow. So more experts are needed to support it. Also, newer and faster hardware is required to make it run smoothly. Often, it's so much easier to buy speedier hardware than rewrite a whole system from scratch from the bottom-up. The latter would require much more resources in the short run, but in the long run, it should pay off. Unfortunately, many project owners scare away from it as they only want to get their project done and then move on.</p>
@@ -61,6 +61,7 @@
<h2>Other relevant readings</h2>
<a class="textlink" href="https://unixsheikh.com/articles/is-the-madness-ever-going-to-end.html">Is the madness ever going to end?</a><br />
<p>Enough ranted for now :-). E-Mail me your comments to paul at buetow dot org!</p>
+<p class="quote"><i>Controversially, a lack of features is a feature. Enjoy your peace an quiet. - Michael W Lucas </i></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> |
diff --git a/gemfeed/2022-04-10-creative-universe.html b/gemfeed/2022-04-10-creative-universe.html
index d1261515..bef662b0 100644
--- a/gemfeed/2022-04-10-creative-universe.html
+++ b/gemfeed/2022-04-10-creative-universe.html
@@ -28,7 +28,7 @@
. . . . . . . . + . . +
- the universe
</pre>
-<p class="quote"><i>Published by Paul at 2022-04-10</i></p>
+<p class="quote"><i>Published by Paul at 2022-04-10, last updated at 2022-04-18</i></p>
<h2>Prelude</h2>
<p>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:</p>
<a class="textlink" href="./2021-04-22-dtail-the-distributed-log-tail-program.html">DTail - The distributed log tail program</a><br />
@@ -96,6 +96,7 @@ learn () {
<li>Deep Work; Cal Newport; Piatkus</li>
<li>So Good They Can't Ignore You; Cal Newport; Business Plus</li>
<li>The Off Switch; Mark Cropley; Virgin Books</li>
+<li>Ultralearning; Scott Young; Thorsons</li>
</ul>
<p>E-Mail me your comments to paul at buetow dot org!</p>
<a class="textlink" href="../">Go back to the main site</a><br />
diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml
index c8c9a95b..0ff62248 100644
--- a/gemfeed/atom.xml
+++ b/gemfeed/atom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
- <updated>2022-04-10T14:14:10+01:00</updated>
+ <updated>2022-04-23T10:02:42+01:00</updated>
<title>foo.zone feed</title>
<subtitle>To be in the .zone!</subtitle>
<link href="https://foo.zone/gemfeed/atom.xml" rel="self" />
@@ -39,7 +39,7 @@
. . . . . . . . + . . +
- the universe
</pre>
-<p class="quote"><i>Published by Paul at 2022-04-10</i></p>
+<p class="quote"><i>Published by Paul at 2022-04-10, last updated at 2022-04-18</i></p>
<h2>Prelude</h2>
<p>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:</p>
<a class="textlink" href="https://foo.zone/gemfeed/2021-04-22-dtail-the-distributed-log-tail-program.html">DTail - The distributed log tail program</a><br />
@@ -107,6 +107,7 @@ learn () {
<li>Deep Work; Cal Newport; Piatkus</li>
<li>So Good They Can't Ignore You; Cal Newport; Business Plus</li>
<li>The Off Switch; Mark Cropley; Virgin Books</li>
+<li>Ultralearning; Scott Young; Thorsons</li>
</ul>
<p>E-Mail me your comments to paul at buetow dot org!</p>
</div>
@@ -1570,7 +1571,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
/ ************ \ / ************ \
-------------------- --------------------
</pre>
-<p class="quote"><i>Published by Paul at 2021-09-12, last updated at 2022-01-23</i></p>
+<p class="quote"><i>Published by Paul at 2021-09-12, last updated at 2022-04-21</i></p>
<p>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.</p>
<h1>Need faster hardware</h1>
<p>This not just makes the system much more complex, difficult to maintain and challenging to troubleshoot, but also slow. So more experts are needed to support it. Also, newer and faster hardware is required to make it run smoothly. Often, it's so much easier to buy speedier hardware than rewrite a whole system from scratch from the bottom-up. The latter would require much more resources in the short run, but in the long run, it should pay off. Unfortunately, many project owners scare away from it as they only want to get their project done and then move on.</p>
@@ -1609,6 +1610,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
<h2>Other relevant readings</h2>
<a class="textlink" href="https://unixsheikh.com/articles/is-the-madness-ever-going-to-end.html">Is the madness ever going to end?</a><br />
<p>Enough ranted for now :-). E-Mail me your comments to paul at buetow dot org!</p>
+<p class="quote"><i>Controversially, a lack of features is a feature. Enjoy your peace an quiet. - Michael W Lucas </i></p>
</div>
</content>
</entry>
@@ -3458,12 +3460,12 @@ exit
<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>
<content type="xhtml">
<div xmlns="http://www.w3.org/1999/xhtml">
- <h1>The fibonacci.pl.c Polyglot</h1>
-<p class="quote"><i>Published by Paul at 2014-03-24</i></p>
+ <h1>The fibonacci.pl.raku.c Polyglot</h1>
+<p class="quote"><i>Published by Paul at 2014-03-24, last updated 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>
-<p>For fun, I programmed my own Polyglot, which is both valid Perl and C code. The exciting part about C is that $ is a valid character to start variable names with:</p>
+<p>For fun, I programmed my own Polyglot, which is both valid Perl, Raku, C and C++ code (I have added C++ and Raku support in 2022). The exciting part about C and C++ is that $ is a valid character to start variable names with:</p>
<pre>
#include &lt;stdio.h&gt;
@@ -3475,46 +3477,64 @@ exit
my $arg;
sub hello() {
- printf("Hello, welcome to Perl-C!\n");
- printf("This program is both valid C and Perl code!\n");
- printf("It calculates all fibonacci numbers from 0 to 9!\n\n");
- return 0;
+ printf("Hello, welcome to the Fibonacci Numbers!\n");
+ printf("This program is all, valid C and C++ and Perl and Raku code!\n");
+ printf("It calculates all fibonacci numbers from 0 to 9!\n\n");
+ return 0;
}
sub fibonacci() {
- my $n = $arg;
+ my $n = $arg;
- if ($n &lt; 2) {
- return $n;
- }
+ if ($n &lt; 2) {
+ return $n;
+ }
- $arg = $n - 1;
- my $fib1 = fibonacci();
- $arg = $n - 2;
- my $fib2 = fibonacci();
+ $arg = $n - 1;
+ my $fib1 = fibonacci();
+ $arg = $n - 2;
+ my $fib2 = fibonacci();
- return $fib1 + $fib2;
+ return $fib1 + $fib2;
}
BEGIN {
- hello();
- my $i = 0;
+ hello();
+ my $i = 0;
- for ($i = 0; $i &lt;= 10; ++$i) {
- $arg = $i;
- printf("fib(%d) = %d\n", $i, fibonacci());
- }
-
- return 0;
+ while ($i &lt;= 10) {
+ $arg = $i;
+ printf("fib(%d) = %d\n", $i, fibonacci());
+ $i++;
+ }
}
</pre>
<p>You can find the full source code at GitHub:</p>
<a class="textlink" href="https://codeberg.org/snonux/perl-c-fibonacci">https://codeberg.org/snonux/perl-c-fibonacci</a><br />
-<h3>Let's run it with Perl:</h3>
+<h3>Let's run it with C and C++</h3>
<pre>
-❯ perl fibonacci.pl.c
-Hello, welcome to Perl-C!
-This program is both valid C and Perl code!
+% gcc fibonacci.pl.raku.c -o fibonacci
+% ./fibonacci
+Hello, welcome to the Fibonacci Numbers!
+This program is all, valid C and C++ and Perl and Raku code!
+It calculates all fibonacci numbers from 0 to 9!
+
+fib(0) = 0
+fib(1) = 1
+fib(2) = 1
+fib(3) = 2
+fib(4) = 3
+fib(5) = 5
+fib(6) = 8
+fib(7) = 13
+fib(8) = 21
+fib(9) = 34
+fib(10) = 55
+
+% g++ fibonacci.pl.raku.c -o fibonacci
+% ./fibonacci
+Hello, welcome to the Fibonacci Numbers!
+This program is all, valid C and C++ and Perl and Raku code!
It calculates all fibonacci numbers from 0 to 9!
fib(0) = 0
@@ -3529,12 +3549,28 @@ fib(8) = 21
fib(9) = 34
fib(10) = 55
</pre>
-<h3>Let's compile it as C and run the binary:</h3>
+<h3>Let's run it with Perl and Raku</h3>
<pre>
-❯ gcc fibonacci.pl.c -o fibonacci
-❯ ./fibonacci
-Hello, welcome to Perl-C!
-This program is both valid C and Perl code!
+% perl fibonacci.pl.raku.c
+Hello, welcome to the Fibonacci Numbers!
+This program is all, valid C and C++ and Perl and Raku code!
+It calculates all fibonacci numbers from 0 to 9!
+
+fib(0) = 0
+fib(1) = 1
+fib(2) = 1
+fib(3) = 2
+fib(4) = 3
+fib(5) = 5
+fib(6) = 8
+fib(7) = 13
+fib(8) = 21
+fib(9) = 34
+fib(10) = 55
+
+% raku fibonacci.pl.raku.c
+Hello, welcome to the Fibonacci Numbers!
+This program is all, valid C and C++ and Perl and Raku code!
It calculates all fibonacci numbers from 0 to 9!
fib(0) = 0
diff --git a/gemfeed/index.html b/gemfeed/index.html
index 68e1b8ee..587b4611 100644
--- a/gemfeed/index.html
+++ b/gemfeed/index.html
@@ -31,7 +31,7 @@
<a class="textlink" href="./2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html">2016-04-09 - Jails and ZFS with Puppet on FreeBSD</a><br />
<a class="textlink" href="./2016-04-03-offsite-backup-with-zfs.html">2016-04-03 - Offsite backup with ZFS</a><br />
<a class="textlink" href="./2015-12-05-run-debian-on-your-phone-with-debroid.html">2015-12-05 - Run Debian on your phone with Debroid</a><br />
-<a class="textlink" href="./2014-03-24-the-fibonacci.pl.c-polyglot.html">2014-03-24 - The fibonacci.pl.c Polyglot</a><br />
+<a class="textlink" href="./2014-03-24-the-fibonacci.pl.c-polyglot.html">2014-03-24 - The fibonacci.pl.raku.c Polyglot</a><br />
<a class="textlink" href="./2011-05-07-perl-daemon-service-framework.html">2011-05-07 - Perl Daemon (Service Framework)</a><br />
<a class="textlink" href="./2010-05-09-the-fype-programming-language.html">2010-05-09 - The Fype Programming Language</a><br />
<a class="textlink" href="./2010-05-07-lazy-evaluation-with-standarn-ml.html">2010-05-07 - Lazy Evaluation with Standard ML</a><br />
diff --git a/index.html b/index.html
index 14ed971a..11bc2cbc 100644
--- a/index.html
+++ b/index.html
@@ -29,6 +29,10 @@
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ /
/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ /
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+β–’β–’ β–’ β–‘β–’β–“β–’β–‘ β–‘β–“β–’β–ˆβ–‘β–‘ β–‘β–’ β–’β–‘ β–‘β–‘ β–“β–‘β–’ β–’ β–’β–’ β–“β–’β–ˆβ–‘β–‘β–’β–‘β–“ β–‘β–’ β–’β–’ β–“β–’
+β–‘ β–‘ β–‘β–‘β–’ β–‘ β–’β–’ β–‘ β–‘ β–‘ β–‘ β–’ β–‘ β–‘ β–’ β–’β–’ β–‘β–‘β–‘ β–’ β–‘β–‘ β–‘β–’ β–’β–‘
+β–‘ β–‘ β–‘β–‘ β–’ β–‘ β–‘ β–‘ β–‘ β–‘ β–’ β–‘ β–‘ β–‘ β–‘β–‘ β–‘
+ β–‘ β–‘ β–‘β–‘ β–‘ β–‘ β–‘ β–‘ β–‘ β–‘ β–‘ β–‘β–‘ β–‘
</pre>
<h2>Why does this site look so old school?</h2>
<p>If you reach this site via the modern web, please read this:</p>
@@ -66,7 +70,7 @@
<a class="textlink" href="./gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html">2016-04-09 - Jails and ZFS with Puppet on FreeBSD</a><br />
<a class="textlink" href="./gemfeed/2016-04-03-offsite-backup-with-zfs.html">2016-04-03 - Offsite backup with ZFS</a><br />
<a class="textlink" href="./gemfeed/2015-12-05-run-debian-on-your-phone-with-debroid.html">2015-12-05 - Run Debian on your phone with Debroid</a><br />
-<a class="textlink" href="./gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html">2014-03-24 - The fibonacci.pl.c Polyglot</a><br />
+<a class="textlink" href="./gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html">2014-03-24 - The fibonacci.pl.raku.c Polyglot</a><br />
<a class="textlink" href="./gemfeed/2011-05-07-perl-daemon-service-framework.html">2011-05-07 - Perl Daemon (Service Framework)</a><br />
<a class="textlink" href="./gemfeed/2010-05-09-the-fype-programming-language.html">2010-05-09 - The Fype Programming Language</a><br />
<a class="textlink" href="./gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html">2010-05-07 - Lazy Evaluation with Standard ML</a><br />
diff --git a/resources.html b/resources.html
index 0404d40b..ac650beb 100644
--- a/resources.html
+++ b/resources.html
@@ -23,66 +23,69 @@
</pre>
<h2>Technical books</h2>
<ul>
-<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li>
-<li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li>
<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall &amp; Jon Orwant; O'Reilly</li>
-<li>Effective Java; Joshua Bloch; Addison-Wesley Professional - Currently reading</li>
-<li>Modern Perl; Chromatic ; Onyx Neon Press</li>
-<li>Site Reliability Engineering; How Google runs production systems; O'Reilly</li>
-<li>DNS and BIND; Cricket Liu; O'Reilly</li>
-<li>Concurrency in Go; Katherine Cox-Buday; O'Reilly</li>
-<li>Higher Order Perl; Mark Dominus; Morgan Kaufmann</li>
+<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li>
<li>Java ist auch eine Insel; Christian Ullenboom; </li>
-<li>Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly</li>
+<li>Funktionale Programmierung; Peter Pepper; Springer</li>
+<li>Pro Git; Scott Chacon, Ben Straub; Apress</li>
+<li>21st Century C: C Tips from the New School; Ben Klemens; O'Reilly</li>
+<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li>
+<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li>
+<li>Effective Java; Joshua Bloch; Addison-Wesley Professional</li>
+<li>The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional</li>
<li>Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner</li>
+<li>Raku Recipes; J.J. Merelo; Apress</li>
+<li>Effective awk programming; Arnold Robbins; O'Reilly</li>
+<li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li>
+<li>Concurrency in Go; Katherine Cox-Buday; O'Reilly</li>
+<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li>
+<li>The Docker Book; James Turnbull; Kindle</li>
+<li>DNS and BIND; Cricket Liu; O'Reilly</li>
<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly</li>
-<li>The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional</li>
-<li>Developing Games in Java; David Brackeen and others...; New Riders</li>
+<li>Modern Perl; Chromatic ; Onyx Neon Press</li>
<li>Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly</li>
+<li>C++ Programming Language; Bjarne Stroustrup;</li>
<li>Data Science at the Command Line; Jeroen Janssens; O'Reilly</li>
-<li>The Docker Book; James Turnbull; Kindle</li>
-<li>Effective awk programming; Arnold Robbins; O'Reilly</li>
-<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li>
-<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li>
-<li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li>
+<li>Developing Games in Java; David Brackeen and others...; New Riders</li>
<li>Systemprogrammierung in Go; Frank MΓΌller; dpunkt</li>
+<li>Higher Order Perl; Mark Dominus; Morgan Kaufmann</li>
+<li>Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly</li>
<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li>
-<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li>
-<li>Pro Git; Scott Chacon, Ben Straub; Apress</li>
-<li>Funktionale Programmierung; Peter Pepper; Springer</li>
-<li>C++ Programming Language; Bjarne Stroustrup;</li>
-<li>21st Century C: C Tips from the New School; Ben Klemens; O'Reilly</li>
+<li>Site Reliability Engineering; How Google runs production systems; O'Reilly</li>
</ul>
-<h2>Technical bibles</h2>
+<h2>Technical references</h2>
<p>I didn't read them from the beginning to the end, but I am using them to look up things.</p>
<ul>
<li>The Linux Programming Interface; Michael Kerrisk; No Starch Press</li>
-<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly</li>
+<li>Relayd and Httpd Mastery; Michael W Lucas</li>
<li>Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley</li>
+<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly</li>
</ul>
<h2>Self-development and soft-skills books</h2>
<ul>
+<li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li>
+<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li>
+<li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li>
+<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li>
+<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li>
+<li>Ultralearning; Anna Laurent; Self-published via Amazon</li>
+<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University</li>
+<li>So Good They Can't Ignore You; Cal Newport; Business Plus</li>
+<li>Digital Minimalism; Cal Newport; Portofolio Penguin</li>
+<li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li>
+<li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li>
+<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon &amp; Schuster UK</li>
+<li>Soft Skills; John Sommez; Manning Publications</li>
<li>Deep Work; Cal Newport; Piatkus</li>
<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion</li>
-<li>The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook</li>
-<li>Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press</li>
-<li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li>
+<li>The Off Switch; Mark Cropley; Virgin Books</li>
+<li>Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly</li>
<li>Eat That Frog!; Brian Tracy; Hodder Paperbacks</li>
-<li>Digital Minimalism; Cal Newport; Portofolio Penguin</li>
-<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University</li>
-<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li>
-<li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li>
+<li>Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press</li>
<li>Atomic Habits; James Clear; Random House Business</li>
<li>Ultralearning; Scott Young; Thorsons</li>
-<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon &amp; Schuster UK</li>
-<li>So Good They Can't Ignore You; Cal Newport; Business Plus</li>
<li>The Power of Now; Eckhard Tolle; Yellow Kite</li>
-<li>Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly</li>
-<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li>
-<li>The Off Switch; Mark Cropley; Virgin Books</li>
-<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li>
-<li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li>
-<li>Soft Skills; John Sommez; Manning Publications</li>
+<li>The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook</li>
</ul>
<h2>Technical video lectures and courses</h2>
<p>Some of these were in-person with exams; others were online learning lectures only.</p>
@@ -132,7 +135,7 @@
</ul>
<p>My diploma thesis, "Object-oriented development of a GUI based tool for event-based simulation of distributed systems," can be found at:</p>
<a class="textlink" href="https://codeberg.org/snonux/vs-sim">https://codeberg.org/snonux/vs-sim</a><br />
-<p>I was one of the last students handed out an "old fashioned" German Diploma degree before the University switched to the international Bachelor and Master versions. To give you an idea: The "Diplom-Inform. (FH)" means translated "Diploma in Informatics from a University of Applied Sciences (FH: Fachhochschule)". Going after the international student credit score, it settles between a Bachelor of Computer Science and a Master of Computer Science degree. </p>
+<p>I was one of the last students handed out an "old fashioned" German Diploma degree before the University switched to the international Bachelor and Master versions. To give you an idea: The "Diplom-Inform. (FH)" means translated "Diploma in Informatics from a University of Applied Sciences (FH: Fachhochschule)". Going after the international student credit score, it can be seen as an equivalent to a "Master in Computer Science" degree.</p>
<p>Colleges and Universities are costly in many countries. Come to Germany, the first college degree is for free (if you finish within a certain deadline!)</p>
<a class="textlink" href="./">Go back to the main site</a><br />
<p class="footer">