<?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>thomas jenkins</title>
	<atom:link href="http://thomasjenkins.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://thomasjenkins.net/blog</link>
	<description>blog</description>
	<lastBuildDate>Thu, 19 Apr 2012 01:53:02 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Setting up mapping software on OS X</title>
		<link>http://thomasjenkins.net/blog/setting-up-mapping-software-on-os-x/</link>
		<comments>http://thomasjenkins.net/blog/setting-up-mapping-software-on-os-x/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 15:49:24 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[documentation]]></category>

		<guid isPermaLink="false">http://thomasjenkins.net/blog/?p=319</guid>
		<description><![CDATA[In order to do some mapping using CloudMade&#8217;s leaflet.js and some datasets from the Atlanta Regional Commission available here, I&#8217;ve recently had to go through a bunch of setup stuff that would be useful to note. 1. Installing QGIS Quantum GIS is an open source GIS environment. It has a number of dependencies. &#8220;KyngChaos&#8221; hosts [...]]]></description>
			<content:encoded><![CDATA[<p>In order to do some mapping using CloudMade&#8217;s <a title="leaflet" href="http://leaflet.cloudmade.com/">leaflet.js</a> and some datasets from the Atlanta Regional Commission available <a title="GIS data" href="http://atlantaregional.com/info-center/gis-data-maps/gis-data">here</a>, I&#8217;ve recently had to go through a bunch of setup stuff that would be useful to note.</p>
<table>
<tbody>
<tr>
<td><a href="http://leaflet.cloudmade.com/"><img class="alignnone size-full wp-image-351" title="Leaflet" src="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-06-at-10.57.55-AM.png" alt="" width="190" height="61" /></a></td>
<td><a href="http://atlantaregional.com/"><img class="alignnone size-full wp-image-350" title="Atlanta Regional Commission" src="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-06-at-10.58.05-AM.png" alt="" width="214" height="67" /></a></td>
</tr>
</tbody>
</table>
<p><span id="more-319"></span></p>
<h4 id="num1">1. Installing QGIS</h4>
<p><a href="http://www.qgis.org/">Quantum GIS</a> is an open source GIS environment. It has a number of dependencies. &#8220;KyngChaos&#8221; hosts a great <a href="http://www.kyngchaos.com/software/qgis">site</a> that provides installation software for it, though.</p>
<p>Here&#8217;s the order to install packages, with links:<br />
(These are only good for Snow Leopard or Lion. For older OS X versions, check the page linked above)</p>
<ol>
<li>GDAL 1.9 complete &#8211; <a href="http://www.kyngchaos.com/files/software/frameworks/GDAL_Complete-1.9.dmg">download here</a></li>
<li>GSL framework v1.15-2 &#8211; <a href="http://www.kyngchaos.com/files/software/frameworks/GSL_Framework-1.15-2.dmg">download here</a></li>
<li>QGIS 1.7.4 &#8211; <a href="http://www.kyngchaos.com/files/software/qgis/Qgis-1.7.4-3.dmg">download here</a></li>
</ol>
<p>Install from these DMGs in this order. Once you&#8217;re done, load up QGIS. To make sure stuff is all working right, click the icon in the QGIS interface that looks like a green map with a plus in it. This adds a vector layer.</p>
<p><a href="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/addvectormap.jpg"><img class="alignnone size-full wp-image-328" title="Add vector map" src="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/addvectormap.jpg" alt="" width="366" height="132" /></a></p>
<p>Hit the &#8220;browse&#8221; button and navigate to the directory of a shapefile that you&#8217;ve downloaded from <a title="GIS data" href="http://atlantaregional.com/info-center/gis-data-maps/gis-data">here</a>. Open the shapefile (.shp).</p>
<p><a href="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-06-at-10.20.06-AM.png"><img class="alignnone size-medium wp-image-330" title="add shapefile" src="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-06-at-10.20.06-AM-300x280.png" alt="" width="300" height="280" /></a></p>
<p>You should see the map and everything should be great!</p>
<p><a href="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-06-at-10.20.21-AM.png"><img class="alignnone size-medium wp-image-331" title="GIS Map" src="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-06-at-10.20.21-AM-300x266.png" alt="" width="300" height="266" /></a></p>
<h4 id="num2">2. Setting the shapefile to use lat/long</h4>
<p>This is actually surprisingly easy. Right-click (or control+click if you&#8217;re a single-button Mac user) the layer you want to export as lat/long in the &#8220;layers&#8221; menu on the left. click the &#8220;Save as&#8230;&#8221; option.</p>
<p><a href="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-27-at-3.41.55-PM.png"><img class="alignnone size-medium wp-image-357" title="Save vector as" src="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-27-at-3.41.55-PM-261x300.png" alt="Save vector as" width="261" height="300" /></a></p>
<p>Choose whatever filename/location you want, and then under &#8220;Encoding&#8221; choose &#8220;Selected CRS.&#8221;</p>
<p><a href="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-27-at-3.42.58-PM.png"><img class="alignnone size-medium wp-image-358" title="Saving menu" src="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-27-at-3.42.58-PM-226x300.png" alt="Saving menu" width="226" height="300" /></a></p>
<p>Hit &#8220;browse&#8221; and choose &#8220;WGS84&#8243; as the CRS for your file.</p>
<p><a href="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-27-at-3.43.51-PM.png"><img class="alignnone size-medium wp-image-359" title="Choose WGS84" src="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/Screen-Shot-2012-03-27-at-3.43.51-PM-300x290.png" alt="Choose WGS84" width="300" height="290" /></a></p>
<p>Save. You should be all set!</p>
<h4>3. Converting modified shapefiles to geoJSON</h4>
<p>Before going any further, go to a terminal and type</p>
<pre class="terminal">ogr2ogr</pre>
<p>Did you get a long list of options you could have used if you wanted this command to work? great! Skip ahead to the next time you see that ogr2ogr command in this section!</p>
<p>Things get a little ridiculous here. I know that GDAL was already installed to set up QGIS, but after running the installers above I wasn&#8217;t able to run any of the GDAL commands at my terminal. In order to do that, I needed to install some stuff with the package manager I use, called <a href="http://mxcl.github.com/homebrew/">homebrew</a>.</p>
<p>To install homebrew, paste this line into your terminal:</p>
<pre class="terminal">/usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"</pre>
<p>At this point, it could be as simple as typing</p>
<pre class="terminal">brew install gdal</pre>
<p>And then following all sorts of silly directions, or maybe just watching a lot of installation take place. It wasn&#8217;t that simple for me, though. I ran into some frustrating errors regarding a dependency called &#8220;numpy&#8221; that wasn&#8217;t being installed in such a way that brew or pip or easy_install or whatever brew was trying to tell me would work didn&#8217;t.</p>
<p>Probably due to having a few versions of python running on my machine, I had to make sure that my PATH knew where to look for the plugins that would drive GDAL. Hopefully you won&#8217;t need these, and if you do, I&#8217;m not sure how universal they are. For example, the first line here assumes you&#8217;ve installed python via homebrew:</p>
<pre class="terminal">export PATH=/usr/local/Cellar/python/2.7.2
export PATH=/usr/local/share/python:$PATH</pre>
<p>Then running the GDAL installation again and trying once more to install any dependencies.</p>
<pre class="terminal">brew install gdal</pre>
<p>If all goes well, you can finally run gdal commands like</p>
<pre class="terminal">ogr2ogr</pre>
<p>To convert a shapefile to geoJSON, cd to a folder containing a shapefile by dragging it into the terminal (I tend to think that&#8217;s easiest, but you can type the path if you want)</p>
<pre class="terminal">cd into/your/folder/path/containing/a/shapefile</pre>
<p>and enter this command:</p>
<pre class="terminal">ogr2ogr -f geoJSON population09.json population09.shp</pre>
<p>Note the order of the files! It goes json, <em>then</em> shapefile. You should have some nice geoJSON now!</p>
<h4>4. Setting up a leaflet instance on your webspace</h4>
<p>You can do this pretty easily from the Leaflet website, but in case you&#8217;re just super lazy, here&#8217;s what I have:</p>
<ul>
<li><a href="http://thomasjenkins.net/blog/wp-content/uploads/2012/03/atlanta.zip">Atlanta map, using leaflet</a></li>
</ul>
<p>It should be pretty simple to see what I&#8217;ve been doing and modify it to suit your needs. Leaflet&#8217;s own documentation is also pretty good.</p>
<ul>
<li><a href="http://leaflet.cloudmade.com/examples.html">Leaflet examples page</a></li>
<li><a href="http://leaflet.cloudmade.com/reference.html">Leaflet documentation</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/setting-up-mapping-software-on-os-x/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>so your market is collapsing</title>
		<link>http://thomasjenkins.net/blog/so-your-market-is-collapsing/</link>
		<comments>http://thomasjenkins.net/blog/so-your-market-is-collapsing/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 01:19:09 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[planning]]></category>
		<category><![CDATA[print]]></category>
		<category><![CDATA[sketch]]></category>

		<guid isPermaLink="false">http://thomasjenkins.net/blog/?p=301</guid>
		<description><![CDATA[My friend Valerie started a Master&#8217;s program in publishing at NYU this fall, and needed a concept for a book to make in a marketing class she&#8217;s taking. Thinking about the current financial crisis and various worries that people seem to have about the entire economic system failing, we threw together a concept for a [...]]]></description>
			<content:encoded><![CDATA[<p>My friend Valerie started a Master&#8217;s program in publishing at NYU this fall, and needed a concept for a book to make in a marketing class she&#8217;s taking. Thinking about the current financial crisis and various worries that people seem to have about the entire economic system failing, we threw together a concept for a guide to stages of financial, governmental, and societal collapse.</p>
<p><span id="more-301"></span></p>
<p><strong>early chapter concepts</strong></p>
<ul>
<li>so your market is collapsing</li>
<ul>
<li>not panicking&#8211;money you need in the short term should not be in the market in any case</li>
<li>saving more money&#8211;rising costs due to market instabilities mean that having more liquidity at hand will be worthwhile</li>
<li>spreading your savings around&#8211;in case any particular banks fail, waiting for FDIC reimbursements for one account at a time is best</li>
<li>buying goods with seemingly-intrinsic value, gold, diamonds, etc</li>
<li>stockpiling weapons and ammunition</li>
</ul>
<li>so your savings are evaporating</li>
<ul>
<li>small engine repair</li>
<li>making moonshine</li>
<li>a beginner&#8217;s guide to cobbling</li>
<li>a beginner&#8217;s guide to tailoring</li>
<li>marksmanship</li>
</ul>
<li>so your family is starving
<ul>
<li>growing crops</li>
<li>digging latrines</li>
<li>obtaining potable water</li>
<li>identifying edible mushrooms</li>
<li>setting bones</li>
</ul>
</ul>
<p><strong>Cover Design (click for a big version):</strong><br />
<a href="http://thomasjenkins.net/blog/wp-content/uploads/2008/09/cover-design-big.jpg"><img src="http://thomasjenkins.net/blog/wp-content/uploads/2008/09/cover-design-big-300x198.jpg" alt="" title="cover-design-big" width="300" height="198" class="alignnone size-medium wp-image-303" /></a></p>
<p>obviously the authors and quotes are fakes, but they are placeholders for how layout would work.</p>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/so-your-market-is-collapsing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>similarities at scales</title>
		<link>http://thomasjenkins.net/blog/similarities-at-scales/</link>
		<comments>http://thomasjenkins.net/blog/similarities-at-scales/#comments</comments>
		<pubDate>Tue, 22 Jul 2008 23:56:31 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://thomasjenkins.net/blog/?p=297</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<table>
<tr>
<td>
<div id="attachment_298" class="wp-caption alignnone" style="width: 310px"><a href="http://thomasjenkins.net/blog/wp-content/uploads/2008/07/bolivia_hires_01.jpg"><img src="http://thomasjenkins.net/blog/wp-content/uploads/2008/07/bolivia_hires_01-300x210.jpg" alt="Rainforest deforestation in Bolivia" title="bolivia_hires_01" width="300" height="210" class="size-medium wp-image-298" /></a><p class="wp-caption-text">rainforest deforestation</p></div>
</td>
<td>
<div id="attachment_299" class="wp-caption alignnone" style="width: 310px"><a href="http://thomasjenkins.net/blog/wp-content/uploads/2008/07/conroeb.jpg"><img src="http://thomasjenkins.net/blog/wp-content/uploads/2008/07/conroeb-300x210.jpg" alt="pentium 4 architecture" title="conroeb" width="300" height="210" class="size-medium wp-image-299" /></a><br />
<p class="wp-caption-text">Pentium 4 architecture</p></div>
</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/similarities-at-scales/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>beautiful knits</title>
		<link>http://thomasjenkins.net/blog/beautiful-knits/</link>
		<comments>http://thomasjenkins.net/blog/beautiful-knits/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 12:00:04 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://thomasjenkins.net/blog/?p=293</guid>
		<description><![CDATA[I&#8217;m in the middle of transitioning to the post-school, post-thesis, workaday world, so I don&#8217;t have much to talk about in terms of my own work. I saw Sarah Illenberger&#8217;s work this morning and thought I would mention it&#8211; she makes incredibly beautiful and delicate knit organs.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m in the middle of transitioning to the post-school, post-thesis, workaday world, so I don&#8217;t have much to talk about in terms of my own work. I saw <a href="http://www.sarahillenberger.com/news_sz.html">Sarah Illenberger&#8217;s</a> work this morning and thought I would mention it&#8211; she makes incredibly beautiful and delicate knit organs.</p>
<p><img src="http://thomasjenkins.net/blog/wp-content/uploads/2008/07/delicateorgans.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/beautiful-knits/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A-Z final</title>
		<link>http://thomasjenkins.net/blog/a-z-final/</link>
		<comments>http://thomasjenkins.net/blog/a-z-final/#comments</comments>
		<pubDate>Tue, 13 May 2008 18:04:57 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://thomasjenkins.net/blog/?p=13</guid>
		<description><![CDATA[For my final, I worked with trying to refine my idea of visualizing campaign speech texts between Obama and Clinton. While this is somehow still a relevant idea, I came to some conclusions about datavis. It&#8217;s hard to just take a mass of data and just try to &#8220;visualize&#8221; it without an agenda about what [...]]]></description>
			<content:encoded><![CDATA[<p>For my final, I worked with trying to refine my idea of visualizing campaign speech texts between Obama and Clinton. While this is somehow still a relevant idea, I came to some conclusions about datavis. It&#8217;s hard to just take a mass of data and just try to &#8220;visualize&#8221; it without an agenda about what you&#8217;re doing. It&#8217;s hard to rectify my idea of having a &#8220;painterly&#8221; kind of effect with really including a lot of information about the material.</p>
<p>in any case, having a third dimension to scroll through, while keeping the kind of effects i want may be a way of keeping the visualization painterly while not getting it too busy with pop-up tooltips and things like that.</p>
<p>here&#8217;s the code:<br />
<span id="more-13"></span></p>
<pre>
package bayesian.visualization;

import java.lang.reflect.Array;
import java.nio.*;
import java.io.*;
import java.nio.channels.*;
import java.util.*;
import java.lang.Object.*;
import a2z.*;
import java.awt.*;

import java.util.regex.*;
import concordance.treemap.Word;
import processing.core.PApplet;
import processing.core.PFont;

public class Visualization extends PApplet
{
	private static final long serialVersionUID = 1L;
	PFont fontA = loadFont("AmericanTypewriter-100.vlw");
	PFont fontB = loadFont("AmericanTypewriter-Bold-48.vlw");

	public void setup() {
		size(1440,900,P3D);
		colorMode(RGB, 255, 255, 255, 255);
	}

	public void draw() {
		background(0,0,0);

		try {
		A2ZFileReader data = new A2ZFileReader("data.txt");
		String datacontent = data.getContent();

		String wordtokens = "[.\\s]";		//period here makes it work, relate the number to the decimal?
		//breaks into "word" "0" "value after decimal sign"

		String[] words = datacontent.split(wordtokens);
		//String[] numbers = datacontent.split(numtokens);

		// me trying to see what actually is in the array
		/*System.out.println("+++"+words[0]+"+++");
		System.out.println("+++"+words[1]+"+++");
		System.out.println("+++"+words[2]+"+++");
		System.out.println("+++"+words[3]+"+++");*/

		//instantiate a new array of arrays with more space than we'll need (i hope)
		int[][] location = new int[2][4000]; // 2 rows for x and y, 4000 words allowed

		int counter = 0;
		for(int i = 0; i < 4000; i=i+3){ //note: there is a waste 0 in the array, need to increment by 3
			//String current = lines[0];

			/*System.out.println(counter);					//debug
			 *System.out.println("word: "+words[i]);		//debug
			 *System.out.println("number: "+words[i+2]);	//debug
			 */

			/* by having the for loop iterate with i+2 each time, I can use a single array to hold all of
			 * the interesting stuff
			 */

			// pull out the number associated with the words
			// the number is the third of the word/number pairs, hence i+2 as the array value	

			String shortnumber = words[i+2].substring(0, 2);
			int temp = Integer.parseInt(shortnumber);
				System.out.println("temp: "+temp);

			String temp2  = "0."+temp;
			float bayesnumber = Float.valueOf(temp2).floatValue();
				System.out.println("bayesnumber: "+bayesnumber);

			/* possible to round the numbers to just two digits? maybe even just truncate them?
			 * then it's easy to take the 2 digit values and divide by 100 to get a nearly on
			 * decimal that can be used by the rest of the code that I've written
			 */

			// Set up a size for text, proportional to interestingness
			float value = Math.abs(0.5f - bayesnumber);
			System.out.println(value);

			System.out.println("value: "+value);

			//testing
			if (value < .03){
				value = 0;
			}

			//float logvalue = log(value);
			//int size = (int)((value) * 150);
			//int size = (int)(30*(1-value));
			int size = 12;

			//give it a minimum, for display purposes
			if (size < 12){
				size = 12;
			}

			// Set up a minimum transparency for text to be somewhat visible
			textFont(fontA, size);
			int alpha = (int) (value*255);
			if (alpha < 32){
				alpha = 32;
			}
			// Set color with transparency, fiddle with presentation

			/* To do: need to get the center of each word based on word length
			 * and then center each word's display
			 */

			noStroke();

			if (bayesnumber > 0.5){
				// Right side is red
				int c1 = color(255,(255-(2*alpha)),(255-(2*alpha)),(255-alpha));
				fill(c1);

				//scale location for size of screen
				int xpos = ((int)(width*bayesnumber)-65);
				int ypos = (int)(.31*counter);

				//draw words themselves
				int textwidth = (int) textWidth(words[i]);
				int modwidth = 2*(textwidth+30);
				text(words[i], xpos-textwidth, ypos);

				//add location of the word to the location 2D array
				location[0][counter] = xpos;
				location[1][counter] = ypos;

				//on mouseover of quad, draw box
				if ((xpos-textwidth < mouseX) &#038;&#038; (mouseX < xpos) &#038;&#038; (ypos < mouseY) &#038;&#038;( mouseY < (ypos+size))){

					//get the information used in the box
					String ranking = "Bayesian Score: "+bayesnumber;
					int size2 = 12;
					textFont(fontA, size2);
					int boxwidth = (int) textWidth(ranking);

					if (boxwidth > modwidth){
						fill(0,0,0);
						stroke(255,255,255,64);
						quad(xpos,ypos+15,xpos-boxwidth-30,ypos+15,xpos-boxwidth-30,ypos-50,xpos,ypos-50);

						//draw the word in a legible size
						fill(c1);
						size = 30;
						textFont(fontA,size);
						text(words[i],xpos-15-boxwidth,ypos-15);

						//draw the bayesian ranking for the word
						fill(c1);
						size2 = 12;
						textFont(fontA, size2);
						text(ranking,xpos-boxwidth-15,ypos+10);
					}
					else{
						fill(0,0,0);
						stroke(255,255,255,64);
						quad(xpos,ypos+15,xpos-modwidth,ypos+15,xpos-modwidth,ypos-50,xpos,ypos-50);

						//draw the word in a legible size
						fill(c1);
						size = 30;
						textFont(fontA,size);
						text(words[i],xpos+15-modwidth,ypos-15);

						//draw the bayesian ranking for the word
						fill(c1);
						size2 = 12;
						textFont(fontA, size2);
						text(ranking,xpos-modwidth+15,ypos+10);
					}
				}
			}
			if (bayesnumber < 0.5){
				// Left side is blue
				int c1 = color((255-(2*alpha)),(255-(2*alpha)),255,(255-alpha));
				fill(c1);

				//scale location for size of screen
				int xpos = ((int)(width*bayesnumber)-65);
				int ypos = (int)(.31*counter);

				//draw words themselves
				int textwidth = (int) textWidth(words[i]);
				int modwidth = 2*(textwidth+30);
				text(words[i], xpos, ypos);

				//add location of the word to the location 2D array
				location[0][counter] = xpos;
				location[1][counter] = ypos;

				//on mouseover of quad, draw information box, fill it with info
				if ((xpos < mouseX) &#038;&#038; (mouseX < xpos+textwidth) &#038;&#038; (ypos < mouseY) &#038;&#038;( mouseY < (ypos+size))){

					//get the information used in the box
					String ranking = "Bayesian Score: "+bayesnumber;
					int size2 = 12;
					textFont(fontA, size2);
					int boxwidth = (int) textWidth(ranking);

					if (boxwidth > modwidth){
						//draw the information box to fit boxwidth
						fill(0);
						stroke(255,255,255,64);
						quad(xpos,ypos+15,xpos+boxwidth+30,ypos+15,xpos+boxwidth+30,ypos-50,xpos,ypos-50);
					}
					else{
						//draw the information box to fit modwidth
						fill(0);
						stroke(255,255,255,64);
						quad(xpos,ypos+15,xpos+modwidth,ypos+15,xpos+modwidth,ypos-50,xpos,ypos-50);
					}

					//draw the word in a legible size
					fill(c1);
					size = 30;
					textFont(fontA,size);
					text(words[i],xpos+15,ypos-15);

					//draw the bayesian ranking for the word
					fill(c1);
					size2 = 12;
					textFont(fontA, size2);
					text(ranking,xpos+15,ypos+10);
				}
			}
			if (bayesnumber == .05){
				int c1 = color(255,255,255,(255-alpha));
				fill(c1);

				//scale location for size of screen
				int xpos = ((int)(width*bayesnumber)-130);
				int ypos = (int)(.31*counter);

				//draw words themselves
				text(words[i], xpos, ypos);

				fill(255,255,255,32);
				quad(xpos,ypos,xpos+30,ypos,xpos+30,ypos-10,xpos,ypos-10);

				//add location of the word to the location 2D array
				location[0][counter] = xpos;
				location[1][counter] = ypos;

				//on mouseover of quad, draw box
				if ((xpos < mouseX) &#038;&#038; (mouseX > xpos+30) &#038;&#038; (ypos < mouseY) &#038;&#038;( mouseY > ypos-20)){
					fill(0);
					stroke(255,255,255,64);
					quad(xpos,ypos,xpos+150,ypos,xpos+150,ypos-50,xpos,ypos-50);

					fill(c1);
					size = 30;
					textFont(fontA,size);
					text(words[i],xpos+15,ypos-15);

					noLoop();
				}
				else{
					loop();
				}
			}

			counter = counter + 2;
		}
		}
		catch (IOException e) {
			System.out.println("File I/O Error");
			e.printStackTrace();
		}
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/a-z-final/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>alienation keychain pcb</title>
		<link>http://thomasjenkins.net/blog/alienation-keychain-pcb/</link>
		<comments>http://thomasjenkins.net/blog/alienation-keychain-pcb/#comments</comments>
		<pubDate>Thu, 01 May 2008 23:44:12 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[parts]]></category>
		<category><![CDATA[sketch]]></category>
		<category><![CDATA[techniques]]></category>

		<guid isPermaLink="false">http://www.thomasjenkins.net/thesis/?p=283</guid>
		<description><![CDATA[Here is the PCB, fresh from Advanced Circuits. I threw it together and mocked it up with the battery from sparkfun for size. It looks like it&#8217;ll be fine. For scale, I measured it against my thumb. It&#8217;s a little thicker than I&#8217;d like, as I&#8217;m thinking about casting a resin box for it (probably [...]]]></description>
			<content:encoded><![CDATA[<p>Here is the PCB, fresh from Advanced Circuits. I threw it together and mocked it up with the battery from sparkfun for size. It looks like it&#8217;ll be fine. For scale, I measured it against my thumb. It&#8217;s a little thicker than I&#8217;d like, as I&#8217;m thinking about casting a resin box for it (probably not in time for the thesis presentation, more likely for the show), and the size may make it kind of unwieldy for a pocket. Otherwise I&#8217;m pretty happy with it.</p>
<p>The last couple days I&#8217;ve been doing some writing of the thesis paper. Tomorrow, I debug the xbee circuits with the new PCB controlling them, and hopefully plan out how I am going to build the insecurity prosthesis that has me kind of stymied at the moment. Triage time!</p>
<p><a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-1.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-1.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-2.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-2.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-3.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-3.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-4.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-4.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-5.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-5.jpg"></a></p>
<p><a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-6.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-6.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-7.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-7.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-8.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-8.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-9.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-9.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcb-10.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/05/keychainpcbthumb-10.jpg"></a></p>
<p>Also, <a href="http://io9.com/385943/robert-downey-jrs-exposed-torso-is-america">this</a> is a really nice review of the new Iron Man movie, talking about a lot of the same stuff that I&#8217;m working through as I write. Zeitgeist?</p>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/alienation-keychain-pcb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>other uses for red thread</title>
		<link>http://thomasjenkins.net/blog/other-uses-of-red-thread/</link>
		<comments>http://thomasjenkins.net/blog/other-uses-of-red-thread/#comments</comments>
		<pubDate>Tue, 29 Apr 2008 04:07:17 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[inspiration]]></category>

		<guid isPermaLink="false">http://www.thomasjenkins.net/thesis/?p=281</guid>
		<description><![CDATA[This is great. Artist and photographer Nina Katchadourian patches spiderwebs. &#8220;uninvited collaborations&#8221;]]></description>
			<content:encoded><![CDATA[<p>This is great. Artist and photographer Nina Katchadourian patches spiderwebs.</p>
<p><a href="http://www.ninakatchadourian.com/uninvitedcollaborations/spiderwebs.php">&#8220;uninvited collaborations&#8221;</a></p>
<p><a href='http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/mended-spiderweb-8-fish-p.jpg'><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/mended-spiderweb-8-fish-p-300x300.jpg" alt="" title="mended-spiderweb-8-fish-p" width="300" height="300" class="alignnone size-medium wp-image-282" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/other-uses-of-red-thread/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>early thesis outline, alienation prosthetic update</title>
		<link>http://thomasjenkins.net/blog/early-thesis-outline-alienation-prosthetic-update/</link>
		<comments>http://thomasjenkins.net/blog/early-thesis-outline-alienation-prosthetic-update/#comments</comments>
		<pubDate>Mon, 28 Apr 2008 19:37:50 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[documentation]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[planning]]></category>

		<guid isPermaLink="false">http://www.thomasjenkins.net/thesis/?p=280</guid>
		<description><![CDATA[Over the weekend, I put together an early outline for the kinds of things I want to cover in my thesis paper. It needs another revision, and will undoubtedly be edited down for scope as I work. In this case, I tend to go too large in what I want to address in my work, [...]]]></description>
			<content:encoded><![CDATA[<p>Over the weekend, I put together an early outline for the kinds of things I want to cover in my thesis paper. It needs another revision, and will undoubtedly be edited down for scope as I work. In this case, I tend to go too large in what I want to address in my work, and will probably want to focus more literally on the projects and interactions that I am building rather than writing a research paper in and of itself. There&#8217;s time for that stuff later. The outline is <a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/outline.html">here</a>.</p>
<p>After re-stringing the anxiety prosthesis, i worked on making an PCB design for the body component of the alienation prosthesis. I wanted something pocket sized so that you could keep it with you at all times. I figured a key chain would be a nice object to make, so I kept it pretty small. This design measures in at a little over 2 inches by 1 inch and maybe a half inch thick. It&#8217;ll use a flat lithium polymer battery to give power, and has a tiny switch so that it can work during a presentation and not be out of juice. For today, I&#8217;m working on a final debug of the electronics in the alienation prosthesis, and in the evening I&#8217;ll be moving into making a final prototype of the insecurity prosthesis.</p>
<p><a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/board.gif"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/boardsmall.gif"></a></p>
<p><a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/27th-1.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/27ththumb-1.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/27th-2.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/27ththumb-2.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/27th-3.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/27ththumb-3.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/27th-4.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/27ththumb-4.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/early-thesis-outline-alienation-prosthetic-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>final in-class presentation</title>
		<link>http://thomasjenkins.net/blog/in-class-final-presentation/</link>
		<comments>http://thomasjenkins.net/blog/in-class-final-presentation/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 18:47:38 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[documentation]]></category>

		<guid isPermaLink="false">http://www.thomasjenkins.net/thesis/?p=279</guid>
		<description><![CDATA[Here is the presentation I gave today (10.4 MB). It was pretty okay, I got some really good comments from Nancy Hechinger about how to frame my work and clarify definition. Useful&#8230; exactly what I needed to hear before moving into the final framing of my work before the presentation before the thesis committee.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/ClassPresentationFinal.pdf">Here</a> is the presentation I gave today (10.4 MB).</p>
<p>It was pretty okay, I got some really good comments from Nancy Hechinger about how to frame my work and clarify definition. Useful&#8230; exactly what I needed to hear before moving into the final framing of my work before the presentation before the thesis committee.</p>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/in-class-final-presentation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>anxiety prosthesis&#8211;basically completed</title>
		<link>http://thomasjenkins.net/blog/anxiety-prosthesis-basically-completed/</link>
		<comments>http://thomasjenkins.net/blog/anxiety-prosthesis-basically-completed/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 18:32:25 +0000</pubDate>
		<dc:creator>tom</dc:creator>
				<category><![CDATA[final]]></category>
		<category><![CDATA[object]]></category>
		<category><![CDATA[parts]]></category>
		<category><![CDATA[sketch]]></category>

		<guid isPermaLink="false">http://www.thomasjenkins.net/thesis/?p=278</guid>
		<description><![CDATA[the last couple of days I have been working really hard to try to finish the anxiety prosthesis in time for my presentation in class today. Here&#8217;s link dump of my progress. Generally, I put it all together, moving from sewing the two pieces together to screwing them together, adding grommets to route the bunches [...]]]></description>
			<content:encoded><![CDATA[<p>the last couple of days I have been working really hard to try to finish the anxiety prosthesis in time for my presentation in class today. Here&#8217;s link dump of my progress. Generally, I put it all together, moving from sewing the two pieces together to screwing them together, adding grommets to route the bunches of thread that will control the hackles into, replacing the pulleys with very tall eyelets, and making eyelets that will route the thread over the shoulders into the grommet holes. Overall, it&#8217;s been pretty successful, but needs some fine tuning to have it work well while being worn. I like the action and motion a lot though. Video is coming.</p>
<p>Bonus shot of me testing the fit in the bathroom.</p>
<p><a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-1.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-1.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-2.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-2.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-3.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-3.jpg"></a></p>
<p><a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-4.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-4.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-5.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-5.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-6.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-6.jpg"></a></p>
<p><a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-7.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-7.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-8.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-8.jpg"></a>&nbsp;<a href="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobject-9.jpg"><img src="http://www.thomasjenkins.net/thesis/wp-content/uploads/2008/04/anxobjectthumb-9.jpg"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://thomasjenkins.net/blog/anxiety-prosthesis-basically-completed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

