A rough account of what I did with Emacs recently.
December 27
Captain Marvel:
absolutely kicked ass. It took a little bit to get going and for
us to place it in time (Blockbuster and Radio Shack not exactly
being signifiers outside of the United States) but everything
about this was just brilliant. Nice to see Sam Jackson in pretty
much full unrestrained (albeit unswearing) form being upstaged by
not one but two women. Also a cat. Seriously, when the "Cat
Reveal" happened I completely lost it and laughed for a minute
straight. This is how all Marvel movies should be: nods to the
context and the bigger story arc / arcs, but enough tight focus to
(a) make a good standalone movie and (b) keep you entertained by
the here-and-now action rather than overwhelmed with trying to fit
it into the giant universe of things. Also, the cat needs more
screentime. Maybe a spinoff movie.
December 24
Went to bed with water and ibuprofen within easy reach: woke up
without having needed either. Still felt a bit off but figured I'd
beaten the worst of it, so I headed out for a walk to pick up some
extra Christmas booze; after a 3.5k round trip I didn't think I
had it in me to climb the stairs back at the house. Spent the rest
of the day mainly sacked out on the sofa doing much as I did last
time: poking randomly at the internet and reading.
SpiderMan: Far From Home
was fun, if a little targeted-at-people-younger-than-me in
spots. The Mysterio visuals were suitably trippy, and there wasn't
a huge reliance on series in-jokes or back-references,
other than confirming that yes, the hereos who didn't make it out
of the previous movie are indeed gone. The MJ/Peter interaction
was funny and, uh, recognisable in its awkwardness and what not,
and Mrs. Waide will probably confirm that I did in fact guffaw at
various things on screen. The stingers in the credits, eh, I
dunno. Maybe we missed some important context for them in not
(yet) seeing Captain Marvel, and that's sort of
annoying. Mostly, though, this was fine. Not great, not
epic, just fine.
December 23
Ugh, massively restless last night followed by attack of the
over-achieving immune system round 2. This is pretty much the same
reaction I had to my second pfizer shot: full-body hangover
without the pleasure of getting drunk first. I did not get the
debilitating ibuprofen-resistant headache this time, but I did get
some joint pain, which may or may not be attributable to
hyper-sensitive nervous system coupled with the dishwasher
shenanigans earlier in the week.
This is not my best Christmas week.
December 22
Yay! Got my booster!
When I saw the HSE announcement that "some people" could book
appointments, I immediately visited the site and followed the
links only to get a NXDOMAIN response (i.e. there is no DNS entry
for the website you just tried to access). So I grumbled a bit and
tried it a few more times and eventually it showed up. I suspect
someone sent out the press release a little early.
Got a booking for 10:40 this morning, arrived a few minutes early
and was back out on my way home by 10:43. I cannot emphasise
enough what a fantastic job everyone involved with the rollout of
the vaccine is doing, even the on-site security who are a little
... over-zealous in their application of the "no mobile
phones" rule (I get it, you don't want people taking pictures or
whatever, but if someone's got their PPSN or other critical
details on their phone, maybe cut them some slack?) - everyone is
generally at minimum polite, and more frequently friendly,
reassuring, engaging, encouraging. All the things you need under
the circumstances, I think.
As of this evening I've got a sore arm and I'm thinking about
Friend Iburprofen.
(also, my booster is Moderna SpikeVax. Really now. Who
names these things?)
December 21
Guests! Functional dishwasher! Yay!
Fitted the door panel this evening, but not before I'd managed to
whack myself on the head with the unrestrained door. Dammit. I'm
not even clear on how I did that, exactly. Also I have a fine set
of bruises developing from the stair-manhandling process last
night, and I have a tiny cut on my left index finger
which I only discovered when I used some alcohol-based hand
sanitiser. Ow ow ow ow.
December 20
After a trip to town for other errands: load the dishwasher into
the car. This is made très amusant by the fact that the
dishwasher still has some water in it and despite my best
efforts to drain it, I apparently missed "enough to leak out in
the car while loading in the dishwasher". The presence of water
plus some awkward angles meant it wouldn't allow me to close the
hatchback, so a 30-minute drive with the "back door" open ensued,
followed by a ten-minute wait in the store for my new dishwasher
to be fetched. Bemused man-with-hiviz-and-trolley looked at the
meagre hatchback opening and the new dishwasher; I told him to
strip the packaging and any mishaps would be entirely my
responsibility. So we did that, and the machine fit perfectly into
the back - this time allowing the hatchback to close, too.
I should note here that the carrying capacity of the car is pretty
impressive - I could almost fit two of these dishwashers into it -
but the opening to access the carrying space is awkwardly shaped,
including having a high lip, which makes it much less useful than
it first appears.
Back to the house with the new machine, left it locked in the
car. Dinner etc, then the two of us manhandled the damn thing up
the stairs. Fun, not. Actually, getting the old one down the
stairs wasn't exactly a thrill either, but at least we had gravity
in our favour. Eventually we got to the top step, wiggled the
machine onto a cardboard "sled", and slid it over to its new
home. After about 15 minutes of assorted swearing, it was hooked
up to intake, outlet, and power, and running its first "get the
construction crap out of the system" load. It'll take me a bit
more effort to reintegrate it with the kitchen - adjust the feet,
hang the door panel, etc. - but for now we're back in
business.
December 19
Hurrah, it's Christmas, the season of ... dishwasher failure,
evidently. I'd only just replaced - as mentioned here previously -
a fitting in the door, but evidently that was a harbinger. Shortly
after starting a run, the dishwasher emitted an angry beep and
displayed an error code. The machine's manual said "divisor
error", and suggested I needed to talk to service. In the week
before Christmas? Hard nope. So a bit of online digging turned up
that this meant that the dishwasher had detected water building
up, i.e. flood risk. This meant one of three things: either water
wasn't draining out of the machine properly, water had gotten
somewhere it shouldn't, or the sensor was carked (technical
term). Various hints from the machine suggested to me that the
likely reason was option three, but I figured I'd at least do due
diligence: ran a couple of rinse-only cycles, all of which did the
same angry beep routine shortly after starting up; attempted to
drain water out of the machine by tilting it, which produced... no
water; and removed the drain hose from the fitting and held it in
the sink while the machine ran its drain step and noted that water
was indeed draining. So, strong likelihood of carked-ness. I
considered repair options: any parts would likely have to be
shipped from the UK in the first instance; secondly, this is a
NordMende, an Irish-only brand which features unidentified tech
under the hood so finding spares is a difficult proposition at
best; and getting an actual service person instead, with spares in
hand, well, see previous. In addition to this we have guests due
and having a dishwasher would be sort of useful. So I guess we're
getting a new dishwasher.
Peruse website, narrow down choices, order dishwasher for
collection tomorrow. On one hand I feel a bit weird not even
trying to fix this, on the other hand what's the point in
being an overpaid engineer if I don't occasionally do something
financially impulsive?
December 18
Backup still chugging away; hard to tell if it's doing better
than the old setup, but it's certainly still as bonkers in the
progress-messages department: it's currently dealt with "171951 of
139521 items" and is still less than halfway through the promised
volume of data it was planning on copying.
Had a long, frustrating exchange with Virgin Media tech support
yesterday over the constant modem reboots. Having gone to the
trouble of resetting the system to Router mode (I had been using
modem mode and using an Airport Express as the Internet-facing
gateway), the new problem of choice was ... anything that would
allow the tech support person to close the case, it seems. I
mentioned in passing that I needed to use physical cabling because
the WiFi wasn't able to support working from home, and this was
IMMEDIATELY something a visit from a tech could look at. Never
mind that the reason the WiFi can't support working from
home is that certain parts of the house are built from 80-year-old
steel-reinforced concrete which turns out to be pretty good at
attenuating or entirely blocking WiFi signals, and I've
already got WiFi boosters in place. No, for actual work,
I'd prefer to rely on a physical cable that won't have its signal
suddenly drop because I turned on the microwave and/or someone in
a 100m radius has picked up a DECT handset. Somehow also the fact
that I connected my STB to the internal network (a) created a
bridge? (b) is mysteriously the problem that causes the modem to
reboot, maybe? But anyway. I'm now being shipped a new modem. This
is a plausible fix, if we determined that the modem was at fault,
and I guess at some scale it makes sense to just replace the thing
and see if the problem goes away, but I'm frustrated that despite
the better part of a day of back-and-forth messaging there was
effectively no diagnostic work of any kind done so it's just
"let's swap it and see what happens".
(incidentally, one of my coworkers dug up this
when we were talking about the modem. That is some
serious mad science. I get most of it, to be
sure, but I couldn't even solder a couple of wires onto an IR ring
light for a Raspberry Pi camera without killing
something; the thought of soldering wires directly onto
the PCB traces is completely alien to me.)
December 17
Slightly entertaining barrel of monkeys, but I eventually
managed to coerce things into working.
First, I wound up corrupting my copied backup file. Or TimeMachine
did. Neither of us is admitting fault and have agreed that the
file "became corrupt". Fixing this did not take a week of copying
data since I used rsync to just reset the sparsebundle
bands that had been modified.
Next, I created a TimeMachine quota file: this is something that
macOS Server does for you, and I've not checked if the Synology
control panel has the feature somewhere, but it's trivial enough
to do manually. You just create a file in the root of the drive
share called .com.apple.TimeMachine.quota.plist and put a
PropertyList in it with one key/value pair: the key is
GlobalQuota and the value is an integer, being the number
of bytes you're permitting TimeMachine to claim. So you can set
this to something smaller than the current size of the TimeMachine
backup, for example, and it won't try to resize your
sparsebundle, which is where my attempts were getting stuck. I'm
curious about what the specific controls on this are - given I've
currenty set it lower than the size of the sparsebundle, will it
actually prune out a bunch of backups to fit the requested size,
or will it just scale it down over time? (never found this out in
the past because the backups got to the point where they weren't
completing the housekeeping portion of the job). Also, the fact
that the key is GlobalQuota suggests perhaps the presence
of other quotas. Maybe per-backup?
With the above two steps complete, I was able to mount the backup
share from the laptop and tell it to start backing up. So far it's
gotten past the sizing / estimation part and started the
file-copying part so I'm perhaps prematurely assuming I'm all good
at this point.
(just had a poke around in the TimeMachine binaries. Only
GlobalQuota gets a mention, so I guess that's all there
is.)
The Good Liar
started out as a fairly straightforward con movie, hinted at a
twist which was indeed present, then became... rather dark for the
final act. Surprisingly dark, in fact, given the lighter tone of
the rest of the movie. Be warned!
December 15
Successfully transferred giant backup disk image to
Synology.
TimeMachine: Oh hey! You moved this from a 4TB disk to a
7TB disk! Let me resize! Me: Wait... what? TimeMachine: uh-oh, network timeout... trying again... Me: [facepalm]
December 14
Somewhat startlingly, the biggest copy off the Drobo has
completed almost a week ahead of my best estimate. Turns out that
some of the files were a good deal smaller than others (I'd
expected a uniform distribution for handwavy reasons) so it zipped
through the last 150,000 files in a fraction of the time. Doing a
verification on the destination now to be absolutely sure it's
properly cloned - there was some grumbling from the copy process
about some extended file attributes, but I don't think they're
actually critical to what I'm doing (he said, incautiously) so
with luck I'm down to one major data dump to move off the Drobo
and then it's history.
Anyone want a well-past-its-prime RAID enclosure with a choice of
USB3 or Firewire 800 connections and really opaque
management software?
December 10
It's been so long since we watched a Marvel movie that we
accidentally watched Avengers: Endgame
out of sequence. It doesn't matter a whole lot: we'd forgotten a
good deal of what exactly happened previously, plus who some of
the characters were, so the brief intrusion of Captain Marvel into
the movie didn't actually change much. So, big impression: they
tried to make fun of it themselves, but ugh, another "let's solve
everything with Time Travel". That aside, this was actually quite
a fun movie - to some extent the Time Travel component is just a
means to an end, so it's really just a Marvel ensemble movie with
a bunch of "you may remember this sequence from this
movie". Comfort-drinking Thor was pretty funny, too. All things
considered, it wasn't high art, but I didn't feel like I'd wasted
the three hours it took, either.
Gotta go catch up with Captain Marvel, though. And I see there are
a few new movies in the Marvel Universe that we've not seen as
well.
I was not, incidentally, much impressed with Apple's hurdles in
the way of us watching things tonight. A few things I clicked on
prompted me to "install the Disney+ app" to watch (no
thanks), while the Avengers movie wanted me to either touch-ID or
password-approve my "purchase", a process which took several
attempts because I first couldn't tell where it was sending the
approval request, and then when I picked up the relevant gadget
and pressed the touch-ID, the approval request vanished and there
was no obvious way to get it back. Hopefully this merely reflects
the fact that we haven't watched stuff in Apple's ecosystem in
quite a while (Prime: click and it plays, which is how it should
be) rather than being a new and fascinating departure from Apple's
formerly intense focus on "it just works".
December 7
And for good measure, Z-Wave update: I've got a replacement TRV
for the misbehaving one, which the network has once again decided
is back in its place as node 22. But also as node 26. I
dunno.
December 6
Synology update: still slinging around far too much data. One
copy is estimating completion just before the end of the year -
I'll have to see if I can improve on that. I've been redoing some
of my research into what makes a Time Machine backup work (a small
amount of disk layout, and a bunch of filesystem attributes) in
pursuit of a proper cleanup strategy for this lot.
December 5
The Elementary
season 3 finale was a bit... meh, to be honest. I can see from
the episode description of S4E1 what's supposed to have happened,
but for some reason in a show that spends a large amount of time
explaining to you what Sherlock did and how, they decided to go
for oblique and inscrutable for the closing moments of the
episode.
We're still enjoying the show, mind you.
December 4
I am in the process of learning React (for my own use, mainly,
although it's also in use at work) and while I've probably
indulged in a little wheel-reinvention I've successfully glued
together a pile of hackery which takes a create-react-app
static single-page application and merges it into a Django-hosted
site; as of this morning, it does this automatically as part of
the system checks, so if I'm doing a bit of development work using
runserver, I get my changes automatically integrated
when runserver does its auto-reload bit. Which is
nice. The only thing it's missing right now is the ability to
auto-reload on changing a file in the React
project.