Year change activities
First of all: I wish you a very good and prosperous 2017.

First cleanup of 2017 just done. Nothing particular, just few relay attempts, but a larger amount of messages picked by PMAS to be rejected:
PMAS statistics for December
Total messages    :   3398 = 100.0 o/o
DNS Blacklisted   :      0 =    .0 o/o (Files:  0)
Relay attempts    :    126 =   3.7 o/o (Files: 31)
Accepted by PMAS  :   3272 =  96.2 o/o (Files: 31)
  Handled by explicit rule
         Rejected :   2206 =  67.4 o/o (processed),  64.9 o/o (all)
         Accepted :    196 =   5.9 o/o (processed),   5.7 o/o (all)
  Handled by content
        Discarded :    406 =  12.4 o/o (processed),  11.9 o/o (all)
     Quarantained :    431 =  13.1 o/o (processed),  12.6 o/o (all)
        Delivered :     33 =   1.0 o/o (processed),    .9 o/o (all)

Of course, it’s all relative, but most of these are signalled in the operator log as well, and it was mainly on one day. However, the SMTP service could handle the load (the max load on the service is limited and I did have refused connections, but not this time).

Next is placing all data in the appropriate place and save it offline.

WordPress updated
All blogs are now running on WordPress 4.7, I just updated them, after s short test. But where I did have dome trouble in the past, this one went without a glitch. At least, once I got the configuration setup right 🙂 )


A few days ago, I published the images and tracks of the holiday trip we did in 2015: cycling from Vienna to Budapest, following the Danube river; That is: for about two-thirds. The rest was a bit more inland in Hungary. It may be that I redo part of it – and of earlier reports as well, since the full images take a huge amount of disk space (each is 4.5 Mb in size, and there are over 400 of them…) So moving the images to another disk (32Gb in size) is filled pretty fast (now about 73% used).
Prepared for WordPress update
The latest WordPress version (4.7) has been downloaded, transferred and installed, with Akismet 3.2 (running on 4.6.1. as well). I guess I’ll do some tests and update the blogs this weekend.


More memory
I upgraded my workstation a few weeks ago: Swapped my NVidia-GX660TI based ASUS video card for a real beast (NViiea GeForce 1080) to accommodate two 4K screens. One is now added, the next one is scheduled to arrive next week. With the card came a game that requires at least 16Gb of memory, so I added 16Gb (2 x8Gb) more. This is way faster than the 8gb (2x4Gb) that was installed, so I do not (yet) run at full speed. It takes a bit longer to startup (POST will take some more time to scan the extra bytes) but it is anticipated the game will no longer hang the system because it’s low on memory.

Update ahead
I will need to update WordPress: A new version has just been released. Work for this weekend…


No surprises.
PMAS statistics for November
Total messages    :  11696 = 100.0 o/o
DNS Blacklisted   :      0 =    .0 o/o (Files:  0)
Relay attempts    :   8705 =  74.4 o/o (Files: 30)
Accepted by PMAS  :   2991 =  25.5 o/o (Files: 30)
  Handled by explicit rule
         Rejected :   2024 =  67.6 o/o (processed),  17.3 o/o (all)
         Accepted :    181 =   6.0 o/o (processed),   1.5 o/o (all)
  Handled by content
        Discarded :    387 =  12.9 o/o (processed),   3.3 o/o (all)
     Quarantained :    371 =  12.4 o/o (processed),   3.1 o/o (all)
        Delivered :     28 =    .9 o/o (processed),    .2 o/o (all)

There have been – as usual – quite a few relay attempts. These were the major ones:

17:47:45.59 - 21:19:19.48 ptvye@grootersnet.nl xiaonanzi11165@vip.126.com 2118
21:24:49.47 - 21:49:35.06 vxbmq@grootersnet.nl xiaonanzi11165@vip.163.com   239

21:47:52.46 - 00:00:41.93 gjl@grootersnet.nl xiaonanzi11165@vip.126.com 1348

00:00:47.73 - 01:43:56.1 iln@grootersnet.nl xiaonanzi11165@vip.163.com 1053

00:29:21.94 - 04:19:05.60 suwaf@grootersnet.nl xiaonanzi11165@vip.163.com 2196

23:29:11.59 - 23:59:59.29 suwbf@grootersnet.nl xiaonanzi11165@vip.163.com  319

00:00:05.30 -02:15:06.08
 svyce@grootersnet.nl jijing667@163.com 1273

Both ranges refer to Chinese sites – that are now blocked in the router. (this works fine because other subnets I already blocked, don’t show up here anymore).

There have been some “test” runs that seem legitimate, but I still need to check on these; and there are new kids on the block, I have to check on these we well, because I’m not certain whether fromdomain@outlook.com is a source or destination

On the VMS Bootcamp, a VSI engineer (Brett Cameron) and a Consultant (Robert Nydahl) presented a PoC of an application using the MQTT protocol – used to pass information via a server to mobile device (for instance. Any device can run an application using this protocol). This is interesting stuff, because it offers a load of possibilities to be notified about anything. Fun part is it can aslo be used the other way around, and I see good use for it. So I asked Brett for examples, and though he had it tested on Itanium, I got it working – without any change – on Alpha, as he stated. I still have to set up a few things to get to work on something useful, but I do have some ideas.


Nothing special
Apart from a large amount of relay attempts (Chinese, as was to be expected – more on this later) there is not very much going on.
PMAS statistics for October
Total messages    :   9072 = 100.0 o/o
DNS Blacklisted   :    108 =   1.1 o/o (Files:  1)
Relay attempts    :   6938 =  76.4 o/o (Files: 31)
Accepted by PMAS  :   2026 =  22.3 o/o (Files: 31)
  Handled by explicit rule
         Rejected :   1184 =  58.4 o/o (processed),  13.0 o/o (all)
         Accepted :    190 =   9.3 o/o (processed),   2.0 o/o (all)
  Handled by content
        Discarded :    372 =  18.3 o/o (processed),   4.1 o/o (all)
     Quarantained :    223 =  11.0 o/o (processed),   2.4 o/o (all)
        Delivered :     57 =   2.8 o/o (processed),    .6 o/o (all)

I looked into the history of PMAS – you can generate reports – and that shows that the amount of blocked messages is sort of stable, after a massive amount in 2012:

Messages handled per year
Messages handled per year

As you can see, the number of messages that are scanned, filtered and actually delivered are not that different. That the number of messages in 2015 is lower than this year’s score is that I had a lerger number of sites blocked.

However, there is no report on relay attempts. Last month, there have been three days where the number of attempts exceeded the acceptable. All used a forged greootersnet.nl “user” and the intended recipient was xiaonanzi11165@vip.126.com or jijing667@163.com, happening on:

Date         from         to           number  Sender address
08-Oct-2016  05:28:00.33  09:29:16.83    2338
25-Oct-2016  04:36:16.74  08:01:39.65    1989
             08:07:00.28  08:29:54.11     364
29-Oct-2016  16:53:41.50  20:46:29.11    2264

I might create a program or procedure toe scan these files and by that, obtain information on which metworks to block next. However, I also need to check the router logs – there were 10 last month with sizes over 25000 blocks:

  • 2016-OCT-01 00:00
  • 2016-OCT-03 00:00
  • 2016-OCT-07 00:00
  • 2016-OCT-10 00:00
  • 2016-OCT-14 00:00
  • 2016-OCT-17 00:00
  • 2016-OCT-21 00:00
  • 2016-OCT-24 00:00
  • 2016-OCT-28 00:00
  • 2016-OCT-30 00:00
  • which is more than usual.
    Test site set up
    I set up a WordPress site for a friend of mine, who runs a small catering and baking business, that started as a hobby. Her current site is actually unmaintainable because there is no way to add content. The basics have been installed now, I’m trying to get an event calendar incorporated that links to Google agenda, and a contact form. It will take some time but when it runs, and she’s happy with it, it might (will?) be moved to her ISP.


    All as usual
    Back from the OpenVMS Bootcamp, found everything in working order – except for the front page that looked weird. But in general all is well. Apart from the usual stuff:

    PMAS statistics for September
    Total messages    :   9390 = 100.0 o/o
    DNS Blacklisted   :      0 =    .0 o/o (Files:  0)
    Relay attempts    :   7221 =  76.9 o/o (Files: 28)
    Accepted by PMAS  :   2169 =  23.0 o/o (Files: 29)
      Handled by explicit rule
             Rejected :   1220 =  56.2 o/o (processed),  12.9 o/o (all)
             Accepted :    203 =   9.3 o/o (processed),   2.1 o/o (all)
      Handled by content
            Discarded :    351 =  16.1 o/o (processed),   3.7 o/o (all)
         Quarantained :    244 =  11.2 o/o (processed),   2.5 o/o (all)
            Delivered :    151 =   6.9 o/o (processed),   1.6 o/o (all)

    there has been some attempts to relay, using a forged grootersnet.nl account, to one (!) address: xiaonanzi11165@vip.163.com, which is a Chinese address, renowned for it’s bad behaviour. This time on three days, on two addresses (both Chinese as well):

  • 07-sep-2016  05:42:31.68 – 09:57:18.53 (2400)
  • 09-sep-2016  07:01:50.77 – 11:19:44.45 (2400)
  • 30-Sep-2016  18:12:17.81 – 22:07:42.44 (2300)
  • every sixth minute in these time frames. They were not yet included in the new list of networks to be blocked, so I added them, so I should no longer see them.

    During the bootcamp, I also took a look to the new WordPress version (4.6.1) that I already had installed and accessible, and it seemed all well working, so there is no real issue updating the blogs – that will be done later tonight.
    There is one minor issue: the stats plugin – very out-of-date but still present. Removal via Plugin pages failed (obviously: the site is read-only) so I have to remove it myself – from the database…

    Some other issue handled during the bootcamp: I had a problem with PMAS: normally, I would get a mail back from the [INFO-WASD] mailing list when I sent a message but this didn’t happen anymore after I added a rule to block any incoming mail that has the grootersnet.nl domain in the “From:” header line. Since there is ONE source where mail from this domain can come from, which is MY server, these are all forged; I had tons of them so I blocked it. But as it turned out, this list is setup by another fine Process.com package: PMDF, which takes the incoming message, adds “[INFO-WASD]” in front of the subject (if it isn’t there already) and sends them to all subscribers, with “From:” unchanged. The maintainer of the list (Jeremy Begg), was also on the bootcamp and we tried to figure out what may have caused it. Contacted Hunter Goatley of Process also for help, and he gave me a method to check how the scan can be observed: Set debug to a high level, have the file at hand like it arrives, and run pmas.exe interactively.
    I had a message from Mark Daniel at hand, could now observe how the rule scan went as it was acceptyed; then changed the “From:” line as if I sent the message, and bingo: the mail got rejected – because I set it to reject regardless any other rule (‘megareject’). Changed the rule to ‘reject’ and now the message was accepted due to another rule, based of the “received:” header line, containing a value that is acceptable.
    So: problem solved.

    Tested it against the test address that Jeremy had set up, and I got the reply as expected.

    Then there was the issue with the home page: The text wasn’t displayed as it should. Turned out to be a number of typos in the text; corrected them today and now all show now as it was intended. At least: This bit.

    Last but not least: Since I’m back home, the laptop sitting in front of the servers as a console system can be removed. It’s no big deal to start the systems after a power outage in the evening following the issue, but it is a bit cumbersome to do so when you’re in the US…

    What’s next
    I learned a few things on bootcamp, and one is worth some experimentation, so I’ll pick that one up. I will give my remarks in this blog as well – since my aim is to do some changes in signalling.

    To be continued


    Mail problems
    After PMAS was updated, it struck me that there were no quarantained of discarded messages. As it turned out, no valid ones either: no wonder: the PMAS worker processes kept stopping:

    %%%%%%%%%%% OPCOM 10-SEP-2016 18:36:29.70 %%%%%%%%%%%
    Message from user INTERnet on DIANA
    INTERnet ACP SMTP Accept Request from Host: Port: 62502

    %%%%%%%%%%% OPCOM 10-SEP-2016 18:42:57.12 %%%%%%%%%%%
    Message from user INTERnet on DIANA
    INTERnet ACP SMTP Accept Request from Host: Port: 62504

    %%%%%%%%%%% OPCOM 10-SEP-2016 18:55:18.14 %%%%%%%%%%%
    Message from user SYSTEM on DIANA
    -PTSMTP-I-EXITREQUESTED, exit requested by operator

    %%%%%%%%%%% OPCOM 10-SEP-2016 18:55:18.14 %%%%%%%%%%%
    Message from user SYSTEM on DIANA
    %PTSMTP-I-DBSTATUS, status for configuration PMAS_ROOT:[DATA]PTSMTP.CONF:
    Total of 4763 connections accepted; 2 workers currently active
    Pid Process Name State Connections Serviced
    20244067 PTSMTP 0001 exiting 3711
    20245D68 PTSMTP 0002 exiting 343

    Here, I’ve done the update – without any configuration changes. Then started PMAS again

    %%%%%%%%%%% OPCOM 10-SEP-2016 19:04:21.24 %%%%%%%%%%%
    Message from user WILLEM on DIANA
    %PTSMTP-I-STARTING, PTSMTP for OpenVMS 1.0-1 starting

    %%%%%%%%%%% OPCOM 10-SEP-2016 19:04:21.29 %%%%%%%%%%%
    Message from user WILLEM on DIANA
    %PTSMTP-I-STARTDB, starting configuration for file PMAS_ROOT:[DATA]PTSMTP.CONF:
    -PTSMTP-I-LISTENON, listening for connections on,2525
    -PTSMTP-I-RUNWITH, running with from 2 to 10 workers

    %%%%%%%%%%% OPCOM 10-SEP-2016 19:04:23.05 %%%%%%%%%%%
    Message from user WILLEM on DIANA
    %PTSMTP-E-WORKERDIED, worker PTSMTP 0002 (20249025) terminated unexpectedly
    -PTSMTP-I-WORKEREXIT, worker exiting
    -PTSMTP-E-TLSCONFIGERR, TLS/SSL configuration error; check configuration

    %%%%%%%%%%% OPCOM 10-SEP-2016 19:04:23.05 %%%%%%%%%%%
    Message from user WILLEM on DIANA
    %PTSMTP-E-WORKERDIED, worker PTSMTP 0001 (20248824) terminated unexpectedly
    -PTSMTP-I-WORKEREXIT, worker exiting
    -PTSMTP-E-TLSCONFIGERR, TLS/SSL configuration error; check configuration

    and this goes on, and on, and on…. all day long on Sunday.
    Today, I noted this because operator.log of Sunday was 10 times as big as usual, and not any message had arrived from the ouside world.
    So I sent a mail to process.com, and Hunter suggested I should disable TLS again – I enabled it on Saturday because of the error. It’s one of these internal updates that should go unnoticed:

    PMAS V3.2-7 upgrades the OpenSSL component to 1.0.2g. I’ve not heard of anyone else having any issues, but I’d suggest you make sure the files pointed to by your configuration are OK. Also, check the PMAS_DATA:PTSMTP_TLS.CONF file and make sure it’s still accurate.

    But I didn’t do ANY change at all! 3.2-5 works fine….

    But I took a closer look.
    Checkecd the file hunter pointed to, but that states:

    #This file intentionally empty

    and the certifcate files menstioned in the configuration screen: server-pub.pem and server-priv.pem, don’t exist. Should not make a difference if TLS is not enabled, but the worker logs show these will be loaded – TLS or not:
    failed to load certificate file server-pub.pem; exiting

    So I’ll reverse this update – until a solution is found (I have this version still available).

    Hunter ran into the same behaviour, and on my way home from the office, he found the reason: comment two lines in PTSMTP.CONF:

    Please edit PMAS_DATA:PTSMTP.CONF and search for the section labeled “[tls]”. Comment out that line, then also comment out the tls_protocols line under it.

    Once you do that, PMAS should start OK.

    Looks like I inadvertently left the [tls] section in that file, when it should be coming from ptsmtp_tls.conf instead.
    Please edit PMAS_DATA:PTSMTP.CONF and search for the section labeled “[tls]”. Comment out that line, then also comment out the tls_protocols line under it.

    Once you do that, PMAS should start OK.

    Looks like I inadvertently left the [tls] section in that file, when it should be coming from ptsmtp_tls.conf instead.

    Sorry about that.

    Done this, and now mail is coming in again.

    WordPress update
    Setting up WP461 as a new blog – using the same set up as always – had a twist. I specified that database wp42 should be used; this one existsand an upgrade would be required – but for some reason wp-config.php isn’t exactly loading the file containg the database access parameters, and creates a new database WP with record prefix WP_. The upgrade script syas no update is required, and hitting the continue button breaks the session.
    However, using this new dataabse has no problems at first glance.

    8 days to go (actually, 7 1/2) to setup the laptop….But the main server seems to be in good condition now.


    Yesterday’s Mondesi issue solved
    Dug into the issue.
    The old version did show a page, no error (nor data but that is another story), on the mapping:

    0212 redirect /cgi-bin/mondesi* ///cgiplus-bin/mondesi*
    0213 pass /mondesi/-/* /wasd_root/src/mondesi/*
    0214 exec+ /cgiplus-bin/* /cgi-bin/*

    and the new one:
    0212 redirect /cgi-bin/mondesi* ///cgiplus-bin/mondesi*
    0213 pass /mondesi/-/* /wasd_root/src/mondesi/runtime/*
    0214 exec+ /cgiplus-bin/* /cgi-bin/*

    But WATCHing the mapping procedure on the server, it seems that is still using the old value – it maps /mondesi/-/acme.js to /wasd_root/src/mondesi/acme.js:

    0174 /mondesi/-/acme.js .. SET /wasd_root/* stmLF
    0175 /mondesi/-/acme.js .. SET /web/* stmLF
    0176 /mondesi/-/acme.js .. SET /wasd_root/doc/* map=ELLIPSIS
    0177 /mondesi/-/acme.js .. SET /wasd_root/src/* NOcache map=ELLIPSIS
    0178 /mondesi/-/acme.js Y- PASS /mondesi/-/* /wasd_root/src/mondesi/*

    and since this file doesn’t live there, it won’t find this file. hence the error.
    I didn’t understand so I asked for help on teh WASD-INFO list.
    But after that, scrutinizing the output, it turned out the problem did not occcur in homedesk.conf itself, but in one of the included files: Basic.conf. In that file, there was another location of this wrong mapping. And since WASD runs the mappings from top to bottom, it will use the first match – in this case, the wrong one. So I commented it out – and ran into the same error but to another location, because a bit further on there is one line that now causes havoc:

    pass /*/-/* /wasd_root/runtime/*/* cache=perm

    So now the acme.js files is searched for in the general WASD runtime environment, where it doesn’t exist either.
    Therefore the commented line would need to be changed to the right value:

    pass /mondesi/-/* /wasd_root/src/mondesi/runtime/*

    like the comment added a long time ago, states:

    # Mondesi, Must be defined here otherwise overruled by
    # runtime setting

    And behold:
    So I have to answer my own request to the WASD list….

    WordPress 4.6.1
    This is the latest version of WordPress.
    A few weeks ago I got a mail from the WordPress team urging me to update. Easy – if you’re on Windows or Linux, but for VMS, the automated update won’t work as in these systems, since quite a lot of files contain dots as part of the filename, which is not normal for VMS. So it’s likely that when these files are stored on VMS, the dots will be replaced by underscores and therefore kill the blog. Moreover, I don’t want a standard installation (I do not have a [wordpress] directory 🙂 ) so it won’t work for that reason alone.
    Of course I could set the system to allow dots in a filename (there is a setting to do that) but that may interfere with other programs. so I take the slow route: Upload the .ZIP file, unpack it, rename the newly created wordpress directory to WP with the version added, and create a system logical with that same name, referring to that directory as root of the given WordPress environment:
    So on my (windows) workstation, download the nzipfile from wordpress,org and pass it to VMS

    FTP wordpress-4.6.1.zip to the standard location on VMS (sman:[install.wp] - this will create wordpress-4^.6^.1.zip.

    on VMS:

    $ set def sman:[install.wp]
    $ unzip wordpress-4^.6^.1.zip -d web_disk2:[private].
    $! this creates web_disk2:[private.wordpress] directory tree
    $ ren web_disk2:[private]wordpress.dir web_disk2:[private]wp461.dir
    $ def/sys WP461 web_disk2:[private.wp461.]/trans=conc

    The next thing is to ‘reverse’ the translations of dots in a filename (except the last one, being the divider between file name and extension/file type) into underscore. In the past, this was straight on: any dos – except the last one – should be replaced by a dot. This was possible because in the past, wordpress didn’t use underscores in their filenames, but hyphens. But since version 3.something, some files have underscores…
    So the script I created to do this tedious job (named wp2vms.com), had to be altered, and 4.3.1 – the current version – was made running using that script. But in 4.4 there were even more of these files, so I didn’t get it running.
    Now I have investigated what files should NOT be renamed and happily enough, the filter of files to bypass this action, could be found in two places: If the full name contains string “RANDOM_COMPAT” or “IMAGES”, the files do not need to be renamed. Running that procedure reversed the translation except these, and one that was false-positive and needed to be renamed.
    (to find it: run wp2vms another time. Since the output is now limited, any file that should be renamed now stands out clearly).
    So now WP461 can be put to the test.
    The only thing to be done is to edit WP-CONFIG.PHP to refer to the include file containing the security definitions (which is inaccessible via the internet, of course) and add a mapping for the server. Non-public, by the way.
    If it works, the blogs will be updated.

    Bootcamp preparations
    Nine days left to prepare a system for bootcamp ….


    Updates installed
    Today I installed a number of updates.

    First, the latest version of PMAS (Precise Mail Anti Spam) has been installed: 3.2.7 – I was still running 3.2.5; it does it’s job (silently but well) but it may include some (internal) enhancements. One thing for sure: if messages are released from the user quarantine or discard pages, the page is reloaded – and the released messages won’t show up anymore.
    Second, I updated the WASD web server to the latest version (11.0.2) which meant the sites have been off line for s short time.One small glitch here: Following the manual, the update procedure couldn’t locate the INSTALL procedure so I had to make a small change. But once the update had run and the server is started, all seems well. I just have to disable a number of obsolete configuration items, and look for the new HTTP2 possibilities; I haven’t enabled them yet.
    Next, I updated a few packages from the sane forge: DCLInABox (terminal emulator over HTTP), AlaMode (real-time server monitor), and Mondesi (6.0.1) – which requires more configuration on the server (obviously). But for some reason, this still refers to the very old version (2.0.0) which didn’t work anyway, even when the actual image is uninstalled and deleted. So for this, I need to do some (WATCH) analysis.
    So apart from Mondesi, all went smoothly. As you would expect.


    Monthly maintenance
    No surprises, except a large number of relay attempts:

    PMAS statistics for August
    Total messages    :   4188 = 100.0 o/o
    DNS Blacklisted   :      0 =    .0 o/o (Files:  0)
    Relay attempts    :   2549 =  60.8 o/o (Files: 31)
    Accepted by PMAS  :   1639 =  39.1 o/o (Files: 31)
      Handled by explicit rule
             Rejected :    678 =  41.3 o/o (processed),  16.1 o/o (all)
             Accepted :    203 =  12.3 o/o (processed),   4.8 o/o (all)
      Handled by content
            Discarded :    325 =  19.8 o/o (processed),   7.7 o/o (all)
         Quarantained :    250 =  15.2 o/o (processed),   5.9 o/o (all)
            Delivered :    183 =  11.1 o/o (processed),   4.3 o/o (all)

    Relay attempts were mainly on one day (23-Aug) between 04:16 and 08:28 UTC; all I all 2401 attempts from one address:, but this network should not have access: I added a rule to lock tor this network but using the first 16 bits (/16). perhaps there are more masks possible so I’ll have to rule them out one by one.

    There have been a few quirks since the last updates, though.
    First, it turned out that my throttle-rule on /downloads blocked all access – and what I didn’t see is that there seemed to be eight sessions open, so Google got a 503 error – and signalled a raising number of errors, so I looked at this. The admin page gave one open request on this location, contacted the mailing list and learned there were more: 8 toe be precise, and by that, GoogleBot got this error. That cannot be noticed any more, so I will have to re-enable the line again and monitor what’s going on.

    Second, the procedure that should cycle SYSLOGD.LOG – holding log output from the router – every 25000 blocks, didn’t work, where it has in the past. It mayu be caused by the fact that SYSLOGD should close and reopen this file once in a while, so

    $ eof=f$file_attributes("sman:[tools.syslogd]syslogd.log;0","EOF")

    would set eof to the current size of the file.

    However, there must have been an alteration somewhere for some reason. The file isn’t closed so eof remains zero. Given the creation time of the file, this has been the case since 19-Jun-2016, and now the file is more than 600.000 blocks in size.

    Or I simply was mistaken; I changed this to

    $ eof=f$file_attributes("sman:[tools.syslogd]syslogd.log;0","ALQ")

    so eof now holds the number of allocated blocks, no matter whether the file is closed and reopened, or not. If this exceeds the limit, the log file is cycled. This has now happened twice – given the version numbers – and the logs archive.

    And today I added (and antidated) a new entry about the publication of our Corfu trip, two years ago.
    Bootcamp ahead

    Countdown: 19 days to go before flying to Boston 🙂