Prototyping 2013-09-23 (Networked Media)
This page is currently being worked on.
Sept 23 2013: 1.02 "Turtles & Ducks"
Promiscous interfaces
Generally the interesting things you can do with a programming language are provided by specific libraries. A code library is like a software application that you use via programming. Code written for a specific library often remains "glued" to it in the sense that if the specific library isn't available on another platform, or changes, the code will either not work or break. A degree of "promiscuity" or in this case robustness occurs when the "bindings" are less specific and code can change on "both sides" of the abstraction of a libraries interface allowing changes in one to not break the other.
Python supports a flexible concept of typing sometimes called duck typing. What if we secretly replaced our turtle with another turtle trained to respond in exactly the same way as the one built-in to Python, but with a alternative agenda ;)
Some tools + concepts
- Inkscape A free-software Vector graphics editor
- XML A standard way of creating (text) documents using "markup" with tags, designed for "interoperability"
- SVG An open standard for vector graphics, based on XML
- Inkscape Plugin A (Python) program that transforms an SVG file, typically run from within the Inkscape interface
Rough Notes
- Inkscape: XML Editor
- SVG: Open in a text editor... draw by typing, search and replace
Turtle Vectors
New possibilities in the intersection of tools
- Inkscape: Apply path tools to a resulting drawing (need good example -- how to join nodes ?!)
- Python: Load a JSON feed (following Max's example?)
Inkscape forums
Results for search "Joining nodes inkscape":
- http://www.inkscapeforum.com/viewtopic.php?f=28&t=12935
- http://www.youtube.com/watch?v=cGJi5sXxSfQ
- http://imagesbyheatherm.wordpress.com/2009/10/09/joining-lines-in-inkscape-using-the-node-tool/
Afternoon
Practice with Seymour
Extra: Think about other Inkscape/Python plugins
Examples
- http://archipels.be is a website project I worked on that uses SVG+html plus some other random tools to make a browser of avant-garde music
The project made use of the following code:
- http://code.google.com/p/svgpan/
- http://www.cyberz.org/projects/SVGPan/tiger.svg ... cue 80s music!