My hard disk drive had died yesterday. I bought it in late 2015, and it died after being in service for about four and have a year.
I was playing Football Manager, and suddenly I noticed a different noise among my fans’ cheering. After finishing the match and the cheering sound effect had stopped, I could finally determine the noise: it was from the hard disk drive! Feeling a bad omen, I immediately checked
dmesg, saw various SATA errors, attempted to call
gparted only to be notified that my
/usr/bin directory is already inaccessible, and basically my system was alive only because of Linux’s aggressive caching…
Most of my important data are stored in Git repositories that have at least one remote clone, or at least on another hard disk. They have all survived the havoc.
Most of my software is either open source, or managed by platforms like Steam. I could reinstall all of them whenever I want.
I still have a few external hard drives that have some extra backups from between 2015 and 2017. They further limit the damage.
For some reason, I never touched my external hard drives in the previous three years. The problem with external hard drives is that they are burdensome to use, especially when you have more than one and are not sure which is which.
Also, in about 2018, I heard about the class action against Seagate for the infamous ST3000DM001 hard disk drive, and I noticed that my disk is of the same model. However, besides a minor panicking and checking S.M.A.R.T. status (which was healthy at the time), I really did nothing at the time.
From about one day before the final death of the drive, my machine had been sluggish. What was most obvious is that any disk-related command, such as
ls, took more time than usual. I noticed the problem and even said “I should check the hard disk”, but still procrastinated so I was still unprepared for the fateful event.
My Windows installation lives in another disk so it is not touched. However, the EFI System Partition is on the broken disk, so I doubt the Windows can boot at all. Perhaps I should try fixing it after getting my Linux back to work.
For many Git repositories, I have local branches that I put some efforts in, but completely do not work, and thus I do not wish to be publicly viewable. These branches are hence lost.
Similarly, I have a few “minor projects” where are basically random one-day mini projects that solve a minor problem. They usually live in a repository, but were not deemed “important” enough to be pushed to remote and are now lost.
Ironically, this very blog was actually my most important “minor project” for the past few years, and I spent some extra time to re-organize my other minor projects so that I could properly introduce them here. It turned out that this extra organization and presentation step also helps a lot for project longevity. Perhaps it should have been the modus operandi for everything I do.
Game mods are a special class of things. They are often huge; they are often mostly binary; they are often assembled from multiple download sites, and even needed manual fix up to get working. They are an important kind of things that are too precious to lose, and too big to backup like everything else.
Perhaps the solution is to use Github repositories with the LFS extension. This setup, needless to say, is highly dependent on Github, since Git LFS runs counter to the true decentralized ideal of traditional Git wisdom. However, it looks like the best option available for now.
A phenomenon I noticed in past data migrations, is that no matter how well-organized things are, there are usually things left, that consists of vaguely useful stuff that are not thematically connected to each other, are of great number, each with little foreseeable use, but as a whole, would be useful since I can
grep things out of it.
Since junk collection, by definition, is the residue pile after organizing everything, it cannot be properly named by anything other than “junk collection” or similar names. There is no need to delete it, and there is no point in further organizing it.
Perhaps the best way to make junk collections is to make it a managed workspace; everything is tossed into the workspace; useful things are extracted from the workspace, and the workspace itself is regularly synced to somewhere else but absolutely no attempt to organize it should happen.
The immediate plan is to get a new disk, install a working Linux distribution on it so I can gradually get my life back to normal.
Once I get the system working, I would have a platform to further assess the damage, and decide whether or not to repair the old drive. After spending a few hours in learning the various techniques in repairing disks, I reached the sad conclusion: buying a new disk is cheap, repairing the old one is not.
And perhaps I should start experimenting with my new idea of a messy workspace.