Today I Learned

Slash or Not to Slash with rsync

November 26, 2022

TIL an easy way to remember if you want a slash or not when you run rsync. A trailing slash will copy the contents of the directory while just the directory name will copy the directory itself. For example

# copies everything in dir into new-dir
rsync -r dir/ new-dir

# copies dir into new-dir
rsync -r dir new-dir


Python List Comprehensions

November 25, 2022

TIL about Python List Comprehensions. I came across code that looked like this in a codebase.

 baz = [foo.bar for foo in foos] 

I could see what was happening (baz is now a list of bar for each object in foos). I didn’t know this was called list comprehension but now I understand the data structure.

List comprehensions are useful for lots of things when you want to create lists from other objects (docs source).


Hugo Debug Jsonify

November 13, 2022

TIL that you can output all the data in “the dot” from a Hugo template using jsonify

<pre>{{ . | jsonify (dict "indent" "  ") }}</pre>

Here is the output of the .Params value for this post

<pre>{{ .Params | jsonify (dict "indent" "  ") }}</pre>
{
  "date": "2022-11-13T16:54:29-05:00",
  "draft": false,
  "iscjklanguage": false,
  "lastmod": "2022-11-13T16:54:29-05:00",
  "publishdate": "2022-11-13T16:54:29-05:00",
  "tags": [
    "hugo",
    "ssg",
    "debug"
  ],
  "title": "Hugo Debug Jsonify"
}


cal and ncal

November 08, 2022

TIL about ncal (most Linux distros) or CAL (on MacOS). I have used cal for quite a while which is a convenient calendar tool in the terminal. However, I hit CAPS LOCK on accident and ran CAL instead of cal, to my surprise it output

    November 2022
Mo     7 14 21 28
Tu  1  8 15 22 29
We  2  9 16 23 30
Th  3 10 17 24
Fr  4 11 18 25
Sa  5 12 19 26
Su  6 13 20 27

(the normal cal output)

   November 2022
Su Mo Tu We Th Fr Sa
       1  2  3  4  5
 6  7  8  9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30