Podcast #128: We chat with Kent C Dodds about why he loves React and discuss what life was like in the dark days before Git. Listen now.
3 explanation error - thanks to @Zachary T
source | link

APL (Dyalog), 92 bytes

Needs ⎕IO←0 which is default on many systems.

0 3↓¯1⌽⍕{' ',(16⍴1↑⍨16÷≢⍵)⍀'.-'[⍉2⊥⍣¯1⍳≢⍵],' ',⍪⍵}¨'ET' 'IANM' 'SURWDKGO' 'HVF L PJBXCYZQ  '

Try it online!

{}¨'' apply the following anonymous function to each of the strings:

⍪⍵ make the argument into a column

' ', prepend a space (on each row)

'.-'[], prepend the string after it has been indexed with:

  ≢⍵ the length of the argument

   the indices of that (0, 1, 2, …, length-1)

  2⊥⍣¯1 anti-base-2 (uses as many bits as needed)

   transpose (from one representation in each column to one in each row)

()⍀ expand by (insert blank rows as indicated by zeros in):

  ≢⍵ the length of the argument

  16÷⍨16÷divided bydivide sixteen by that

  1↑⍨ (over)take from one (makes a list of a one followed by 1-n zeros)

  16⍴ recycle that pattern until it has sixteen elements

' ', prepend a space

 format (the list of tables into a single table, padding each with a space on each side)

¯1⌽ rotate one step right (thus moving the trailing space to the front)

0 3↓ drop zero rows and three columns (thus removing the three leading spaces)

APL (Dyalog), 92 bytes

Needs ⎕IO←0 which is default on many systems.

0 3↓¯1⌽⍕{' ',(16⍴1↑⍨16÷≢⍵)⍀'.-'[⍉2⊥⍣¯1⍳≢⍵],' ',⍪⍵}¨'ET' 'IANM' 'SURWDKGO' 'HVF L PJBXCYZQ  '

Try it online!

{}¨'' apply the following anonymous function to each of the strings:

⍪⍵ make the argument into a column

' ', prepend a space (on each row)

'.-'[], prepend the string after it has been indexed with:

  ≢⍵ the length of the argument

   the indices of that (0, 1, 2, …, length-1)

  2⊥⍣¯1 anti-base-2 (uses as many bits as needed)

   transpose (from one representation in each column to one in each row)

()⍀ expand by (insert blank rows as indicated by zeros in):

  ≢⍵ the length of the argument

  16÷⍨divided by sixteen

  1↑⍨ (over)take from one (makes a list of a one followed by 1-n zeros)

  16⍴ recycle that pattern until it has sixteen elements

' ', prepend a space

 format (the list of tables into a single table, padding each with a space on each side)

¯1⌽ rotate one step right (thus moving the trailing space to the front)

0 3↓ drop zero rows and three columns (thus removing the three leading spaces)

APL (Dyalog), 92 bytes

Needs ⎕IO←0 which is default on many systems.

0 3↓¯1⌽⍕{' ',(16⍴1↑⍨16÷≢⍵)⍀'.-'[⍉2⊥⍣¯1⍳≢⍵],' ',⍪⍵}¨'ET' 'IANM' 'SURWDKGO' 'HVF L PJBXCYZQ  '

Try it online!

{}¨'' apply the following anonymous function to each of the strings:

⍪⍵ make the argument into a column

' ', prepend a space (on each row)

'.-'[], prepend the string after it has been indexed with:

  ≢⍵ the length of the argument

   the indices of that (0, 1, 2, …, length-1)

  2⊥⍣¯1 anti-base-2 (uses as many bits as needed)

   transpose (from one representation in each column to one in each row)

()⍀ expand by (insert blank rows as indicated by zeros in):

  ≢⍵ the length of the argument

  16÷divide sixteen by that

  1↑⍨ (over)take from one (makes a list of a one followed by 1-n zeros)

  16⍴ recycle that pattern until it has sixteen elements

' ', prepend a space

 format (the list of tables into a single table, padding each with a space on each side)

¯1⌽ rotate one step right (thus moving the trailing space to the front)

0 3↓ drop zero rows and three columns (thus removing the three leading spaces)

2 explanation
source | link

APL (Dyalog Unicode), 92 bytes

Needs ⎕IO←0 which is default on many systems.

0 3↓¯1⌽⍕{' ',(16⍴1↑⍨16÷≢⍵)⍀⍵,⍨'⍀'.-'[⍉2⊥⍣¯1⍳≢⍵],' ',⍪⍵}¨'ET' 'IANM' 'SURWDKGO' 'HVF L PJBXCYZQ  '

Try it online!Try it online!

{}¨'' apply the following anonymous function to each of the strings:

⍪⍵ make the argument into a column

' ', prepend a space (on each row)

'.-'[], prepend the string after it has been indexed with:

  ≢⍵ the length of the argument

   the indices of that (0, 1, 2, …, length-1)

  2⊥⍣¯1 anti-base-2 (uses as many bits as needed)

   transpose (from one representation in each column to one in each row)

()⍀ expand by (insert blank rows as indicated by zeros in):

  ≢⍵ the length of the argument

  16÷⍨ divided by sixteen

  1↑⍨ (over)take from one (makes a list of a one followed by 1-n zeros)

  16⍴ recycle that pattern until it has sixteen elements

' ', prepend a space

 format (the list of tables into a single table, padding each with a space on each side)

¯1⌽ rotate one step right (thus moving the trailing space to the front)

0 3↓ drop zero rows and three columns (thus removing the three leading spaces)

APL (Dyalog Unicode), 92 bytes

Needs ⎕IO←0 which is default on many systems.

0 3↓¯1⌽⍕{' ',(16⍴1↑⍨16÷≢⍵)⍀⍵,⍨'.-'[⍉2⊥⍣¯1⍳≢⍵],' '}¨'ET' 'IANM' 'SURWDKGO' 'HVF L PJBXCYZQ  '

Try it online!

APL (Dyalog), 92 bytes

Needs ⎕IO←0 which is default on many systems.

0 3↓¯1⌽⍕{' ',(16⍴1↑⍨16÷≢⍵)⍀'.-'[⍉2⊥⍣¯1⍳≢⍵],' ',⍪⍵}¨'ET' 'IANM' 'SURWDKGO' 'HVF L PJBXCYZQ  '

Try it online!

{}¨'' apply the following anonymous function to each of the strings:

⍪⍵ make the argument into a column

' ', prepend a space (on each row)

'.-'[], prepend the string after it has been indexed with:

  ≢⍵ the length of the argument

   the indices of that (0, 1, 2, …, length-1)

  2⊥⍣¯1 anti-base-2 (uses as many bits as needed)

   transpose (from one representation in each column to one in each row)

()⍀ expand by (insert blank rows as indicated by zeros in):

  ≢⍵ the length of the argument

  16÷⍨ divided by sixteen

  1↑⍨ (over)take from one (makes a list of a one followed by 1-n zeros)

  16⍴ recycle that pattern until it has sixteen elements

' ', prepend a space

 format (the list of tables into a single table, padding each with a space on each side)

¯1⌽ rotate one step right (thus moving the trailing space to the front)

0 3↓ drop zero rows and three columns (thus removing the three leading spaces)

1
source | link

APL (Dyalog Unicode), 92 bytes

Needs ⎕IO←0 which is default on many systems.

0 3↓¯1⌽⍕{' ',(16⍴1↑⍨16÷≢⍵)⍀⍵,⍨'.-'[⍉2⊥⍣¯1⍳≢⍵],' '}¨'ET' 'IANM' 'SURWDKGO' 'HVF L PJBXCYZQ  '

Try it online!