“The difference between scientists and engineers is
that when engineers screw up, people die.”
Circus Ponies Notebook (CPN) is the lynchpin of my work — with all it’s risks and dangers. Today was the second time in a few months that one of my CPN files could not display some pages:
So I had another “Oh, hell …” moment. I am currently not sure what the cause is, but I suspect that it might have something to do with storing the CPN files in DEVONthink. Given that the problem is rare, it happens to some pages only, but it also happens to other people, this might be only one (possible) cause. I don’t know, perhaps DEVONthinks indexing interferes and slows down saving or whatever and that corrupts the data. So far all pages with errors were copied from another CPN file into the current one and probably under high processor work load and low memory conditions.
So, while I stored my CPN files in DEVONthink in the past, currently I cannot recommend it. The lost pages did contain information, not sure whether they could be reconstructed by going into the file-directory itself. I am going to use my backups from the day before yesterday to restore the information.
Still, this error is a serious problem, one that might become a showstopper for using Circus Ponies Notebook — if I ever find a good alternative(*). Probably the worst part is that CPN does not check the integrity of the file when it opens it — if the error is not on the page you want to have displayed, you could use a CPN file for ages without ever noticing the information is gone. This means you need a string of backups going back in time to the file that still contained the full information. Note that Time Machine deletes backups that are too old to conserve disk space (if you activate it).
I am probably going to add a fifth rule of backups:
#1 Save Early.
#2 Save Often.
#3 Save Incrementally
#4 Save Externally
#5 Save Prior Backups.
But yup, I noticed the corrupted data early, but still, very, very disturbing.
(*) OmniOutliner might work — the key function needed besides an outliner that can deal with images and the like is the possibility to easily tag each cell with the source information. OmniOutliner’s multiple columns might work — one column for the information from the source, the other for the source information. But it’s untested at the moment — not sure how the look and feel is and how stable it is with large amounts of information … Also, transferring the information is not trivial — OPML (which CPN can export and OmniOutliner can import) does not have the keyword information. There is nbml (CPN export option), which does have the keyword information, but no attachments and OmniOutliner apparently cannot import it, nbpd seems to have all the information, but apparently OmniOutliner cannot import it either. It should be possible to use a script to reformat the nbml file into an opml file, forcing one to add the attachments manually (possible but not nice) — but like said, not trivial. Hmm, something to think about.