(Failing to) Copy a Time Machine Backup to a Network Drive with asr

The Apple support page for copying a Time Machine backup disk doesn’t cover the scenario when your new backup target disk is on the network. If you try to do it by hand using cp, rsync, ditto or other, you will likely fail with inscrutable errors.

Using asr may work, but failed for me after 1 ½ days, 500GB, possibly because I had some kind of network disconnected. To rely on a network being reliable for 3 days is to ignore the 8 fallacies of distributed computing, but if your TM backup is small enough this could work.

  1. Use Disk Utility -> File -> New Image -> Blank Image … to create a new sparsebundle disk image on your network drive. The arrowed options must be set correctly (well, you don’t have to use sparse bundle but it is allegedly designed specifically for efficient use across a network):

2.

2. Mount the new disk image by double-clicking it, and also attach your existing Time Machine backup drive. Then, use  -> About This Mac -> System Report… -> Hardware/Storage and look in the column BSD Name to find the device names on which your Source and Target volumes are mounted:

3. Turn off Time Machine backup. Usually by unticking “Back Up Automatically” in the Time Machine preferences, if there is no On/Off switch.

4. Then, use asr on the command line to copy the device that hosted the volume to the device hosting the new volume. Use caffeinate at the same time to stop the computer sleeping instead of copying. In my case that was:

sudo caffeinate asr restore --source /dev/disk3 --target /dev/disk4s2 --erase --puppetstrings --allowfragmentedcatalog

I got this output, and after a few seconds had to type y to confirm:

XSTA    start   512 client
XSTA setup
Validating target…done
XSTA metadata
Validating source…done
Erase contents of /dev/disk4s2 (/Volumes/LaCie2019)? [ny]:

The --puppetstrings option means what most of us might call --progress although the output is quite limited.

Expect a speed of about 4 days per terabyte. I don’t know why. Watching the Network tab in Activity Monitor I can see that data is rarely going faster than 5MB/s. Even writing to a spinning disk across a 20 year old 100Mbps network should go faster than that. I tried adding --buffers 10 --buffersize 100MB, but that still only got me to about 3 days per terabyte.

Anyway …

For me it failed. Sorry I lost the error message. So I went to to Finder drag-n-drop. The first time this failed after a day; the second it succeeded after 3 days. 🤷‍♂️

Creation Myths : the Status of Human Beings

The Babylonian epic Atrahasis opens on tablet 1 with the background to the Babylonian gods’ creation of humans:

Atrahasis Tablet 1

When the gods instead of man
Did the work, bore the loads,
The gods’ load was too great,
The work too hard, the trouble too much,
The great Anunnaki made the Igigi
Carry the workload sevenfold

Made the Igigi bear the workload.
The gods had to dig out canals,
Had to clear channels, the lifelines of the land, The Igigi had to dig out canals,
Had to clear channels, the lifelines of the land. The gods dug out the Tigris river
And then dug out the Euphrates.

They were counting the years of loads.
For 3,6oo years they bore the excess,
Hard work, night and day.
They groaned and blamed each other, Grumbled over the masses of excavated soil
‘Let us confront the chamberlain, And get him to relieve us of our hard work!’


so the lower gods, the “Igigi” go to complain (with weapons!), and the higher gods discuss the matter, and eventually a solution is proposed:

‘Beletili the womb-goddess is present-
Let her create primeval man
So that he may bear the yoke,
So that he may bear the yoke, the work of Ellil, Let man bear the load of the gods!’
They called up the goddess, asked
The midwife of the gods, wise Mami,
‘You are the womb-goddess (to be the) creator of mankind!
Create primeval man, that he may bear the yoke! Let him bear the yoke, the work of Ellil,
Let man bear the load of the gods!’


And so Enki, one of the Gods, acts. They sacrifice a god, mix his flesh and blood with clay, and create humans.

If we ask, “what view of humanity does this story suggest?” then it seems to me the answer is, human as slave. The raison d’être of humans is to work so the gods don’t have to. Later, the story suggests an element of mutual need: when Atrahasis makes a sacrifice to the gods after the Flood, they flock to the smell “like flies to dung”.

It forms an interesting contrast with the more familiar (to us) Genesis chapter 1:

In the beginning God created the heavens and the earth. Now the earth was formless and empty, darkness was over the surface of the deep, and the Spirit of God brooded over the waters.
And God said, “Let there be light,” and there was light. God saw that the light was good, and he separated the light from the darkness. God called the light “day,” and the darkness he called “night.” And there was evening, and there was morning — the first day.

And God said, “Let there be lights in the vault of the sky to separate the day from the night, and let them serve as signs to mark sacred times, and days and years, and let them be lights in the vault of the sky to give light on the earth.” And it was so. God made two great lights—the greater light to govern the day and the lesser light to govern the night. He also made the stars. God set them in the vault of the sky to give light on the earth, to govern the day and the night, and to separate light from darkness. And God saw that it was good. And there was evening, and there was morning —the fourth day.

Then God said, “Let us make humankind in our image, in our likeness, so that they may govern over the fish in the sea and the birds in the sky, over the livestock and all the wild animals, and over all the creatures that move along the ground.”
So God created humankind in his own image,
in the image of God he created them;
male and female he created them.
God blessed them and said to them, “Be fruitful and increase in number; fill the earth and take control of it. Govern the fish in the sea and the birds in the sky and over every living creature that moves on the ground. ”

Then God said, “I give you every seed-bearing plant on the face of the whole earth and every tree that has fruit with seed in it. They will be yours for food. And to all the beasts of the earth and all the birds in the sky and all the creatures that move along the ground—everything that has the breath of life in it—I give every green plant for food. ” And it was so.
God saw all that he had made, and it was very good. And there was evening, and there was morning —the sixth day.


Genesis makes several points that, compared to other ancient literature are eyebrow-raising. Firstly that the stars, the sun and the moon are not divine or even spiritual beings. They are mere “things”, lights in the sky. They are, as it were, demythologised.

Secondly, the place of humans. Humankind is first of all described as “made in the image of God.” If we ask what that implies, the proximate explanation given is that humans are made to govern. This is evidently a much more exalted view of humanity than that reflected by the Atrahasis epic.

We should notice this appears to apply to all humans. Egyptian, Greek and Roman empires all used the idea of Kings being divine (like a divine right of kings, but on steroids) and therefore having authority to rule as justification for exercise of brutal power over other humans.

Genesis, by contrast, describes all humans as made in the divine image, and the task of government over the earth is given to all.

We should also notice that female and male are included simultaneously. The one Image is created male and female; the command to govern is given to both; and obviously the command to be fruitful (if we take fruitful to mean having descendants!) requires both.

In a less individualistic society than our own, the relationships are key. In Atrahasis, humans relate to gods by being slaves, offering labour and food. In Genesis, there are no such gods, and we relate to the one Creator as authorised representatives, governing—that is, taking care of—the world on his behalf. Our fellow-human beings, female and male, are co-rulers, divinely appointed to govern, all given the authority of a ruler, not an underling.

Notes

  1. Atrahasis text translation taken from Myths from Mesopotamia. It’s hard to find on the web, presumably because all the translations are still in copyright.
  2. Genesis text mostly from NIV except I translate רדה as govern, not rule; and כבשׁ as take control, not subdue. If you want to dispute my translation, I’m up for an argument. (In my view it will mostly revolve about connotations of words in 21st century English vs 16th century English. In the 21st Century we associate ‘rule’ with monarchy, and we suspect monarchy of implying inherently bad government. But the entire human race cannot be a monarch, and government is not inherently bad. So rule now seems a poor translation).
  3. “Be fruitful and increase; fill the earth” sounds in English like an emphatic command to have lots of children. But all three of the Hebrew verbs can be read as about fulfilling potential rather than as about fertility specifically.

Use NSSM to install SyncThing as a Windows service

SyncThing does what OneDrive & Google Drive can do but under your control, across your machines, with more options, and without having to touch a 3rd party data snooping provider and without having to pay 3rd party Terabyte rates. I use it on my home network both to synchronise configuration across multiple machines and as an at-home backup solution. It’s fast, simple, well-maintained and it works.

NSSM is “the Non-Sucking Service Manager” which has a simple GUI to set up commandline programs like SyncThing as a Windows Service.

Install SyncThing

To use SyncThing as a Service, avoid the GUI options such as SyncTrayzor and go for the GitHub download. Choose a directory to install to, such as your Program Files directory.

SyncTrayzor is great for your working machine, where you only need SyncThing to run when you are logged in. For a server which is hosting backups and redundant copies of your files, you want a Windows service running whenever the machine is up.

Install NSSM

NSSM also has no installer as of early 2020. Download & extract to a Program Files directory.

I then added New-Alias nssm "C:\Program Files\nssm-2\win64\nssm.exe" to my PowerShell profile

Launch NSSM

nssm without parameters will show you the commands you can use. The simplest is to use install & edit to get the GUI:
To show service installation GUI: nssm install [<servicename>]
To show service editing GUI: nssm edit <servicename>

So use:

nssm install SyncThing

And then fill in the boxes by finding the path where you installed SyncThing. I only edited the first three tabs: Application, Details, and Log On. The rest can stay as default.

What about the Parameters? See the SyncThing Docs. This is mine:

-no-console -no-browser -no-restart -gui-address=localhost:8384

-no-console -no-browser are because services run headless.
-no-restart because the Windows Service infrastructure has options for handling restarts.
-gui-address=localhost:8384 to make the gui console only available on localhost, not across the network. You may not want this.

You can now use nssm to start/stop/monitor services, not just the ones you have installed with it.

nssm start SyncThing
nssm status SyncThing

Or, you can use the standard Windows Services gui.

Where is the config?

Nssm just edits the Windows service config, which is visible in the Local Services app, which you can launch from Task Manager -> Services

SyncThing keeps config in the place noted in SyncThing Docs unless you add e.g. -home=D:\MyPath to the startup parameters

Where is the SyncThing Gui?

If you followed my example and used -gui-address=localhost:8384 then open that address in your browser and read all about at https://docs.syncthing.net/intro/gui.html

More Options?

See https://docs.syncthing.net/users/syncthing.html

Yes but I want to manage it across my home network?

  1. Change the startup options to use -gui-address=0.0.0.0:8384.
  2. Add the full path to SyncThing.exe as a firewall exception in your Windows firewall.
  3. Restart the service

This will make the browser interface accessible across the network. Then:

  1. Open the the GUI at localhost:8384.
  2. Open the Settings (under the Actions menu, top right).
  3. Open the GUI panel.
    1. Choose HTTPS
    2. Add a username and password. NB I think these are both case sensitive.

Choosing an Affordable Mechanical Keyboard

tl;dr: KeyChron are brilliant and cheaper than the alternatives.

My nephew was foolish enough to ask about the keyboard he spotted in a photo of my desktop so, armed with my Keychron K2, I explained what led me to it.

I got out kitchen scales and improvised some 2-10 gramme weights and carefully weighed the actuation force on my MacBook and on my Logitech K480. I found that the MacBook is approx 60grammes and that the K480—which I find too much hard work to type on—is about 70g. To me, the difference feels much more than that, but that’s what the scales told me. (And yes, the A-level physicists amongst you will know that by gramme I mean, milliNewton)

I deduced that any switch of 60g or below, I would be happy with.
I then noted that the Gateron Blue is allegedly noisy (fine if you don’t share a room with someone, anti-social if you do); and I examined the graphs of the actuation curves. I would have preferred the ‘clicky’ buckling spring feel of the Blue but I’ve used a noisy keyboard before and feel the noise can be a real downer. I definitely didn’t want the linear feel which the Red and Black have (allegedly gamers like it, but I don’t) so that left me with the Brown ‘Tactile’ which is in between.

I went for aluminium backlit because boo to plastic (don’t kid yourself though; I do not know whether the carbon footprint of producing the aluminium keyboard is any less than that of the plastic). Nightlife without backlighting is grim, it is must-have for me. My other must-haves are Mac keycaps, and either the “tenkeyless” keyset or the full 101 keys, because I hate not having page up/down and home/end on the main keyboard.

I agonised over K1 or K2 and went for K2 because K1 didn’t have the Brown switches. But … having become a closet Apple fanboi I am now disappointed that the K2 feels much higher off the desk that the Apple ultra-flat style and I may yet buy a K1 instead. Or a wrist rest.

I assure you however that the K2 is the best keyboard I’ve had for years. I had an IBM buckling spring keyboard for while in the 1990s, and a noisy Cherry for a while last year. The KeyChron has the same solid feel at the IBM had, but with the Brown switches is lighter and feels slightly less industrial. It is really nice, impressively priced, and I very much like it.

It will make you want to type long letters, or—should you happen to have WhatsApp Web on your computer—really really long messages to your nephew about how good your keyboard is. 🤷

Also 10% off! https://keychronwireless.refr.cc/chriscarroll

I did spend a while looking at other keyboards, mostly mechanical, but wasn’t willing to pay the enormous prices. KeyChron is a half or even a third of the price of other good mechanical keyboards. Seemed a no-brainer to me.