Still haven't finished part two of yesterday's AoC, but I learned a lot about J from it. Today's was... very ugly. Lots of brute forcing my way through affine transformations. For example:
```
turn =: dyad : '((>(4|x){ (0 1;1 0;0 1;1 0)) { y) * (>(4|x){ (1 1;_1 1;_1 _1;1 _1))'
```
That is not elegant 😂
Literally a thousand times better: https://gist.github.com/jcmorrow/5cd4401b22e13236be67b8ec349f1877