
Defining an Escher Drawing with Julia - leephillips
http://nbviewer.ipython.org/github/shashi/ijulia-notebooks/blob/master/funcgeo/Functional%20Geometry.ipynb
======
kjhughes
This is a gem of a post. Loved it.

Don't miss:

    
    
       Notice how the fish interlock without leaving out any space in between them.
       Escher FTW.
    

And:

    
    
       Abstraction barriers are useful tools that can reduce the cognitive overhead
       on the programmer.
    

Although of course familiar with the concepts of abstract data types from CS
and architecture/implementation layers from CompE/EE, I've not heard the term
_abstraction barriers_ before this. I like the combination.

~~~
g0wda
Hey, I made this notebook. Thanks!

SICP talks about abstraction barriers, and I love the idea. It can guide great
library design. When in doubt, I sometimes read this again:
[https://mitpress.mit.edu/sicp/full-
text/sicp/book/node29.htm...](https://mitpress.mit.edu/sicp/full-
text/sicp/book/node29.html)

~~~
journeeman
And the best way to find the right abstraction barriers is 'wishful thinking'.
:-)

Greatly reduces the 'Invent and fit; have fits and reinvent!' cycle.

------
notthemessiah
Note that Compose.jl is used as the backend to the plotting library Gadfly.jl.

[http://composejl.org/](http://composejl.org/)

------
ICWiener
Nice article.

By the way, you may want to watch this course by Hal Abelson and Gerald Jay
Sussman (Henderson Escher example):

[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-001-structure-and-interpretation-of-computer-programs-
spring-2005/video-lectures/3a-henderson-escher-example/)

Also, the article reminded me of LOGO.

