From 33daba4f27bc6145faabbc210824f0a39f0ffd81 Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Tue, 26 Sep 2023 21:21:02 +0300 Subject: Update content for html --- gemfeed/2008-06-26-perl-poetry.html | 2 +- ...12-29-using-my-nokia-n95-for-fixing-my-mta.html | 2 +- gemfeed/2010-04-09-standard-ml-and-haskell.html | 2 +- ...010-05-07-lazy-evaluation-with-standarn-ml.html | 2 +- .../2010-05-09-the-fype-programming-language.html | 2 +- .../2011-05-07-perl-daemon-service-framework.html | 2 +- .../2014-03-24-the-fibonacci.pl.c-polyglot.html | 2 +- ...2-05-run-debian-on-your-phone-with-debroid.html | 2 +- gemfeed/2016-04-03-offsite-backup-with-zfs.html | 2 +- ...04-09-jails-and-zfs-on-freebsd-with-puppet.html | 2 +- .../2016-04-16-offsite-backup-with-zfs-part2.html | 2 +- ...inning-up-my-own-authoritative-dns-servers.html | 2 +- ...20-object-oriented-programming-with-ansi-c.html | 2 +- ...alistic-load-testing-with-ioriot-for-linux.html | 2 +- ...-22-dtail-the-distributed-log-tail-program.html | 2 +- gemfeed/2021-04-24-welcome-to-the-geminispace.html | 2 +- ...021-05-16-personal-bash-coding-style-guide.html | 2 +- ...5-gemtexter-one-bash-script-to-rule-it-all.html | 2 +- gemfeed/2021-07-04-the-well-grounded-rubyist.html | 2 +- ...-08-01-on-being-pedantic-about-open-source.html | 4 +- gemfeed/2021-09-12-keep-it-simple-and-stupid.html | 2 +- gemfeed/2021-10-22-defensive-devops.html | 2 +- gemfeed/2021-11-29-bash-golf-part-1.html | 2 +- ...-12-26-how-to-stay-sane-as-a-devops-person.html | 2 +- gemfeed/2022-01-01-bash-golf-part-2.html | 2 +- gemfeed/2022-01-23-welcome-to-the-foo.zone.html | 2 +- ...022-02-04-computer-operating-systems-i-use.html | 2 +- gemfeed/2022-03-06-the-release-of-dtail-4.0.0.html | 2 +- gemfeed/2022-04-10-creative-universe.html | 2 +- .../2022-05-27-perl-is-still-a-great-choice.html | 2 +- gemfeed/2022-06-15-sweating-the-small-stuff.html | 2 +- ...22-07-30-lets-encrypt-with-openbsd-and-rex.html | 2 +- ...2-08-27-gemtexter-1.1.0-lets-gemtext-again.html | 2 +- gemfeed/2022-09-30-after-a-bad-nights-sleep.html | 2 +- .../2022-10-30-installing-dtail-on-openbsd.html | 2 +- ...-tried-emacs-but-i-switched-back-to-neovim.html | 2 +- ...22-12-24-ultrarelearning-java-my-takeaways.html | 2 +- gemfeed/2023-01-23-why-grapheneos-rox.html | 2 +- .../2023-02-26-how-to-shut-down-after-work.html | 2 +- ...-03-16-the-pragmatic-programmer-book-notes.html | 2 +- ...03-25-gemtexter-2.0.0-lets-gemtext-again-2.html | 2 +- ...4-01-never-split-the-difference-book-notes.html | 2 +- ...ithms-and-data-structures-in-golang-part-1.html | 2 +- ...3-05-06-the-obstacle-is-the-way-book-notes.html | 2 +- ...3-06-01-kiss-server-monitoring-with-gogios.html | 2 +- ...17-career-guide-and-soft-skills-book-notes.html | 2 +- ...07-21-gemtexter-2.1.0-lets-gemtext-again-3.html | 2 +- ...-08-18-site-reliability-engineering-part-1.html | 2 +- ...-08-19-site-reliability-engineering-part-2.html | 2 +- ...-08-20-site-reliability-engineering-part-3.html | 2 +- gemfeed/2023-09-25-dtail-usage-examples.html | 2 +- gemfeed/DRAFT-dtail-usage-examples.html | 286 --------------------- gemfeed/DRAFT-site-reliability-engineering.html | 2 +- gemfeed/W | 228 ---------------- gemfeed/atom.xml | 86 +++---- index.html | 2 +- notes/career-guide-and-soft-skills.html | 2 +- notes/never-split-the-difference.html | 2 +- notes/the-obstacle-is-the-way.html | 2 +- notes/the-pragmatic-programmer.html | 2 +- uptime-stats.html | 2 +- 61 files changed, 102 insertions(+), 616 deletions(-) delete mode 100644 gemfeed/DRAFT-dtail-usage-examples.html delete mode 100644 gemfeed/W diff --git a/gemfeed/2008-06-26-perl-poetry.html b/gemfeed/2008-06-26-perl-poetry.html index 74c9f10d..fd8f4af1 100644 --- a/gemfeed/2008-06-26-perl-poetry.html +++ b/gemfeed/2008-06-26-perl-poetry.html @@ -186,7 +186,7 @@ This is perl, v5.2011-05-07 Perl Daemon (Service Framework)
2022-05-27 Perl is still a great choice

-E-Mail your comments to foo@paul.cyou :-)
+E-Mail your comments to paul@nospam.buetow.org :-)

Back to the main site
  • The Off Switch; Mark Cropley; Virgin Books
  • Ultralearning; Scott Young; Thorsons

  • -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site

    DTail usage examples


    -
    -DTail is a distributed DevOps tool for tailing, grepping, catting logs and other text files on many remote machines at once which I programmed in Go.
    -
    -https://dtail.dev
    -
    -
    -                              ,_---~~~~~----._
    -                        _,,_,*^____      _____``*g*\"*,
    -  ____ _____     _ _   / __/ /'     ^.  /      \ ^@q   f
    - |  _ \_   _|_ _(_) |   @f |      ((@|  |@))    l  0 _/
    - | | | || |/ _` | | |  \`/   \~____ / __ \_____/    \
    - | |_| || | (_| | | |   |           _l__l_           I
    - |____/ |_|\__,_|_|_|   }          [______]           I
    -                        ]            | | |            |
    -                        ]             ~ ~             |
    -                        |   Let's tail those logs!   |
    -                         |                           |
    -
    -
    -DTail consists out of a server and several client binaries. In this post, I am showcasing their use!
    -
    -

    Following logs


    -
    -The following example demonstrates how to follow logs of several servers at once. The server list is provided as a flat text file. The example filters all records containing the string INFO. Any other Go compatible regular expression can also be used instead of INFO.
    -
    - -
    % dtail --servers serverlist.txt --grep INFO --files "/var/log/dserver/*.log"
    -
    -
    -Hint: you can also provide a comma separated server list, e.g.: servers server1.example.org,server2.example.org:PORT,...
    -
    -Tail example
    -
    -Hint: You can also use the shorthand version (omitting the --files)
    -
    - -
    % dtail --servers serverlist.txt --grep INFO "/var/log/dserver/*.log"
    -
    -
    -

    Aggregating logs


    -
    -To run ad-hoc map-reduce aggregations on newly written log lines you must add a query. The following example follows all remote log lines and prints out every few seconds the result to standard output.
    -
    -Hint: To run a map-reduce query across log lines written in the past, please use the dmap command instead.
    -
    - -
    % dtail --servers serverlist.txt \
    -    --files '/var/log/dserver/*.log' \
    -    --query 'from STATS select sum($goroutines),sum($cgocalls),
    -             last($time),max(lifetimeConnections)'
    -
    -
    -Beware: For map-reduce queries to work, you have to ensure that DTail supports your log format. Check out the documentaiton of the DTail query language and the DTail log formats on the DTail homepage for more information.
    -
    -Tail map-reduce example
    -
    -Hint: You can also use the shorthand version:
    -
    - -
    % dtail --servers serverlist.txt \
    -    --files '/var/log/dserver/*.log' \
    -    'from STATS select sum($goroutines),sum($cgocalls),
    -     last($time),max(lifetimeConnections)'
    -
    -
    -Here is another example:
    -
    - -
    % dtail --servers serverlist.txt \
    -    --files '/var/log/dserver/*.log' \
    -    --query 'from STATS select $hostname,max($goroutines),max($cgocalls),$loadavg,
    -             lifetimeConnections group by $hostname order by max($cgocalls)'
    -
    -
    -Tail map-reduce example 2
    -
    -You can also continuously append the results to a CSV file by adding outfile append filename.csv to the query:
    -
    - -
    % dtail --servers serverlist.txt \
    -    --files '/var/log/dserver/*.log' \
    -    --query 'from STATS select ... outfile append result.csv'
    -
    -
    -

    How to use dcat


    -
    -The following example demonstrates how to cat files (display the full content of the files) on several servers at once.
    -
    -As you can see in this example, a DTail client also creates a local log file of all received data in ~/log. You can also use the noColor and -plain flags (this all also work with other DTail commands than dcat).
    -
    - -
    % dcat --servers serverlist.txt --files /etc/hostname
    -
    -
    -Cat example
    -
    -Hint: You can also use the shorthand version:
    -
    - -
    % dcat --servers serverlist.txt /etc/hostname
    -
    -
    -

    How to use dgrep


    -
    -The following example demonstrates how to grep files (display only the lines which match a given regular expression) of multiple servers at once. In this example, we look after some entries in /etc/passwd. This time, we don't provide the server list via an file but rather via a comma separated list directly on the command line. We also explore the -before, -after and -max flags (see animation).
    -
    - -
    % dgrep --servers server1.example.org:2223 \
    -    --files /etc/passwd \
    -    --regex nologin
    -
    -
    -Generally, dgrep is also a very useful way to search historic application logs for certain content.
    -
    -Grep example
    -
    -Hint: -regex is an alias for -grep.
    -
    -

    How to use dmap


    -
    -To run a map-reduce aggregation over logs written in the past, the dmap command can be used. The following example aggregates all map-reduce fields dmap will print interim results every few seconds. You can also write the result to an CSV file by adding outfile result.csv to the query.
    -
    - -
    % dmap --servers serverlist.txt \
    -    --files '/var/log/dserver/*.log' \
    -    --query 'from STATS select $hostname,max($goroutines),max($cgocalls),$loadavg,
    -             lifetimeConnections group by $hostname order by max($cgocalls)'
    -
    -
    -Remember: For that to work, you have to make sure that DTail supports your log format. You can either use the ones already defined in internal/mapr/logformat or add an extension to support a custom log format. The example here works out of the box though, as DTail understands its own log format already.
    -
    -DMap example
    -
    -

    How to use the DTail serverless mode


    -
    -Until now, all examples so far required to have remote server(s) to connect to. That makes sense, as after all DTail is a *distributed* tool. However, there are circumstances where you don't really need to connect to a server remotely. For example, you already have a login shell open to the server an all what you want is to run some queries directly on local log files.
    -
    -The serverless mode does not require any dserver up and running and therefore there is no networking/SSH involved.
    -
    -All commands shown so far also work in a serverless mode. All what needs to be done is to omit a server list. The DTail client then starts in serverless mode.
    -
    -

    Serverless map-reduce query


    -
    -The following dmap example is the same as the previously shown one, but the difference is that it operates on a local log file directly:
    -
    - -
    % dmap --files /var/log/dserver/dserver.log
    -    --query 'from STATS select $hostname,max($goroutines),max($cgocalls),$loadavg,
    -              lifetimeConnections group by $hostname order by max($cgocalls)'
    -
    -
    -As a shorthand version the following command can be used:
    -
    - -
    % dmap 'from STATS select $hostname,max($goroutines),max($cgocalls),$loadavg,
    -lifetimeConnections group by $hostname order by max($cgocalls)' /var/log/dsever/dserver.log
    -
    -
    -You can also use a file input pipe as follows:
    -
    - -
    % cat /var/log/dserver/dserver.log | \
    -    dmap 'from STATS select $hostname,max($goroutines),max($cgocalls),$loadavg,
    -          lifetimeConnections group by $hostname order by max($cgocalls)'
    -
    -
    -

    Aggregating CSV files


    -
    -In essence, this works exactly like aggregating logs. All files operated on must be valid CSV files and the first line of the CSV must be the header. E.g.:
    -
    - -
    % cat example.csv
    -name,lastname,age,profession
    -Michael,Jordan,40,Basketball player
    -Michael,Jackson,100,Singer
    -Albert,Einstein,200,Physician
    -% dmap --query 'select lastname,name where age > 40 logformat csv outfile result.csv' example.csv
    -% cat result.csv
    -lastname,name
    -Jackson,Michael
    -Einstein,Albert
    -
    -
    -DMap can also be used to query and aggregate CSV files from remote servers.
    -
    -

    Other serverless commands


    -
    -The serverless mode works transparently with all other DTail commands. Here are some examples:
    -
    - -
    % dtail /var/log/dserver/dserver.log
    -
    -
    - -
    % dtail --logLevel trace /var/log/dserver/dserver.log
    -
    -
    - -
    % dcat /etc/passwd
    -
    -
    - -
    % dcat --plain /etc/passwd > /etc/test
    -# Should show no differences.
    -diff /etc/test /etc/passwd 
    -
    -
    - -
    % dgrep --regex ERROR --files /var/log/dserver/dsever.log
    -
    -
    - - - diff --git a/gemfeed/DRAFT-site-reliability-engineering.html b/gemfeed/DRAFT-site-reliability-engineering.html index 255d4c83..fc38aa15 100644 --- a/gemfeed/DRAFT-site-reliability-engineering.html +++ b/gemfeed/DRAFT-site-reliability-engineering.html @@ -158,7 +158,7 @@
  • Site Reliability Engineering: How Google runs Production Systems by by Jennifer Petoff, Niall Murphy, Betsy Beyer and Chris Jones
  • Implementing Service Level Objectives by Alex Hidalgo

  • -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
  • The Off Switch; Mark Cropley; Virgin Books
  • Ultralearning; Scott Young; Thorsons

  • -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -5039,7 +5039,7 @@ exec /usr/local/bin/dtailhealth --server localhost:2222
    Paul

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -5286,7 +5286,7 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2 DragonFly BSD - Fork of FreeBSD 4
    Phosh (on postmarketOS) - A true Linux shell for the smartphone

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -5351,7 +5351,7 @@ GNU/kFreeBSD rhea.buetow.org 8.0-RELEASE-p5 FreeBSD 8.0-RELEASE-p5 #2: Sat Nov 2
    The host buetow.org will stay. However, not as the primary address for this site. I will keep using it for my personal internet infrastructure as well as for most of my E-Mail addresses. I used buetow.org for that over the past 10 years already anyway and that won't change any time soon. I don't know what I am going to do with snonux.de in the long run. A .de SLD (for Germany) is pretty cheap, so I might just keep it for now.

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -5859,7 +5859,7 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH 2021-11-29 Bash Golf Part 1
    2022-01-01 Bash Golf Part 2 (You are currently reading this)

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -6003,7 +6003,7 @@ PAUL:X:1000:1000:PAUL BUETOW:/HOME/PAUL:/BIN/BASH
    https://unixsheikh.com/articles/how-to-stay-sane-in-todays-world-of-tech.html

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -6493,7 +6493,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is 2021-11-29 Bash Golf Part 1 (You are currently reading this)
    2022-01-01 Bash Golf Part 2

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -6614,7 +6614,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
    This usually means creating one or more tickets, which will be dealt with soon. Once the permanent fix is deployed, you can remove your ad-hoc automation and monitoring around it and focus on your regular work again.

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -6728,7 +6728,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
    Enough ranted for now!

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Controversially, a lack of features is a feature. Enjoy your peace an quiet. - Michael W Lucas

    @@ -6808,7 +6808,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
    Do you need Microsoft Word? Why don't you just use the Vim text editor or GNU Emacs to write your letters? If that's too nerdy, you can still use open-source alternatives such as AbiWord or LibreOffice. Larger organizations have the tendency to standardize the software their employees have to use. Unfortunately, as Microsoft Word is the de-facto standard text processing program, most companies prefer Word over LibreOffice. Same with Microsoft Excel vs LibreOffice Calc or other spreadsheet alternatives like Gnumeric. I don't know why that is; please....

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    I only use free and open-source operating systems on my personal Laptops, Desktop PCs and servers (FreeBSD and Linux based ones). Most of the programs and apps I use on them are free and open-source as well, and I am comfortable with it for over twenty years. Exceptions are the BIOSes and some firmwares of my devices. I also use Skype as most of my friends and family are using it. They are, unfortunately, proprietary software still. But I will be looking into Matrix as a Skype alternative when I have time. There are also open BIOS alternatives, but they usually don't work on my devices.

    @@ -6865,7 +6865,7 @@ bash: line 1: 1/10.0 : syntax error: invalid arithmetic operator (error token is
    You have better chances when you know how to manage your own server and install and manage alternatives to the big cloud providers by yourself. I have the advantage that I have work experience as a Linux Systems Administrator here. I mentioned NextCloud already. I use NextCloud for online photo and file storage, contact and calendar sync and as an RSS news feed server. You could do the same with your own E-Mail server, you can also host your own website and blog. I also mentioned Matrix as a Skype alternative (which could also be an alternative to WhatsApp, Skype, Telegram, Viber, ...). I don't know a lot about Matrix yet, but it seems to be a very neat alternative. I am ready to invest time in it as one of my future personal pet projects. Not only because I think it's better, but also because for fun and as a hobby. But this doesn't mean that I invest *all* of my personal free time in it.

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -6988,7 +6988,7 @@ Hello World
    Will I abandon my beloved Perl? Probably not. There are also some Perl scripts I use at work. But unfortunately I only have a limited amount of time and I have to use it wisely. I might look into Raku (formerly known as Perl 6) next year and use it for a personal pet project, who knows. :-). I also highly recommend reading the two Perl books "Modern Perl" and "Higher-Order Perl".

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -7193,7 +7193,7 @@ assert::equals "$(generate::m 2023-03-25 Gemtexter 2.0.0 - Let's Gemtext again²
    2023-07-21 Gemtexter 2.1.0 - Let's Gemtext again³

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -7600,7 +7600,7 @@ fi 2021-11-29 Bash Golf Part 1
    2022-01-01 Bash Golf Part 2

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -7706,7 +7706,7 @@ fi 2023-03-25 Gemtexter 2.0.0 - Let's Gemtext again²
    2023-07-21 Gemtexter 2.1.0 - Let's Gemtext again³

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -7839,7 +7839,7 @@ dtail –servers serverlist.txt –files ‘/var/log/*.log’ –regex ‘(?i:er 2022-10-30 Installing DTail on OpenBSD
    2023-09-25 DTail usage examples

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -8045,7 +8045,7 @@ Total time: 1213.00s Graphite
    Memory mapped I/O

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -8178,7 +8178,7 @@ http://www.gnu.org/software/src-highlite -->
    C is a very old programming language with it's quirks. This might be one of the reasons why Linux will also let Rust code in.

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -8433,7 +8433,7 @@ apply Service "dig6" {
    That's much more comfortable now than manually clicking at some web UIs at Schlund Technologies.

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    @@ -8479,7 +8479,7 @@ apply Service "dig6" {
    Furthermore, I added scrubbing ("zpool scrub...") to the script. It ensures that the file system is consistent and that there are no bad blocks on the disk and the file system. To increase the reliability, I also run a "zfs set copies=2 zroot". That setting is also synchronized to the offsite ZFS pool. ZFS stores every data block to disk twice now. Yes, it consumes twice as much disk space, making it better fault-tolerant against hardware errors (e.g. only individual disk sectors going bad).

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site
    diff --git a/index.html b/index.html index 63a31604..0945c6aa 100644 --- a/index.html +++ b/index.html @@ -10,7 +10,7 @@

    foo.zone



    -This site was generated at 2023-09-25T15:14:22+03:00 by Gemtexter
    +This site was generated at 2023-09-26T21:20:36+03:00 by Gemtexter

        |\---/|
    diff --git a/notes/career-guide-and-soft-skills.html b/notes/career-guide-and-soft-skills.html
    index f815aed5..0d026d72 100644
    --- a/notes/career-guide-and-soft-skills.html
    +++ b/notes/career-guide-and-soft-skills.html
    @@ -313,7 +313,7 @@
     2023-05-06 "The Obstacle is the Way" book notes
    2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes (You are currently reading this)

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    More books and other resources I found useful.
    Back to the main site
    diff --git a/notes/never-split-the-difference.html b/notes/never-split-the-difference.html index 9f0d1fa5..da459d92 100644 --- a/notes/never-split-the-difference.html +++ b/notes/never-split-the-difference.html @@ -145,7 +145,7 @@ 2023-05-06 "The Obstacle is the Way" book notes
    2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes

    -E-Mail your comments to foo@paul.cyou :-)
    +E-Mail your comments to paul@nospam.buetow.org :-)

    Back to the main site

    My machine uptime stats



    -This site was last updated at 2023-09-25T15:14:22+03:00
    +This site was last updated at 2023-09-26T21:20:36+03:00

    The following stats were collected via uptimed on all of my personal computers over many years and the output was generated by guprecords, the global uptime records stats analyser of mine.

    -- cgit v1.2.3