It seems to be the norm with my posts lately that I cover two pretty unrelated topics. I’m continuing that trend today.
It is especially apparent to me lately how much English sucks thanks to a coincidence of unrelated events. I’m learning about a very abstract domain while also teaching a 2 year old some of the nuances of our native tongue. For example - “native tongue” means “primary language you learned growing up”, not really anything to do with the muscle rolling around in your mouth.
I’ll set aside some small topics (like how the letter “c” serves no purpose that couldn’t be covered by other letters), and topics I’ve covered in the past (like how we should have a 1:1 correspondence between letters and phonemes), and today focus on a topic near and dear to my engineering/dumb boy heart:
English has a nasty habit of enabling its speakers to use a lot of words to not actually say anything meaningful. It is difficult to construct a wholly unambiguous sentence. I think that’s why lawyers get paid so much. Things like “passive voice”, demonstrative pronouns, and the attribution of adjectives to pairs of nouns lend to obvious questions. Looking at a description of a process, it’s incredibly frustrating to find things like:
Once the house is under contract, it is inspected. If the inspection finds any big cracks or stains, they may want those fixed.
Okay…. but who’s responsibility is it to inspect the house? Who makes the offer? What level of ‘inspection’ is required for the criteria to be satisfied? Is there a problem if the inspection finds big cracks or big stains? Or is it “big cracks” and (any variety of) stains? Who’s the “they”?
“I’ll call you next Friday”. - okay… But it’s Monday. Do you mean 5 or 12 days from now?
“My dad went golfing with his buddy, and his game was below par.” - okay… whose game was below par, the dad or the buddy? Also do you mean below par like good for golf or below par like bad.
“I wouldn’t touch that with a 10 foot pole”. - inspired by Demetri Martin, am I using the pole to touch the thing, or is the pole more so just in my presence?
“I need that tomorrow by 7”. - okay… do you mean before work after work?
“I’m hungry”. - okay…. Hi Hungry I’m dad.
And this great example per this Quora:
“I saw a man on a hill with a telescope”. - okay, did you use a telescope to see a man on a hill? Or did you see a man who was on a hill in possession of a telescope? Or are you on the hill and you saw a man who may or may not have also been on the hill who may have the telescope…unless you used it to see him?
I could fall down a rabbit hole here real quick, so I’ll just say this:
There exists a class of language whose primary purpose is the unambiguous description of complex domains. They range in form from human readable to very much not.
Long Term Thinking
I’ve been using technology for long enough to know that things go away.
On a long enough timeline, the survival rate for every product you use goes to zero.
No basket you put your digital eggs into is guaranteed to hold them safely. You can either succumb to that as an inevitability and restart from scratch every time a service you use goes away or you get a new computer that doesn’t work with your old stuff, or you can think ahead and implement some best practices to minimize your chance of loss, mitigate it when it happens, and generally sleep easier at night not having to worry about years of work and memories randomly becoming inaccessible.
Where You Store Your Stuff
So your store everything on your computer (or your phone, whatever). Your computer can have a hard drive failure, or you could fall prey to ransomware, or you could have what they call at SpaceX a “Rapid Unintentional Disassembly”.
Okay cool, so you make periodic backups to an external hard drive. What if your house is broken into and both are taken? Or it burns down?
Okay cool, so you put all your stuff in the cloud. What if (whatever service provider) goes belly-up unexpectedly? What if your account is hacked? What if the company decides for whatever reason your account is fraudulent and shuts it down? These things happen.
Personally, I do all 3 of the above. One of my rotating periodic reviews is to make backups of everything in my “main” folder. That’s in the cloud, in an external hard drive (which I keep in a Pelican Case), and on my computer locally.
Fun fact: one day after writing this I also successfully turned an old external hard drive and a Raspberry Pi I wasn’t really using into a Network Attached Storage device. Now I’ve got easier backup access & I can code easier now from the iPad, so that’s cool. Sooner or later we’ll get a legit NAS.
How You Store Your Stuff
I think most people nowadays have probably considered the first topic. We’ve all had a computer go belly up, or a service go the way of the dodo. But, have you ever had a file that you couldn’t open anymore because the file itself is the issue? Not all file formats are created equal.
Some formats are OS-specific. Many depend on a particular piece of software (or even hardware). There are a few “safe bets”, though. See the Top 5.
For more on this topic, I suggest reading “The Organized Mind” by Daniel Levitin, which has the distinction of being the most-frequently-cited book in my Notes.
Use Open Source Standards
Have a preference for file types that store plain text (e.g. “.txt”, “.csv”), or zipped plain text files (e.g. “.ods”, “.xlsx”, “.odf”, “.docx”). Or use well-recognized (preferably ISO-backed) standards, such as “.pdf”. Again see the Top 5.
Own Your Own Standards
This is a bit1 niche. As you mature in your use of technology and capabilities, try building your own standards. These could be as simple as “here’s the folder structure I use” or as complicated as “here’s a normalized database of everything I ever really care to save or be able to find”. A future-proof system is one that’s dependent on techniques, not specific tools.
Technique’s trump tools because techniques are timeless. A tool is only as good as your knowledge of how to use it, how well it fits your situation, and how long it stays around. A well-honed technique is both enduring and flexible and will serve you well into the future. You have the freedom to consider and adopt your own, personal techniques for anything. If you build a common approach to how you like to store, access, and work with your information - you can become somewhat tool-independent. You build a system, then you find a tool that works within that system, rather than going: tool first, system later.
An over-the-top-but-I’m-actually-doing-it example is “Aaron API’2. That’s sort of the culmination of years of life tracking, coding, and generally thinking about what I want to have and how to best create it. I’ve defined a standard approach to how I will store new pieces of data, how they can be queried, and what components any new additions will have to include. This separates the frontend presentation of the data from the backend storage of the data.
My Knowledge Base is another such situation where I came up with a standard approach and committed to it.
Any new service I’m going to allow myself to become reliant upon as a part of my personal information and productivity system must support takeout. That is to say, it must let you take your data out of their system in a way that can be made useful via automated means. I have already written extensively about Google Takeout. That’s a great service Google has, and it sets the bar for every other service.
Before I allowed myself to commit to Notion to the extent I have, I got very familiar with their export options. They are fantastic. I periodically (every month, currently) export all my stuff for safe keeping.
Top 6: Safest File Formats
6. .tiff & .svg
Looking around from list to list, the “.tiff” file consistently shows up. It’s not one I’ve ever used. Thankfully, .png & .jpg are usually also listed. In terms of vector images, SVGs are the way to go.
5. .mp3 or .flac
The pervasiveness of the .mp3 format makes it a good candidate for sticking around. It’s also got the backing of two ISO Standards and can be implemented by anyone free of charges. If you need lossless audio, apparently “.flac” is the way to go. I’ve got no experience with .flac files.
Believe it or not there isn’t really any better format than .mp4 for video storage in terms of future-proofing.
3. All Microsoft Office formats ending in “X”
While Microsoft Office is fundamentally proprietary, they are by far and away the most popular document formats available for in all varieties of “office” files. The “X” at the end, I recently learned, denotes that the file is .XML-based. Fun fact: you can actually change the MS file extensions from “.xlsx” (or “.docx” or “.pptx”) to “.zip”, then extract that (“unzip”) to see how the files work.
If you have no need to edit a document ever again, there’s nothing better than plain old .pdf files. The Portable Document Format (or “pdf”) is a wholly self-contained file, not dependent on software, operating system, or any other specific tools to open it… and it’s backed by ISO Standard 32000. When you’ve got an ISO Standard supporting your format, you’re pretty solid.
Text files are essentially immortal. This makes .txt (and its variants, e.g. “.csv”, “.md”) an absolutely ideal place for storing something like an ever-expanding body of interconnected notes. See this incredibly thorough blog written on the topic. See this notetaking application whose entire philosophy is all about this. Anything using Unicode (primarily the UTF-8 encoding) is going to be golden for long past your expected lifespan, whoever’s reading this. Like “.pdf”, it’s got the backing of an ISO standard (ISO 10646)
Daddy can you say ‘woo woo’. my son, I needed a quote and decided to just quote whatever the next thing my kid said.