diff options
| author | Paul Buetow <paul@buetow.org> | 2022-04-23 10:07:45 +0100 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2022-04-23 10:07:45 +0100 |
| commit | 5d29f5fbd0671686d88ae7ba68a997326ae75932 (patch) | |
| tree | bd70d6cd4fe43bb80b540166b8ca97a2b71c8d90 | |
| parent | 531d15e44220bd4235f743616653a65654655966 (diff) | |
Publishing new version
| -rw-r--r-- | gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.md | 103 | ||||
| -rw-r--r-- | gemfeed/2021-09-12-keep-it-simple-and-stupid.md | 4 | ||||
| -rw-r--r-- | gemfeed/2022-04-10-creative-universe.md | 3 | ||||
| -rw-r--r-- | gemfeed/index.md | 2 | ||||
| -rw-r--r-- | index.md | 6 | ||||
| -rw-r--r-- | resources.md | 81 |
6 files changed, 121 insertions, 78 deletions
diff --git a/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.md b/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.md index bad85e9d..96dc6a1d 100644 --- a/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.md +++ b/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.md @@ -1,6 +1,6 @@ -# The fibonacci.pl.c Polyglot +# The fibonacci.pl.raku.c Polyglot -> Published by Paul at 2014-03-24 +> Published by Paul at 2014-03-24, last updated 2022-04-23 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. @@ -8,7 +8,7 @@ In computing, a polyglot is a computer program or script written in a valid form ## The Fibonacci numbers -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: +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: ``` #include <stdio.h> @@ -21,37 +21,36 @@ For fun, I programmed my own Polyglot, which is both valid Perl and C code. The 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 < 2) { - return $n; - } + if ($n < 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; - - for ($i = 0; $i <= 10; ++$i) { - $arg = $i; - printf("fib(%d) = %d\n", $i, fibonacci()); - } - - return 0; + hello(); + my $i = 0; + + while ($i <= 10) { + $arg = $i; + printf("fib(%d) = %d\n", $i, fibonacci()); + $i++; + } } ``` @@ -59,12 +58,13 @@ You can find the full source code at GitHub: [https://codeberg.org/snonux/perl-c-fibonacci](https://codeberg.org/snonux/perl-c-fibonacci) -### Let's run it with Perl: +### Let's run it with C and C++ ``` -❯ 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 @@ -78,16 +78,49 @@ 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! -### Let's compile it as C and run the binary: +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 +``` + +### Let's run it with Perl and Raku ``` -❯ 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.md b/gemfeed/2021-09-12-keep-it-simple-and-stupid.md index 9a141a27..ce8deb38 100644 --- a/gemfeed/2021-09-12-keep-it-simple-and-stupid.md +++ b/gemfeed/2021-09-12-keep-it-simple-and-stupid.md @@ -15,7 +15,7 @@ -------------------- -------------------- ``` -> Published by Paul at 2021-09-12, last updated at 2022-01-23 +> Published by Paul at 2021-09-12, last updated at 2022-04-21 A robust computer system must be kept simple and stupid (KISS). The fancier the system is, the more can break. Unfortunately, most systems tend to become complex and challenging to maintain in today's world. In the early days, so I was told, engineers understood every part of the system, but nowadays, we see more of the "lasagna" stack. One layer or framework is built on top of another layer, and in the end, nobody has got a clue what's going on. @@ -93,4 +93,6 @@ There is, however, a trap. The more you spend time with things, the more these t Enough ranted for now :-). E-Mail me your comments to paul at buetow dot org! +> Controversially, a lack of features is a feature. Enjoy your peace an quiet. - Michael W Lucas + [Go back to the main site](../) diff --git a/gemfeed/2022-04-10-creative-universe.md b/gemfeed/2022-04-10-creative-universe.md index 2e649af5..58f04691 100644 --- a/gemfeed/2022-04-10-creative-universe.md +++ b/gemfeed/2022-04-10-creative-universe.md @@ -21,7 +21,7 @@ - the universe ``` -> Published by Paul at 2022-04-10 +> Published by Paul at 2022-04-10, last updated at 2022-04-18 ## Prelude @@ -135,6 +135,7 @@ Relevant books I can recommend are: * Deep Work; Cal Newport; Piatkus * So Good They Can't Ignore You; Cal Newport; Business Plus * The Off Switch; Mark Cropley; Virgin Books +* Ultralearning; Scott Young; Thorsons E-Mail me your comments to paul at buetow dot org! diff --git a/gemfeed/index.md b/gemfeed/index.md index 026d34f6..171b0ab3 100644 --- a/gemfeed/index.md +++ b/gemfeed/index.md @@ -24,7 +24,7 @@ [2016-04-09 - Jails and ZFS with Puppet on FreeBSD](./2016-04-09-jails-and-zfs-on-freebsd-with-puppet.md) [2016-04-03 - Offsite backup with ZFS](./2016-04-03-offsite-backup-with-zfs.md) [2015-12-05 - Run Debian on your phone with Debroid](./2015-12-05-run-debian-on-your-phone-with-debroid.md) -[2014-03-24 - The fibonacci.pl.c Polyglot](./2014-03-24-the-fibonacci.pl.c-polyglot.md) +[2014-03-24 - The fibonacci.pl.raku.c Polyglot](./2014-03-24-the-fibonacci.pl.c-polyglot.md) [2011-05-07 - Perl Daemon (Service Framework)](./2011-05-07-perl-daemon-service-framework.md) [2010-05-09 - The Fype Programming Language](./2010-05-09-the-fype-programming-language.md) [2010-05-07 - Lazy Evaluation with Standard ML](./2010-05-07-lazy-evaluation-with-standarn-ml.md) @@ -21,6 +21,10 @@ /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ / /-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/-/ / ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +▒▒ ▒ ░▒▓▒░ ░▓▒█░░ ░▒ ▒░ ░░ ▓░▒ ▒ ▒▒ ▓▒█░░▒░▓ ░▒ ▒▒ ▓▒ +░ ░ ░░▒ ░ ▒▒ ░ ░ ░ ░ ▒ ░ ░ ▒ ▒▒ ░░░ ▒ ░░ ░▒ ▒░ +░ ░ ░░ ▒ ░ ░ ░ ░ ░ ▒ ░ ░ ░ ░░ ░ + ░ ░ ░░ ░ ░ ░ ░ ░ ░ ░ ░░ ░ ``` ## Why does this site look so old school? @@ -71,7 +75,7 @@ I have switched blog software multiple times. I might be backfilling some of the [2016-04-09 - Jails and ZFS with Puppet on FreeBSD](./gemfeed/2016-04-09-jails-and-zfs-on-freebsd-with-puppet.md) [2016-04-03 - Offsite backup with ZFS](./gemfeed/2016-04-03-offsite-backup-with-zfs.md) [2015-12-05 - Run Debian on your phone with Debroid](./gemfeed/2015-12-05-run-debian-on-your-phone-with-debroid.md) -[2014-03-24 - The fibonacci.pl.c Polyglot](./gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.md) +[2014-03-24 - The fibonacci.pl.raku.c Polyglot](./gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.md) [2011-05-07 - Perl Daemon (Service Framework)](./gemfeed/2011-05-07-perl-daemon-service-framework.md) [2010-05-09 - The Fype Programming Language](./gemfeed/2010-05-09-the-fype-programming-language.md) [2010-05-07 - Lazy Evaluation with Standard ML](./gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.md) diff --git a/resources.md b/resources.md index ff74cf24..6336c364 100644 --- a/resources.md +++ b/resources.md @@ -19,67 +19,70 @@ You won't find any links on this site because, over time, the links will break. ## Technical books -* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press -* The Pragmatic Programmer; David Thomas; Addison-Wesley * Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly -* Effective Java; Joshua Bloch; Addison-Wesley Professional - Currently reading -* Modern Perl; Chromatic ; Onyx Neon Press -* Site Reliability Engineering; How Google runs production systems; O'Reilly -* DNS and BIND; Cricket Liu; O'Reilly -* Concurrency in Go; Katherine Cox-Buday; O'Reilly -* Higher Order Perl; Mark Dominus; Morgan Kaufmann +* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson * Java ist auch eine Insel; Christian Ullenboom; -* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly +* Funktionale Programmierung; Peter Pepper; Springer +* Pro Git; Scott Chacon, Ben Straub; Apress +* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly +* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press +* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional +* Effective Java; Joshua Bloch; Addison-Wesley Professional +* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional * Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner +* Raku Recipes; J.J. Merelo; Apress +* Effective awk programming; Arnold Robbins; O'Reilly +* The Pragmatic Programmer; David Thomas; Addison-Wesley +* Concurrency in Go; Katherine Cox-Buday; O'Reilly +* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press +* The Docker Book; James Turnbull; Kindle +* DNS and BIND; Cricket Liu; O'Reilly * Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly -* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional -* Developing Games in Java; David Brackeen and others...; New Riders +* Modern Perl; Chromatic ; Onyx Neon Press * Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly +* C++ Programming Language; Bjarne Stroustrup; * Data Science at the Command Line; Jeroen Janssens; O'Reilly -* The Docker Book; James Turnbull; Kindle -* Effective awk programming; Arnold Robbins; O'Reilly -* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional -* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press -* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select +* Developing Games in Java; David Brackeen and others...; New Riders * Systemprogrammierung in Go; Frank Müller; dpunkt +* Higher Order Perl; Mark Dominus; Morgan Kaufmann +* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly * Pro Puppet; James Turnbull, Jeffrey McCune; Apress -* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson -* Pro Git; Scott Chacon, Ben Straub; Apress -* Funktionale Programmierung; Peter Pepper; Springer -* C++ Programming Language; Bjarne Stroustrup; -* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly +* Site Reliability Engineering; How Google runs production systems; O'Reilly -## Technical bibles +## Technical references I didn't read them from the beginning to the end, but I am using them to look up things. * The Linux Programming Interface; Michael Kerrisk; No Starch Press -* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly +* Relayd and Httpd Mastery; Michael W Lucas * Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley +* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly ## Self-development and soft-skills books +* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books +* Psycho-Cybernetics; Maxwell Maltz; Perigee Books +* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select +* The Joy of Missing Out; Christina Crook; New Society Publishers +* The Bullet Journal Method; Ryder Carroll; Fourth Estate +* Ultralearning; Anna Laurent; Self-published via Amazon +* Stop starting, start finishing; Arne Roock; Lean-Kanban University +* So Good They Can't Ignore You; Cal Newport; Business Plus +* Digital Minimalism; Cal Newport; Portofolio Penguin +* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd +* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business +* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK +* Soft Skills; John Sommez; Manning Publications * Deep Work; Cal Newport; Piatkus * Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion -* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook -* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press -* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business +* The Off Switch; Mark Cropley; Virgin Books +* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly * Eat That Frog!; Brian Tracy; Hodder Paperbacks -* Digital Minimalism; Cal Newport; Portofolio Penguin -* Stop starting, start finishing; Arne Roock; Lean-Kanban University -* Psycho-Cybernetics; Maxwell Maltz; Perigee Books -* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books +* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press * Atomic Habits; James Clear; Random House Business * Ultralearning; Scott Young; Thorsons -* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK -* So Good They Can't Ignore You; Cal Newport; Business Plus * The Power of Now; Eckhard Tolle; Yellow Kite -* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly -* The Joy of Missing Out; Christina Crook; New Society Publishers -* The Off Switch; Mark Cropley; Virgin Books -* The Bullet Journal Method; Ryder Carroll; Fourth Estate -* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd -* Soft Skills; John Sommez; Manning Publications +* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook ## Technical video lectures and courses @@ -139,7 +142,7 @@ My diploma thesis, "Object-oriented development of a GUI based tool for event-ba [https://codeberg.org/snonux/vs-sim](https://codeberg.org/snonux/vs-sim) -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. +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. 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!) |
