<?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>labs.hapticdata.com &#187; Uncategorized</title>
	<atom:link href="http://labs.hapticdata.com/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.hapticdata.com</link>
	<description></description>
	<lastBuildDate>Wed, 11 Jan 2012 22:35:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Fullscreen Solutions for Processing</title>
		<link>http://labs.hapticdata.com/2011/09/fullscreen-solutions-for-processing/</link>
		<comments>http://labs.hapticdata.com/2011/09/fullscreen-solutions-for-processing/#comments</comments>
		<pubDate>Tue, 27 Sep 2011 16:12:32 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=518</guid>
		<description><![CDATA[In many scenarios, I want my final Processing application to launch in fullscreen when I have completed it. I usually don&#8217;t want any visibility of an operating system or any other process during an installation, performance or otherwise. From my experience with Processing, I have noticed the solution is often different than the last, its [...]]]></description>
			<content:encoded><![CDATA[<p>In many scenarios, I want my final <a href="http://processing.org">Processing</a> application to launch in fullscreen when I have completed it. I usually don&#8217;t want any visibility of an operating system or any other process during an installation, performance or otherwise. From my experience with Processing, I have noticed the solution is often different than the last, its like a giant switch statement of how you can accomplish your goal (was it built in Eclipse or the P5 IDE, can it initialize to fullscreen or should it be commanded into that mode later, etc.). I thought it would be helpful to others if I compiled all of the different solutions and the circumstances in which each one will and will not work…</p>
<p><span id="more-518"></span> </p>
<p>
<strong>If you want fullscreen on a single window,</strong> I recommend using Processing&#8217;s built-in &#8220;present&#8221; mode. Present mode is very stable, and is the most recommended and documented method. If you use present mode, be aware that if your application crashes, you may have difficulty being able to get out of the window. You will also want the application&#8217;s <code>size()</code> to be set to your desired screen&#8217;s dimensions using <code>screenWidth</code> and <code>screenHeight</code>. Using the Processing IDE for sketching you can easily enter present mode by selecting &#8220;Sketch->Present&#8221; from the menu. This does not require any code. If you are using <a href="http://www.eclipse.org">Eclipse</a> or you would like to export your application to run in present mode you will need to override the first function called in every java application:</p>
<pre class="code">
<code>
public static void main(String args[])
{
        //launch in "present" mode, your class is "Sketch021210" (prefix with package if used)
	PApplet.main(new String[] {"--present", "Sketch021210"});
}
</code>
</pre>
<p>
 <strong>If you need extra functionality,</strong> such as being able to toggle between fullscreen and windowed mode, you can use the <a href="http://www.superduper.org/processing/fullscreen_api/">Fullscreen API</a>, which offers more features but can be buggy.</p>
<p><!--more--></p>
<p> The Fullscreen API has caused problems for me several times, and is known to not play well with OpenGL. It has also been the best solution I have found for several projects and am very thankful for the developer that has put a lot of effort into it. The Fullscreen API previously would not render graphics on a secondary display, but a new class <a href="http://www.superduper.org/processing/fullscreen_api/reference/fullscreen/SoftFullScreen.html">SoftFullScreen</a> has made this possible.  This is a great API, but should be used with caution.
</p>
<p>
<strong>If you are using multiple dedicated computers for your displays</strong> <a href="http://www.mostpixelsever.com/">Most Pixels Ever</a> by <a href="http://www.shiffman.net/">Daniel Shiffman</a> and some students at <a href="http://itp.nyu.edu/itp/">ITP</a> is a library for Processing (and also available for <a href="http://openframeworks.cc">openFrameworks</a>) that is simple to set up and can span across many screens. ITP students use  Most Pixels Ever for their <a href="http://itp.nyu.edu/bigscreens2010/">Big Screens</a> annual show. This is a great and stable solution and will work fine whether or not you are using OpenGL. It also can have resource advantages since the computation is split between machines. Each machine communicates with the others over a server, so there is a little bit of extra set up. You also need to watch your random number generators, if your sketches use random() the computers will return different values and not remain in sync.
</p>
<p>
<strong>If you are using a single computer for multiple displays, even if you want to use OpenGL,</strong> then this is when you will need to bring your project into Eclipse and override a few pre-determined things in Processing. If you are unfamiliar with Eclipse, you may want to look at this posting I wrote: <a href="http://labs.hapticdata.com/2009/03/advanced-processing-in-eclipse/">Advanced Processing in Eclipse</a>. In my opinion, this technique is the most valuable for Processing users to know. This solution is flexible, will allow you to keep using OpenGL and it will save you the work of splitting your project onto multiple computers. This solution involves a combination of accessing Processing&#8217;s <a href="http://java.sun.com/j2se/1.4.2/docs/api/javax/swing/JFrame.html">JFrame</a> and setting it to be undecorated (which removes the system chrome), positioning the window, and then if you are on a Mac, you will use the applications info.plist file to tell OS X to hide the menu bar. Here is an explanation of the process:</p>
<ol>
<li>Before the setup() method of your sketch is called, <a href="http://dev.processing.org/reference/core/javadoc/processing/core/PApplet.html">PApplet</a> (the core applet class for Processing) calls init(). During the init() method Processing displays the application&#8217;s JFrame, we must override this method and alter the JFrame before it is displayed (this can also be found <a href="http://processing.org/hacks/hacks:undecoratedframe">in the processing:hacks</a>).
</li>
<li> That will hide your system chrome by accessing the &#8220;frame&#8221; property before it is ever displayed, doing this inside setup() will not work. Your next step is to position the window. In the above link it is recommended to call frame.setLocation(x,y) immediately following size(), I have found this to not work, so I recommend doing it on your first draw().
<pre class="code">
<code>

public void init() {
	  /// to make a frame not displayable, you can
	  // use frame.removeNotify()
	  frame.removeNotify(); 

	  frame.setUndecorated(true);

	  // addNotify, here i am not sure if you have
	  // to add notify again.
	  frame.addNotify();
	  super.init();
}

void setup()
{
  size(2048,768); //2 1024x768 monitors horizontally
}

void draw()
{
  if(frameCount == 1)
  {
     frame.setLocation(0,0);
   }
}
</code>
</pre>
</li>
<li>
This step is only necessary if you are on a Mac: go to your jar, right-click on it and select &#8216;Show Package Contents&#8217; inside the &#8216;Contents/&#8217; folder is the file &#8216;info.plist&#8217; open that file in XCode. On the left column you will see &#8220;Application UI Presentation Mode&#8221; that needs to be set to &#8220;All Hidden&#8221;. To change this, right-click and select &#8220;Show Raw Keys/Values&#8221; then select 3 on the right column. Save and quit.
</li>
</ol>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2011/09/fullscreen-solutions-for-processing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toxiclibs.js gets VerletPhysics2D</title>
		<link>http://labs.hapticdata.com/2011/05/toxiclibs-js-gets-verletphysics2d/</link>
		<comments>http://labs.hapticdata.com/2011/05/toxiclibs-js-gets-verletphysics2d/#comments</comments>
		<pubDate>Tue, 24 May 2011 15:21:40 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=649</guid>
		<description><![CDATA[It&#8217;s been four months since I initially started creating Toxiclibs.js a JavaScript version of toxiclibs. So far, over 65 &#8216;classes&#8217; have been written. These classes cover a wide spectrum of functionality that I believe can be helpful on any web project. There are currently 18 examples on the site, most of which have focused on [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been four months since I initially <a href="http://labs.hapticdata.com/2011/01/toxiclibs-js-open-source-computational-design/">started creating Toxiclibs.js</a> a JavaScript version of <a href="http://toxiclibs.org">toxiclibs</a>. So far, over 65 &#8216;classes&#8217; have been written. These classes cover a wide spectrum of functionality that I believe can be helpful on any web project. </p>
<p>There are currently 18 examples on <a href="http://haptic-data.com/toxiclibsjs">the site</a>, most of which have focused on being direct ports of the examples from Toxiclibs. Of these examples 14 use <a href="http://processingjs.org">Processing.js</a>, 1 uses <a href="http://github.com/mrdoob/three.js">Three.js</a>, 1 uses <a href="http://raphaeljs.com">Raphael.js</a>, 1 uses Canvas&#8217; 2D API and the other Canvas&#8217; WebGL API. There also is <a href="https://github.com/jonobr1/toxiclibsjs/commit/b97b0e6e58d5e1960d646ef6e1f81171af0ffd8d">an example using Gee</a> committed by <a href="https://github.com/jonobr1">jonobr1</a>. In the future I will be expanding on examples that help clarify the libraries JavaScript nature and independence. </p>
<p>The last 4 examples on the site demonstrate the newest package for Toxiclibs.js, VerletPhysics2D. This package is a light-weight physics engine that is simple to work with and runs well, the <a href="http://haptic-data.com/toxiclibsjs/examples/Attraction2D_pjs.html">Attraction 2D example</a> performs smoothly with 250 particles. VerletPhysics2D includes a base particle class, behaviors, constraints and springs. Behaviors (such as Gravity or Attraction/Repulsion), constraints, and springs are easily applied to the physics world as a whole or to individual particles. You can compare its use with <a href="http://toxiclibs.org/docs/verletphysics/">the java documentation for physics2d</a>. I am very excited to have completed this portion of the library, I feel that it fits a void that isn&#8217;t currently filled by other physics engines in JavaScript, so <a href="https://github.com/hapticdata/toxiclibsjs/archives/master">please download it</a> and give it a try! And check <a href="http://haptic-data.com/toxiclibsjs/">the site for the new examples</a>.</p>
<p><span id="more-649"></span><br />
<a href="http://haptic-data.com/toxiclibsjs/examples/Attraction2D_pjs.html"><img src="http://haptic-data.com/toxiclibsjs/img/physics2d_attraction2d.gif"></a><a href="http://haptic-data.com/toxiclibsjs/examples/SoftBodySquare_pjs.html"><img src="http://haptic-data.com/toxiclibsjs/img/physics2d_softbodysquare.gif"></a><a href="http://haptic-data.com/toxiclibsjs/examples/ThreadDemo_pjs.html"><img src="http://haptic-data.com/toxiclibsjs/img/physics2d_threaddemo.gif"></a><a href="http://haptic-data.com/toxiclibsjs/examples/DraggableParticles_pjs.html"><img src="http://haptic-data.com/toxiclibsjs/img/physics2d_draggableparticles.gif"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2011/05/toxiclibs-js-gets-verletphysics2d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toxiclibs.js &#8211; open-source computational design</title>
		<link>http://labs.hapticdata.com/2011/01/toxiclibs-js-open-source-computational-design/</link>
		<comments>http://labs.hapticdata.com/2011/01/toxiclibs-js-open-source-computational-design/#comments</comments>
		<pubDate>Mon, 10 Jan 2011 07:17:21 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[open-source]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[pjs]]></category>
		<category><![CDATA[processing]]></category>
		<category><![CDATA[toxiclibsjs]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=613</guid>
		<description><![CDATA[I have initiated a new open-source project titled Toxiclibs.js. Toxiclibs.js is a JavaScript port of Karsten Schmidt&#8216;s expansive toxiclibs library. Contributed libraries are an excellent perk of using Processing, and to me there is no library that stands as strong as Karsten&#8217;s. Toxiclibs encapsulates a lot of the complexity involved with common computational design problems [...]]]></description>
			<content:encoded><![CDATA[<p>I have initiated a new open-source project titled <a href="http://haptic-data.com/toxiclibsjs">Toxiclibs.js</a>. Toxiclibs.js is a JavaScript port of <a href="http://postspectacular.com">Karsten Schmidt</a>&#8216;s expansive <a href="http://toxiclibs.org">toxiclibs</a> library.<br />
Contributed libraries are an excellent perk of using <a href="http://processing.org">Processing</a>, and to me there is no library that stands as strong as Karsten&#8217;s. Toxiclibs encapsulates a lot of the complexity involved with common computational design problems and has a very large scope of what it can accomplish.</p>
<p>A great deal of my work involves using HTML5&#8242;s canvas tag for generative design; much of the time with the help of <a href="http://processingjs.org">Processing.js</a>. Repeatedly, I have spent the time of stripping out references to toxiclibs to make my code work with PJS. I worked-around porting the library for some time because it felt like too large of a project to do by myself. Last week as I was working on a <a href="http://en.wikipedia.org/wiki/WebGL">WebGL</a>  visualization, I decided it was worth it to port the Vec3D class, and couldn&#8217;t stop there. I decided that this has to be done, I badly want these libraries and there have got to be many others thinking the same thing. I encourage anyone interested to contribute to the project.</p>
<p>I am hosting my source at gitHub, <a href="http://github.com/hapticdata/toxiclibsjs">http://github.com/hapticdata/toxiclibsjs</a>, and I have prepared an intial round of examples that you can view at <a href="http://haptic-data.com/toxiclibsjs">http://haptic-data.com/toxiclibsjs</a>. <span id="more-613"></span>The code already includes several classes for both 2D and 3D use, there are currently examples on several topics, such as <a href="http://haptic-data.com/toxiclibsjs/examples/TColor_pjs.html">using the TColor class for blending, converting and modifying colors</a>, using Line2D, Vec2D and many others. If you aren&#8217;t a PJS user, one of the great things about this library is that it has no dependency on Processing.js. This is all JavaScript, with no dependencies, it can be used with other libraries, such as <a href="http://raphaeljs.org">Raphael.js</a>, or it can be used by itself.</p>
<p><a href="http://haptic-data.com/toxiclibsjs/examples/Line2DIntersection_pjs.html"><img src="http://labs.hapticdata.com/wp-content/uploads/2011/01/Line2DIntersection.gif" alt="" title="Line2DIntersection" width="320" height="320" class="alignnone size-full wp-image-616" /></a><a href="http://haptic-data.com/toxiclibsjs/examples/PolarUnravel_pjs.html"><img src="http://labs.hapticdata.com/wp-content/uploads/2011/01/polarunravel.gif" alt="" title="polarunravel" width="320" height="320" class="alignnone size-full wp-image-617" /></a><a href="http://haptic-data.com/toxiclibsjs/examples/WheelInsets_pjs.html"><a href="http://haptic-data.com/toxiclibsjs/examples/AdditiveWaves_pjs-webgl.html"><img src="http://labs.hapticdata.com/wp-content/uploads/2011/01/additivewaves.jpg" alt="" title="additivewaves" width="320" height="320" class="alignnone size-full wp-image-635" /></a><a href="http://haptic-data.com/toxiclibsjs/examples/ArcPolarCoordinates_pjs.html"><img src="http://labs.hapticdata.com/wp-content/uploads/2011/01/arccoord.gif" alt="" title="Arc Polar Coordinates Examples" width="320" height="320" class="alignnone size-full wp-image-615" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2011/01/toxiclibs-js-open-source-computational-design/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Catch-a-Boat was a great website but&#8230;</title>
		<link>http://labs.hapticdata.com/2009/09/catch-a-boat-was-a-great-website-but/</link>
		<comments>http://labs.hapticdata.com/2009/09/catch-a-boat-was-a-great-website-but/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 17:40:00 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://labs.hapticdata.com/?p=328</guid>
		<description><![CDATA[Catch-a-Boat was a great website, and I'm gonna let it have its moment, but...]]></description>
			<content:encoded><![CDATA[<p>Catch-a-Boat was a great website, and I&#8217;m gonna let it have its moment, but<br />
<span id="more-328"></span><br />
Beyonce had the best Colle + McVoy campaign of the last quarter.</p>
<p><a href="http://labs.hapticdata.com/wp-content/uploads/2009/09/l_2048_1536_1379F1D2-0437-4095-BA5B-C521F1A178A9.jpeg"><img src="http://labs.hapticdata.com/wp-content/uploads/2009/09/l_2048_1536_1379F1D2-0437-4095-BA5B-C521F1A178A9.jpeg" alt="" width="500" height="375" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2009/09/catch-a-boat-was-a-great-website-but/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The beginning&#8230;</title>
		<link>http://labs.hapticdata.com/2008/09/the-beginning/</link>
		<comments>http://labs.hapticdata.com/2008/09/the-beginning/#comments</comments>
		<pubDate>Sat, 27 Sep 2008 06:48:11 +0000</pubDate>
		<dc:creator>Kyle</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://labs.haptic-data.com/?p=3</guid>
		<description><![CDATA[Labs.hapticdata.com is a journal for me to show my personal and commercial projects. The projects will often be presented in an experimental and in-development phase. This labs space is in itself, in-development it will soon be designed and improved upon. To provide a basic understanding of who I am and the work I am creating [...]]]></description>
			<content:encoded><![CDATA[<p>Labs.hapticdata.com is a journal for me to show my personal and commercial projects. The projects will often be presented in an experimental and in-development phase. This labs space is in itself, in-development it will soon be designed and improved upon.</p>
<p>To provide a basic understanding of who I am and the work I am creating you may visit my work portfolio, <a href="http://www.workofkylephillips.com">workofkylephillips.com</a>, and my personal site <a href="http://www.haptic-data.com">haptic-data.com</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.hapticdata.com/2008/09/the-beginning/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

