This month, I finished up most of my data management troubles, though I do need to revisit my RAID-1 and backup systems again in 2021. I need to learn how to do proper maintenance on the new BTRFS RAID-1 arrangement I’m using for redundant storage of my project data, and I still need to set up the rsnapshot mirror of the drive.
But I decided to get back into production work with a few “warm up” projects.
I refactored and tweaked the Main Title and S1E01 End Credits animations. I finally modeled the “Spacesuit Crate” for the TR and SU sequences. I assembled the LA-1-D “waving” shot, which is “2.5D” composition, using flats, since the launchpad model didn’t quite work out for this shot.
I started working on updating the PK PassengerCar model at the end of the month, but I’m still working on that in December.
Did a little work on the Creator-Endorsed featurette, in that I collected some graphics. I’m thinking of working with the circular shape of the CE icon, as well as the CC icons. I’m trying to work with the theme of the CE model as a more sustainable and humane alternative to the copyright-threat model, but I’m not quite sure where I’m going with it.
Late in October and early this month, I talked to Raziq Brown about creating assets for his “Atlantic Age” tabletop game. I still have not given him a demo or quote yet, as of the end of November, though.
Although I was still recovering from the rough upgrade and data-recovery problems in October, I managed to get back into production work, as well as getting some leads on contract work to make money. I also had some successes on work around the house.
The upgrade derailed some of my worklog process, and I’m considerably behind on the worklog videos, though I did manage to finish up the daily worklogs for October before the end of November.
Had some issues with our site which made it clear to me that our source files are not really available to the public. The Subversion site is set up to require username and password. And it’s still using a self-signed certificate, which means you get a warning when you try to log in.
This clearly needs work, although it might be best to just transition to the TACTIC system, as planned (but I’m behind on that IT work, too).
I also got a lead on doing technical writing for Linode, from Esther Schindler, who they’ve hired as a part-time editor. I did follow up with her in an email, but that’s still in process.
I’ve progressed on making the concrete piers for the buttresses on the west side of the house, but I’m still not there yet.
I repaired the mower this month, and caught up on a lot of the mowing — mowing the area around the house and the trails. I replaced the drive belt, and then did a seasonal tune-up — replaced the sparkplog, cleaned filters, changed the oil, etc.
I bought new inner tubes to fix the tires that are always going flat, but I still haven’t installed them at the end of the month — hope to get to that in a few days. It’s a little tricky, because I need to take the wheels off and at least partially remove the tires to do it. And of course, it’s starting to get cold, so I need to wait for a good day to do it.
We’re still isolating due to the Pandemic. We had Thanksgiving via Zoom call with our relatives around the country, which was actually pretty cool!
This month, several pharmaceutical companies announced the completion of successful trials for SARS-Cov-2 vaccines. The first doses of the vaccine will be rolling out in December. Likely we won’t personally be able to get it until March or so, but it’s very promising to see some light at the end of the tunnel.
We had the 2020 Presidential Election. Biden unambiguously won as president, though not with the kind of electoral landslide we had hoped for. Still, it was a pretty big win as US presidential elections go. Which is why it’s all the more bizarre that Trump has still refused to concede defeat and continues a wave of baseless lawsuits to desperately cling to power. Worse, he’s continuing to be enabled by Republicans politicians and there’s a very disturbing and seditious wave of Republican followers who are supporting the lies. Pretty sure there will not be a successful “self-coup”, but also sure there will be violent dissent for the next few years.
The elections in Congress were less encouraging. We still don’t know who will control the Senate, because there’s a rare double Senate runoff in Georgia that’s close enough to give the Senate to the Democrats (barely), or leave it in the hands of Republicans (also, barely).
Nov 2, 2020 at 4:00 PM
Redundant Dual Drives Installed
So, following a recommendation from Andrew Pam, I purchased two 1 TB SATA drives and installed these as a redundant pair with BTRFS. This will be my new project data drive (which I mount as “/project”).
I was surprised at how easy this was. And I think I actually made it a little more complicated than strictly necessary, because I created partitions on the drives, rather than just using them directly (which BTRFS can do).
This is on Ubuntu Studio 20.04 (which is mostly the same as Ubuntu 20.04, it’s just the version with extra multimedia tools and XFCE desktop).
The hardest part was that this was one more drive than I had SATA power supply cables for. Fixing that required a little soldering. I built an adapter to go from the old-style 4-pin ATA molex connectors on my current supply to four additional SATA power supply plugs, using cables from my old burned-out power supply and a fan power adapter (so now I actually have three extra SATA connectors).
The software part was very easy.
First of all, I need to install the btrfs-progs package:
# apt install btrfs-progs
This provides the mkfs.btrfs and other tools I need for using BTRFS filesystems.
I used parted to put GPT labels on the two new drives:
# parted /dev/sda (parted) mklabel gpt (parted) quit #
This did the first one, which was mounted on /dev/sda, the other was on /dev/sde.
I then used cfdisk to create single large partitions on each drive. This part I did mostly out of habit, before I realized BTRFS doesn’t really need it. But it can work with partitions, so there was no need to undo it.
Making the file system was easy, and shockingly fast. With Ext4, the process takes time making superblocks, so the formatting takes a couple of minutes. With BTRFS, it finished almost immediately. For a moment, I thought it hadn’t worked:
# mkfs.btrfs -m raid1 -d raid1 -L PROJECT /dev/sda1 /dev/sde1
Had I not created the partitions, I could just as easily have let it work on the bare block devices by specifying /dev/sda and /dev/sde instead. However, with the partitions already existing, mkfs.btrfs will complain and abort, to avoid accidentally overwriting an existing filesystem. There is an option to force it, if need be, but I didn’t.
Then I added a line to my /etc/fstab to mount the new drive:
LABEL=PROJECT /project btrfs defaults 0 0
You’ll note that I mount drives by label, rather than using device names (which can change easily during the boot process with newer configurations) or UUIDs (which are recommended in most modern documentation, but are hard to change or remember).
I find these a lot more convenient, and have been using them with Ext2 to Ext4 filesystem mounts for years without any trouble. The only real gotcha that I run into is that I must ensure that each drive has a unique label, otherwise it can be unpredictable which drive will get mounted (I suspect it will mount the first drive in device-name order with the given label, but I’ve actually never tested it).
In this case, of course, the PROJECT label no longer applies to an individual block device, but to the combined filesystem provided by BTRFS. I was unsure if this would work, but it turns out to work just fine!
Then I copied the data from recovered /project data onto the new drive:
# cd /snapshot/recover_project/project_recon2/ # cp -arpv * /project/
Where “/snapshot/recover_project/project_recon2/” was my data reconstructed with ddrescue and my offline backup from March 2020 (the 2nd attempt — I had tried to include an earlier backup that covered more data, but it had a lot of irrelevant stuff in it, so I decided not to use it).
The last step in recovering the data is merging the recovered data from the Lunatics source tree into a fresh checkout from the SVN server. This was necessary, because the old working copy was corrupted (that’s how I discovered that my drive was starting to fail).
What I’ve Learned
My take-home message from this drive failure is that it isn’t enough for me to simply have backups I can use to recover, because the recovery process takes too long. I need to have full redundancy so that restoration is quick in the future in this kind of incident.
I still want to have a snapshot system as well. BTRFS provides a way to do this in the filesystem itself, but I’m thinking of sticking with the rsnapshot system that I’m used to, particularly since it will make an independent 3rd copy of the filesystem on a conventional Ext4 partition. I don’t really expect BTRFS to fail, but it is technically still considered “experimental”.
Nov 18, 2020 at 4:00 PM
If I’m not mistaken, this is the final outstanding prop to model for Episode 1.
I took quite awhile to get around to doing this one, since I had decided to model it myself, and I was kind of intimidated by all the great mechanical modeling on this project by Sathish Kumar, Chris Kuhn, and Andrew Pray (who made the model of the actual spacesuit you see here — I just posed it and applied the armature modifier to put into this storage position).
I guess I was afraid I wouldn’t be able to make a model that would stand up next to theirs, but I’m pretty happy with this result. In any case, it’s only featured in a couple of shots.
Although the outer layer of a spacesuit is fabric (US suits are generally woven Kevlar on the outside), the suit is stiff because of the neoprene “pressure bottle” parts inside which are about as rigid as an automotive tire, with flexible accordion joints to allow it to bend where it needs to. So an empty suit doesn’t compress much beyond one with a person in it, which made this part pretty easy. I thought I might have to tweak the mesh after posing it, but other than removing the helmet, I really didn’t have to.
Nov 26, 2020 at 1:01 PM
Warmup – Revised Titles
After recovering from all the crises in October with clunky upgrades and failed hard drive, I decided to do some “warm up” production work — easy stuff I just hadn’t gotten around to finishing.
So among those, I refactored the main titles (mainly moving the source files to keep them together and upgrading the file to Kdenlive 19), and then also tweaked a few things that bugged me. There is now a character portrait for “Sergei Titov” (voiced by Sergei Oleinik).
And I had tried to do something clever with Rosalyn and my names for the “Producer” and “Script Editor” credits, which did not work all that well.
Bear in mind, the titles are still subject to possible changes. And of course, there are also end-titles which are specific to the episode. The main credits are for the series — or at least the “pilot arc”, which is still planned to run for three episodes.
Also, the three animated space sequences have been re-timed and rendered at a full 30fps in this version (previous versions were slowed down in Kdenlive, and thus were at a “chunkier” lower frame rate). I also composited them slightly differently to get a little more glint and glare from the sunlight.
Just little things, but I think it looks better than it did.
2.5D “Waving” Shot
I also worked on the “2.5D” shot of Sergei, Hiromi, and Georgiana waving to the crowd before getting onto the elevator up to the Soyuz. I decided to do this using a 2D workflow, based on images of the steps up to the elevator, rather than trying to use the launchpad model, because it wasn’t quite accurate that close up. This was a pretty easy solution, and it was nice to still have some 2D workflow in the project — I had once intended to do a lot more of it this way.