Woodblock Prints:

Frederick Douglass (8″x10″) – Woodblock print
The moon (8″x10″) – shina plywood

Soul’s Shot Portrait Project (2021) – Quadir Schaeff – 18″x24″

St. Jerome – Reproduction of Ugo da Carpi’s St. Jerome – shina plywood
Peppy the cat – 8″x12″ – woodcut in cherry
Bird Engraving #1 – Wood Engraving – 2″x3″ – maple
Bird Engraving #2 – 2″x3″ wood engraving in maple
Bird engraving #3 – 2″x3″ wood engraving in maple
Bird engraving #4 – 2″x3″ wood engraving in maple
Big Bend National Park – 4″x4″ shina plywood
An energetic Texas tree – 8″x10″ woodcut, shina plywood
Replica of an interesting portion of Ugo da carpi’s “Hercules and the Lion” – 8″x8″ – woodcut in shina plywood
Monoprint #1
Monoprint #2
John Brown – in progress interpretation of Ole Peter Hansen Balling’s portrait, woodcut, shina plywood

R: quote vs expr

quote: returns it’s argument (an expression) as is; variables would be filled in later

substitute: the same, except, variables from the environment are referenced

expr: superficially, the documentation makes it sounds the same as quote. However, a major difference – you can build larger arguments. To prevent evaluation of calls, put in !! operator:

> eval(quote(toupper(quote(letters))))

> eval(quote(toupper(!!quote(letters))))
Error in !quote(letters) : invalid argument type

> eval(expr(toupper(!!quote(letters))))
[1] "A" "B" "C" "D" "E" "F" "G" "H" "I" "J" "K" "L" "M" "N" "O" "P" "Q" "R" "S" "T" "U" "V" "W" "X" "Y" "Z"