<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Code &#038; form &#187; Open source</title>
	<atom:link href="http://workshop.evolutionzone.com/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://workshop.evolutionzone.com</link>
	<description>Computational aesthetics and programming for artists and designers.</description>
	<lastBuildDate>Sun, 29 Jan 2012 07:00:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Websaver &#8211; MacOS screensaver that displays web pages</title>
		<link>http://workshop.evolutionzone.com/2012/01/29/websaver-macos-screensaver-that-displays-web-pages/</link>
		<comments>http://workshop.evolutionzone.com/2012/01/29/websaver-macos-screensaver-that-displays-web-pages/#comments</comments>
		<pubDate>Sun, 29 Jan 2012 07:00:06 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[AHO]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web dev]]></category>
		<category><![CDATA[Workshops]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[processing.js]]></category>
		<category><![CDATA[screensaver]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/?p=656</guid>
		<description><![CDATA[Got a nice tip from Jason Sundram (thanks!) as a followup to the screensaver theme: @mariuswatz websaver awe.sm/5daM6 is a great way to use a processing.js sketch as a screensaver. Here&#8217;s mine: viz.runningwithdata.com/boids/ &#8212; Jason Sundram (@jsundram) January 28, 2012 Websaver runs on MacOS and allows the user to specify a web page to load [...]]]></description>
			<content:encoded><![CDATA[<p>Got a nice tip from <a href="http://runningwithdata.com/">Jason Sundram</a> (thanks!) as a followup to the screensaver theme:</p>
<blockquote class="twitter-tweet" data-in-reply-to="158913229995782144"><p>@<a href="https://twitter.com/mariuswatz">mariuswatz</a> websaver <a href="http://t.co/f7S6ZTYo" title="http://awe.sm/5daM6">awe.sm/5daM6</a> is a great way to use a processing.js sketch as a screensaver. Here&#8217;s mine: <a href="http://t.co/HZu9ouLf" title="http://viz.runningwithdata.com/boids/">viz.runningwithdata.com/boids/</a></p>
<p>&mdash; Jason Sundram (@jsundram) <a href="https://twitter.com/jsundram/status/163354767601565696" data-datetime="2012-01-28T20:16:26+00:00">January 28, 2012</a></p></blockquote>
<p><script src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p><a href="http://code.google.com/p/websaver/">Websaver</a> runs on MacOS and allows the user to specify a web page to load when the screensaver is active. And since it uses Safari to render the HTML (I assume), you can use HTML5 and Processing.js to run computational sketches on that web page. </p>
<p>It&#8217;s a nice hack to enable easy development of screensavers based on open web standards, without having to worry about interaction with the OS etc. In fact, it&#8217;s nearly as good as my Google Chrome screensaver idea, minus an app store etc.</p>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2012/01/29/websaver-macos-screensaver-that-displays-web-pages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mapping examples using the Unfolding library</title>
		<link>http://workshop.evolutionzone.com/2012/01/27/mapping-examples-using-the-unfolding-library/</link>
		<comments>http://workshop.evolutionzone.com/2012/01/27/mapping-examples-using-the-unfolding-library/#comments</comments>
		<pubDate>Fri, 27 Jan 2012 11:36:02 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[AHO]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Geo / locative]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>
		<category><![CDATA[Workshops]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[locative]]></category>
		<category><![CDATA[mapping]]></category>
		<category><![CDATA[processing.org]]></category>
		<category><![CDATA[unfolding]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/?p=646</guid>
		<description><![CDATA[While preparing for teaching a course in data tracking I was very happy to discover the excellent Unfolding library for making interactive maps in Processing. Unfolding makes it possible to create just about any kind of tile-based mapping application with a minimum of code, simple map drawing typically coming in]]></description>
			<content:encoded><![CDATA[<p>While preparing for teaching a course in data tracking I was very happy to discover the excellent <a href="http://unfoldingmaps.org/">Unfolding library</a> for making interactive maps in Processing. Unfolding makes it possible to create just about any kind of tile-based mapping application with a minimum of code, simple map drawing typically coming in <20 lines. It's perfect for visualizing FourSquare, OpenPaths, GeoRSS or any other kind of geo-based data. Now if I could only figure out how to control the timing of the map tweening, right now it feels more like jump cuts than smooth pans.</p>
<p>Here are three examples showing a simple map display and two demos using geo data from <a href="https://openpaths.cc/">OpenPaths</a> in CSV format: <a href='http://workshop.evolutionzone.com/wp-content/uploads/2012/01/20120127_unfolding_map_examples.zip'>20120127_unfolding_map_examples.zip</a></p>
<p><strong>Update: </strong>The <a href="http://www.scribd.com/fullscreen/37330679?access_key=key-hc9464jf4vi43bizgkn">lecture notes about infoviz and self-ethnography</a> are online on Scribd, it&#8217;s basically the same lecture as two years ago.</p>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2012/01/27/mapping-examples-using-the-unfolding-library/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code: ModelBuilder library &#8211; first public release</title>
		<link>http://workshop.evolutionzone.com/2011/04/06/code-modelbuilder-library-public-release/</link>
		<comments>http://workshop.evolutionzone.com/2011/04/06/code-modelbuilder-library-public-release/#comments</comments>
		<pubDate>Wed, 06 Apr 2011 19:59:12 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Libraries]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[3D printing]]></category>
		<category><![CDATA[digital-fabrication]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[makerbot]]></category>
		<category><![CDATA[modelbuilder]]></category>
		<category><![CDATA[processing.org]]></category>
		<category><![CDATA[stl]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/?p=546</guid>
		<description><![CDATA[MakerBot models built with code included with the ModelBuilder library, also downloadable from my Thingiverse account Update, July 1 2011: I&#8217;ve uploaded ModelBuilder v0004, which fixes a few really silly bugs in 0003. Download it from http://code.google.com/p/codeandform/. I&#8217;m happy to announce the first public release of my new ModelBuilder library, created as part of my [...]]]></description>
			<content:encoded><![CDATA[<div class="flickrImg">
<p><a href="http://www.flickr.com/photos/watz/5420298061/" title="MakerBot models 5486 by watz, on Flickr"><img src="http://farm6.static.flickr.com/5093/5420298061_65e035cf68.jpg" width="500" height="333" alt="MakerBot models 5486"></a></p>
<p style="line-height:14px;">MakerBot models built with code included with the ModelBuilder library, also downloadable from my <a href="http://www.thingiverse.com/watz">Thingiverse account</a></p>
</div>
<p><strong>Update, July 1 2011: I&#8217;ve uploaded ModelBuilder v0004, which fixes a few really silly bugs in 0003. Download it from <a href="http://code.google.com/p/codeandform/">http://code.google.com/p/codeandform/</a>.</strong></p>
<p>I&#8217;m happy to announce the first public release of my new ModelBuilder library, created as part of my artist-in-residence project at <a href="http://blog.makerbot.com/2011/02/07/first-makerbot-artist-in-residence-marius-watz/">MakerBot Industries</a> and beta tested in the <a href="http://workshop.evolutionzone.com/2011/02/18/interactive-parametrics-workshop-w-studio-mode-and-makerbot-2/">Interactive Parametrics workshop</a>. The occasion for today&#8217;s release is the <a href="http://blog.makerbot.com/2011/04/04/makerbot-user-group-new-york-wednesday-april-6th/">MakerBot User Group New York</a>, where I&#8217;ll talk about the library and show off my MakerBot models. </p>
<p>ModelBuilder focuses on functions useful for digital fabrication purposes, such as creating meshes, centering models around origin, scaling to given dimensions, output to STL format etc. It emulates Processing&#8217;s beginShape / vertex / endShape logic to build mesh geometry which can then be manipulated and transformed. </p>
<p>The <a href="http://workshop.evolutionzone.com/code/modelbuilder/javadoc/unlekker/modelbuilder/UVertexList.html">UVertexList class</a> allows the user to build paths of vertices. Vertex lists are then fed into various <a href="http://workshop.evolutionzone.com/code/modelbuilder/javadoc/unlekker/modelbuilder/UGeometry.html#quadStrip(unlekker.modelbuilder.UVertexList[],%20int)">UGeometry.quadStrip()</a> functions to construct quad strip meshes, most likely eliminating the need for dozens of <em>for</em> loops in the process. See the online copy of the <a href="http://workshop.evolutionzone.com/code/modelbuilder/javadoc/index.html">ModelBuilder JavaDoc</a> for a more complete overview.</p>
<p><span id="more-546"></span><strong>Coders using the library to output models for 3D printing</strong> need to be aware of face orientation (see <a href="http://en.wikipedia.org/wiki/Cartesian_coordinate_system#Orientation_and_handedness">Wikipedia: Handedness</a>) so that face normals are generated correctly.<br />
Always check models to see if face normals are correct before attempting to 3D print them. As always, I recommed the Open Source tool <a href="http://www.meshlab.org/">MeshLab</a> for previewing and testing models. MeshLab will render backwards-facing faces as all black, giving an easy preview of incorrect geometry.</p>
<p>Happy mesh building, look forward to seeing models on <a href="http://www.thingiverse.com/">Thingiverse</a>!</p>
<div class="mediumtitle">Download</div>
<p>Download <a title="modelbuilder-0003.zip" href="http://code.google.com/p/codeandform/downloads/detail?name=ModelBuilder%20v0004.zip&#038;can=2&#038;q=#makechanges">modelbuilder-0004.zip</a> and unpack it. Copy the &#8220;modelbuilder&#8221; folder to your &#8220;libraries&#8221; folder and restart Processing. If you have the now obsolete unlekkerLib installed you should remove it before adding ModelBuilder, which effectively replaces unlekkerLib.</p>
<p>The ModelBuilder library folder includes (rudimentary) JavaDoc documentation, the library source code and a series of examples located in &#8220;modelbuilder/examples&#8221;. The most advanced example is mb_04_gui_parametric, which contains the code used to create MakerBot prints shown above. The &#8220;gui&#8221; examples use Andreas Schlegel&#8217;s <a href="http://www.sojamo.de/libraries/controlP5/">ControlP5 library</a>, which must be downloaded and installed before running them.</p>
<p>This should be considered an experimental in-progress release and some features are likely to change. As usual, niceties like good documentation have been left for last, so the best way to get a feel for the library is to run through the examples provided. Bug and / or success reports are welcome, just leave comments on this post.</p>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2011/04/06/code-modelbuilder-library-public-release/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Interactive Parametrics &#8211; Workshop w/ Studio Mode and MakerBot</title>
		<link>http://workshop.evolutionzone.com/2011/02/18/interactive-parametrics-workshop-w-studio-mode-and-makerbot-2/</link>
		<comments>http://workshop.evolutionzone.com/2011/02/18/interactive-parametrics-workshop-w-studio-mode-and-makerbot-2/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 02:15:12 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[Libraries]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>
		<category><![CDATA[Workshops]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[controlp5]]></category>
		<category><![CDATA[hemesh]]></category>
		<category><![CDATA[makerbot]]></category>
		<category><![CDATA[mesh]]></category>
		<category><![CDATA[meshlab]]></category>
		<category><![CDATA[modelbuilder]]></category>
		<category><![CDATA[parametric-design]]></category>
		<category><![CDATA[Rhino]]></category>
		<category><![CDATA[stl]]></category>
		<category><![CDATA[studio mode]]></category>
		<category><![CDATA[thingiverse]]></category>
		<category><![CDATA[toxiclibs]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/?p=481</guid>
		<description><![CDATA[Workshop with Studio Mode &#038; MakerBot: Interactive Parametrics This weekend I&#8217;ll be teaching the Interactive Parametrics Workshop with Studio Mode (Gil Akos and Ronnie Parsons) and MakerBot (represented by Bre Pettis). We&#8217;ve been planning this for a while, but since it&#8217;s happening during my residency at MakerBot we thought it&#8217;d be fun to focus on [...]]]></description>
			<content:encoded><![CDATA[<div class="flickrImg"><a href="http://modelab.nu/?p=4152"><img src="http://modelab.nu/wp-content/uploads/2011/01/20110219_coLab_intParam01_950x250-590x155.jpg" alt="Interactive Parametrics Workshop" width=540/></a></p>
<p><a href="http://modelab.nu/?p=4152">Workshop with Studio Mode &#038; MakerBot: Interactive Parametrics</a></div>
<p>This weekend I&#8217;ll be teaching the <a href="http://modelab.nu/?p=4152">Interactive Parametrics Workshop</a> with <a href="http://studiomode.com/">Studio Mode</a> (Gil Akos and Ronnie Parsons) and <a href="http://makerbot.com">MakerBot</a> (represented by Bre Pettis). We&#8217;ve been planning this for a while, but since it&#8217;s happening during my <a href="http://workshop.evolutionzone.com/2011/02/07/makerbots-first-artist-in-residence-me/">residency</a> at MakerBot we thought it&#8217;d be fun to focus on the MakerBot as a possible output method. Our thanks to Bre and the MakerBot crew for supporting the workshop!</p>
<p>With a good mix of architects and code-hacking designers as our participants it should be an interesting weekend. We will be posting the resulting code examples and STL models after the workshop.</p>
<div class="mediumtitle">Tools &#038; libraries</div>
<p><span id="more-481"></span>We&#8217;ll be looking at strategies for parametric modeling using Processing, outputting MakerBot-ready models as STL files and printing them on site. </p>
<p>Processing lacks the hardcore math engine of typical CAD packages, but is far more flexible when it comes to working interactively with dynamic realtime systems. By extending Processing&#8217;s core functionality with libraries for simulation and 3D mesh construction we can combine realtime processes with advanced geometry tools.</p>
<p>We&#8217;ll be relying on a selection of Processing libraries:</p>
<ul>
<li>unlekker.ModelBuilder, a new library I&#8217;ll be releasing for the workshop that supports mesh-oriented parametric modeling for 3D printing. It&#8217;s nothing fancy, but it&#8217;ll get the job done in predictable ways.</li>
<li>Karsten Schmidt&#8217;s always excellent <a href="http://toxiclibs.org/">Toxiclibs </a> library offers volumetric modelling and advanced simulation functions.</li>
<li>Frederik Vanhoutte&#8217;s <a href="http://www.wblut.com/2010/05/04/hemesh-a-3d-mesh-library-for-processing/">Hemesh </a> library is a comprehensive set of tools for constructing and modifying meshes through procedural tools like extruding, subdividing, slicing, chamfering  etc. Hemesh allows the effortless creation of hypercomplex models.</li>
<li>Andreas Schlegel&#8217;s <a href="http://www.sojamo.de/libraries/controlP5/">ControlP5</a> library will be our steady workhorse for GUI interface elements.</li>
</ul>
<p>We&#8217;ll also be using <a href="http://www.rhino3d.com/">Rhino3D</a> and <a href="http://meshlab.org">MeshLab</a> to clean up models for fabrication.</p>
<div class="mediumtitle">Resources</div>
<p>Below is a list of links to tutorials and resources related to the tools we&#8217;ll be using:</p>
<ul>
<li><strong>Processing</strong><br />
<a href="http://modelab.nu/?tag=processing+primer">Processing Primers 1-3 on modeLab.nu</a><br />
<a href="http://processing.org/learning/">Processing.org/learning</a>, great collection of tutorials<br />
<a href="http://openprocessing.org/">OpenProcessing.org</a>, social network for sharing Processing sketches
</li>
<li><strong>Toxiclibs</strong><br />
<a href="http://toxiclibs.org/">Toxiclibs home page</a><br />
	<a href="http://openprocessing.org/portal/?userID=4530">Toxiclibs demos on OpenProcessing.org</a></li>
<li><strong>Hemesh</strong><br />
<a href="http://wblut.com/2010/05/04/hemesh-a-3d-mesh-library-for-processing/">Hemesh home page</a><br />
<a href="http://vormplus.be/blog/article/creating-3d-shapes-with-hemesh">Hemesh introduction tutorial</a><br />
<a href="http://wblut.com/2010/11/20/share-tell/">Hemesh Share &#038;&#038; Tell presentation by Frederik Vanhoutte</a><br />
<a href="http://creativeapplications.net/processing/hemesh-and-hemeshgui-processing/">Hemesh post on Creative Applications</a>
</li>
<li><strong>Makerbot / Thing-O-Matic</strong><br />
<a href="http://wiki.makerbot.com/thingomatic">MakerBot Thing-O-Matic details</a><br />
<a href="http://www.thingiverse.com/">Thingiverse &#8211; Open Source hub for digital design</a>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2011/02/18/interactive-parametrics-workshop-w-studio-mode-and-makerbot-2/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>DMX-512 and Prime, revisited</title>
		<link>http://workshop.evolutionzone.com/2011/02/17/dmx-512-and-prime-revisited/</link>
		<comments>http://workshop.evolutionzone.com/2011/02/17/dmx-512-and-prime-revisited/#comments</comments>
		<pubDate>Thu, 17 Feb 2011 00:46:38 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>
		<category><![CDATA[Watz work]]></category>
		<category><![CDATA[Dan Shiffman]]></category>
		<category><![CDATA[dmx]]></category>
		<category><![CDATA[dmxP512]]></category>
		<category><![CDATA[enttec]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[Henri David]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[interface]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[lighting]]></category>
		<category><![CDATA[marius-watz]]></category>
		<category><![CDATA[prime]]></category>
		<category><![CDATA[processing.org]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/?p=474</guid>
		<description><![CDATA[To be revisited: Prime light installation I am currently working on a solo show for ROM Art + Architecture in Oslo under the title &#8220;Extrusion&#8221;, opening on March 11th. The show will focus on physical installations, a bit of a departure from my software works that I&#8217;m very excited about. One of the pieces will [...]]]></description>
			<content:encoded><![CDATA[<div class="flickrImg"><a href="http://www.flickr.com/photos/watz/4740806916/" title="Bybanen1006 1202 Prime by watz, on Flickr"><img src="http://farm5.static.flickr.com/4102/4740806916_9193d5bf9a.jpg" width="500" height="333" alt="Bybanen1006 1202 Prime" /></a></p>
<p>To be revisited: <a href="http://www.flickr.com/photos/watz/sets/72157623930375100/">Prime light installation</a></div>
<p>I am currently working on a solo show for ROM Art + Architecture in Oslo under the title &#8220;Extrusion&#8221;, opening on March 11th. The show will focus on physical installations, a bit of a departure from my software works that I&#8217;m very excited about.</p>
<p>One of the pieces will be a new version of my light installation <a href="http://www.flickr.com/photos/watz/sets/72157623930375100/">Prime</a>, a public art commission for the Bybanen light rail system in Bergen last year. The Bybanen version uses LED lighting elements and electric relays, intended to be stable for a minimum of 5 years in the rough environment of a subterranean tunnel. The new version will use fluorescent tubes and computer-controlled switching via a <a href="http://en.wikipedia.org/wiki/DMX512">DMX-512 lighting control interface</a>.</p>
<p><strong>Fortunately there are several USB interfaces for DMX control,</strong> as well as a recently released Processing library by Henri David titled <a href="http://motscousus.com/stuff/2011-01_dmxP512/">dmxP512</a>. Thanks to the generous assistance of <a href="http://www.shiffman.net/">Dan Shiffman</a> I was able to test my interface with dmxP512 today. I&#8217;m very pleased to say that both the USB box and David&#8217;s library worked without a hitch, literally working perfectly on the very first attempt.</p>
<p>Even given the simplicity of the DMX standard it&#8217;s rare that anything works that easily, let&#8217;s hope I don&#8217;t jinx myself by writing it publicly. In any case, the exceedingly simple code I used is listed below, based on the sample code provided with the dmxP512 lib. Happy hacking, my thanks to Henri David for the library!</p>
<div class="mediumtitle">Code: DMXTest01.pde</div>
<p><span id="more-474"></span></p>
<p>To run this example you&#8217;ll need <a href="http://motscousus.com/stuff/2011-01_dmxP512/">Henri David&#8217;s dmxP512 library</a> and a USB DMX interface like the <a href="http://www.enttec.com/index.php?main_menu=Products&#038;pn=70304&#038;show=description&#038;name=dmxusbpro">ENTTEC DMX USB Pro</a> ($151).</p>
<p>To set a new value for any given DMX channel, simply call DmxP512.set(dmxChannel,newValue).</p>
<pre name="code" class="java">
import dmxP512.*;
import processing.serial.*;

DmxP512 dmxOutput;
String DMXPRO_PORT="COM4";
int DMXPRO_BAUDRATE=115000;

void setup() {
  size(200,200);

  println(Serial.list());
  DMXPRO_PORT=Serial.list()[0];
  println("DMXPRO_PORT "+DMXPRO_PORT);

  dmxOutput=new DmxP512(this,128,false);
  dmxOutput.setupDmxPro(DMXPRO_PORT,DMXPRO_BAUDRATE);
}

void draw() {
  background(0);

  int cnt=(int)((float)millis()/100f)%255;
  println("cnt "+cnt);

  // output on DMX channel 2
  dmxOutput.set(2,cnt);
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2011/02/17/dmx-512-and-prime-revisited/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MakerBot&#8217;s first artist-in-residence: Me</title>
		<link>http://workshop.evolutionzone.com/2011/02/07/makerbots-first-artist-in-residence-me/</link>
		<comments>http://workshop.evolutionzone.com/2011/02/07/makerbots-first-artist-in-residence-me/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 13:36:20 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>
		<category><![CDATA[Watz work]]></category>
		<category><![CDATA[3D printing]]></category>
		<category><![CDATA[Bre Pettis]]></category>
		<category><![CDATA[digital-fabrication]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[makerbot]]></category>
		<category><![CDATA[marius-watz]]></category>
		<category><![CDATA[modelbuilder]]></category>
		<category><![CDATA[nervous system]]></category>
		<category><![CDATA[parametric-design]]></category>
		<category><![CDATA[thingiverse]]></category>
		<category><![CDATA[thingomatic]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/?p=466</guid>
		<description><![CDATA[MakerBot model tests I&#8217;m excited to announce that I&#8217;ve been asked by Bre Pettis and the MakerBot crew to be first ever MakerBot artist-in-residence. This means that I am free to use and abuse their new Thingomatic model and waste spools of ABS plastic, trying out forms suited to the MakerBot&#8217;s quirky plastruder 3D printing [...]]]></description>
			<content:encoded><![CDATA[<div class="flickrImg"><a href="http://www.flickr.com/photos/watz/5420890070/" title="MakerBot models 5480 by watz, on Flickr"><img src="http://farm6.static.flickr.com/5011/5420890070_ac0488939c.jpg" width="500" height="333" alt="MakerBot models 5480" /></a></p>
<p><a href="http://www.flickr.com/photos/watz/5420890070/">MakerBot model tests</a></div>
<p>I&#8217;m excited to announce that I&#8217;ve been asked by Bre Pettis and the MakerBot crew to be first ever <a href="http://makerbot.com/">MakerBot</a> artist-in-residence. This means that I am free to use and abuse their new <a href="http://wiki.makerbot.com/thingomatic">Thingomatic model</a> and waste spools of ABS plastic, trying out forms suited to the MakerBot&#8217;s quirky plastruder 3D printing method.</p>
<p>If you&#8217;ve somehow managed to miss the buzz about MakerBot, what you need to know is that it&#8217;s an Open Source 3D printing platform using a plastic extruder head with a moving platform controlled by stepper motors. By laying threads of plastic in layers calculated by slicing 3D models into cross-sections, the MakerBot is capable of producing durable 3D prints for a fraction of the cost of high-end SLA or SLS systems. </p>
<p>Having shipped close to a thousand of their MakerBot kits, MakerBot Industries is the most popular Open Source 3D printer out there. Their new Thingomatic machine is a big improvement on their Cupcake model, adding an automatic build platform and improved layer alignment, as well as replacing some of the Cupcake&#8217;s more vulnerable parts with superior equivalents.</p>
<p><strong>The MakerBot is a DIY hacker project</strong> and wears its colors on its sleeve. It might lack the slickness and of a SLS machine, but at a fraction of the price it makes 3D printing affordable for experimentation on a shoestring budget. With some tinkering skills and loving care a MakerBot will deliver endless amounts of 3D printed fun. If you need convincing just look at all the models on <a href="http://www.thingiverse.com/tag:makerbot">Thingiverse</a>, the Open Source sharing site for digital designs.</p>
<p>MakerBot&#8217;s core community is based on hackers and DIY enthusiasts, for whom assembling a kit and even hacking the hardware is no big challenge. A logical next step is to reach designers, artists and architects, who want 3D printing but might be less technically inclined. But as Bre Pettis likes to say, if you can assemble an IKEA bookshelf you should be able to assemble a MakerBot. Your mileage might vary&#8230;</p>
<div class="flickrImgBody"><a href="http://www.flickr.com/photos/watz/5420298061/" title="MakerBot models 5486 by watz, on Flickr"><img src="http://farm6.static.flickr.com/5093/5420298061_65e035cf68.jpg" width="500" height="333" alt="MakerBot models 5486" /></a></div>
<p><strong>My interest in the MakerBot</strong> is as a low-cost platform to test parametrically generated geometry. Having experimented with SLS printing as a way to produce miniature sculptural forms (the <a href="http://www.flickr.com/photos/watz/sets/72157594387603246/">Object 1-3 series</a>), I want to make much larger objects and installations. The MakerBot is perfect for hands-on testing of shapes I can later replicate at a larger scale. </p>
<p>The MakerBot is also ideal for parametric models for mass customization. A typical workflow might involve an applet on a web site allowing the user to customize their model, with parameters sent to a server-side application that generates a STL file ready for printing. <a href="http://n-e-r-v-o-u-s.com/tools/">Nervous System</a> already have several such interactive applets showing how their jewelry is designed.</p>
<p>My goal for my MakerBot residency is to produce a set of models for my upcoming exhibition at ROM for Kunst og Arkitektur in Oslo next month. As part of that process I will be developing a new Processing library for 3D model building, to be released as Open Source along with a series of models I&#8217;ll publish on Thingiverse (see <a href="http://www.thingiverse.com/watz">thingiverse.com/watz</a>) in the MakerBot spirit of openness. You can already get a <a href="http://www.flickr.com/photos/watz/sets/72157625986519286/">preview on Flickr</a>, I can&#8217;t wait to add more!</p>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2011/02/07/makerbots-first-artist-in-residence-me/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Data, data, data</title>
		<link>http://workshop.evolutionzone.com/2010/04/11/data-data-data/</link>
		<comments>http://workshop.evolutionzone.com/2010/04/11/data-data-data/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 19:41:56 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Theory]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[data sculpture]]></category>
		<category><![CDATA[david mccandless]]></category>
		<category><![CDATA[geo]]></category>
		<category><![CDATA[geonames]]></category>
		<category><![CDATA[infoviz]]></category>
		<category><![CDATA[jonathan harris]]></category>
		<category><![CDATA[manuel lima]]></category>
		<category><![CDATA[martin wattenberg]]></category>
		<category><![CDATA[opendata]]></category>
		<category><![CDATA[visualcomplexity]]></category>
		<category><![CDATA[visualization]]></category>
		<category><![CDATA[weather]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/?p=347</guid>
		<description><![CDATA[KBGAnimD01EB 0008, still from new sound visualization Ever since doing Stockspace project it seems I am getting asked to do data-related work. This despite the fact that my personal interests diverge from such masters of insightful infographics as Martin Wattenberg, David McCandless or Jonathan Harris. Suffice to say that I am more concerned with exploring [...]]]></description>
			<content:encoded><![CDATA[<div class="flickrImg"><a href="http://www.flickr.com/photos/watz/4480227292/" title="KBGAnimD01EB 0008 still by watz, on Flickr"><img src="http://farm3.static.flickr.com/2758/4480227292_cb94c63a68.jpg" width="500" height="281" alt="KBGAnimD01EB 0008 still" /></a></p>
<p><a href="http://www.flickr.com/photos/watz/4480227292/" title="KBGAnimD01EB 0008 still by watz, on Flickr">KBGAnimD01EB 0008, still from new sound visualization</a></p>
</div>
<p>Ever since doing <a href="http://www.flickr.com/photos/watz/sets/72157616153554806/">Stockspace</a> project it seems I am getting asked to do data-related work. This despite the fact that my personal interests diverge from such masters of insightful infographics as <a href="http://www.bewitched.com/">Martin Wattenberg</a>, <a href="http://www.davidmccandless.com/">David McCandless</a> or <a href="http://www.number27.org/">Jonathan Harris</a>. </p>
<p>Suffice to say that I am more concerned with exploring data structures as spaces than I am with providing new understandings of the information contained within them. Manuel Lima&#8217;s <a href="http://www.visualcomplexity.com/vc/blog/?p=644">Information Visualization Manifesto</a> calls for a seriousness on the topic of data treatments, while my projects remain comfortably frivolous.</p>
<p>Recently I&#8217;ve been working on a project that has required researching data sources and adapting them to illustrate a bigger idea, which has led to much Googling in the absence of good data from the client. Sometimes you find the right thing immediately, but sometimes data is hard to find in a format that is freely available and easily parsable. Since I have found some good sources I thought I&#8217;d share them here&#8230;</p>
<div class="mediumtitle">Miscellaneous free data</div>
<ul>
<li><a href="http://rredc.nrel.gov/solar/calculators/PVWATTS/version1/">PVWATSS calculator</a> from <a href="http://www.nrel.gov/rredc">Renewable Resource Data Center (RReDC)</a> provides theoretical calculations of yields (hour-by-hour, 365 days/yr) from photovoltaic solar panels for most international locations.</li>
<li><a href="http://www.halfgaar.net/localized-world-airport-codes">World airport codes with geo name data</a>, helpfully spidered by Wiebe Cazemier so you don&#8217;t have to.</li>
<li>Unattributed <a href="http://geolite.maxmind.com/download/">FTP depository of geo-related CSV files</a>, including postal and ZIP codes, world city info etc.</li>
<li><a href="http://www.programmableweb.com/api/weather-underground">Historical weather data from Weather Underground</a>, providing year-by-year hourly information for most cities in the world. (See also this list of <a href="http://blog.programmableweb.com/2009/04/15/5-weather-apis-from-weatherbug-to-weather-channel/">weather APIs</a>.)</li>
<li><a href="http://finance.yahoo.com/">Yahoo Finance</a> offers downloads of historical stock price data (CSV) for just about any stock symbol out there. Sadly I have yet to find an open intraday stock data source, due to the proprietary nature of that kind of information.</li>
<li><a href="http://www.guardian.co.uk/news/datablog">The Guardian&#8217;s Datablog</a> is a recent venture, and I have yet to use any of the data sets they provide. But I like their approach, which is clearly aimed at democratizing data with a view to public agenda.</li>
</ul>
<p>I would be interested in hearing tips about any great data sets out there, particularly interesting time series data. </p>
<p><a href="http://knapek.org/">Miska Knapek</a> recently sent me a link to a source of weather sensor data from Helsinki, including measurements of wind direction at the top of Helsinki&#8217;s Olympic Tower in 5-minute intervals. He has already made <a href="http://vimeo.com/9544834">some wind visualization videos</a> and some <a href="http://www.flickr.com/photos/miska_too/collections/72157619226259190/">fabricated wind data sculptures</a> based on this data.</p>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2010/04/11/data-data-data/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Multiple JDIC browsers in Processing sketch</title>
		<link>http://workshop.evolutionzone.com/2008/09/06/multiple-jdic-browsers-in-processing-sketch/</link>
		<comments>http://workshop.evolutionzone.com/2008/09/06/multiple-jdic-browsers-in-processing-sketch/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 19:52:25 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>
		<category><![CDATA[awt]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[embedding]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[jdic]]></category>
		<category><![CDATA[pde]]></category>
		<category><![CDATA[processing.org]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/?p=210</guid>
		<description><![CDATA[Multiple JDIC browsers integrated into Processing sketch A while back I posted a simple hack to open a web browser from Processing by using JDesktop Integration Components (JDIC). A recent discussion on the Processing forums asked about how to use it to open multiple browsers inside the actual Processing sketch window. My original hack used [...]]]></description>
			<content:encoded><![CDATA[<div class="flickrImg"><img src="http://workshop.evolutionzone.com/wp-content/uploads/2008/09/20080906_jdic_multiple.gif" alt="Multiple JDIC browsers in Processing sketch" title="Multiple JDIC browsers" width="500" height="388" class="alignnone size-full wp-image-209" /></p>
<p>Multiple JDIC browsers integrated into Processing sketch</a></div>
<p>A while back I posted a <a href="http://workshop.evolutionzone.com/2007/08/30/jdic-embedding-a-web-browser-in-java/">simple hack to open a web browser</a> from Processing by using JDesktop Integration Components (JDIC). A recent <a href="http://processing.org/discourse/yabb_beta/YaBB.cgi?board=Integrate;action=display;num=1220555122">discussion on the Processing forums</a> asked about how to use it to open multiple browsers inside the actual Processing sketch window.</p>
<p>My original hack used an instance of org.jdesktop.jdic.browser.WebBrowser integrated into a java.awt.Panel instance and laid out in a java.awt.Frame. That meant that the browser would open in an external window. The discussion on the Processing forum asked specifically about opening multiple browsers in the main sketch window, so I made the following quick hack. </p>
<div class="mediumtitle">Code &#8211; JDIC_multiple.pde</div>
<p><span id="more-210"></span>I&#8217;m posting the actual code below, but to run the example you should download the following ZIP file: <a href="http://workshop.evolutionzone.com/files/JDIC_multiple.zip">JDIC_multiple.zip</a>. It includes the JDIC binaries required to run it on Windows.</p>
<pre name="code" class="java">// JDIC_multiple.pde
// Marius Watz - http://workshop.evolutionzone.com

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

import java.net.URL;
import java.net.MalformedURLException;
import org.jdesktop.jdic.browser.*;

aBrowser browser[];
long last;

void setup() {
  size(800,600);
  frame.setLayout(new GridLayout(2,2));

  browser=new aBrowser[4];
  for(int i=0; i<4; i++) {
    browser[i]=new aBrowser();
    browser[i].initPanel(400,300);

    if(i==0) browser[i].setURL("http://www.google.com/");
    if(i==1) browser[i].setURL("http://processing.org/");
    if(i==2) browser[i].setURL("http://ffffound.com/");
    if(i==3) browser[i].setURL("http://sojamo.tumblr.com/"); 

    frame.add(browser[i].panel);
  }
}

void draw() {

}

public class aBrowser {
  Panel panel;
  WebBrowser webBrowser;

  public aBrowser() {
    // Set engine to IE
    BrowserEngineManager mng=BrowserEngineManager.instance();
    mng.setActiveEngine(BrowserEngineManager.IE);
    webBrowser = new WebBrowser();
  }

  public void initPanel(int w,int h) {
    panel = new Panel();
    panel.setLayout(new BorderLayout());
    panel.setSize(w,h);
    webBrowser.setSize(w, h);
    panel.add(webBrowser, BorderLayout.CENTER);
  }

  public void setContent(String htmlContent) {
    webBrowser.setContent(htmlContent);
  }

  public void setURL(String url) {
    try {
      webBrowser.setURL(new URL(url));
      webBrowser.setDebug(false);
    }
    catch (MalformedURLException e) {
      System.out.println(e.getMessage());
      return;
    }
  }
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2008/09/06/multiple-jdic-browsers-in-processing-sketch/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ArtSoftware.org: Wiki for OS art software</title>
		<link>http://workshop.evolutionzone.com/2007/11/20/artsoftwareorg-wiki-for-os-art-software/</link>
		<comments>http://workshop.evolutionzone.com/2007/11/20/artsoftwareorg-wiki-for-os-art-software/#comments</comments>
		<pubDate>Tue, 20 Nov 2007 07:44:56 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/2007/11/20/artsoftwareorg-wiki-for-os-art-software/</guid>
		<description><![CDATA[I got an email from two Caseys last night (i.e. [Casey Alt-http://caseyalt.com/] and <a href="http://reas.com/" title="Casey Reas">Casey Reas</a>), announcing the relaunch of the <a href="http://artsoftware.org/" title="artsoftware.org Wiki">artsoftware.org Wiki</a>. The intention of the site is to be a gathering point for information about free and Open Source software created by and for artists. Take a look at the <a href="http://artsoftware.org/wiki/index.php/Special:Allpages" title="list of existing pages">list of existing pages</a> [...]]]></description>
			<content:encoded><![CDATA[<p>I got an email from two Caseys last night (i.e. [Casey Alt-http://caseyalt.com/] and <a href="http://reas.com/" title="Casey Reas">Casey Reas</a>), announcing the relaunch of the <a href="http://artsoftware.org/" title="artsoftware.org Wiki">artsoftware.org Wiki</a>. The intention of the site is to be a gathering point for information about free and Open Source software created by and for artists. </p>
<p>Take a look at the <a href="http://artsoftware.org/wiki/index.php/Special:Allpages" title="list of existing pages">list of existing pages</a> and see if you can&#8217;t contribute something&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2007/11/20/artsoftwareorg-wiki-for-os-art-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New library: unlekkerLib</title>
		<link>http://workshop.evolutionzone.com/2007/09/24/unlekkerlib/</link>
		<comments>http://workshop.evolutionzone.com/2007/09/24/unlekkerlib/#comments</comments>
		<pubDate>Mon, 24 Sep 2007 17:12:45 +0000</pubDate>
		<dc:creator>marius watz</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Libraries]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[Processing / Java]]></category>
		<category><![CDATA[library]]></category>
		<category><![CDATA[processing.org]]></category>
		<category><![CDATA[rapid-prototyping]]></category>
		<category><![CDATA[stereolithography]]></category>
		<category><![CDATA[stl]]></category>
		<category><![CDATA[unlekkerlib]]></category>

		<guid isPermaLink="false">http://workshop.evolutionzone.com/2007/09/24/unlekkerlib/</guid>
		<description><![CDATA[<a href="http://flickr.com/photos/watz/sets/72157594387603246/" title="Rapid prototyping objects">Rapid prototyping objects</a> generated with Processing and output to STL using unlekkerLib. I&#8217;ve just uploaded a new Processing library called unlekkerLib. It is a collection of tools and code snippets I use frequently, and which I&#8217;ve now just barely cleaned up enough for other people to use. Instead of releasing them piece by piece, I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<div class="flickrImg"><a href="http://www.flickr.com/photos/watz/1416633393/" title="Photo Sharing"><img src="http://farm2.static.flickr.com/1346/1416633393_84b9b43838.jpg" width="500" height="375" alt="AHO RP 004 Object #1 - #3 [lo]" /></a></p>
<p><a href="http://flickr.com/photos/watz/sets/72157594387603246/" title="Rapid prototyping objects">Rapid prototyping objects</a> generated with Processing and output to STL using unlekkerLib.</p></div>
<p>I&#8217;ve just uploaded a new Processing library called unlekkerLib. It is a collection of tools and code snippets I use frequently, and which I&#8217;ve now just barely cleaned up enough for other people to use. Instead of releasing them piece by piece, I&#8217;ve decided to bundle them together in a package hierarchy. </p>
<p>The main reason I decided to release it now is the STL export code I&#8217;ve written for my <a href="http://flickr.com/photos/watz/sets/72157594387603246/" title="rapid prototyping">rapid prototyping</a> projects. Several people have asked for the code, so I wanted to get it out there for you to play with. Obviously, it works as well with Processing as it does with regular Java.</p>
<p>Caveat emptor:There&#8217;s not much documentation but I do provide the source code. This is v.0001 &#8211; the very first release, so it&#8217;s pretty basic. See below for an idea of what the library contains. Right now the most exciting new component is the unlekker.data.STL class, which supports export and import of STL stereolithography files for rapid prototyping. Have a look at the <a href="http://workshop.evolutionzone.com/files/unlekkerLibDoc" title="Javadoc">Javadoc</a> for more details. </p>
<p>Updates will appear here: <a href="http://workshop.evolutionzone.com/unlekkerlib/">http://workshop.evolutionzone.com/unlekkerlib/</a>.</p>
<p><span id="more-142"></span>
<div class="mediumtitle">[070924] unlekkerLib-0001 features:</div>
<ul>
<li><strong>unlekker.data.STL:</strong> STL import and export.</li>
<li><strong>unlekker.util.Rnd:</strong> Mersenne Twister pseudo-random number generator.</li>
<li><strong>unlekker.util.TileSaver:</strong> The TileSaver class for creating high-res images from OpenGL graphics by tiling the viewport.</li>
<li><strong>unlekker.geom.Intersect:</strong> Line intersection and checking for collision with complex 2D polygons.</li>
</ul>
<div class="mediumtitle">Installation</div>
<p>Download <a href="http://workshop.evolutionzone.com/files/unlekkerLib-0001.zip" title="unlekkerLib-0001.zip">unlekkerLib-0001.zip</a> and unpack it.</p>
<p>Copy the &quot;unlekker&quot; folder from the &#8220;00 For processing library folder&#8221; folder into the &quot;libraries&quot; subfolder of your Processing application. The library should now appear as a choice in &quot;Import library&quot; next time you start Processing. </p>
<p>The Java source can be found in &#8220;00 For processing library folder > unlekker> src&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://workshop.evolutionzone.com/2007/09/24/unlekkerlib/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

