diff --git a/assets/editorial/01edits/integrity-new-years-backups/0PASS.org b/assets/editorial/01edits/integrity-new-years-backups/0PASS.org index c347be9..2a5629c 100644 --- a/assets/editorial/01edits/integrity-new-years-backups/0PASS.org +++ b/assets/editorial/01edits/integrity-new-years-backups/0PASS.org @@ -1,12 +1,18 @@ * Editorial Passes -** DONE HIRED [/] -- Commissioning and contract -** DONE STYLE [/] -- Editor and writer work together on style and structure. -** TODO FACTS [/] -- Fact-checking - - [ ] Links. Ensure we have links to as many places as possible, and that they work. - - [ ] Check with third-parties. To the greatest extent, we should reach out to everyone mentioned or to relevant experts and confirm that factual statements are correct. - - [ ] Terminology. Check that terminology is correct. -** TODO SPELL [/] -- Grammar and spell checking +** DONE HIRED [0/0] -- Commissioning and contract +** DONE STYLE [0/0] -- Editor and writer work together on style and structure. +** DONE FACTS [3/3] -- Fact-checking +CLOSED: [2024-01-03 Wed 23:20] + - [X] Links. Ensure we have links to as many places as possible, and that they work. + - [X] Check with third-parties. To the greatest extent, we should reach out to everyone mentioned or to relevant experts and confirm that factual statements are correct. + - [X] Terminology. Check that terminology is correct. +** TODO SPELL [1/2] -- Grammar and spell checking + - [X] Output as HTML, and run through Grammarly + - [ ] Do a quick ispell for barbarisms. ** TODO GRAPH [/] -- Graphics. Every piece needs a illustrated initial and at least one image. + - [ ] Build up an illustrated initial letter + - [ ] Create one, perhaps two dingbats + - [ ] See if these can be made into SVG ** TODO FINAL [/] -- Final look through before publication. - [ ] Add any Almnck footnote references to the canonical [[../../../../doc/footnotes.org][footnotes]] list. - [ ] Final check of all links. diff --git a/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.33.18 - A monochrome woodcut style illustration of an initial letter 'T' in an 18th-century design, set within a square frame. The letter 'T' is intricately d.png b/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.33.18 - A monochrome woodcut style illustration of an initial letter 'T' in an 18th-century design, set within a square frame. The letter 'T' is intricately d.png new file mode 100644 index 0000000..d8797c5 Binary files /dev/null and b/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.33.18 - A monochrome woodcut style illustration of an initial letter 'T' in an 18th-century design, set within a square frame. The letter 'T' is intricately d.png differ diff --git a/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.33.18-512x512.png b/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.33.18-512x512.png new file mode 100644 index 0000000..ceb7d01 Binary files /dev/null and b/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.33.18-512x512.png differ diff --git a/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.48.00 - A much simpler and more abstract wide and narrow woodcut-style illustration, suitable for separating two sections of prose. The concept of a miniature.png b/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.48.00 - A much simpler and more abstract wide and narrow woodcut-style illustration, suitable for separating two sections of prose. The concept of a miniature.png new file mode 100644 index 0000000..33837d0 Binary files /dev/null and b/assets/editorial/01edits/integrity-new-years-backups/DALL·E 2024-01-03 23.48.00 - A much simpler and more abstract wide and narrow woodcut-style illustration, suitable for separating two sections of prose. The concept of a miniature.png differ diff --git a/assets/editorial/01edits/integrity-new-years-backups/FACT.md b/assets/editorial/01edits/integrity-new-years-backups/FACTS.md similarity index 99% rename from assets/editorial/01edits/integrity-new-years-backups/FACT.md rename to assets/editorial/01edits/integrity-new-years-backups/FACTS.md index 4cb07be..3e2c633 100644 --- a/assets/editorial/01edits/integrity-new-years-backups/FACT.md +++ b/assets/editorial/01edits/integrity-new-years-backups/FACTS.md @@ -134,7 +134,7 @@ wobbled and then, like a plucky North Sea veteran, bobbed back up. Testing your recovery plans during your own end-of-year downtime and recovery gives you a moment to peer at what has been, and prepare for the ups and downs of the coming year. What will be the same? What will change? What parts of your -life can you simply hard link to the habits of the past? And what will you have +life can you simply hard link to the habits of the past? And what[ will you have to incrementally add and integrate into your ever-evolving life? Until next time, I am, diff --git a/assets/editorial/01edits/integrity-new-years-backups/SPELL.html b/assets/editorial/01edits/integrity-new-years-backups/SPELL.html new file mode 100644 index 0000000..2bc9964 --- /dev/null +++ b/assets/editorial/01edits/integrity-new-years-backups/SPELL.html @@ -0,0 +1,190 @@ +

To Old Danny, greetings:

+

The year ends, the North pole tips its deepest bow to the darkness, +and we see even large language models have been taking it easy for the +winter1. But for the faithful maintainer of +systems, there’s still work to be done, here in the cooling embers of +the year.

+

Now is a fine time to dust off your backup scripts and see if they’re +working as they should. An untested backup is no backup at all, said the +wise elders of the Scary Devil +Monastery2, and if we want to set the new year +off to its best start, we should ensure we can pause, tear-down, and +re-start the marching present even at its lowest points.

+

When examining my backup and restore process, I took the opportunity +this year to test my backups and increase the size of my root partition +on my server.

+

One last manual backup of the 256GiB SSD in my trusty server +boat for the sake of the old, and then an attempted restore +for the sake of the new: to a spare machine, tub, +temporarily hosting a new, 1TiB SSD. If all goes well, the restored +backup in tub would have new room to grow, and I could swap that drive +into boat with minimal downtime.

+

That moment of hardware-swapping would mean that boat +would have to be shutdown and then restarted anew. Humans need their +respite over the holiday break: but should I have granted my server the +same indulgence? My plan accepted that boat would be +offline for, I hoped, a small slice of time.

+

There are more convoluted ways to ensure that none of my websites, +file syncing, and miscellaneous tools did not flicker, even for a +moment. I could have switched my DNS settings to the fresh clean +tub, for instance, while overwriting boat. Or +perhaps just repurposed boat for gentler, less demanding +tasks, giving it the end-of-year gift of a well-deserved retirement, and +switched to tub a new year’s responsibility of my hosting +my main home processes.

+

At the scale of my own life, I do believe that uptime is overrated. +We are surrounded by tools bent into the shapes demanded by large tech +companies, for whom site reliability is their first commandment.

+

But we are humans, not corporations. We run at our own pace. If Homer +nods, so can my home lab. Christmas has its own folklore of visitors rebuffed, but +hopefully my friends have other things to do at this time than hit +reload on my websites.

+

Yes, a personal webserver can go down for a few moments – as long as +it bobs back up.

+

Which, with restored filing systems, is ever the question. Will the +backup truly come back up? A reset and rebooted may also be a time for +final exhaustion and death. Morbidly, we note that human deaths seem +positively correlated with the change of pace of the holidays3, just as drives and computers will +dutifully run for years, but expire after a moment’s rest.

+

I use “Relax-And-Recover” (REAR), a +Linux disaster recovery system from when sysadmins wrote shell code and +/liked it/. REAR is a sprawling set of shell scripts that runs your +choice of backup code – from +[rsync](https://jumpcloud.com/blog/how-to-backup-linux-system-rsync) +to [borg](https://borgbackup.readthedocs.io/) – over your +entire linux root, on a regular, cron-determined, basis. Having seen to +that prosaic task, it will also create minimal, +bootable blob. The blob, stuffed onto an USB drive, CD-ROM, or +networked drive, will boot into a minimal Linux, and lead you through +the reconstruction and re-partitioning of a drive that will emerge the +same shape as your original machine. Then it will pull down your +backups, and restore this drive to the precise state that your backups +recalled it. A perfect, royal, restoration.

+

Readers born into our age of strong types and weak stomachs may be +balking at the idea of entrusting their restoration to a bunch of stringly-typed +Bash scripts. REAR’s 20K(!) lines of shellcode intimate that it has +reached the edges of complexity beyond that you might think bashism can +bear.

+

But this is sysadmin shell code. That terrifying KLOC is +defensive, modular coding of the highest order. For the casual shell +user, REAR’s operation is comprehensible, its failure modes anticipated +and loudly-announced, and tweaks and mediations are semi-obvious. REAR’s +authors emphasise “a relaxing recovery”, and ghosts of sysadminning past +do not lightly emphasise relaxation.

+

While I was never /not/ relaxed during my holiday restoration. I did +occasionally carol a high-pitched note or two of concern.

+

Two snowbanks stood between me and a perfectly clean restore. Since I +first installed it, I have had REAR create ISO files for burning onto a +CD-ROM that I could restore from. CD must now stand for “Cretaceous +Disk”: I have not used those in anger for over a decade. Converting a +bootable ISO into a bootable USB drive drive turns out to be +surprisingly tricky, and I can never remember how to do it. In the end I +was forced, humiliatingly, to read REAR’s FAQ, +where they recommended a heavy utility, UnetBootin, for achieving this. +In the future, I’ve set REAR to output those bootable blobs as RAWDISK, +which can be burned (warmed?) onto a USB.

+

REAR’s ecumenical acceptance of multiple backup programs can +introduce additional complexity into its scripts. My use of borg +backup tripped up the restore. REAR scans +executables that it plans to include on its rescue bootable blob to +detect what libraries they require, so that it may copy those over. +Sadly, the borg executable can be either a binary executable (for which +this works), or just a Python script, whose demands REAR cannot fathom. +This is undoubtedly a bug a future REAR will fix, but in the meantime I +just copied over the binary +borg into /usr/local/bin and used that instead of the +Pythonic borg of the Debian repos.

+

After those tweaks, tub was filled with the form of +boat’s Christmas past. I swapped over the two drives, +holding my breath, and losing the little M.2 SSD screw as always (these +plastic nubbin +replacements tempted me in the fallout, though apparently a pencil +sharpener will work in a pinch). Boat wobbled and then, +like a lucky North +Sea seafarer, bobbed back up from an early visit to “Fiddler’s +Green”.

+

Testing your recovery plans during your own end-of-year downtime +gives you a moment to look back at the record of what has been, and +prepare for the ups and downs of the coming year. What will be the same? +What will change? What parts of your life can you simply hard link to +the habits of the past? And what will you have to incrementally add and +integrate into your ever-evolving life?

+

Until next time, I am relaxed and restored,

+

~Integrity Mather

+
+
+
    +
  1. Are the rumors of an AI Winter true? Do LLMs get lazier +during December? Ian Arawjo, author +of ChainForge, +spotted flaws +in Rob Lynch’s significant result that GPT-4-Turbo produces fewer tokens +when December is mentioned in its prompt, but https://twitter.com/messages/54913-1586500784514113536 +is continuing to investigate at press time. See our earlier memo on the +phenomenon, “The True Meaning of Wintermute: Northern Hemisphere +Seasonability in Tessier-Ashpool AIs”, Automatic Jack, Almnck. 1981.↩︎

  2. +
  3. Alt.sysadmin.recovery’s monastic wisdom, is only dimly +remembered now that posting to Usenet and painting your nails black are +no longer professional requirements for ops. The newsgroup provided +several powerful and vile proverbs on the importance of backups, the +foulest of which remain unrecorded in Heather Garvey’s extant +quotes file. Garvey’s document was, you may note, updated mere hours +before Y2K day. This lends some credence to the the theory that an +eldritch rite committed by the Monks on that day led to the key events +in the subsequent Rupture of the Nerds, including the abandonment of +Usenet, ASR regulars Kirrily “Skud” Roberts’ co-founding of the Geek +Feminism movement, and Charlie Stross being press-ganged into leaving +system administraiton by mysterious backers in the Humanities Industrial +Complex to become a prominent science fiction author. Thereafter, +following the success of Accelerando, he was reputed to have been +clumsily digitized into an AI corporate entity, programmed to deny that +corporations could ever be people (and vice-versa) until the West +Lothian and Turing police backed away. See, “Saint Charles of Stross: A +Prohairetic Hagiography”, G. Vittoria, Almnck. 2006.↩︎

  4. +
  5. Most recently – but not that recently – +examined in Phillips, D. P., Jarvinen, J. R., Abramson, I., & +Phillips, R. R. (2004). Cardiac Mortality Is Higher Around Christmas and +New Year’s Than at Any Other Time. Circulation, 110(25), +3781–3788. https://doi.org/10.1161/01.cir.0000151424.02045.f7.

    +

    Later studies suggest that people don’t get any crazier or suicidal +at Christmas (See Schneider, E., Liwinski, T., Imfeld, L., Lang, U. E., +& Brühl, A. B. (2023). Who is afraid of Christmas? The effect of +Christmas and Easter holidays on psychiatric hospitalizations and +emergencies—Systematic review and single center experience from 2012 to +2021. Frontiers in Psychiatry, 13. +https://doi.org/10.3389/fpsyt.2022.1049935 ), and it may just be the +same effect as more people dying in the medical system during weekends, +See Castaño-Pérez, S., Medina García, J.A. & Cabrera de León, A. The +dose–response effect of time between emergency admission and inpatient +care on mortality. Sci Rep 13, 22244 (2023). +https://doi.org/10.1038/s41598-023-49090-5 .

    +

    For explorations of the theory that excess Winter deaths are caused +by high-energy particle emissions from near-lightspeed Western +gift-deliverers, see “Bremstrahlung und Blitzen!: Incidence Rates of +Thyroid Cancer among Naughty, Nice, and Non-Believers”, Almnck. 1823.↩︎

  6. +
+
diff --git a/assets/editorial/01edits/integrity-new-years-backups/_header.html b/assets/editorial/01edits/integrity-new-years-backups/_header.html new file mode 100644 index 0000000..b12f3a0 --- /dev/null +++ b/assets/editorial/01edits/integrity-new-years-backups/_header.html @@ -0,0 +1 @@ +

Almanack

diff --git a/assets/editorial/01edits/integrity-new-years-backups/create.sh b/assets/editorial/01edits/integrity-new-years-backups/create.sh new file mode 100755 index 0000000..df8c347 --- /dev/null +++ b/assets/editorial/01edits/integrity-new-years-backups/create.sh @@ -0,0 +1 @@ +pandoc -i new-years-backups.md -B _header.html -c 'res/almanack.css' --standalone -o new-years-backups.html ; open new-years-backups.html diff --git a/assets/editorial/01edits/integrity-new-years-backups/new-years-backups-dingbat1.png b/assets/editorial/01edits/integrity-new-years-backups/new-years-backups-dingbat1.png new file mode 100644 index 0000000..33837d0 Binary files /dev/null and b/assets/editorial/01edits/integrity-new-years-backups/new-years-backups-dingbat1.png differ diff --git a/assets/editorial/01edits/integrity-new-years-backups/new-years-backups-initial.png b/assets/editorial/01edits/integrity-new-years-backups/new-years-backups-initial.png new file mode 100644 index 0000000..ceb7d01 Binary files /dev/null and b/assets/editorial/01edits/integrity-new-years-backups/new-years-backups-initial.png differ diff --git a/assets/editorial/01edits/integrity-new-years-backups/new-years-backups.html b/assets/editorial/01edits/integrity-new-years-backups/new-years-backups.html new file mode 100644 index 0000000..d2a9cfb --- /dev/null +++ b/assets/editorial/01edits/integrity-new-years-backups/new-years-backups.html @@ -0,0 +1,243 @@ + + + + + + + + + Look Back Up + + + + + +

Almanack

+
+

Look Back Up

+

Integrity Mather

+

January 1, 2024

+
+
+

he year ends, the North pole tips its deepest bow to the +darkness, and we see even large language models have been taking +it easy for the winter1. But for the faithful +maintainer of systems, there’s still work to be done, here in the +cooling embers of the year.

+

Now is a fine time to dust off your backup scripts and see if they’re +working as they should. An untested backup is no backup at all, said the +wise elders of the Scary Devil +Monastery2 and if we want to set the new year +off to its best start, we should ensure we can pause, tear down, and +re-start its march, even at its lowest points.

+

When examining my backup and restore process, I took the opportunity +this year to test my backups and increase the size of my root partition +on my server.

+

One last manual backup of the 256GiB SSD in my trusty server +boat for the sake of the old, and then an attempted restore +for the sake of the new: to a spare machine, tub, +temporarily hosting a new, 1TiB SSD. If all goes well, the restored +backup in tub would have new room to grow, and I could swap that drive +into boat with minimal downtime.

+

That moment of hardware-swapping would mean that boat +would have to be shut down and then restarted anew. Humans need their +respite over the holiday break: but should I have granted my server the +same indulgence? My plan accepted that boat would be +offline for, I hoped, a small slice of time.

+

There are more convoluted ways to ensure that none of my web sites, +file syncing, and miscellaneous tools flickered, even for a moment. I +could have temporarily switched my DNS settings to point at the fresh +clean tub, for instance, while overwriting +boat. Or perhaps just repurposed boat for +gentler, less demanding tasks, giving it the end-of-year gift of a +well-deserved retirement, and passing to tub a new year’s +responsibility of hosting my server processes.

+

Within the scale of my own life, I do believe that uptime is +overrated. We are surrounded by tools bent into the shapes demanded by +large tech companies, for whom site reliability is their first +commandment.

+

But we are humans, not corporations. We run at our own pace. If Homer +nods, so can my home lab. Christmas has its folklore of visitors rebuffed, but +hopefully, my friends have other pressing matters this time of year than +hitting reload on my sites.

+

Yes, a personal web server can go down for a few moments – as long as +it bobs back up.

+

Which, with restored filing systems, is ever the question. Will the +backup truly come back up? A reset and reboot may also be a time for +sinking exhaustion and death. Human deaths seem positively correlated +with the change of pace of the holidays3, +and so too, drives and computers will dutifully run for years, but +expire after a moment’s rest.

+
+
+ + +
+
+

I use “Relax-And-Recover” (REAR), a +Linux disaster recovery system from when sysadmins wrote shell code and +liked it. REAR is a sprawling set of shell scripts that runs +your choice of backup code – from rsync +to borg – +over your entire Linux filesystem, on a regular, cron-determined, basis. +Having seen to that prosaic task, REAR will also create a minimal, +bootable blob. The blob, stuffed onto a USB drive, CD-ROM, or +networked drive, will boot into a rescue Linux, and lead you through the +reconstruction and re-partitioning of a drive that will emerge the same +shape as your original machine. Then it will pull down your backups, and +restore this drive to the precise state that your backups recalled +it.

+

Readers born into our age of strong types and weak stomachs may be +balking at the idea of entrusting their restoration to a bunch of stringly-typed +Bash scripts. REAR’s 20K(!) lines of shellcode intimate that it has +reached levels of complexity, beyond that which bashism can safely +grasp.

+

But this is sysadmin shell code. That terrifying KLOC is +defensive, modular coding of the highest order. For the casual shell +user, REAR’s operation is comprehensible, its failure modes anticipated +and loudly announced, and tweaks and mediations are semi-obvious. REAR’s +authors offer “a relaxing recovery”, and the ghosts of sysadminning past +do not lightly emphasize relaxation.

+

While I was never not relaxed during my holiday restoration. +I did occasionally carol a high-pitched note or two of concern.

+

Two hefty snowbanks stood between me and a perfectly clean restore. +Since I first installed it, I have had REAR create ISO files for burning +onto a CD-ROM that I could restore from. “CD’ stand now for”Cretaceous +Disk”: I have not used one for over a decade. Pouring a bootable ISO +into a contemporary USB drive drive turns out to be surprisingly tricky, +and I can never remember how to do it. In the end, I was forced, +humiliatingly, to read REAR’s FAQ, +where they recommended a meatier graphical utility, UnetBootin, for achieving this. +In the future, I’ve set REAR to output those bootable blobs as RAWDISK, +which can be burned (warmed?) onto a USB drive.

+

REAR’s ecumenical acceptance of external backup programs can +introduce a tremors into its solid scripts. My use of a distribution borg +backup package broke the restore. REAR scans +executables that it plans to include on its rescue bootable blob to +detect what libraries they require, so that it may copy those over. +Sadly, the borg executable can be either a binary executable – for which +this suffices – or a Python script, whose demands REAR cannot fathom. +This is undoubtedly a bug a future REAR will fix. In the meantime I +copied over the binary +borg into /usr/local/bin instead of the Pythonic borg +of the Debian repos.

+

After those tweaks, tub was filled with the form of +boat’s Christmas past. I swapped over the two drives, +holding my breath, and losing the little M.2 SSD screw as always (these +plastic nubbin +replacements tempted me in the fallout, though apparently a pencil +sharpener will work in a pinch). Boat wobbled and then, +like a lucky North +Sea seafarer, bobbed back up from an early visit to “Fiddler’s +Green”.

+

Testing your recovery plans during your own end-of-year downtime +gives you a moment to look back at the record of what has been, and +prepare for the ups and downs of the coming year. What will be the same? +What will change? What parts of your life can you simply hard link to +the habits of the past? And what will you have to incrementally add and +integrate into your ever-evolving life?

+
+
+

~Integrity Mather

+
+
+
+
    +
  1. Are the rumors of an AI Winter true? Do LLMs get lazier +during December? Ian Arawjo, author +of ChainForge, +spotted flaws +in Rob Lynch’s significant result that GPT-4-Turbo produces fewer tokens +when December is mentioned in its prompt, but Cousin +Lynch is continuing to investigate at press time. See our earlier +memo on the phenomenon, “The True Meaning of Wintermute: Northern +Hemisphere Seasonability in Tessier-Ashpool AIs”, Automatic Jack, +Almnck. 1981.↩︎

  2. +
  3. alt.sysadmin.recovery‘s monastic wisdom, is +only dimly remembered now that posting to Usenet and painting your nails +black are no longer professional requirements for ops. The newsgroup +provided several powerful and vile proverbs on the importance of +backups, the foulest of which remain unrecorded in Heather Garvey’s extant +quotes file. Garvey’s document was, you may note, updated mere hours +before Y2K day. This lends some credence to the theory that an eldritch +rite committed by the Monks on that day led to the key events in the +subsequent Rupture of the Nerds, including the abandonment of Usenet, +ASR regulars Kirrily “Skud” Roberts’ co-founding of the Geek Feminism +movement, and Charlie Stross being press-ganged into leaving system +administration by mysterious backers in the Humanities Industrial +Complex to become a prominent science fiction author. Thereafter, +following the success of Accelerando, he was reputed to have been +clumsily digitized into an AI corporate entity, programmed to deny that +corporations could ever be people (and vice-versa) until the West +Lothian and Turing police backed away. See, “Saint Charles of Stross: A +Prohairetic Hagiography”, G. Vittoria, Almnck. 2006.↩︎

  4. +
  5. Most recently – but not that recently – +examined in Phillips, D. P., Jarvinen, J. R., Abramson, I., & +Phillips, R. R. (2004). Cardiac Mortality Is Higher Around Christmas and +New Year’s Than at Any Other Time. Circulation, 110(25), +3781–3788. https://doi.org/10.1161/01.cir.0000151424.02045.f7.

    +

    Later studies suggest that people do not grow crazier or more +suicidal at Christmas (See Schneider, E., Liwinski, T., Imfeld, L., +Lang, U. E., & Brühl, A. B. (2023). Who is afraid of Christmas? The +effect of Christmas and Easter holidays on psychiatric hospitalizations +and emergencies—Systematic review and single center experience from 2012 +to 2021. Frontiers in Psychiatry, 13. +https://doi.org/10.3389/fpsyt.2022.1049935 ). Perhaps it could be simply +the same effect as more people dying in the medical system during +weekends, See Castaño-Pérez, S., Medina García, J.A. & Cabrera de +León, A. The dose-response effect of time between emergency admission +and inpatient care on mortality. Sci Rep 13, 22244 (2023). +https://doi.org/10.1038/s41598-023-49090-5 ?

    +

    For explorations of the theory that excess Winter deaths are caused +by high-energy particle emissions from near-lightspeed Western gift +despatch, see “Bremßtrahlung und Blitzen!: Incidence Rates of Thyroid +Cancer among the Naughty, Nice, and Non-Believing”, Almnck. 1823.↩︎

  6. +
+
+ + diff --git a/assets/editorial/01edits/integrity-new-years-backups/new-years-backups.md b/assets/editorial/01edits/integrity-new-years-backups/new-years-backups.md index 6586650..fd88cad 100644 --- a/assets/editorial/01edits/integrity-new-years-backups/new-years-backups.md +++ b/assets/editorial/01edits/integrity-new-years-backups/new-years-backups.md @@ -1,24 +1,25 @@ --- -Author: Integrity Mather -Title: Looking Back Up +author: Integrity Mather +title: Look Back Up +date: January 1, 2024 --- - -To Old Danny, greetings: - -The nights have barely stopped closing in the Northern hemisphere, and we see -even large language models have been taking it easy for the +::: {.maintext} +![T](res/new-years-backups-initial.png){ .initial } +he year ends, the North pole tips its deepest bow to the darkness, and we see +even large language models have been [taking it easy](https://arstechnica.com/information-technology/2023/12/is-chatgpt-becoming-lazier-because-its-december-people-run-tests-to-find-out/) for the winter[^winterbreak]. But for the faithful maintainer of systems, there's still work to be done, here in the cooling embers of the year. Now is a fine time to dust off your backup scripts and see if they're working as they should. An untested backup is no backup at all, said the wise elders of -the [Scary Devil Monastery](http://www.faqs.org/faqs/sysadmin-recovery/)[^scarydevilmonastery], and if we want to set the new year off to its best -start, we should ensure we can pause, tear-down, and re-start the marching -present even at its lowest points. +the [Scary Devil +Monastery](http://www.faqs.org/faqs/sysadmin-recovery/)[^scarydevilmonastery] +and if we want to set the new year off to its best start, we should ensure we +can pause, tear down, and re-start its march, even at its lowest +points. When examining my backup and restore process, I took the opportunity this year -to test my backups while quadrupling the size of my root partition on my -server. +to test my backups and increase the size of my root partition on my server. One last manual backup of the 256GiB SSD in my trusty server `boat` for the sake of the old, and then an attempted restore for the sake of the new: to a @@ -27,120 +28,163 @@ the restored backup in tub would have new room to grow, and I could swap that drive into `boat` with minimal downtime. That moment of hardware-swapping would mean that `boat` would have to be -shutdown and then restarted anew. Humans need their respite over the holiday break: +shut down and then restarted anew. Humans need their respite over the holiday break: but should I have granted my server the same indulgence? My plan accepted that `boat` would be offline for, I hoped, a small slice of time. -There are more convoluted ways to ensure that none of my websites, file -syncing, and miscellaneous tools did not flicker, even for a moment. I could -have switched my DNS settings to the fresh clean `tub`, for instance, while -overwriting `boat`. Or perhaps just repurposed `boat` for gentler, less demanding -tasks, giving it the end-of-year gift of a well-deserved retirement, and -switched to `tub` a new year's responsibility of my hosting my main home -processes. +There are more convoluted ways to ensure that none of my web sites, file +syncing, and miscellaneous tools flickered, even for a moment. I could have +temporarily switched my DNS settings to point at the fresh clean `tub`, for +instance, while overwriting `boat`. Or perhaps just repurposed `boat` for +gentler, less demanding tasks, giving it the end-of-year gift of a well-deserved +retirement, and passing to `tub` a new year's responsibility of hosting my +server processes. -At the scale of my own life, I do believe that uptime is overrated. We are +Within the scale of my own life, I do believe that uptime is overrated. We are surrounded by tools bent into the shapes demanded by large tech companies, for whom site reliability is their first commandment. -But we are humans, not corporations. If Homer nods, so can my home lab. -Christmas has its own folklore of [visitors rebuffed](https://en.wikipedia.org/wiki/Befana), but hopefully my friends -have better things to do at this time than hit reload on my websites. Yes, a -personal webserver can go down for a few moments -- as long as it comes back -up. +But we are humans, not corporations. We run at our own pace. If Homer nods, so +can my home lab. Christmas has its folklore of [visitors +rebuffed](https://en.wikipedia.org/wiki/Befana), but hopefully, my friends have +other pressing matters this time of year than hitting reload on my sites. + +Yes, a personal web server can go down for a few moments -- as long as it bobs +back up. Which, with restored filing systems, is ever the question. Will the backup -truly come back up? A restored and rebooted machine may also be a time for -failure and death, just as, morbidly, we should note that human deaths -seem positively correlated with the change of pace of the holidays[^xmasdeaths]. +truly come back up? A reset and reboot may also be a time for sinking +exhaustion and death. Human deaths seem positively correlated with the change +of pace of the holidays[^xmasdeaths], and so too, drives and computers will +dutifully run for years, but expire after a moment's rest. -I use the more positively-framed ["Relax-And-Recover"](https://relax-and-recover.org/) (REAR), a disaster recovery system -from when sysadmins wrote shell code and /liked it/. REAR is a sprawling bash -scripts that runs your choice of backup code -- from `[rsync](https://jumpcloud.com/blog/how-to-backup-linux-system-rsync)` to `[borg](https://borgbackup.readthedocs.io/)` -- over your -entire linux root, on a regular, cron-determined, basis. Having seen to that -prosaic task, it will also create [minimal, bootable blob](https://relax-and-recover.org/usage/#recovery_from_usb). The blob, stuffed -onto an USB drive, CD-ROM, or networked drive, will boot into a minimal Linux, -and lead you through the reconstruction and re-partitioning of a drive +
+![~~~](res/new-years-backups-dingbat1.png){width=50%} +
+ +I use ["Relax-And-Recover"](https://relax-and-recover.org/) (REAR), a Linux +disaster recovery system from when sysadmins wrote shell code and *liked it*. +REAR is a sprawling set of shell scripts that runs your choice of backup code +-- from [`rsync`](https://jumpcloud.com/blog/how-to-backup-linux-system-rsync) +to [`borg`](https://borgbackup.readthedocs.io/) -- over your entire Linux +filesystem, on a regular, cron-determined, basis. Having seen to that prosaic +task, REAR will also create a [minimal, bootable +blob](https://relax-and-recover.org/usage/#recovery_from_usb). The blob, +stuffed onto a USB drive, CD-ROM, or networked drive, will boot into a rescue +Linux, and lead you through the reconstruction and re-partitioning of a drive that will emerge the same shape as your original machine. Then it will pull -down your backups, and restore this drive to the precise state -that your backups recalled it. A perfect, royal, restoration. +down your backups, and restore this drive to the precise state that your +backups recalled it. Readers born into our age of strong types and weak stomachs may be balking at -the idea of entrusting restoration to a bunch of [stringly-typed](https://samgrayson.me/essays/stop-writing-shell-scripts/) Bash scripts. -REAR's 20K(!) lines of shellcode intimate that it has reached the edges of -complexity beyond that you might think bashism can bear. +the idea of entrusting their restoration to a bunch of +[stringly-typed](https://samgrayson.me/essays/stop-writing-shell-scripts/) Bash +scripts. REAR's 20K(!) lines of shellcode intimate that it has reached levels +of complexity, beyond that which bashism can safely grasp. -But this is *sysadmin* shell code. That terrifying KLOC is -defensive, modular coding of the highest order. For the casual shell user, -REAR's operation is comprehensible, failure modes anticipated and loudly-announced, and -tweaks and errors are semi-obvious. REAR's authors emphasise "a relaxing -recovery", and ghosts of sysadminning past do not lightly emphasise enhancing your -calm in those moments. +But this is *sysadmin* shell code. That terrifying KLOC is defensive, modular +coding of the highest order. For the casual shell user, REAR's operation is +comprehensible, its failure modes anticipated and loudly announced, and tweaks +and mediations are semi-obvious. REAR's authors offer "a relaxing +recovery", and the ghosts of sysadminning past do not lightly emphasize relaxation. -I was never /not/ relaxed during my holiday restoration. I did -occasionally emit a high-pitched carol or two of concern. I have had REAR create ISO -files for burning onto a CD-ROM that I could restore from. CD stands for -"Cretaceous Disk" nowadays: Even I have not used them in anger for over a decade. +While I was never *not* relaxed during my holiday restoration. I did +occasionally carol a high-pitched note or two of concern. -Converting a bootable ISO into a bootable USB drive drive turns out to be -surprisingly tricky, and I can never remember how to do it. In the end I was -forced, humiliatingly, to read [REAR's FAQ](https://relax-and-recover.org/documentation/faq), where they recommended a heavy -utility, [UnetBootin](https://unetbootin.github.io/), for achieving this. In the future, I've -set REAR to output those bootable blobs as [RAWDISK](https://relax-and-recover.org/rear-user-guide/basics/configuration.html), which can be burned -(warmed?) onto a USB. +Two hefty snowbanks stood between me and a perfectly clean restore. Since I +first installed it, I have had REAR create ISO files for burning onto a CD-ROM +that I could restore from. "CD' stand now for "Cretaceous Disk": I have not +used one for over a decade. Pouring a bootable ISO into a contemporary USB +drive drive turns out to be surprisingly tricky, and I can never remember how +to do it. In the end, I was forced, humiliatingly, to read [REAR's +FAQ](https://relax-and-recover.org/documentation/faq), where they recommended a +meatier graphical utility, [UnetBootin](https://unetbootin.github.io/), for achieving this. +In the future, I've set REAR to output those bootable blobs as +[RAWDISK](https://relax-and-recover.org/rear-user-guide/basics/configuration.html), +which can be burned (warmed?) onto a USB drive. -REAR's ecumenical acceptance of multiple backup programs can introduce additional -complexity into its scripts. My use of borg backup tripped up the restore. REAR -[scans executables](https://github.com/rear/rear/blob/0bd84e259c7c61612a1d8eb296ee1e81a2cbc87b/usr/share/rear/build/default/990_verify_rootfs.sh#L51) that it plans to include on its rescue bootable blobto -detect what libraries they require, so that it may copy those over. Sadly, the borg -executable can be either a binary executable (for which this works), or just a -Python script, whose demands REAR cannot fathom. This is undoubtedly a bug a -future REAR will fix, but in the meantime I just copied over the [binary borg](https://borgbackup.readthedocs.io/en/stable/installation.html#standalone-binary) -into `/usr/local/bin` and used that instead of the Pythonic borg of the Debian -repos. +REAR's ecumenical acceptance of external backup programs can introduce +a tremors into its solid scripts. My use of a distribution [borg +backup](https://github.com/rear/rear/blob/master/usr/share/rear/conf/examples/borg-example.conf) package +broke the restore. REAR [scans +executables](https://github.com/rear/rear/blob/0bd84e259c7c61612a1d8eb296ee1e81a2cbc87b/usr/share/rear/build/default/990_verify_rootfs.sh#L51) +that it plans to include on its rescue bootable blob to detect what libraries +they require, so that it may copy those over. Sadly, the borg executable can be +either a binary executable -- for which this suffices -- or a Python script, +whose demands REAR cannot fathom. This is undoubtedly a bug a future +REAR will fix. In the meantime I copied over the [binary +borg](https://borgbackup.readthedocs.io/en/stable/installation.html#standalone-binary) +into `/usr/local/bin` instead of the Pythonic borg of the +Debian repos. -After those tweaks, `tub` was filled with the form of `boat`'s Christmas past. I swapped -over the two drives, holding my breath, and losing the little M.2 SSD screw as -always (these [plastic nubbin replacements](https://www.ebay.com/itm/275937873783) tempted me in the fallout, though apparently a [pencil sharpener](https://linustechtips.com/topic/1319971-missing-a-screw-for-your-m2-ssd-check-this-out/) also works in a pinch). `Boat` +After those tweaks, `tub` was filled with the form of `boat`'s Christmas past. +I swapped over the two drives, holding my breath, and losing the little M.2 SSD +screw as +always (these [plastic nubbin replacements](https://www.ebay.com/itm/275937873783) tempted me in the fallout, though apparently a [pencil sharpener](https://linustechtips.com/topic/1319971-missing-a-screw-for-your-m2-ssd-check-this-out/) will work in a pinch). `Boat` wobbled and then, like a lucky [North Sea seafarer](https://www.youtube.com/watch?v=qlrvzLRgzdc), bobbed back up from an early visit to "[Fiddler's Green](https://en.wikipedia.org/wiki/Fiddler%27s_Green)". -Testing your recovery plans during your own end-of-year -downtime and recovery gives you a moment to peer at what has -been, and prepare for the ups and downs of the coming year. -What will be the same? What will change? What parts of your -life can you simply hard link to the habits of the past? And -what will you have to incrementally add and integrate into your -ever-evolving life? +Testing your recovery plans during your own end-of-year downtime gives you a +moment to look back at the record of what has been, and prepare for the ups and +downs of the coming year. What will be the same? What will change? What parts +of your life can you simply hard link to the habits of the past? And what will +you have to incrementally add and integrate into your ever-evolving life? -Until next time, I am, +::: -~Integrity Mather +::: {.signoff} +[~Integrity Mather](/~integrity/) +::: -[^winterbreak]: Are the rumors of an AI Winter true? Do LLMs get lazier during December? [Ian Arawjo](https://ianarawjo.com/), -author of [ChainForge](https://github.com/ianarawjo/ChainForge), spotted [flaws](https://twitter.com/IanArawjo/status/1734924051242484223) in Rob Lynch's significant result that -GPT-4-Turbo produces fewer tokens when December is mentioned in its prompt, but [https://twitter.com/messages/54913-1586500784514113536](Cousin Lynch) is continuing to investigate at press time. See our earlier memo on the phenomenon, "The True Meaning of Wintermute: Northern Hemisphere Seasonability in Tessier-Ashpool AIs", Automatic Jack, Almnck. 1981. +[^winterbreak]: Are the rumors of an AI Winter true? Do LLMs get lazier during + December? [Ian Arawjo](https://ianarawjo.com/), author of + [ChainForge](https://github.com/ianarawjo/ChainForge), spotted + [flaws](https://twitter.com/IanArawjo/status/1734924051242484223) in Rob + Lynch's significant result that GPT-4-Turbo produces fewer tokens when + December is mentioned in its prompt, but + [Cousin Lynch](https://twitter.com/messages/54913-1586500784514113536) is + continuing to investigate at press time. See our earlier memo on the + phenomenon, "The True Meaning of Wintermute: Northern Hemisphere + Seasonability in Tessier-Ashpool AIs", Automatic Jack, Almnck. 1981. -[^scarydevilmonastery]: Alt.sysadmin.recovery's monastic wisdom, is only dimly remembered - now that posting to Usenet and painting your nails black are -no longer professional requirements for network engineers. Nonetheless the newsgroup provided several powerful and vile proverbs on the importance of -backups, the foulest of which remain unrecorded in Heather Garvey's [extant -quotes -file](https://web.archive.org/web/20060423055444/http://home.xnet.com/~raven/Sysadmin/ASR.Quotes.html), -Garvey's document was, you may note, updated mere hours before Y2K day. -This lends some credence to the the theory that an eldritch rite committed by -the Monks on that day led to the key events in the subsequent Rupture of the -Nerds, including the abandonment of Usenet, ASR regulars Kirrily "Skud" Roberts' co-founding of the Geek -Feminism movement, and Charlie Stross being press-ganged into leaving system administraiton and forced by mysterious VC backers to become -prominent science fiction author, thereafter, following the success of Accelerando, -to be clumsily digitized into an AI corporate entity, programmed to -repeatedly deny that corporations were people until the West Lothian and Turing police backed away -from looking more any closely into his corporate structure. See, "Saint Charles of Stross: A Prohairetic Hagiography", G. Vittoria, Almnck. 2006. +[^scarydevilmonastery]: `alt.sysadmin.recovery`'s monastic wisdom, is only dimly + remembered now that posting to Usenet and painting your nails black are no + longer professional requirements for ops. The newsgroup provided several + powerful and vile proverbs on the importance of backups, the foulest of + which remain unrecorded in Heather Garvey's [extant quotes + file](https://web.archive.org/web/20060423055444/http://home.xnet.com/~raven/Sysadmin/ASR.Quotes.html). + Garvey's document was, you may note, updated mere hours before Y2K day. + This lends some credence to the theory that an eldritch rite committed + by the Monks on that day led to the key events in the subsequent Rupture of + the Nerds, including the abandonment of Usenet, ASR regulars Kirrily "Skud" + Roberts' co-founding of the Geek Feminism movement, and Charlie Stross + being press-ganged into leaving system administration by mysterious backers + in the Humanities Industrial Complex to become a prominent science fiction + author. Thereafter, following the success of Accelerando, he was reputed to + have been clumsily digitized into an AI corporate entity, programmed to + deny that corporations could ever be people (and vice-versa) until the West + Lothian and Turing police backed away. See, "Saint Charles of Stross: A + Prohairetic Hagiography", G. Vittoria, Almnck. 2006. -[^xmasdeaths]: Most recently -- but not *that* recently -- examined in -Phillips, D. P., Jarvinen, J. R., Abramson, I., & Phillips, R. R. (2004). Cardiac Mortality Is Higher Around Christmas and New Year’s Than at Any Other Time. *Circulation*, 110(25), 3781–3788. https://doi.org/10.1161/01.cir.0000151424.02045.f7. +[^xmasdeaths]: Most recently -- but not *that* recently -- examined in + Phillips, D. P., Jarvinen, J. R., Abramson, I., & Phillips, R. R. (2004). + Cardiac Mortality Is Higher Around Christmas and New Year’s Than at Any + Other Time. *Circulation*, 110(25), 3781–3788. + https://doi.org/10.1161/01.cir.0000151424.02045.f7. -Later studies suggest that people don't get any crazier or suicidal at Christmas (See -Schneider, E., Liwinski, T., Imfeld, L., Lang, U. E., & Brühl, A. B. (2023). Who is afraid of Christmas? The effect of Christmas and Easter holidays on psychiatric hospitalizations and emergencies—Systematic review and single center experience from 2012 to 2021. *Frontiers in Psychiatry*, 13. https://doi.org/10.3389/fpsyt.2022.1049935 ), and it may just be the same effect as more people dying in the medical system during weekends, See -Castaño-Pérez, S., Medina García, J.A. & Cabrera de León, A. The dose–response effect of time between emergency admission and inpatient care on mortality. Sci Rep 13, 22244 (2023). https://doi.org/10.1038/s41598-023-49090-5 . + Later studies suggest that people do not grow crazier or more suicidal at + Christmas (See Schneider, E., Liwinski, T., Imfeld, L., Lang, U. E., & + Brühl, A. B. (2023). Who is afraid of Christmas? The effect of Christmas + and Easter holidays on psychiatric hospitalizations and + emergencies—Systematic review and single center experience from 2012 to + 2021. *Frontiers in Psychiatry*, 13. + https://doi.org/10.3389/fpsyt.2022.1049935 ). Perhaps it could be simply the same + effect as more people dying in the medical system during weekends, See + Castaño-Pérez, S., Medina García, J.A. & Cabrera de León, A. The + dose-response effect of time between emergency admission and inpatient care + on mortality. Sci Rep 13, 22244 (2023). + https://doi.org/10.1038/s41598-023-49090-5 ? -For explorations of the theory that excess Winter deaths are caused by high-energy particle emissions from near-lightspeed Western gift-deliverers, see "Bremstrahlung und Blitzen!: A Comparison of Incidence Rates of Thyroid Cancer among the Naughty, Nice, and Non-Believers", Almnck. 1823. + For explorations of the theory that excess Winter deaths are caused by + high-energy particle emissions from near-lightspeed Western + gift despatch, see "Bremßtrahlung und Blitzen!: Incidence Rates of + Thyroid Cancer among the Naughty, Nice, and Non-Believing", Almnck. 1823. diff --git a/assets/editorial/01edits/integrity-new-years-backups/res b/assets/editorial/01edits/integrity-new-years-backups/res new file mode 120000 index 0000000..9d0a77d --- /dev/null +++ b/assets/editorial/01edits/integrity-new-years-backups/res @@ -0,0 +1 @@ +../../../../web/static/res \ No newline at end of file diff --git a/assets/fonts/CormorantGaramond-Bold.ttf b/assets/fonts/CormorantGaramond-Bold.ttf new file mode 100644 index 0000000..b6081c7 Binary files /dev/null and b/assets/fonts/CormorantGaramond-Bold.ttf differ diff --git a/assets/fonts/CormorantGaramond-BoldItalic.ttf b/assets/fonts/CormorantGaramond-BoldItalic.ttf new file mode 100644 index 0000000..14e65ad Binary files /dev/null and b/assets/fonts/CormorantGaramond-BoldItalic.ttf differ diff --git a/assets/fonts/CormorantGaramond-Italic.ttf b/assets/fonts/CormorantGaramond-Italic.ttf new file mode 100644 index 0000000..26767f2 Binary files /dev/null and b/assets/fonts/CormorantGaramond-Italic.ttf differ diff --git a/assets/fonts/CormorantGaramond-Light.ttf b/assets/fonts/CormorantGaramond-Light.ttf new file mode 100644 index 0000000..386522e Binary files /dev/null and b/assets/fonts/CormorantGaramond-Light.ttf differ diff --git a/assets/fonts/CormorantGaramond-LightItalic.ttf b/assets/fonts/CormorantGaramond-LightItalic.ttf new file mode 100644 index 0000000..89c7fc7 Binary files /dev/null and b/assets/fonts/CormorantGaramond-LightItalic.ttf differ diff --git a/assets/fonts/CormorantGaramond-Medium.ttf b/assets/fonts/CormorantGaramond-Medium.ttf new file mode 100644 index 0000000..5d6d324 Binary files /dev/null and b/assets/fonts/CormorantGaramond-Medium.ttf differ diff --git a/assets/fonts/CormorantGaramond-MediumItalic.ttf b/assets/fonts/CormorantGaramond-MediumItalic.ttf new file mode 100644 index 0000000..31b6042 Binary files /dev/null and b/assets/fonts/CormorantGaramond-MediumItalic.ttf differ diff --git a/assets/fonts/CormorantGaramond-Regular.ttf b/assets/fonts/CormorantGaramond-Regular.ttf new file mode 100644 index 0000000..1b84d83 Binary files /dev/null and b/assets/fonts/CormorantGaramond-Regular.ttf differ diff --git a/assets/fonts/CormorantGaramond-SemiBold.ttf b/assets/fonts/CormorantGaramond-SemiBold.ttf new file mode 100644 index 0000000..6f52991 Binary files /dev/null and b/assets/fonts/CormorantGaramond-SemiBold.ttf differ diff --git a/assets/fonts/CormorantGaramond-SemiBoldItalic.ttf b/assets/fonts/CormorantGaramond-SemiBoldItalic.ttf new file mode 100644 index 0000000..1a0996e Binary files /dev/null and b/assets/fonts/CormorantGaramond-SemiBoldItalic.ttf differ diff --git a/assets/fonts/Cormorant_Garamond.zip b/assets/fonts/Cormorant_Garamond.zip new file mode 100644 index 0000000..4c1639b Binary files /dev/null and b/assets/fonts/Cormorant_Garamond.zip differ diff --git a/assets/fonts/IMFellEnglishSC-Regular.ttf b/assets/fonts/IMFellEnglishSC-Regular.ttf new file mode 100644 index 0000000..a60f097 Binary files /dev/null and b/assets/fonts/IMFellEnglishSC-Regular.ttf differ diff --git a/assets/fonts/IM_Fell_English_SC.zip b/assets/fonts/IM_Fell_English_SC.zip new file mode 100644 index 0000000..47c5179 Binary files /dev/null and b/assets/fonts/IM_Fell_English_SC.zip differ diff --git a/assets/fonts/OFL.txt b/assets/fonts/OFL.txt new file mode 100644 index 0000000..4ee7581 --- /dev/null +++ b/assets/fonts/OFL.txt @@ -0,0 +1,93 @@ +Copyright 2015 the Cormorant Project Authors (github.com/CatharsisFonts/Cormorant) + +This Font Software is licensed under the SIL Open Font License, Version 1.1. +This license is copied below, and is also available with a FAQ at: +http://scripts.sil.org/OFL + + +----------------------------------------------------------- +SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 +----------------------------------------------------------- + +PREAMBLE +The goals of the Open Font License (OFL) are to stimulate worldwide +development of collaborative font projects, to support the font creation +efforts of academic and linguistic communities, and to provide a free and +open framework in which fonts may be shared and improved in partnership +with others. + +The OFL allows the licensed fonts to be used, studied, modified and +redistributed freely as long as they are not sold by themselves. The +fonts, including any derivative works, can be bundled, embedded, +redistributed and/or sold with any software provided that any reserved +names are not used by derivative works. The fonts and derivatives, +however, cannot be released under any other type of license. The +requirement for fonts to remain under this license does not apply +to any document created using the fonts or their derivatives. + +DEFINITIONS +"Font Software" refers to the set of files released by the Copyright +Holder(s) under this license and clearly marked as such. This may +include source files, build scripts and documentation. + +"Reserved Font Name" refers to any names specified as such after the +copyright statement(s). + +"Original Version" refers to the collection of Font Software components as +distributed by the Copyright Holder(s). + +"Modified Version" refers to any derivative made by adding to, deleting, +or substituting -- in part or in whole -- any of the components of the +Original Version, by changing formats or by porting the Font Software to a +new environment. + +"Author" refers to any designer, engineer, programmer, technical +writer or other person who contributed to the Font Software. + +PERMISSION & CONDITIONS +Permission is hereby granted, free of charge, to any person obtaining +a copy of the Font Software, to use, study, copy, merge, embed, modify, +redistribute, and sell modified and unmodified copies of the Font +Software, subject to the following conditions: + +1) Neither the Font Software nor any of its individual components, +in Original or Modified Versions, may be sold by itself. + +2) Original or Modified Versions of the Font Software may be bundled, +redistributed and/or sold with any software, provided that each copy +contains the above copyright notice and this license. These can be +included either as stand-alone text files, human-readable headers or +in the appropriate machine-readable metadata fields within text or +binary files as long as those fields can be easily viewed by the user. + +3) No Modified Version of the Font Software may use the Reserved Font +Name(s) unless explicit written permission is granted by the corresponding +Copyright Holder. This restriction only applies to the primary font name as +presented to the users. + +4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font +Software shall not be used to promote, endorse or advertise any +Modified Version, except to acknowledge the contribution(s) of the +Copyright Holder(s) and the Author(s) or with their explicit written +permission. + +5) The Font Software, modified or unmodified, in part or in whole, +must be distributed entirely under this license, and must not be +distributed under any other license. The requirement for fonts to +remain under this license does not apply to any document created +using the Font Software. + +TERMINATION +This license becomes null and void if any of the above conditions are +not met. + +DISCLAIMER +THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE +COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, +INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL +DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING +FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM +OTHER DEALINGS IN THE FONT SOFTWARE. diff --git a/assets/fonts/OldNewspaperTypes.ttf b/assets/fonts/OldNewspaperTypes.ttf new file mode 100644 index 0000000..7b9cf31 Binary files /dev/null and b/assets/fonts/OldNewspaperTypes.ttf differ diff --git a/assets/fonts/oldnewspapertypes.zip b/assets/fonts/oldnewspapertypes.zip new file mode 100644 index 0000000..7cb0d91 Binary files /dev/null and b/assets/fonts/oldnewspapertypes.zip differ diff --git a/web/Caddyfile b/web/Caddyfile index 10545a7..879e071 100644 --- a/web/Caddyfile +++ b/web/Caddyfile @@ -5,4 +5,8 @@ almnck.com:80 { www.almnck.com:80 { root * /usr/share/caddy/static file_server + + basicauth /* { + cafe $2a$14$rPSXYCQEcEFhqSDvZpL0IePA4GlVivkk0hVw5ZdsMVCEaeO26u/EO + } } diff --git a/web/static/index.html b/web/static/index.html index d8e99f0..d2a9cfb 100644 --- a/web/static/index.html +++ b/web/static/index.html @@ -1,8 +1,243 @@ - - - - -

Old Danny's Almanack

-

Technological culture since 1724

- + + + + + + + + + Look Back Up + + + + + +

Almanack

+
+

Look Back Up

+

Integrity Mather

+

January 1, 2024

+
+
+

he year ends, the North pole tips its deepest bow to the +darkness, and we see even large language models have been taking +it easy for the winter1. But for the faithful +maintainer of systems, there’s still work to be done, here in the +cooling embers of the year.

+

Now is a fine time to dust off your backup scripts and see if they’re +working as they should. An untested backup is no backup at all, said the +wise elders of the Scary Devil +Monastery2 and if we want to set the new year +off to its best start, we should ensure we can pause, tear down, and +re-start its march, even at its lowest points.

+

When examining my backup and restore process, I took the opportunity +this year to test my backups and increase the size of my root partition +on my server.

+

One last manual backup of the 256GiB SSD in my trusty server +boat for the sake of the old, and then an attempted restore +for the sake of the new: to a spare machine, tub, +temporarily hosting a new, 1TiB SSD. If all goes well, the restored +backup in tub would have new room to grow, and I could swap that drive +into boat with minimal downtime.

+

That moment of hardware-swapping would mean that boat +would have to be shut down and then restarted anew. Humans need their +respite over the holiday break: but should I have granted my server the +same indulgence? My plan accepted that boat would be +offline for, I hoped, a small slice of time.

+

There are more convoluted ways to ensure that none of my web sites, +file syncing, and miscellaneous tools flickered, even for a moment. I +could have temporarily switched my DNS settings to point at the fresh +clean tub, for instance, while overwriting +boat. Or perhaps just repurposed boat for +gentler, less demanding tasks, giving it the end-of-year gift of a +well-deserved retirement, and passing to tub a new year’s +responsibility of hosting my server processes.

+

Within the scale of my own life, I do believe that uptime is +overrated. We are surrounded by tools bent into the shapes demanded by +large tech companies, for whom site reliability is their first +commandment.

+

But we are humans, not corporations. We run at our own pace. If Homer +nods, so can my home lab. Christmas has its folklore of visitors rebuffed, but +hopefully, my friends have other pressing matters this time of year than +hitting reload on my sites.

+

Yes, a personal web server can go down for a few moments – as long as +it bobs back up.

+

Which, with restored filing systems, is ever the question. Will the +backup truly come back up? A reset and reboot may also be a time for +sinking exhaustion and death. Human deaths seem positively correlated +with the change of pace of the holidays3, +and so too, drives and computers will dutifully run for years, but +expire after a moment’s rest.

+
+
+ + +
+
+

I use “Relax-And-Recover” (REAR), a +Linux disaster recovery system from when sysadmins wrote shell code and +liked it. REAR is a sprawling set of shell scripts that runs +your choice of backup code – from rsync +to borg – +over your entire Linux filesystem, on a regular, cron-determined, basis. +Having seen to that prosaic task, REAR will also create a minimal, +bootable blob. The blob, stuffed onto a USB drive, CD-ROM, or +networked drive, will boot into a rescue Linux, and lead you through the +reconstruction and re-partitioning of a drive that will emerge the same +shape as your original machine. Then it will pull down your backups, and +restore this drive to the precise state that your backups recalled +it.

+

Readers born into our age of strong types and weak stomachs may be +balking at the idea of entrusting their restoration to a bunch of stringly-typed +Bash scripts. REAR’s 20K(!) lines of shellcode intimate that it has +reached levels of complexity, beyond that which bashism can safely +grasp.

+

But this is sysadmin shell code. That terrifying KLOC is +defensive, modular coding of the highest order. For the casual shell +user, REAR’s operation is comprehensible, its failure modes anticipated +and loudly announced, and tweaks and mediations are semi-obvious. REAR’s +authors offer “a relaxing recovery”, and the ghosts of sysadminning past +do not lightly emphasize relaxation.

+

While I was never not relaxed during my holiday restoration. +I did occasionally carol a high-pitched note or two of concern.

+

Two hefty snowbanks stood between me and a perfectly clean restore. +Since I first installed it, I have had REAR create ISO files for burning +onto a CD-ROM that I could restore from. “CD’ stand now for”Cretaceous +Disk”: I have not used one for over a decade. Pouring a bootable ISO +into a contemporary USB drive drive turns out to be surprisingly tricky, +and I can never remember how to do it. In the end, I was forced, +humiliatingly, to read REAR’s FAQ, +where they recommended a meatier graphical utility, UnetBootin, for achieving this. +In the future, I’ve set REAR to output those bootable blobs as RAWDISK, +which can be burned (warmed?) onto a USB drive.

+

REAR’s ecumenical acceptance of external backup programs can +introduce a tremors into its solid scripts. My use of a distribution borg +backup package broke the restore. REAR scans +executables that it plans to include on its rescue bootable blob to +detect what libraries they require, so that it may copy those over. +Sadly, the borg executable can be either a binary executable – for which +this suffices – or a Python script, whose demands REAR cannot fathom. +This is undoubtedly a bug a future REAR will fix. In the meantime I +copied over the binary +borg into /usr/local/bin instead of the Pythonic borg +of the Debian repos.

+

After those tweaks, tub was filled with the form of +boat’s Christmas past. I swapped over the two drives, +holding my breath, and losing the little M.2 SSD screw as always (these +plastic nubbin +replacements tempted me in the fallout, though apparently a pencil +sharpener will work in a pinch). Boat wobbled and then, +like a lucky North +Sea seafarer, bobbed back up from an early visit to “Fiddler’s +Green”.

+

Testing your recovery plans during your own end-of-year downtime +gives you a moment to look back at the record of what has been, and +prepare for the ups and downs of the coming year. What will be the same? +What will change? What parts of your life can you simply hard link to +the habits of the past? And what will you have to incrementally add and +integrate into your ever-evolving life?

+
+
+

~Integrity Mather

+
+
+
+
    +
  1. Are the rumors of an AI Winter true? Do LLMs get lazier +during December? Ian Arawjo, author +of ChainForge, +spotted flaws +in Rob Lynch’s significant result that GPT-4-Turbo produces fewer tokens +when December is mentioned in its prompt, but Cousin +Lynch is continuing to investigate at press time. See our earlier +memo on the phenomenon, “The True Meaning of Wintermute: Northern +Hemisphere Seasonability in Tessier-Ashpool AIs”, Automatic Jack, +Almnck. 1981.↩︎

  2. +
  3. alt.sysadmin.recovery‘s monastic wisdom, is +only dimly remembered now that posting to Usenet and painting your nails +black are no longer professional requirements for ops. The newsgroup +provided several powerful and vile proverbs on the importance of +backups, the foulest of which remain unrecorded in Heather Garvey’s extant +quotes file. Garvey’s document was, you may note, updated mere hours +before Y2K day. This lends some credence to the theory that an eldritch +rite committed by the Monks on that day led to the key events in the +subsequent Rupture of the Nerds, including the abandonment of Usenet, +ASR regulars Kirrily “Skud” Roberts’ co-founding of the Geek Feminism +movement, and Charlie Stross being press-ganged into leaving system +administration by mysterious backers in the Humanities Industrial +Complex to become a prominent science fiction author. Thereafter, +following the success of Accelerando, he was reputed to have been +clumsily digitized into an AI corporate entity, programmed to deny that +corporations could ever be people (and vice-versa) until the West +Lothian and Turing police backed away. See, “Saint Charles of Stross: A +Prohairetic Hagiography”, G. Vittoria, Almnck. 2006.↩︎

  4. +
  5. Most recently – but not that recently – +examined in Phillips, D. P., Jarvinen, J. R., Abramson, I., & +Phillips, R. R. (2004). Cardiac Mortality Is Higher Around Christmas and +New Year’s Than at Any Other Time. Circulation, 110(25), +3781–3788. https://doi.org/10.1161/01.cir.0000151424.02045.f7.

    +

    Later studies suggest that people do not grow crazier or more +suicidal at Christmas (See Schneider, E., Liwinski, T., Imfeld, L., +Lang, U. E., & Brühl, A. B. (2023). Who is afraid of Christmas? The +effect of Christmas and Easter holidays on psychiatric hospitalizations +and emergencies—Systematic review and single center experience from 2012 +to 2021. Frontiers in Psychiatry, 13. +https://doi.org/10.3389/fpsyt.2022.1049935 ). Perhaps it could be simply +the same effect as more people dying in the medical system during +weekends, See Castaño-Pérez, S., Medina García, J.A. & Cabrera de +León, A. The dose-response effect of time between emergency admission +and inpatient care on mortality. Sci Rep 13, 22244 (2023). +https://doi.org/10.1038/s41598-023-49090-5 ?

    +

    For explorations of the theory that excess Winter deaths are caused +by high-energy particle emissions from near-lightspeed Western gift +despatch, see “Bremßtrahlung und Blitzen!: Incidence Rates of Thyroid +Cancer among the Naughty, Nice, and Non-Believing”, Almnck. 1823.↩︎

  6. +
+
+ diff --git a/web/static/res/CormorantGaramond-Regular.ttf b/web/static/res/CormorantGaramond-Regular.ttf new file mode 100644 index 0000000..1b84d83 Binary files /dev/null and b/web/static/res/CormorantGaramond-Regular.ttf differ diff --git a/web/static/res/IMFellEnglishSC-Regular.ttf b/web/static/res/IMFellEnglishSC-Regular.ttf new file mode 100644 index 0000000..a60f097 Binary files /dev/null and b/web/static/res/IMFellEnglishSC-Regular.ttf differ diff --git a/web/static/res/OldNewspaperTypes.ttf b/web/static/res/OldNewspaperTypes.ttf new file mode 100644 index 0000000..7b9cf31 Binary files /dev/null and b/web/static/res/OldNewspaperTypes.ttf differ diff --git a/web/static/res/almanack.css b/web/static/res/almanack.css new file mode 100644 index 0000000..d2376c9 --- /dev/null +++ b/web/static/res/almanack.css @@ -0,0 +1,236 @@ + html { + color: #1a1a1a; + background-color: #fdfdfd; + } + + @font-face { + font-family: "Old Newspaper"; + src: url(OldNewspaperTypes.ttf) format("truetype"); + } + + @font-face { + font-family: "Cormorant Garamond", serif; + src: url(CormorantGaramond-Regular.ttf) format("truetype"); + } + + @font-face { + font-family: "Fell English"; + src: url(IMFellEnglishSC-Regular.ttf) format("truetype"); + } + + .frontispiece { + font-size: 6em; + font-family: "Fell English"; + } + + + body { + margin: 0 auto; + max-width: 36em; + padding-left: 50px; + padding-right: 50px; + padding-top: 50px; + padding-bottom: 50px; + hyphens: auto; + overflow-wrap: break-word; + text-rendering: optimizeLegibility; + font-kerning: normal; + font-size: 1.3rem; + font-family: "Cormorant Garamond"; + } + + @media (max-width: 600px) { + body { + font-size: 0.8em; + padding: 12px; + } + + h1 { + font-size: 1.8em; + } + } + @media print { + html { + background-color: white; + } + body { + background-color: transparent; + color: black; + font-size: 12pt; + } + p, h2, h3 { + orphans: 3; + widows: 3; + } + h2, h3, h4 { + page-break-after: avoid; + } + } + p { + margin: 1em 0; + } + a { + color: #1a1a1a; + } + a:visited { + color: #1a1a1a; + } + img { + max-width: 100%; + } + svg { + height: auto; + max-width: 100%; + } + h1, h2, h3, h4, h5, h6 { + margin-top: 1.4em; + } + h5, h6 { + font-size: 1em; + font-style: italic; + } + h6 { + font-weight: normal; + } + ol, ul { + padding-left: 1.7em; + margin-top: 1em; + } + li > ol, li > ul { + margin-top: 0; + } + blockquote { + margin: 1em 0 1em 1.7em; + padding-left: 1em; + border-left: 2px solid #e6e6e6; + color: #606060; + } + code { + font-family: Menlo, Monaco, Consolas, 'Lucida Console', monospace; + font-size: 85%; + margin: 0; + hyphens: manual; + } + pre { + margin: 1em 0; + overflow: auto; + } + pre code { + padding: 0; + overflow: visible; + overflow-wrap: normal; + } + .sourceCode { + background-color: transparent; + overflow: visible; + } + hr { + background-color: #1a1a1a; + border: none; + height: 1px; + margin: 1em 0; + } + table { + margin: 1em 0; + border-collapse: collapse; + width: 100%; + overflow-x: auto; + display: block; + font-variant-numeric: lining-nums tabular-nums; + } + table caption { + margin-bottom: 0.75em; + } + tbody { + margin-top: 0.5em; + border-top: 1px solid #1a1a1a; + border-bottom: 1px solid #1a1a1a; + } + th { + border-top: 1px solid #1a1a1a; + padding: 0.25em 0.5em 0.25em 0.5em; + } + td { + padding: 0.125em 0.5em 0.25em 0.5em; + } + header { + margin-bottom: 4em; + text-align: center; + } + #TOC li { + list-style: none; + } + #TOC ul { + padding-left: 1.3em; + } + #TOC > ul { + padding-left: 0; + } + #TOC a:not(:hover) { + text-decoration: none; + } + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + div.columns{display: flex; gap: min(4vw, 1.5em);} + div.column{flex: auto; overflow-x: auto;} + div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} + /* The extra [class] is a hack that increases specificity enough to + override a similar rule in reveal.js */ + ul.task-list[class]{list-style: none;} + ul.task-list li input[type="checkbox"] { + font-size: inherit; + width: 0.8em; + margin: 0 0.8em 0.2em -1.6em; + vertical-align: middle; + } + .display.math{display: block; text-align: center; margin: 0.5rem auto;} + + .display.math{display: block; text-align: center; margin: 0.5rem auto;} + + .author { + } + + .initial { + float: left; + margin-top: 0.5em; + margin-left: 0.5em; + margin-right: 0.5em; + width: 40%; + } + + .maintext { + text-align: justify; + } + + .maintext::first-line { + font-size: 2rem; + font-variant-caps: all-small-caps; + text-justify: inter-character; + } + + .maintext p:first-of-type { + font-weight: bolder; + font-size: 1.3rem; + text-align: justify; + text-justify: inter-character; + } + + + .footnote-ref { + text-decoration: none; + } + + sup { + font-size: 0.8em; + font-variant: italic; + } + + + .date { + display: none; + } + + + figcaption { + display: none; + } diff --git a/web/static/res/new-years-backups-dingbat1.png b/web/static/res/new-years-backups-dingbat1.png new file mode 100644 index 0000000..33837d0 Binary files /dev/null and b/web/static/res/new-years-backups-dingbat1.png differ diff --git a/web/static/res/new-years-backups-initial.png b/web/static/res/new-years-backups-initial.png new file mode 100644 index 0000000..ceb7d01 Binary files /dev/null and b/web/static/res/new-years-backups-initial.png differ