
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.