diff options
| author | Paul Buetow <paul@buetow.org> | 2024-08-26 23:07:43 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2024-08-26 23:07:43 +0300 |
| commit | a060115f62061039758dd3cadae97889c4eadb1b (patch) | |
| tree | a5b1699fa0078ea6b37fc871a40f0aef53453054 | |
| parent | c7026fd7eb994ad457419e2251403d741e98e3df (diff) | |
Update content for html
64 files changed, 1336 insertions, 980 deletions
diff --git a/gemfeed/2008-06-26-perl-poetry.html b/gemfeed/2008-06-26-perl-poetry.html index 035d8a2a..dd706435 100644 --- a/gemfeed/2008-06-26-perl-poetry.html +++ b/gemfeed/2008-06-26-perl-poetry.html @@ -12,6 +12,12 @@ <br /> <span class='quote'>Published at 2008-06-26T21:43:51+01:00; Updated at 2021-05-04</span><br /> <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 /> +<a class='textlink' href='https://en.wikipedia.org/wiki/Perl'>https://en.wikipedia.org/wiki/Perl</a><br /> +<br /> <pre> '\|/' * -- * ----- @@ -39,20 +45,11 @@ _~~|~/_|_|__/|~~~~~~~ | / ~~~~~ | | ~~~~~~~~ <br /> <ul> <li><a href='#perl-poetry'>Perl Poetry</a></li> -<li>⇢ <a href='#introduction'>Introduction</a></li> <li>⇢ <a href='#mathpl'>math.pl</a></li> <li>⇢ <a href='#christmaspl'>christmas.pl</a></li> <li>⇢ <a href='#shoppingpl'>shopping.pl</a></li> <li>⇢ <a href='#more'>More...</a></li> </ul><br /> -<h2 style='display: inline' id='introduction'>Introduction</h2><br /> -<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 /> -<a class='textlink' href='https://en.wikipedia.org/wiki/Perl'>https://en.wikipedia.org/wiki/Perl</a><br /> -<br /> <h2 style='display: inline' id='mathpl'>math.pl</h2><br /> <br /> <!-- Generator: GNU source-highlight 3.1.9 diff --git a/gemfeed/2010-04-09-standard-ml-and-haskell.html b/gemfeed/2010-04-09-standard-ml-and-haskell.html index cfb3d39d..b6dd2301 100644 --- a/gemfeed/2010-04-09-standard-ml-and-haskell.html +++ b/gemfeed/2010-04-09-standard-ml-and-haskell.html @@ -18,6 +18,17 @@ <br /> <span>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:</span><br /> <br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#standard-ml-and-haskell'>Standard ML and Haskell</a></li> +<li>⇢ <a href='#defining-a-multi-data-type'>Defining a multi-data type</a></li> +<li>⇢ <a href='#processing-a-multi'>Processing a multi</a></li> +<li>⇢ <a href='#simplify-function'>Simplify function</a></li> +<li>⇢ <a href='#delete-all'>Delete all</a></li> +<li>⇢ <a href='#delete-one'>Delete one</a></li> +<li>⇢ <a href='#higher-order-functions'>Higher-order functions</a></li> +</ul><br /> <h2 style='display: inline' id='defining-a-multi-data-type'>Defining a multi-data type</h2><br /> <br /> <span>Standard ML:</span><br /> diff --git a/gemfeed/2010-05-09-the-fype-programming-language.html b/gemfeed/2010-05-09-the-fype-programming-language.html index 019bae8d..b3fb7a77 100644 --- a/gemfeed/2010-05-09-the-fype-programming-language.html +++ b/gemfeed/2010-05-09-the-fype-programming-language.html @@ -12,6 +12,12 @@ <br /> <span class='quote'>Published at 2010-05-09T12:48:29+01:00; Updated at 2021-05-05</span><br /> <br /> +<span>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.</span><br /> +<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 /> +<br /> <pre> ____ _ __ / / _|_ _ _ __ ___ _ _ ___ __ _| |__ / _|_ _ @@ -21,12 +27,35 @@ |___/|_| |___/ |___/ </pre> <br /> -<span>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.</span><br /> -<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 /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> <br /> +<ul> +<li><a href='#the-fype-programming-language'>The Fype Programming Language</a></li> +<li>⇢ <a href='#object-oriented-c-style'>Object-oriented C style</a></li> +<li>⇢ <a href='#data-types'>Data types</a></li> +<li>⇢ <a href='#syntax'>Syntax</a></li> +<li>⇢ ⇢ <a href='#comments'>Comments</a></li> +<li>⇢ ⇢ <a href='#variables'>Variables</a></li> +<li>⇢ ⇢ <a href='#synonyms'>Synonyms</a></li> +<li>⇢ <a href='#statements-and-expressions'>Statements and expressions</a></li> +<li>⇢ ⇢ <a href='#parenthesis'>Parenthesis</a></li> +<li>⇢ ⇢ <a href='#basic-expressions'>Basic expressions</a></li> +<li>⇢ ⇢ <a href='#bitwise-expressions'>Bitwise expressions</a></li> +<li>⇢ ⇢ <a href='#numeric-expressions'>Numeric expressions</a></li> +<li>⇢ <a href='#control-statements'>Control statements</a></li> +<li>⇢ <a href='#scopes'>Scopes</a></li> +<li>⇢ <a href='#definedness-'>Definedness </a></li> +<li>⇢ <a href='#system-'>System </a></li> +<li>⇢ ⇢ <a href='#io-'>I/O </a></li> +<li>⇢ <a href='#procedures-and-functions'>Procedures and functions</a></li> +<li>⇢ ⇢ <a href='#procedures'>Procedures</a></li> +<li>⇢ ⇢ <a href='#nested-procedures'>Nested procedures</a></li> +<li>⇢ ⇢ <a href='#functions'>Functions</a></li> +<li>⇢ ⇢ <a href='#nested-functions'>Nested functions</a></li> +<li>⇢ <a href='#arrays'>Arrays</a></li> +<li>⇢ <a href='#fancy-stuff'>Fancy stuff</a></li> +<li>⇢ <a href='#may-the-source-be-with-you'>May the source be with you</a></li> +</ul><br /> <h2 style='display: inline' id='object-oriented-c-style'>Object-oriented C style</h2><br /> <br /> <span>The Fype interpreter is written in an object-oriented style of C. Each "main component" has its own .h and .c file. There is a struct type for each (most components at least) component, which can be initialized using a "COMPONENT_new" function and destroyed using a "COMPONENT_delete" function. Method calls follow the same schema, e.g. "COMPONENT_METHODNAME". There is no such as class inheritance and polymorphism involved. </span><br /> diff --git a/gemfeed/2011-05-07-perl-daemon-service-framework.html b/gemfeed/2011-05-07-perl-daemon-service-framework.html index 869c5a8c..ac7615cf 100644 --- a/gemfeed/2011-05-07-perl-daemon-service-framework.html +++ b/gemfeed/2011-05-07-perl-daemon-service-framework.html @@ -12,6 +12,8 @@ <br /> <span class='quote'>Published at 2011-05-07T22:26:02+01:00; Updated at 2021-05-07</span><br /> <br /> +<span>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.</span><br /> +<br /> <pre> a'! _,,_ a'! _,,_ a'! _,,_ \\_/ \ \\_/ \ \\_/ \.-, @@ -23,7 +25,6 @@ <br /> <ul> <li><a href='#perl-daemon-service-framework'>Perl Daemon (Service Framework)</a></li> -<li>⇢ <a href='#introduction'>Introduction</a></li> <li>⇢ <a href='#features'>Features</a></li> <li>⇢ <a href='#quick-guide'>Quick Guide</a></li> <li>⇢ <a href='#how-to-configure'>How to configure</a></li> @@ -34,10 +35,6 @@ <li>⇢ ⇢ <a href='#your-own-module'>Your own module</a></li> <li>⇢ <a href='#may-the-source-be-with-you'>May the source be with you</a></li> </ul><br /> -<h2 style='display: inline' id='introduction'>Introduction</h2><br /> -<br /> -<span>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.</span><br /> -<br /> <h2 style='display: inline' id='features'>Features</h2><br /> <br /> <span>PerlDaemon supports:</span><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 6a80b260..ca1ab4f3 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 @@ -12,6 +12,12 @@ <br /> <span class='quote'>Published at 2015-12-05T16:12:57+00:00; Updated at 2021-05-16</span><br /> <br /> +<span>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).</span><br /> +<br /> +<a href='./run-debian-on-your-phone-with-debroid/Deboroid.png'><img src='./run-debian-on-your-phone-with-debroid/Deboroid.png' /></a><br /> +<br /> +<span>A couple of years have passed since I last worked on Debroid. Currently, I am using the Termux app on Android, which is less sophisticated than a fully blown Debian installation but sufficient for my current requirements. The content of this site may be still relevant, and it would also work with more recent versions of Debian and Android. I would expect that some minor modifications need to be made, though. </span><br /> +<br /> <pre> ____ _ _ _ | _ \ ___| |__ _ __ ___ (_) __| | @@ -21,14 +27,18 @@ </pre> <br /> -<span>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).</span><br /> -<br /> -<a href='./run-debian-on-your-phone-with-debroid/Deboroid.png'><img src='./run-debian-on-your-phone-with-debroid/Deboroid.png' /></a><br /> -<br /> -<h2 style='display: inline' id='foreword'>Foreword</h2><br /> -<br /> -<span>A couple of years have passed since I last worked on Debroid. Currently, I am using the Termux app on Android, which is less sophisticated than a fully blown Debian installation but sufficient for my current requirements. The content of this site may be still relevant, and it would also work with more recent versions of Debian and Android. I would expect that some minor modifications need to be made, though. </span><br /> -<br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#run-debian-on-your-phone-with-debroid'>Run Debian on your phone with Debroid</a></li> +<li>⇢ <a href='#step-by-step-guide'>Step by step guide</a></li> +<li>⇢ ⇢ <a href='#first-debootstrap-stage'>First debootstrap stage</a></li> +<li>⇢ ⇢ <a href='#copy-debian-image-to-the-phone'>Copy Debian image to the phone</a></li> +<li>⇢ ⇢ <a href='#second-debootstrap-stage'>Second debootstrap stage</a></li> +<li>⇢ ⇢ <a href='#setup-of-various-scripts'>Setup of various scripts</a></li> +<li>⇢ ⇢ <a href='#entering-debroid-and-enable-a-service'>Entering Debroid and enable a service</a></li> +<li>⇢ ⇢ <a href='#include-to-android-startup'>Include to Android startup:</a></li> +</ul><br /> <h2 style='display: inline' id='step-by-step-guide'>Step by step guide</h2><br /> <br /> <span>All scripts mentioned here can be found on GitHub at:</span><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 932fc897..42ed0847 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 @@ -12,6 +12,8 @@ <br /> <span class='quote'>Published at 2016-04-09T18:29:47+01:00</span><br /> <br /> +<span>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.</span><br /> +<br /> <pre> __ __ (( \---/ )) @@ -36,16 +38,11 @@ <br /> <ul> <li><a href='#jails-and-zfs-with-puppet-on-freebsd'>Jails and ZFS with Puppet on FreeBSD</a></li> -<li>⇢ <a href='#introduction'>Introduction</a></li> <li>⇢ <a href='#zfs'>ZFS</a></li> <li>⇢ <a href='#jails'>Jails</a></li> <li>⇢ <a href='#inside-jail-puppet'>Inside-Jail Puppet</a></li> <li>⇢ <a href='#managing-multiple-jails'>Managing multiple Jails</a></li> </ul><br /> -<h2 style='display: inline' id='introduction'>Introduction</h2><br /> -<br /> -<span>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.</span><br /> -<br /> <h2 style='display: inline' id='zfs'>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 /> 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 79a52f87..c60fb09c 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 @@ -12,12 +12,21 @@ <br /> <span class='quote'>Published at 2016-05-22T18:59:01+01:00</span><br /> <br /> -<h2 style='display: inline' id='background'>Background</h2><br /> -<br /> <span>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.</span><br /> <br /> <a class='textlink' href='http://www.schlundtech.de'>Schlund Technologies</a><br /> <br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#spinning-up-my-own-authoritative-dns-servers'>Spinning up my own authoritative DNS servers</a></li> +<li>⇢ <a href='#all-freebsd-jails'>All FreeBSD Jails</a></li> +<li>⇢ <a href='#pf-firewall'>PF firewall</a></li> +<li>⇢ <a href='#puppet-managed-bind-zone-files'>Puppet managed BIND zone files</a></li> +<li>⇢ <a href='#the-result'>The result</a></li> +<li>⇢ <a href='#monitoring'>Monitoring</a></li> +<li>⇢ <a href='#dns-update-workflow'>DNS update workflow</a></li> +</ul><br /> <h2 style='display: inline' id='all-freebsd-jails'>All FreeBSD Jails</h2><br /> <br /> <span>To set up my authoritative DNS servers, I installed a FreeBSD Jail dedicated for DNS with Puppet on my root machine as follows:</span><br /> 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 743cd5a6..6265b2f5 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 @@ -12,6 +12,16 @@ <br /> <span class='quote'>Published at 2018-06-01T14:50:29+01:00; Updated at 2021-05-08</span><br /> <br /> +<span>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. </span><br /> +<br /> +<a class='textlink' href='https://www.admin-magazin.de/Das-Heft/2018/06/Realistische-Lasttests-mit-I-O-Riot'>https://www.admin-magazin.de/Das-Heft/2018/06/Realistische-Lasttests-mit-I-O-Riot</a><br /> +<br /> +<span>I havn't worked on I/O Riot for some time now, but all what is written here is still valid. I am still using I/O Riot to debug I/O issues and pattern once in a while, so by all means the tool is not obsolete yet. The tool even hel |
