
Origami and Programming - amitzur
https://medium.com/@amitzur/origami-and-programming-4bddee3a1cb1#.39xpgdn0q
======
_asummers
Semi-related to this: There's an MIT OCW course on algorithmic folding taught
by Erik Demaine.

[http://ocw.mit.edu/courses/electrical-engineering-and-
comput...](http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-849-geometric-folding-algorithms-linkages-origami-polyhedra-
fall-2012/)

~~~
amitzur
Indeed, Eric Demain is amazing. Thanks for the reference. There's a lot to be
discussed about computational origami and computer science. And there are many
materials on the subject. I was trying to also touch the behavioral aspect of
the connection between being a programmer and a folder.

------
sriku
Interesting comparison. While the article relates the two at a somewhat meta
level, I've often had this fairly visceral feeling that programming in lisp or
haskell is like folding an origami figure. The strange bit is that I don't
know the abcs of origami, and yet this feeling doesn't escape me. For example,
I've dreamt of programming interfaces implemented via the Leap Motion
controller taking the form of origami or sculpting.

Now I'm really intrigued to hear this analogy from someone else and might
actually pick up some paper and start folding :)

~~~
amagumori
I mean, dude, when you really think about it, all programming really is is
changing data from one shape to another, man..

------
stepvhen
Largely I agree with this article, except the point that most developers think
there is "a constant feeling that things that other people make are better
than" their own. One of the most common traps is Not-Invented-Here-Syndrome,
and it is one that many a programmer falls into, whether it be through
arrogance or ignorance (both of which I have been guilty of). I don't know how
prevalent it is in the industry, but for amateurs and hobbyists, it can be a
real issue.

~~~
amitzur
Well it's a good point about the other angle of not using anyone else's code
at all. I think there should be a good balance between using others' and
writing your own code. It requires good judgement. In origami, however, you
almost solely use other people's designs, but I think we should encourage
putting in your own interpretation.

------
UhUhUhUh
I find the comparison puzzling and inspiring. Reminds me of Bohm's "Wholeness
and the implicate order", "Unfolding meaning" etc. Or even of Chomsky's deep
structure. I also can't help but feeling a sort of odd familarity with the
idea of decoherence.

------
e19293001
What book would you recommend to learn Origami?

~~~
amitzur
Oh there are so many good ones. Robert Lang's "Origami Design Secrets" is sort
of a bible. Also, there are 2 publishers worth checking out: Origami house and
Origami Shop ([http://www.origami-shop.com/m_index.php](http://www.origami-
shop.com/m_index.php))

~~~
bazzargh
In terms of publishers, Dover Press springs to mind?
[http://search.doverpublications.com/search?keywords=origami](http://search.doverpublications.com/search?keywords=origami)

admittedly I haven't looked at them for years, but they still seem to have
quite a range of Robert J Lang, John Montroll, etc.

An aside - there are other connections between computing and origami; 20 years
ago Bern & Hayes showed that assigning mountain or valley folds to a crease
pattern in order to make it fold flat was NP-complete
[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.1...](http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.1892)
(and is also in the "I wish I'd thought of that" category. It was a question
from me on Usenet that piqued their interest in origami, so I got an
acknowledgement in the paper - but I wouldn't have come up with that idea in a
million years)

------
LoSboccacc
It seems no article can be written today without the author establishing
himself as a 'cool kid' by taking a random stab at Java.

~~~
amitzur
I didn't mention Java in my article

