Get a clue

These are quirks/interesting things I’ve learned, thus gaining a clue I previously didn’t have. Usually these are things that don’t warrant a separate article, so I put them here instead. In addition, it’s nice to have a place to share miscellaneous thoughts.

  1. % gets converted to a newline in crontab(5) and all data after the first % is sent to the command as standard input unless escaped. I encountered this while working on an entry to back up my server with tar(1) that places the backup in a directory named the current date in “YYYY-MM-DD” format (I used date(1) to generate this).

  2. Signal stores its data in a folder called org.thoughtcrime.securesms on Android and Android-based devices. Furthermore, redirects to, a website that belongs to Moxie Marlinspike. He co-authored the Signal Protocol.

  3. An apophasis is an allusion to something by denying that it will be mentioned. “Not to mention” and “to say nothing of” are both apophases.

  4. whois(1) can use the US Department of Defense database with whois -d to query subdomains of the .mil top-level domain (TLD). Apparently the United States is the only country with a dedicated TLD for its military (though after contemplating this, it’s not incredibly surprising given that ARPANET was highly influential in the advent of the Internet).

  5. A shibboleth is any custom or tradition, usually a choice of phrasing or even a single word, that distinguishes one group of people from another. In a certain light, shibboleths are somewhat like passwords in that both are a proof of identity and a means to keep ‘intruders’ out.

  6. The months July and August are named after Julius Caesar and Augustus, respectively.

  7. The frame-ancestors directive in the Content-Security-Policy HTTP header obsoletes X-Frame-Options: deny.

  8. As a follow-up to the last clue, the Forwarded header is a more standardized version of the X-Forwarded-{For,Host,Proto} headers.

  9. It’s important to expose yourself to new things. When someone else is passionate about something, ask and genuinely listen to them, even if you’re not interested in it. By listening, you expand your horizons, which allows you to draw connections between subjects, relate more to people, and pick up new hobbies.

  10. Octopuses is the correct plural form of octopus, not octopi. Octopi is a hypercorrect word (meaning it’s a misguided application of prescriptive grammar).

  11. In xmonad (and I suspect other window managers), adding borders to browser windows causes them to do very poorly in fingerprinting tests. Borders can deanonymize Tor Browser users.

  12. Use your search engine’s capabilities to your advantage. For instance, to only return web pages that have either the .edu or .gov TLD (useful for research), use the site operator like so:

    site:(edu | gov)

    See Step-by-Step Guide & Research Rescue: Evaluating Credibility and Google Hacking 101 (but don’t use Google–many operators apply on other search engines, like DuckDuckGo or Searx).

  13. Vim/Neovim can rotate characters 13 places using g?{motion} or {Visual}g?. On OpenBSD, rot13(6) reads from standard input and performs the same conversion. Here’s an explanation of rot13 in case you’re wondering why anyone would ever need this.

  14. command -v seems more portable than which and should be given preferential treatment most of the time. See this Stack Exchange post for more details.

  15. For the time being, HTTP keep-alive must be disabled in relayd(8) in order for HTTP headers to be applied on subsequent requests. See this thread for more details.

  16. In Super Mario World, there are exactly two ghost houses without a secret exit (Vanilla Ghost House and Choco-Ghost House). I spent too long trying to figure out where the second exit was because a mental heuristic that served me well most of the time didn’t apply to those two. I suppose the lesson embedded in this experience is to avoid blindly trusting rules of thumb.

  17. Regarding line-height in CSS, a minimum value of 1.5 is appropriate. This improves readability and accessibility.

  18. sh(1) and ksh(1) have some useful options. -x writes a trace of each command executed to standard error–great for debugging shell scripts. Whereas -nv can let you see how much of the shell script has been read.