Prototyping 2013-09-23 (Networked Media)

From XPUB & Lens-Based wiki
Revision as of 10:09, 23 September 2013 by Michael Murtaugh (talk | contribs)

Construction.gif 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

Seymour!

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":

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: