diff options
| author | Paul Buetow <paul@buetow.org> | 2023-05-28 00:01:27 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2023-05-28 00:01:27 +0300 |
| commit | 5b2deaa0e51468a04a3c7c72ad8e5181a8e804e2 (patch) | |
| tree | 5e4437db2debeecd31686916c2b3bd79d0c78ae5 /gemfeed | |
| parent | de7e5d7c4c6f85a1516b573f471351e6db5c1334 (diff) | |
Update content for html
Diffstat (limited to 'gemfeed')
45 files changed, 862 insertions, 9013 deletions
diff --git a/gemfeed/2008-06-26-perl-poetry.html b/gemfeed/2008-06-26-perl-poetry.html index d36cb205..ef395f4b 100644 --- a/gemfeed/2008-06-26-perl-poetry.html +++ b/gemfeed/2008-06-26-perl-poetry.html @@ -13,19 +13,19 @@ <span class='quote'>Published at 2008-06-26T21:43:51+01:00; Updated at 2021-05-04</span><br /> <br /> <pre> - '\|/' * + '\|/' * -- * ----- /|\ ____ - ' | ' {_ o^> * + ' | ' {_ o^> * : -_ /) - : ( ( .-''`'. + : ( ( .-''`'. . \ \ / \ . \ \ / \ - \ `-' `'. - \ . ' / `. - \ ( \ ) ( .') - ,, t '. | / | ( - '|``_/^\___ '| |`'-..-'| ( () + \ `-' `'. + \ . ' / `. + \ ( \ ) ( .') + ,, t '. | / | ( + '|``_/^\___ '| |`'-..-'| ( () _~~|~/_|_|__/|~~~~~~~ | / ~~~~~ | | ~~~~~~~~ -_ |L[|]L|/ | |\ MJP ) ) ( |( / /| @@ -35,7 +35,7 @@ _~~|~/_|_|__/|~~~~~~~ | / ~~~~~ | | ~~~~~~~~ (__) (____) </pre> <br /> -<span>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.</span><br /> +<span>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.</span><br /> <br /> <span>Wikipedia: "Perl poetry is the practice of writing poems that can be compiled as legal Perl code, for example the piece known as Black Perl. Perl poetry is made possible by the large number of English words that are used in the Perl language. New poems are regularly submitted to the community at PerlMonks."</span><br /> <br /> 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 6a4a2e58..500d03ea 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 @@ -28,7 +28,7 @@ _jgs_\|//_\\|///_\V/_\|//__ Art by Joan Stark </pre> <br /> -<span>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). </span><br /> +<span>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). </span><br /> <br /> <span>My first attempt to find an internet café, which was working during Christmastime, failed. However, I found with my N95 phone lots of free WLAN hotspots. The hotspots refused me logging into my server using SSH as I have configured a non-standard port for SSH for security reasons. Without knowing the costs, I used the GPRS internet access of my German phone provider (yes, I had to pay roaming fees). </span><br /> <br /> 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 666db775..d92309d4 100644 --- a/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html +++ b/gemfeed/2010-05-07-lazy-evaluation-with-standarn-ml.html @@ -20,7 +20,7 @@ _- | ) / |--| | | __-_______________ /__/_______| |_________ ( |---- | | - `---------------'--\\\\ .`--' -Glyde- + `---------------'--\\\\ .`--' -Glyde- `|||| </pre> <br /> diff --git a/gemfeed/2010-05-09-the-fype-programming-language.html b/gemfeed/2010-05-09-the-fype-programming-language.html index 0a76ac6e..227081df 100644 --- a/gemfeed/2010-05-09-the-fype-programming-language.html +++ b/gemfeed/2010-05-09-the-fype-programming-language.html @@ -15,7 +15,7 @@ <pre> ____ _ __ / / _|_ _ _ __ ___ _ _ ___ __ _| |__ / _|_ _ - / / |_| | | | '_ \ / _ \ | | | |/ _ \/ _` | '_ \ | |_| | | | + / / |_| | | | '_ \ / _ \ | | | |/ _ \/ _` | '_ \ | |_| | | | _ / /| _| |_| | |_) | __/ | |_| | __/ (_| | | | |_| _| |_| | (_)_/ |_| \__, | .__/ \___| \__, |\___|\__,_|_| |_(_)_| \__, | |___/|_| |___/ |___/ @@ -25,7 +25,7 @@ <br /> <span>The Fype syntax is straightforward and uses a maximum look ahead of 1 and an effortless top-down parsing mechanism. Fype is parsing and interpreting its code simultaneously. This means that syntax errors are only detected during program runtime. </span><br /> <br /> -<span>Fype is a recursive acronym and means "Fype is For Your Program Execution" or "Fype is Free Yak Programmed for ELF". You could also say, "It's not a hype - it's Fype!".</span><br /> +<span>Fype is a recursive acronym and means "Fype is For Your Program Execution" or "Fype is Free Yak Programmed for ELF". You could also say, "It's not a hype - it's Fype!".</span><br /> <br /> <h2 style='display: inline'>Object-oriented C style</h2><br /> <br /> @@ -102,7 +102,7 @@ http://www.gnu.org/software/src-highlite --> <br /> <h2 style='display: inline'>Data types</h2><br /> <br /> -<span>Fype uses auto type conversion. However, if you want to know what's going on, you may take a look at the following basic data types:</span><br /> +<span>Fype uses auto type conversion. However, if you want to know what's going on, you may take a look at the following basic data types:</span><br /> <ul> <li>integer - Specifies a number</li> <li>double - Specifies a double-precision number</li> @@ -110,7 +110,7 @@ http://www.gnu.org/software/src-highlite --> <li>number - May be an integer or a double number</li> <li>any- May be any type above</li> <li>void - No type</li> -<li>identifier - It's a variable name or a procedure name, or a function name</li> +<li>identifier - It's a variable name or a procedure name, or a function name</li> </ul><br /> <span>There is no boolean type, but we can use the integer values 0 for false and 1 for true. There is support for explicit type casting too.</span><br /> <br /> @@ -122,7 +122,7 @@ http://www.gnu.org/software/src-highlite --> <br /> <h3 style='display: inline'>Variables</h3><br /> <br /> -<span>Variables are defined with the "my" keyword (inspired by Perl :-). If you don't assign a value during declaration, it uses the default integer value 0. Variables may be changed during program runtime. Variables may be deleted using the "undef" keyword! Example:</span><br /> +<span>Variables are defined with the "my" keyword (inspired by Perl :-). If you don't assign a value during declaration, it uses the default integer value 0. Variables may be changed during program runtime. Variables may be deleted using the "undef" keyword! Example:</span><br /> <br /> <pre> my foo = 1 + 2; @@ -164,7 +164,7 @@ foo = "bar"; assert "bar" == bar; </pre> <br /> -<span>Synonyms can be used for all kind of identifiers. It's not limited to standard variables but can also be used for function and procedure names (more about functions and procedures later).</span><br /> +<span>Synonyms can be used for all kind of identifiers. It's not limited to standard variables but can also be used for function and procedure names (more about functions and procedures later).</span><br /> <br /> <pre> # Create a new procedure baz @@ -419,7 +419,7 @@ if pid { <br /> <h3 style='display: inline'>Procedures</h3><br /> <br /> -<span>A procedure can be defined with the "proc" keyword and deleted with the "undef" keyword. A procedure does not return any value and does not support parameter passing. It's using already defined variables (e.g. global variables). A procedure does not have its own namespace. It's using the calling namespace. It is possible to define new variables inside of a procedure in the current namespace.</span><br /> +<span>A procedure can be defined with the "proc" keyword and deleted with the "undef" keyword. A procedure does not return any value and does not support parameter passing. It's using already defined variables (e.g. global variables). A procedure does not have its own namespace. It's using the calling namespace. It is possible to define new variables inside of a procedure in the current namespace.</span><br /> <br /> <pre> proc foo { @@ -435,7 +435,7 @@ say c; # Print out "6\n"; <br /> <h3 style='display: inline'>Nested procedures</h3><br /> <br /> -<span>It's possible to define procedures inside of procedures. Since procedures don't have their own scope, nested procedures will be available to the current scope as soon as the main procedure has run the first time. You may use the "defined" keyword to check if a procedure has been defined or not.</span><br /> +<span>It's possible to define procedures inside of procedures. Since procedures don't have their own scope, nested procedures will be available to the current scope as soon as the main procedure has run the first time. You may use the "defined" keyword to check if a procedure has been defined or not.</span><br /> <br /> <pre> proc foo { @@ -458,7 +458,7 @@ foo; # Here the procedure foo will redefine bar again! <br /> <h3 style='display: inline'>Functions</h3><br /> <br /> -<span>A function can be defined with the "func" keyword and deleted with the "undef" keyword. Function do not yet return values and do not yet supports parameter passing. It's using local (lexical scoped) variables. If a certain variable does not exist, when It's using already defined variables (e.g. one scope above). </span><br /> +<span>A function can be defined with the "func" keyword and deleted with the "undef" keyword. Function do not yet return values and do not yet supports parameter passing. It's using local (lexical scoped) variables. If a certain variable does not exist, when It's using already defined variables (e.g. one scope above). </span><br /> <br /> <pre> func foo { diff --git a/gemfeed/2011-05-07-perl-daemon-service-framework.html b/gemfeed/2011-05-07-perl-daemon-service-framework.html index 7fef9c30..5c41d0b2 100644 --- a/gemfeed/2011-05-07-perl-daemon-service-framework.html +++ b/gemfeed/2011-05-07-perl-daemon-service-framework.html @@ -13,9 +13,9 @@ <span class='quote'>Published at 2011-05-07T22:26:02+01:00; Updated at 2021-05-07</span><br /> <br /> <pre> - a'! _,,_ a'! _,,_ a'! _,,_ + a'! _,,_ a'! _,,_ a'! _,,_ \\_/ \ \\_/ \ \\_/ \.-, - \, /-( /'-,\, /-( /'-, \, /-( / + \, /-( /'-,\, /-( /'-, \, /-( / //\ //\\ //\ //\\ //\ //\\jrei </pre> <br /> @@ -89,7 +89,7 @@ daemon<font color="#990000">.</font><font color="#009900">wd</font><font color=" <br /> <h2 style='display: inline'>Example </h2><br /> <br /> -<span>So let's start the daemon with a loop interval of 10 seconds:</span><br /> +<span>So let's start the daemon with a loop interval of 10 seconds:</span><br /> <br /> <!-- Generator: GNU source-highlight 3.1.9 by Lorenzo Bettini @@ -164,7 +164,7 @@ http://www.gnu.org/software/src-highlite --> <br /> <h3 style='display: inline'>Your own module</h3><br /> <br /> -<span>Want to give it some better use? It's just as easy as:</span><br /> +<span>Want to give it some better use? It's just as easy as:</span><br /> <br /> <!-- Generator: GNU source-highlight 3.1.9 by Lorenzo Bettini @@ -177,7 +177,7 @@ http://www.gnu.org/software/src-highlite --> <font color="#990000">.</font>/bin/perldaemon restart <font color="#990000">(</font>or shortcurt <font color="#990000">.</font>/control restart<font color="#990000">)</font> </pre> <br /> -<span>Now watch <span class='inlinecode'>./log/perldaemon.log</span> closely. It is a good practice to test your modules in 'foreground mode' (see above how to do that).</span><br /> +<span>Now watch <span class='inlinecode'>./log/perldaemon.log</span> closely. It is a good practice to test your modules in 'foreground mode' (see above how to do that).</span><br /> <br /> <span>BTW: You can install as many modules within the same instance as desired. But they are run in sequential order (in future, they can also run in parallel using several threads or processes).</span><br /> <br /> 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 59b3298a..93752d88 100644 --- a/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html +++ b/gemfeed/2014-03-24-the-fibonacci.pl.c-polyglot.html @@ -71,7 +71,7 @@ BEGIN <font color="#FF0000">{</font> <br /> <a class='textlink' href='https://codeberg.org/snonux/perl-c-fibonacci'>https://codeberg.org/snonux/perl-c-fibonacci</a><br /> <br /> -<h3 style='display: inline'>Let's run it with C and C++</h3><br /> +<h3 style='display: inline'>Let's run it with C and C++</h3><br /> <br /> <!-- Generator: GNU source-highlight 3.1.9 by Lorenzo Bettini @@ -114,7 +114,7 @@ fib<font color="#990000">(</font><font color="#993399">9</font><font color="#990 fib<font color="#990000">(</font><font color="#993399">10</font><font color="#990000">)</font> <font color="#990000">=</font> <font color="#993399">55</font> </pre> <br /> -<h3 style='display: inline'>Let's run it with Perl and Raku</h3><br /> +<h3 style='display: inline'>Let's run it with Perl and Raku</h3><br /> <br /> <!-- Generator: GNU source-highlight 3.1.9 by Lorenzo Bettini @@ -155,7 +155,7 @@ fib<font color="#990000">(</font><font color="#993399">9</font><font color="#990 fib<font color="#990000">(</font><font color="#993399">10</font><font color="#990000">)</font> <font color="#990000">=</font> <font color="#993399">55</font> </pre> <br /> -<span>It's entertaining to play with :-).</span><br /> +<span>It's entertaining to play with :-).</span><br /> <br /> <span>E-Mail your comments to hi@foo.zone :-)</span><br /> <br /> 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 f27dd5ec..f22a76e3 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 @@ -15,7 +15,7 @@ <pre> ____ _ _ _ | _ \ ___| |__ _ __ ___ (_) __| | -| | | |/ _ \ '_ \| '__/ _ \| |/ _` | +| | | |/ _ \ '_ \| '__/ _ \| |/ _` | | |_| | __/ |_) | | | (_) | | (_| | |____/ \___|_.__/|_| \___/|_|\__,_| diff --git a/gemfeed/2016-04-03-offsite-backup-with-zfs.html b/gemfeed/2016-04-03-offsite-backup-with-zfs.html index 24f65689..e85b4c81 100644 --- a/gemfeed/2016-04-03-offsite-backup-with-zfs.html +++ b/gemfeed/2016-04-03-offsite-backup-with-zfs.html @@ -28,7 +28,7 @@ <a class='textlink' href='./2016-04-03-offsite-backup-with-zfs.html'>Offsite backup with ZFS Part 1 (you are reading this atm.)</a><br /> <a class='textlink' href='./2016-04-16-offsite-backup-with-zfs-part2.html'>Offsite backup with ZFS Part 2</a><br /> <br /> -<h2 style='display: inline'>Please don't lose all my pictures again!</h2><br /> +<h2 style='display: inline'>Please don't lose all my pictures again!</h2><br /> <br /> <span>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.).</span><br /> <br /> 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 04415adc..53b2286d 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 @@ -26,7 +26,7 @@ | | | | | | - `--....---' + `--....---' \ \ \ `. hjw \ `. @@ -36,16 +36,16 @@ <br /> <h2 style='display: inline'>ZFS</h2><br /> <br /> -<span>The ZFS module is a pretty basic one. It does not manage ZFS pools yet as I am not creating them often enough which would justify implementing an automation. But let's see how we can create a ZFS file system (on an already given ZFS pool named ztank):</span><br /> +<span>The ZFS module is a pretty basic one. It does not manage ZFS pools yet as I am not creating them often enough which would justify implementing an automation. But let's see how we can create a ZFS file system (on an already given ZFS pool named ztank):</span><br /> <br /> <span>Puppet snippet:</span><br /> <br /> <pre> -zfs::create { 'ztank/foo': +zfs::create { 'ztank/foo': ensure => present, - filesystem => '/srv/foo', + filesystem => '/srv/foo', - require => File['/srv'], + require => File['/srv'], } </pre> <br /> @@ -59,7 +59,7 @@ Info: Loading facts Info: Loading facts Info: Loading facts Notice: Compiled catalog for alphacentauri.home in environment production in 7.14 seconds -Info: Applying configuration version '1460189837' +Info: Applying configuration version '1460189837' Info: mount[files]: allowing * access Info: mount[restricted]: allowing * access Notice: /Stage[main]/Main/Node[alphacentauri]/Zfs::Create[ztank/foo]/Exec[ztank/foo_create]/returns: executed successfully @@ -74,11 +74,11 @@ admin alphacentauri:~ [1215]% <span>The destruction of the file system just requires to set "ensure" to "absent" in Puppet:</span><br /> <br /> <pre> -zfs::create { 'ztank/foo': +zfs::create { 'ztank/foo': ensure => absent, - filesystem => '/srv/foo', + filesystem => '/srv/foo', - require => File['/srv'], + require => File['/srv'], }¬ </pre> <br /> @@ -92,7 +92,7 @@ Info: Loading facts Info: Loading facts Info: Loading facts Notice: Compiled catalog for alphacentauri.home in environment production in 6.14 seconds -Info: Applying configuration version '1460190203' +Info: Applying configuration version '1460190203' Info: mount[files]: allowing * access Info: mount[restricted]: allowing * access Notice: /Stage[main]/Main/Node[alphacentauri]/Zfs::Create[ztank/foo]/Exec[zfs destroy -r ztank/foo]/returns: executed successfully @@ -115,35 +115,35 @@ zsh: exit 1 grep foo include jail::freebsd # Cloned interface for Jail IPv4 NAT -freebsd::rc_config { 'cloned_interfaces': - value => 'lo1', +freebsd::rc_config { 'cloned_interfaces': + value => 'lo1', } -freebsd::rc_config { 'ipv4_addrs_lo1': - value => '192.168.0.1-24/24' +freebsd::rc_config { 'ipv4_addrs_lo1': + value => '192.168.0.1-24/24' } -freebsd::ipalias { '2a01:4f8:120:30e8::17': +freebsd::ipalias { '2a01:4f8:120:30e8::17': ensure => up, - proto => 'inet6', - preflen => '64', - interface => 're0', - aliasnum => '8', + proto => 'inet6', + preflen => '64', + interface => 're0', + aliasnum => '8', } -class { 'jail': +class { 'jail': ensure => present, jails_config => { sync => { - '_ensure' => present, - '_type' => 'freebsd', - '_mirror' => 'ftp://ftp.de.freebsd.org', - '_remote_path' => 'FreeBSD/releases/amd64/10.1-RELEASE', - '_dists' => [ 'base.txz', 'doc.txz', ], - '_ensure_directories' => [ '/opt', '/opt/enc' ], - '_ensure_zfs' => [ '/sync' ], - 'host.hostname' => "'sync.ian.buetow.org'", - 'ip4.addr' => '192.168.0.17', - 'ip6.addr' => '2a01:4f8:120:30e8::17', + '_ensure' => present, + '_type' => 'freebsd', + '_mirror' => 'ftp://ftp.de.freebsd.org', + '_remote_path' => 'FreeBSD/releases/amd64/10.1-RELEASE', + '_dists' => [ 'base.txz', 'doc.txz', ], + '_ensure_directories' => [ '/opt', '/opt/enc' ], + '_ensure_zfs' => [ '/sync' ], + 'host.hostname' => "'sync.ian.buetow.org'", + 'ip4.addr' => '192.168.0.17', + 'ip6.addr' => '2a01:4f8:120:30e8::17', }, } } @@ -158,7 +158,7 @@ Info: Loading facts Info: Loading facts Info: Loading facts Notice: Compiled catalog for sun.ian.buetow.org in environment production in 1.80 seconds -Info: Applying configuration version '1460190986' +Info: Applying configuration version '1460190986' Notice: /Stage[main]/Jail/File[/etc/jail.conf]/ensure: created Info: mount[files]: allowing * access Info: mount[restricted]: allowing * access @@ -208,14 +208,14 @@ admin sun:/etc [1945]% cat /etc/jail.conf # Generated by Puppet allow.chflags = true; -exec.start = '/bin/sh /etc/rc'; -exec.stop = '/bin/sh /etc/rc.shutdown'; +exec.start = '/bin/sh /etc/rc'; +exec.stop = '/bin/sh /etc/rc.shutdown'; mount.devfs = true; mount.fstab = "/etc/fstab.jail.$name"; path = "/jail/$name"; sync { - host.hostname = 'sync.ian.buetow.org'; + host.hostname = 'sync.ian.buetow.org'; ip4.addr = 192.168.0.17; ip6.addr = 2a01:4f8:120:30e8::17; } @@ -340,8 +340,8 @@ Checking integrity... [sync.ian.buetow.org] [11/12] Extracting rubygem-ruby-augeas-0.5.0_2: 100% [sync.ian.buetow.org] [12/12] Installing puppet38-3.8.4_1... ===> Creating users and/or groups. -Creating group 'puppet' with gid '814'. -Creating user 'puppet' with uid '814'. +Creating group 'puppet' with gid '814'. +Creating user 'puppet' with uid '814'. [sync.ian.buetow.org] [12/12] Extracting puppet38-3.8.4_1: 100% . . @@ -367,12 +367,12 @@ Info: Loading facts Info: Loading facts Info: Loading facts Info: Loading facts -Could not retrieve fact='pkgng_version', resolution='<anonymous>': undefined method `pkgng_enabled' for Facter:Module +Could not retrieve fact='pkgng_version', resolution='<anonymous>': undefined method `pkgng_enabled' for Facter:Module Warning: Config file /usr/local/etc/puppet/hiera.yaml not found, using Hiera defaults Notice: Compiled catalog for sync.ian.buetow.org in environment production in 1.31 seconds Warning: Found multiple default providers for package: pkgng, gem, pip; using pkgng -Info: Applying configuration version '1460192563' -Notice: /Stage[main]/S_base_freebsd/User[root]/shell: shell changed '/bin/csh' to '/bin/tcsh' +In |
