<?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/"
	>

<channel>
	<title>Sam Brenner - New Media Design</title>
	<atom:link href="http://www.sjbrenner.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.sjbrenner.com/blog</link>
	<description>Welcome to my blog! My name is Sam Brenner, and I am an Interactive Developer at Crispin Porter + Bogusky. Contact me: samjbrenner [at] gmail.com and visit my portfolio at sjbrenner.com.</description>
	<pubDate>Sat, 03 Apr 2010 17:43:57 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Twitsh, a (Very Basic) Command Line Interface for Twitter</title>
		<link>http://www.sjbrenner.com/blog/?p=349</link>
		<comments>http://www.sjbrenner.com/blog/?p=349#comments</comments>
		<pubDate>Fri, 19 Mar 2010 15:26:52 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[Dev]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=349</guid>
		<description><![CDATA[

Recently, my desk was moved from my quiet little upstairs corner to a more heavily trafficked hallway. This made my monitor more visible to passers by, and rather than having people weirded out by my Twitter background, I decided to move my tweeting to a more incognito location: Terminal. And having recently given up on SVN [...]]]></description>
			<content:encoded><![CDATA[<div>
<p><a href="http://sjbrenner.com/stuff/twitsh.png"><img class="alignnone" title="twitter shell" src="http://sjbrenner.com/stuff/twitsh_small.png" alt="" width="400" height="109" /></a></p>
<p>Recently, my desk was moved from my quiet little upstairs corner to a more heavily trafficked hallway. This made my monitor more visible to passers by, and rather than having people weirded out by my <a href="http://cowboysquirrel.com/image/obj17geo95pg1p20.png">Twitter background</a>, I decided to move my tweeting to a more incognito location: Terminal. And having recently given up on SVN programs and moved that operation to the command line as well, I figured that this would be Twitter&#8217;s perfect disguise.</p>
<p>I did a little searching around and couldn&#8217;t find anything that did exactly what I wanted (though I&#8217;m sure it exists out there), and thought it might be a fun thing to make myself. And so I embarked my shell scripting voyage.</p>
<p>With a ton of help from <a href="http://www.linuxjournal.com/magazine/work-shell-still-parsing-twitter-stream?page=0,0">Dave Taylor&#8217;s tutorials</a>, I&#8217;ve started work on Twitsh (I&#8217;ve been pronouncing it &#8220;twitch,&#8221; and I&#8217;ll probably change the name once something better strikes me). I&#8217;m at the point where you can do two things from the terminal - post and view your friend&#8217;s updates. More importantly, I wrote in the ability to ignore certain strings. In my case, I want to ignore &#8220;<a href="http://foursquare.com/">4sq</a>,&#8221;  because I don&#8217;t care where you are. Sorry.</p>
<p>So I&#8217;m going to post this here in case anyone else wants to use it or build off of it. I want to add in some other features like retweeting and an easier way to open links instead of copy/paste into browser, which I&#8217;ll work on at my beginner&#8217;s pace. I should note that since I&#8217;m inexperienced with shell scripting, that I may be doing things in convoluted or non-best-practice ways, so I apologize for that. But that&#8217;s why I&#8217;m sharing. If anyone stumbles across this and has advice, please send it along.</p>
<p>Quickly, how to use it: I&#8217;ve been keeping it in my /usr/bin directory, not sure if that is the best place for it though. If you put it somewhere else, just add it to your export PATH line in your ~/.profile file. You&#8217;ll also need to open up the file and add your Twitter username and password in. Then you can open up Terminal and do two things:</p>
<ul>
<li>twitsh post (or twitsh p) &#8220;message&#8221;: Posts a message.</li>
<li>twitsh friends (or twitsh fr): Prints out the most recent tweets. The next time you call this, it will only display Tweets you haven&#8217;t read yet.</li>
</ul>
<p>You can download it <a href="http://www.sjbrenner.com/stuff/twitsh.zip">here</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=349</wfw:commentRss>
		</item>
		<item>
		<title>Holder MovieClips and InteractivePNG Not Working</title>
		<link>http://www.sjbrenner.com/blog/?p=345</link>
		<comments>http://www.sjbrenner.com/blog/?p=345#comments</comments>
		<pubDate>Thu, 04 Feb 2010 20:57:22 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=345</guid>
		<description><![CDATA[InteractivePNG is a nifty class that&#8217;s been around for a while. Instead of extending MovieClip, you can extend InteractivePNG and it will capture all the mouse events and figure out if the mouse event was actually set off by transparent (or semi-transparent) pixel in a PNG. If so, it will ignore the event and let [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.mosessupposes.com/?p=40">InteractivePNG</a> is a nifty class that&#8217;s been around for a while. Instead of extending MovieClip, you can extend InteractivePNG and it will capture all the mouse events and figure out if the mouse event was actually set off by transparent (or semi-transparent) pixel in a PNG. If so, it will ignore the event and let anything behind the transparent pixel receive the mouse event instead.</p>
<p>One of the things I like to do on the timeline of a view is place a bunch of empty holder MovieClips so I can easily control the layer order of instantiated display objects. Today I was running into a problem where when I placed an InteractivePNG object in a holder MC, InteractivePNG would stop working its magic. The fix is pretty easy in case anyone else needs it - just tell the holder MC to use InteractivePNG as its base class in the properties (formerly linkage) dialog. Magic restored!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=345</wfw:commentRss>
		</item>
		<item>
		<title>Sankey Diagram Generator Code</title>
		<link>http://www.sjbrenner.com/blog/?p=342</link>
		<comments>http://www.sjbrenner.com/blog/?p=342#comments</comments>
		<pubDate>Wed, 27 Jan 2010 16:06:47 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=342</guid>
		<description><![CDATA[
I&#8217;ll add a brief rundown of how it works later, but for now, you can download the code here.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://sjb0940.cias.rit.edu/wordpress/wp-content/uploads/2009/02/sankey_final_01.jpg"><img class="alignnone" title="sankeyfinal" src="http://sjb0940.cias.rit.edu/wordpress/wp-content/uploads/2009/02/sankey_final_01-300x216.jpg" alt="" width="300" height="216" /></a></p>
<p>I&#8217;ll add a brief rundown of how it works later, but for now, you can download the code <a href="http://sjbrenner.com/stuff/SankeyGenerator.zip">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=342</wfw:commentRss>
		</item>
		<item>
		<title>Happy Holidays!</title>
		<link>http://www.sjbrenner.com/blog/?p=340</link>
		<comments>http://www.sjbrenner.com/blog/?p=340#comments</comments>
		<pubDate>Thu, 17 Dec 2009 19:25:14 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=340</guid>
		<description><![CDATA[
I got you an AIR app.
]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="lights" src="http://sjb0940.cias.rit.edu/lights.jpg" alt="" width="400" height="250" /></p>
<p><a href="http://sjb0940.cias.rit.edu/ChristmasLights.air">I got you an AIR app.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=340</wfw:commentRss>
		</item>
		<item>
		<title>Coke Zero Facial Profiler</title>
		<link>http://www.sjbrenner.com/blog/?p=338</link>
		<comments>http://www.sjbrenner.com/blog/?p=338#comments</comments>
		<pubDate>Fri, 04 Dec 2009 00:19:59 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=338</guid>
		<description><![CDATA[
Today marks the launch of Facial Profiler, a site for Coke Zero that uses Facebook to find your identical twin. I came on to the project as a Flash developer a few months ago and am very excited to see it finally live!
Go sign up and find your doppleganger. Maybe you guys can meet for [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="fp" src="http://sjb0940.cias.rit.edu/fp.jpg" alt="" width="400" height="273" /></p>
<p>Today marks the launch of Facial Profiler, a site for Coke Zero that uses Facebook to find your identical twin. I came on to the project as a Flash developer a few months ago and am very excited to see it finally live!</p>
<p>Go <a href="http://www.facebook.com/apps/application.php?id=88852343963">sign up</a> and find your doppleganger. Maybe you guys can meet for coffee sometime.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=338</wfw:commentRss>
		</item>
		<item>
		<title>Colorado Common Ale</title>
		<link>http://www.sjbrenner.com/blog/?p=329</link>
		<comments>http://www.sjbrenner.com/blog/?p=329#comments</comments>
		<pubDate>Fri, 16 Oct 2009 01:57:22 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[Beer]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=329</guid>
		<description><![CDATA[
Homebrew #4. A California Common (Steam Beer) style. Simple, smooth and delicious. Not that I have any of my old brews left to compare with, but this could be my favorite so far.
Colorado Common (5 gallon, partial mash)
Fermentables:

7lb Light LME
1 lb Crystal Malt

Boil Additions:

2oz Northern Brewer (60 min)
1oz Cascade (10 min)
1oz Cascade (1 min)

Wyeast California [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="colorado common ale" src="http://www.sjbrenner.com/blogpics/ccale.jpg" alt="" width="390" height="292" /></p>
<p>Homebrew #4. A California Common (Steam Beer) style. Simple, smooth and delicious. Not that I have any of my old brews left to compare with, but this could be my favorite so far.</p>
<p><strong>Colorado Common </strong>(5 gallon, partial mash)</p>
<p>Fermentables:</p>
<ul>
<li>7lb Light LME</li>
<li>1 lb Crystal Malt</li>
</ul>
<p>Boil Additions:</p>
<ul>
<li>2oz Northern Brewer (60 min)</li>
<li>1oz Cascade (10 min)</li>
<li>1oz Cascade (1 min)</li>
</ul>
<p>Wyeast California Lager (2112). 5 weeks in the primary (I&#8217;m not a secondary kinda guy, not yet anyway) and then into 12oz bottles for 2 weeks.</p>
<p>Not as carbonated as I was expecting, though I did sneak this bottle a little early. A minty, earthy aroma - I was surprised that the NB hops come through more than the Cascade. The taste is a different story though, a nice amount of that grapefruity Cascade taste. Not too much. The real &#8220;steam beer&#8221; taste comes in at the backend, that little bit of malty sweetness.</p>
<p>I&#8217;m thinking of going all-grain for the next batch&#8230; it&#8217;s about time to take it to the next level (if I have enough space here). Maybe a dark and spicy Christmas ale (&#8221;All I Want For Christmas is Brew,&#8221; with a picture of Mariah Carey on the bottle). See if I can find a used mash tun, or try and make one my self. I also found these <a href="http://www.instructables.com/id/How-to-make-a-wort-chiller-for-homebrewing/">instructions</a> for a counterflow chiller, which is something I could definitely use.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=329</wfw:commentRss>
		</item>
		<item>
		<title>Box2DAS3 and AIR/Flex not working</title>
		<link>http://www.sjbrenner.com/blog/?p=326</link>
		<comments>http://www.sjbrenner.com/blog/?p=326#comments</comments>
		<pubDate>Fri, 02 Oct 2009 17:04:15 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[AIR]]></category>

		<category><![CDATA[ActionScript]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=326</guid>
		<description><![CDATA[File this under &#8220;this is such a stupidly easy fix I can&#8217;t believe I wasted so much time on it.&#8221; To get Box2DAS3 to work in Flex/AIR, you need to make sure your m_timeStep variable is &#8220;1.0/30.0&#8243; and not just &#8220;1/30.&#8221; Go figure. Didn&#8217;t think Flash cared about that stuff. Thanks to this page for [...]]]></description>
			<content:encoded><![CDATA[<p>File this under &#8220;this is such a stupidly easy fix I can&#8217;t believe I wasted so much time on it.&#8221; To get <a href="http://box2dflash.sourceforge.net/">Box2DAS3</a> to work in Flex/AIR, you need to make sure your m_timeStep variable is &#8220;1.0/30.0&#8243; and not just &#8220;1/30.&#8221; Go figure. Didn&#8217;t think Flash cared about that stuff. Thanks to <a href="http://troyworks.com/blog/2009/09/17/box2das3-phystestswf-not-working-with-fdt-flex-fix/">this page</a> for giving the answer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=326</wfw:commentRss>
		</item>
		<item>
		<title>How do I know if a point is within the area of a circle?</title>
		<link>http://www.sjbrenner.com/blog/?p=318</link>
		<comments>http://www.sjbrenner.com/blog/?p=318#comments</comments>
		<pubDate>Thu, 01 Oct 2009 20:28:17 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Processing]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=318</guid>
		<description><![CDATA[UPDATE:
Wow, did I overthink this. No need for all the silly math, just take the distance from the point to the center of the circle, and compare that to the radius. Duh. For humility&#8217;s sake, the original post is below.
&#8212;
(Old post)
That is the question I asked myself a few days ago. And here is the [...]]]></description>
			<content:encoded><![CDATA[<p><strong>UPDATE:</strong></p>
<p>Wow, did I overthink this. No need for all the silly math, just take the distance from the point to the center of the circle, and compare that to the radius. Duh. For humility&#8217;s sake, the original post is below.</p>
<p>&#8212;</p>
<p>(Old post)</p>
<p>That is the question I asked myself a few days ago. And here is the answer (my apologies for the poor formatting, I need one of those code display plugins&#8230;):</p>
<pre>/**
 * Determines whether or not a given point lies
   within a circle
 * @param circleX	The X value of the center
                        of the circle
 * @param circleY	The Y value of the center
                        of the circle
 * @param radius	The radius of the circle
 * @param ptX		The X value of the point
                        to be checked against the
                        circle
 * @param ptY		The Y value of the point
                        to be checked against the
                        circle
 */
public static function isWithinCircle( circleX:Number,
circleY:Number, radius:Number, ptX:Number, ptY:Number
):Boolean
{
	var theta:Number = Math.atan2( circleX - ptX,
circleY - ptY );
	var magnitude:Number = ( ptX - circleX ) /
Math.cos( theta );

	if( Math.abs( magnitude ) &gt; radius )
		return false;
	else
		return true;
}</pre>
<p>Here&#8217;s how it works: The formula to find the point (x, y) on the circumference of a circle with a center (a, b) is a = x + r cos ? and b = y + r sin ? where r is the radius of the circle and ? is the angle in radians from the center point at which the outer point lies.</p>
<p>Since I already know the location of both points and the radius of the circle, it&#8217;s pretty simple to fill in the gaps. I replaced r (for radius) with m (for magnitude) and then solved for m. The one last thing we need is the angle - I did a quick search and found that the angle between two points can be found using atan2 (not that I have any clue what that actually does&#8230;). That formula is ? = atan2(dX, dY).</p>
<p>Now when I plug in the points, I can check the value of m against the radius of the circle. If m &lt; r, the point is inside the circle. Otherwise, it is outside. I&#8217;m no math expert so I can&#8217;t say 100% that this is the correct or the easiest/least processor intensive solution to this problem, but it has worked so far for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=318</wfw:commentRss>
		</item>
		<item>
		<title>Graduation Golden Ale</title>
		<link>http://www.sjbrenner.com/blog/?p=316</link>
		<comments>http://www.sjbrenner.com/blog/?p=316#comments</comments>
		<pubDate>Sat, 22 Aug 2009 21:06:24 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[Beer]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=316</guid>
		<description><![CDATA[
This brew was my third go round at making beer, but the first time I made my own recipe as opposed to buying the ingredient kit. It&#8217;s actually a fusion of four or so recipes I found online for Belgian strong golden ales. I picked out qualities I wanted my beer to have and came [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" title="golden ale" src="http://sjbrenner.com/blog/wp-content/uploads/goldenale.jpg" alt="" width="353" height="471" /></p>
<p>This brew was my third go round at making beer, but the first time I made my own recipe as opposed to buying the ingredient kit. It&#8217;s actually a fusion of four or so recipes I found online for Belgian strong golden ales. I picked out qualities I wanted my beer to have and came up with this:</p>
<p><strong>Graduation Golden Ale </strong>(Partial Extract, 5 gal boil, og 1068)</p>
<p>Fermentables:</p>
<ul>
<li>6lb Light LME</li>
<li>3lb Gold LME</li>
<li>.7 lb Dingemans Pale</li>
<li>.7lb Flaked Wheat</li>
<li>.35 lb Dingemans Special B</li>
<li>1.5 lb Clear candi sugar</li>
</ul>
<p>Boil Additions</p>
<ul>
<li>2oz Sterling (60)</li>
<li>1.5 tsp Irish Moss (10)</li>
<li>.3oz Cardamom (5)</li>
<li>.3oz Ground Coriander (5)</li>
<li>1oz Saaz (1)</li>
</ul>
<p>Yeast: Wyeast Belgian Strong Ale</p>
<p>Tasting notes: Pours a little darker than I was hoping for, more of an amber color, with a big, persistent off-white head. The cardamom comes through big in the aroma, definitely overpowering the saaz. I would say that&#8217;s a matter of less cardamom, not more hops. The taste is sweet, both malty and sugary. The spices are there too. There&#8217;s a nice bitterness on the backend. Plenty of alcohol in here as well&#8230; my amateur calculations put it at 7.5%.</p>
<p>If I were to do this again, I might lose the Special B. It made the beer too dark and I&#8217;m assuming it added complexity to a beer that was already complex enough.</p>
<p>Today I brewed a california common, which I&#8217;ll write up in a month or so.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=316</wfw:commentRss>
		</item>
		<item>
		<title>Installing Flash Tracer on a Mac</title>
		<link>http://www.sjbrenner.com/blog/?p=314</link>
		<comments>http://www.sjbrenner.com/blog/?p=314#comments</comments>
		<pubDate>Fri, 24 Jul 2009 18:28:48 +0000</pubDate>
		<dc:creator>Sam</dc:creator>
		
		<category><![CDATA[ActionScript]]></category>

		<category><![CDATA[Interactive]]></category>

		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.sjbrenner.com/blog/?p=314</guid>
		<description><![CDATA[Flash Tracer is a must-have Firefox Plugin that, as the name suggests, shows you the trace outputs from a swf right in your browser. I&#8217;ve had to install it on a few different machines and each time I always forget how, so I wrote out some step by step instructions that I want to share [...]]]></description>
			<content:encoded><![CDATA[<p>Flash Tracer is a must-have Firefox Plugin that, as the name suggests, shows you the trace outputs from a swf right in your browser. I&#8217;ve had to install it on a few different machines and each time I always forget how, so I wrote out some step by step instructions that I want to share with the internet.</p>
<ol>
<li>Make sure you have the Flash Debug Player: <a href="http://www.adobe.com/support/flashplayer/downloads.html">http://www.adobe.com/support/flashplayer/downloads.html</a>. Click on &#8220;Download the Macintosh Flash Player 10 Plugin content debugger (Intel-based Macs).&#8221;</li>
<li>Install FlashTracer: <a href="http://www.sephiroth.it/examples/firefox/extensions/flashtracer.xpi">http://www.sephiroth.it/examples/firefox/extensions/flashtracer.xpi</a></li>
<li>Create an mm.cfg file.
<ol>
<li>Open Terminal</li>
<li>Locate your root folder (type &#8220;cd ..&#8221; once or twice. To make sure, type &#8220;ls -l&#8221; and if you see folders like &#8220;Library&#8221; and &#8220;Users&#8221; in the right column, you&#8217;re good)</li>
<li>Type &#8220;cd Library/Application\ Support/Macromedia&#8221;</li>
<li>Type &#8220;pico&#8221;</li>
<li>Type &#8220;ErrorReportingEnable=1&#8243; hit enter, and type &#8220;TraceOutputFileEnable=1&#8243; (no quotes)</li>
<li>Press Ctrl + O (even though you&#8217;re on a Mac, it&#8217;s Ctrl, not Command)</li>
<li>Type &#8220;mm.cfg&#8221; and press enter</li>
<li>You can confirm that the file has been created by navigating to that folder in Finder and opening mm.cfg with a text editor.</li>
</ol>
</li>
<li>Restart Firefox</li>
<li>In Firefox, click Tools &gt; FlashTracer. In the FlashTracer column, click on the orange wrench icon at the bottom right.</li>
<li>Click on &#8220;browse&#8221; next to &#8220;Select Output File&#8221; and navigate to &#8220;/Users/{username}/Library/Preferences/Macromedia/Flash Player/Logs/flashlog.txt.&#8221; There should be a flashlog.txt file there by now - if there isn&#8217;t, go to a website that has Flash content on it (thefwa.com) and it should be created.</li>
<li>That should do it. Restart Firefox again to be sure.</li>
</ol>
<p>In addition to helping debug your projects, using Flash Tracer on other people&#8217;s sites is a nice form of entertainment.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.sjbrenner.com/blog/?feed=rss2&amp;p=314</wfw:commentRss>
		</item>
	</channel>
</rss>
