<?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>Rich Hauck&#039;s Blog</title>
	<atom:link href="http://www.mandalatv.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.mandalatv.net</link>
	<description>Personal and Professional Blog of Rich Hauck</description>
	<lastBuildDate>Tue, 31 Jan 2012 17:09:18 +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>Perlin Noise in HTML5 Canvas</title>
		<link>http://www.mandalatv.net/2012/01/perlin-noise-in-html5-canvas/</link>
		<comments>http://www.mandalatv.net/2012/01/perlin-noise-in-html5-canvas/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 17:09:18 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.mandalatv.net/?p=1145</guid>
		<description><![CDATA[I was experimenting with Perlin Noise for an underwater effect on a website. I posted the results here, since there doesn&#8217;t seem to be an example online of what I wanted. Not surprisingly, I canned the idea, as it&#8217;s simply too processor-intensive for aesthetics. It made for an interesting exercise in canvas, though. Coming from [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.mandalatv.net/wp-content/uploads/2012/01/perlin-noise/"><img class="size-full wp-image-1146 aligncenter" title="perlin-noise" src="http://www.mandalatv.net/wp-content/uploads/2012/01/perlin-noise.jpg" alt="" width="500" height="500" /></a></p>
<p>I was experimenting with Perlin Noise for an underwater effect on a website. I posted the results here, since there doesn&#8217;t seem to be an example online of what I wanted.</p>
<p>Not surprisingly, I canned the idea, as it&#8217;s simply too processor-intensive for aesthetics. It made for an interesting exercise in canvas, though.</p>
<p>Coming from an ActionScript background, I really wish I better knew how the &#8220;offset&#8221; array was implemented in the <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/BitmapData.html#perlinNoise()">ActionScript call</a>, as it&#8217;s not a part of <a href="http://mrl.nyu.edu/~perlin/doc/oscar.html#noise">Perlin&#8217;s original class</a>:</p>
<pre>perlinNoise(baseX:Number, baseY:Number, numOctaves:uint, randomSeed:int, stitch:Boolean, fractalNoise:Boolean, channelOptions:uint = 7, grayScale:Boolean = false, offsets:Array = null):void
Generates a Perlin noise image.</pre>
<p>Fortunately, I didn&#8217;t have to port the original code to JavaScript, as I found it on <a href="https://gist.github.com/304522">GitHub</a>. In the ActionScript world, I&#8217;d increment the offset over time to create an organic-looking water effect. For HTML5 canvas, I found this could be replicated by incrementing the z argument (zOff) in &#8220;classical&#8221; noise:</p>
<pre class="brush: jscript; title: ; notranslate">var result = perlin.noise(xVal, yVal, zOff);</pre>
<p><a href="http://www.mandalatv.net/wp-content/uploads/2012/01/perlin-noise/">Here&#8217;s the result.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2012/01/perlin-noise-in-html5-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brownian Motion in HTML5 Canvas</title>
		<link>http://www.mandalatv.net/2012/01/brownian-motion-in-html5-canvas/</link>
		<comments>http://www.mandalatv.net/2012/01/brownian-motion-in-html5-canvas/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:41:52 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[canvas]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.mandalatv.net/?p=1127</guid>
		<description><![CDATA[Ya know, cause I couldn&#8217;t find it anywhere (Lovingly stolen from Processing documentation). View the example. I&#8217;m hoping to convert Craig Reynolds&#8217; Boids to JavaScript/Canvas at some point in the future, too.]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.mandalatv.net/wp-content/uploads/2012/01/brownian-motion.htm"><img class="aligncenter size-full wp-image-1128" src="http://www.mandalatv.net/wp-content/uploads/2012/01/brownian-motion.png" alt="Brownian Motion" width="502" height="500" /></a></p>
<p>Ya know, cause I couldn&#8217;t find it anywhere (Lovingly stolen from Processing documentation). <a href="http://www.mandalatv.net/wp-content/uploads/2012/01/brownian-motion.htm">View the example</a>.</p>
<p>I&#8217;m hoping to convert <a href="http://www.red3d.com/cwr/boids/">Craig Reynolds&#8217; Boids</a> to JavaScript/Canvas at some point in the future, too.</p>
<pre class="brush: jscript; title: ; notranslate">
window.addEventListener('load', init, false);
function init(){
	var canvas = document.getElementById(&quot;canvas&quot;);
	if (canvas.getContext('2d')){
  		main(canvas);
	} else {
    	console.log(&quot;Canvas tag is not supported&quot;);
	}
}
function main(canvas){
	var canvas = canvas;
	var ctx = canvas.getContext(&quot;2d&quot;);
	const CANVAS_WIDTH = canvas.width;
	const CANVAS_HEIGHT = canvas.height;

	var num = 10;
	var range = 200;

	var ax = [];
	var ay = [];

	for(var i = 0; i &lt; num; i++) {
	  ax[i] = CANVAS_WIDTH/2;
	  ay[i] = CANVAS_HEIGHT/2;
	}

	setInterval(draw, 30);

	function draw(){
		// Shift all elements 1 place to the left
		  for(var i = 1; i &lt; num; i++) {
		    ax[i-1] = ax[i];
		    ay[i-1] = ay[i];
		  }
		  // Put a new value at the end of the array
		  var r2x = range*2;
		  ax[num-1] += (Math.random()*r2x)-range;
		  ay[num-1] += (Math.random()*r2x)-range;

		  // Constrain all povars to the screen
		  ax[num-1] = constrain(ax[num-1], 0, CANVAS_WIDTH);
		  ay[num-1] = constrain(ay[num-1], 0, CANVAS_HEIGHT);

		  // Draw a line connecting the povars
		  for(var i = 1; i &lt; num; i++) {

			var alpha = i/num;
			ctx.globalAlpha = i/num;

			ctx.moveTo(ax[i-1], ay[i-1]);
			ctx.lineTo(ax[i], ay[i]);
			ctx.stroke();
		  }
	}
	function constrain(val, min, max){
		if(val &gt; max){
			val = max;
		}else if(val &lt; min){
			val = min;
		}
		return val;
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2012/01/brownian-motion-in-html5-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with HTML5 Range Input</title>
		<link>http://www.mandalatv.net/2012/01/working-with-html5-range-input/</link>
		<comments>http://www.mandalatv.net/2012/01/working-with-html5-range-input/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 15:16:39 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.mandalatv.net/?p=1131</guid>
		<description><![CDATA[View Example I felt compelled to post this HTML5 range input example because I couldn&#8217;t find code online that didn&#8217;t rely on JQuery to output a value (not that I have anything against it, just that it can be overkill for simple things like this). The code below outputs the value of the range to [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.mandalatv.net/wp-content/uploads/2012/01/range.htm"><img class="aligncenter size-full wp-image-1132" title="range" src="http://www.mandalatv.net/wp-content/uploads/2012/01/range.png" alt="" width="259" height="36" /></a></p>
<p style="text-align: center;"><a href="http://www.mandalatv.net/wp-content/uploads/2012/01/range.htm" target="_blank">View Example</a></p>
<p>I felt compelled to post this HTML5 range input example because I couldn&#8217;t find code online that didn&#8217;t rely on JQuery to output a value (not that I have anything against it, just that it can be overkill for simple things like this).</p>
<p>The code below outputs the value of the range to a nearby &lt;span&gt;. I created a &#8220;showOutput&#8221; function to make it easier to use with multiple inputs.</p>
<pre class="brush: jscript; title: ; notranslate">
window.addEventListener('load', initSlider, false);
/**
* Initializes sliders
*/
function initSlider(){
	// get range input
	var myRange = document.getElementById(&quot;myRange&quot;);
	myRange.addEventListener('change', function(){showOutput(myRange, &quot;rangeOuput&quot;)}, false);
	document.getElementById(&quot;rangeOuput&quot;).innerHTML = rangeOuput.value;

	// call range input on window init to display initial value
	showOutput(myRange, &quot;rangeOuput&quot;);
	/**
	* Displays output to text fields.
	* @param slider		id of range input
	* @param field		id of span to write value.
	*/
	function showOutput(slider, field){
		document.getElementById(field).innerHTML = slider.value;
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2012/01/working-with-html5-range-input/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revisiting Interactive Media</title>
		<link>http://www.mandalatv.net/2012/01/revisiting-interactive-media/</link>
		<comments>http://www.mandalatv.net/2012/01/revisiting-interactive-media/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 15:31:41 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[canvas]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.mandalatv.net/?p=1112</guid>
		<description><![CDATA[I recently read a CNN op-ed piece by my former instructor, Doug Rushkoff, on how coding should be taught in every school as a way to be more competitive in the global industry. I couldn&#8217;t agree more. For the past two years I&#8217;ve taught an Interactive Media course at Harrisburg Area Community College that has traditionally [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1115" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.mandalatv.net/wp-content/uploads/2012/01/fibonacci.htm"><img class="size-full wp-image-1115 " src="http://www.mandalatv.net/wp-content/uploads/2012/01/fibonacci.jpg" alt="fibonacci" width="500" height="500" /></a><p class="wp-caption-text">Playing around with the Fibonacci number in Canvas. Click image for example. Code below.</p></div>
<p>I recently read a <a href="http://www.cnn.com/2012/01/12/opinion/rushkoff-write-code/index.html?iref=allsearch">CNN op-ed piece</a> by my former instructor, Doug Rushkoff, on how coding should be taught in every school as a way to be more competitive in the global industry. I couldn&#8217;t agree more.</p>
<p>For the past two years I&#8217;ve taught an <a href="http://mandalatv.net/art114/">Interactive Media</a> course at Harrisburg Area Community College that has traditionally been taught in Adobe Flash. This semester, I decided to revisit the medium in which to teach interactive media, especially now that web-based Flash is being replaced with web standards technology like HTML, CSS, and JavaScript.</p>
<p>I haven&#8217;t completely replaced Flash in the course, as it remains a valuable tool for complex animation, video, and games. I have, however, decided to begin with the fundamentals of programming, and feel that the Flash IDE has too many distractions to serve as the starting medium.</p>
<p>I gave a lot of thought towards <a href="http://processing.org/">Processing</a>, provided it&#8217;s easy-to-approach IDE, its large community, and its excellent documentation. In the end, though, I decided on HTML5 Canvas, as my students will likely end up using javascript instead of Java.</p>
<p>To a more selfish end, it&#8217;s forced me to better grasp canvas and JavaScript. I purposely chose a medium I wanted to learn, as I&#8217;m already comfortable with Flash and doubt I will be revisiting Java.</p>
<p>I&#8217;m going to try and start posting more code, such as this for the <a href="http://www.mandalatv.net/wp-content/uploads/2012/01/fibonacci.htm">Fibonacci example</a>:</p>
<pre class="brush: jscript; title: ; notranslate">
window.addEventListener('load', init, false);
var canvas;
/**
* Detects for context 2d
*/
function init(){
	canvas = document.getElementById(&quot;myCanvas&quot;);
	if (canvas.getContext('2d')){
  		main(canvas);
		initSliders();
	} else {
    	console.log(&quot;Canvas not supported&quot;);
	}
}
/**
* Initializes sliders
*/
function initSliders(){
	var radRange = document.getElementById(&quot;radRange&quot;);
	radRange.addEventListener('change', function(){showOutput(radRange, &quot;rangeOuput&quot;)}, false);
	document.getElementById(&quot;rangeOuput&quot;).innerHTML = radRange.value;

	var distRange = document.getElementById(&quot;distRange&quot;);
	distRange.addEventListener('change',  function(){showOutput(distRange, &quot;distOuput&quot;)}, false);
	document.getElementById(&quot;distOuput&quot;).innerHTML = distRange.value;

	/**
	* Displays output to text fields.
	* @param slider		id of range input
	* @param field		id of span to write value.
	*/
	function showOutput(slider, field){
		document.getElementById(field).innerHTML = slider.value;
	}
}
/**
* Main
* @param canvas target canvas
*/
function main(canvas){
	var ctx = canvas.getContext(&quot;2d&quot;);

	var max = 200; 						// number of items on screen
	var i = 0; 							// initialize for counter
	const fib = 1/1.618033989;			// Fibonacci Sequence
	var radius = 0; 					// initial radius
	var lastInputRadius;				// remembers previous state to determine if positioning needs changed
	var lastInputDistance;				// remembers previous state to determine if positioning needs changed

	var circles = [];		 			// Create Array to hold items

	const CANVAS_RIGHT = canvas.width;
	const CANVAS_BOTTOM = canvas.height;

	var interval = setInterval(draw, 30);

	/**
	* Draws pattern to screen
	*/
	function draw() {
		var inputRadius = document.getElementById(&quot;rangeOuput&quot;).innerHTML;
		var inputDistance = document.getElementById(&quot;distOuput&quot;).innerHTML;
		if(i &lt; max){
			// create shape
			radius += inputRadius*fib;
			lastInputRadius = inputRadius;
			lastInputDistance = inputDistance;
		    var dist = i*inputDistance; //represents distance from object
		    var x = Math.cos(radius*Math.PI/180)*dist + CANVAS_RIGHT/2;
		    var y = Math.sin(radius*Math.PI/180)*dist + CANVAS_BOTTOM/2;
			var hex = rgbToHex(255-i,0,i);
		    circles[i] = new Circle(ctx, x, y, (i/max)*100, hex);
		    i++;
		}else{
			// if input has changed, reposition shape
			if(lastInputRadius != inputRadius || lastInputDistance != inputDistance){
				radius += inputRadius*fib;
				clear();
				for(var j = 0; j &lt; max; j++){
					radius += inputRadius*fib;
				    var dist = j*inputDistance; //represents distance from object
				    var x = Math.cos(radius*Math.PI/180)*dist + CANVAS_RIGHT/2;
				    var y = Math.sin(radius*Math.PI/180)*dist + CANVAS_BOTTOM/2;
					var hex = rgbToHex(255-j,0,j);
					circles[j].render(x, y, (j/max)*100, hex);
				}
			}
		}
		lastInputRadius = inputRadius;
		lastInputDistance = inputDistance;
	}
	/**
	* Draws circle.
	*/
	function Circle(ctx, x, y, r, hex){
		this.ctx = ctx;
		this.centerX = x;
		this.centerY = y;
		this.radius = r;

		this.render = function render(x, y, r, hex){
			this.centerX = x;
			this.centerY = y;
			this.radius = r;

			this.ctx.beginPath();
			this.ctx.arc(this.centerX, this.centerY, this.radius, 0, 2*Math.PI, false);
			this.ctx.fillStyle = hex;
			this.ctx.fill();
			this.ctx.lineWidth = 2;
			this.ctx.strokeStyle = &quot;black&quot;;
			this.ctx.stroke();
		}
		this.render(this.centerX, this.centerY, this.radius, hex);
	}
	/**
	* Converts RGB values to hexidecimal
	* @param r 0-255 red value
	* @param g 0-255 green value
	* @param b 0-255 blue value
	*/
	function rgbToHex(r, g, b) {
		/**
		* Converts numeric value to base-16
		* @param c		target value
		*/
		function componentToHex(c) {
		    var hex = c.toString(16);
		    return hex.length == 1 ? &quot;0&quot; + hex : hex;
		}

	    return &quot;#&quot; + componentToHex(r) + componentToHex(g) + componentToHex(b);
	}
	/**
	* Clears the canvas
	*/
	function clear(){
		ctx.clearRect(0, 0, CANVAS_RIGHT, CANVAS_BOTTOM);
	}
}
</pre>
<p>It&#8217;s been difficult not having a definitive API documentation like <a href="http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/index.html">ActionScript</a> and <a href="http://processing.org/reference/">Processing</a> have. The best I&#8217;ve found so far has been <a href="http://www.html5canvastutorials.com/">HTML5 Canvas Tutorials</a> accompanied by a lot of O&#8217;Reilly JavaScript books. Coming from an ActionScript background, I&#8217;m still wrapping my head on how every function is an object, and how privatization, and event listening isn&#8217;t quite so baked in. I&#8217;m know the code above could be optimized more&#8211;eliminating globals, calculating x and y-positions once in draw(), etc., but it&#8217;s just a sketch.</p>
<p>I haven&#8217;t quite figured out how to structure my experiments on this blog, but my goal this year is posting more content, and spending less time examining <a href="https://www.facebook.com/">distractions</a> and <a href="http://callofduty.com/">vices</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2012/01/revisiting-interactive-media/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BarcampHbg4</title>
		<link>http://www.mandalatv.net/2012/01/barcamphbg4/</link>
		<comments>http://www.mandalatv.net/2012/01/barcamphbg4/#comments</comments>
		<pubDate>Sun, 08 Jan 2012 20:02:25 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[Harrisburg]]></category>
		<category><![CDATA[socialnetworks]]></category>
		<category><![CDATA[webdesign]]></category>

		<guid isPermaLink="false">http://www.mandalatv.net/?p=1100</guid>
		<description><![CDATA[Time for my obligatory post&#8211;BarCampHbg4 is coming Saturday, March 31, 2012! It&#8217;s hard to believe this will mark the event&#8217;s fourth year&#8230;It&#8217;s nice to see the attendance gets bigger every year. This year, we&#8217;re shooting for at least 200 people, and with over 100 signups and 3 months to go, I think we&#8217;re in pretty [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.barcamphbg.org"><img class="aligncenter size-full wp-image-1101" title="barcamphbg4" src="http://www.mandalatv.net/wp-content/uploads/2012/01/barcamphbg4_3.jpg" alt="" width="600" height="290" /></a></p>
<p>Time for my obligatory post&#8211;<a href="http://www.barcamphbg.org/">BarCampHbg4</a> is coming Saturday, March 31, 2012! It&#8217;s hard to believe this will mark the event&#8217;s fourth year&#8230;It&#8217;s nice to see the attendance gets bigger every year. This year, we&#8217;re shooting for at least 200 people, and with over 100 signups and 3 months to go, I think we&#8217;re in pretty good shape. If you&#8217;re interested in talking technology, social media, education, or mobile, you should definitely <a href="http://barcamphbg4.eventbrite.com/">register</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2012/01/barcamphbg4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Baseball 2011</title>
		<link>http://www.mandalatv.net/2012/01/baseball-2011/</link>
		<comments>http://www.mandalatv.net/2012/01/baseball-2011/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 04:44:46 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[ballparks]]></category>
		<category><![CDATA[orioles]]></category>
		<category><![CDATA[sports]]></category>
		<category><![CDATA[baseball]]></category>
		<category><![CDATA[pirates]]></category>
		<category><![CDATA[Yankees]]></category>

		<guid isPermaLink="false">http://www.mandalatv.net/?p=1092</guid>
		<description><![CDATA[I enjoy attending baseball games. It forces me to block out my schedule, not think about work, and spend time with friends. In 2007 and 2008, I spent a lot of time at Yankee Stadium cheering on the Yankees. It wasn&#8217;t difficult, considering I lived near the stadium, had generous season ticket-holding friends in New [...]]]></description>
			<content:encoded><![CDATA[<p><object width="650" height="488" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="flashvars" value="offsite=true&amp;lang=en-us&amp;page_show_url=%2Fphotos%2Frichhauck%2Fsets%2F72157628709286311%2Fshow%2F&amp;page_show_back_url=%2Fphotos%2Frichhauck%2Fsets%2F72157628709286311%2F&amp;set_id=72157628709286311&amp;jump_to=" /><param name="allowFullScreen" value="true" /><param name="src" value="http://www.flickr.com/apps/slideshow/show.swf?v=109615" /><param name="allowfullscreen" value="true" /><embed width="650" height="488" type="application/x-shockwave-flash" src="http://www.flickr.com/apps/slideshow/show.swf?v=109615" flashvars="offsite=true&amp;lang=en-us&amp;page_show_url=%2Fphotos%2Frichhauck%2Fsets%2F72157628709286311%2Fshow%2F&amp;page_show_back_url=%2Fphotos%2Frichhauck%2Fsets%2F72157628709286311%2F&amp;set_id=72157628709286311&amp;jump_to=" allowFullScreen="true" allowfullscreen="true" /></object></p>
<p>I enjoy attending baseball games. It forces me to block out my schedule, not think about work, and spend time with friends.</p>
<p>In 2007 and 2008, I spent a lot of time at Yankee Stadium cheering on the Yankees. It wasn&#8217;t difficult, considering I lived near the stadium, had generous season ticket-holding friends in New York, and fell out of following baseball after 1994 strike (it didn&#8217;t hurt that my favorite Orioles pitcher&#8211;Mussina, changed to pinstripes, either). When I returned to Central PA at the end of 2008, I sort of went through a withdrawal of not attending baseball games. I tried traveling to the Bronx in 2009, but the commute was brutal (sometimes getting home at 4 a.m. or scrambling for a couch in the city) and costly (sometimes paying up to $60 for parking).</p>
<p>Last year, I bought a partial Orioles season ticket plan and rediscovered my roots, so to say (I briefly went to college in Baltimore and grew up an Orioles fan). My first game was a bit surreal, but I can safely say I&#8217;ve reverted my allegiance back to my current &#8220;home&#8221; team. The shorter commute has also proved to be the perfect amount of time to hang out with friends without feeling the exhaustion of a long trip.</p>
<p>I&#8217;ve started a tradition with one of my brother-in-laws of visiting a new ballpark each year (this year was <a href="http://www.mandalatv.net/2011/08/visiting-pnc-park/">PNC in Pittsburgh</a>). I&#8217;ve also started a tradition of getting a picture with those I attend baseball games with; I&#8217;m posting what I have of 2010 and 2011 (above) online.</p>
<p>I renewed my Orioles seats for 2012, and this year hope to drag a whole new set of people down to the ballpark (possibly including <a href="http://www.flickr.com/photos/richhauck/6632644783/">my wife</a>, who isn&#8217;t a baseball fan but humors me). If we&#8217;re friends and you harbor some secret interest for going to games, you should let me know <img src='http://www.mandalatv.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2012/01/baseball-2011/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Christmas Card 2011</title>
		<link>http://www.mandalatv.net/2011/12/christmas-card-2011/</link>
		<comments>http://www.mandalatv.net/2011/12/christmas-card-2011/#comments</comments>
		<pubDate>Sat, 24 Dec 2011 00:22:35 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[art]]></category>
		<category><![CDATA[card]]></category>
		<category><![CDATA[christmas]]></category>
		<category><![CDATA[illustration]]></category>

		<guid isPermaLink="false">http://blog.mandalatv.net/?p=1081</guid>
		<description><![CDATA[Well, I wrapped up this year&#8217;s Christmas card. I actually started with some concepts on paper&#8211;before inevitably moving to my iPad and Cintiq. I had another concept I liked better, but that&#8217;ll be for next year. I still prefer sending out my custom-drawn cards, but am getting slight pressure from the Mrs. to do one [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.mandalatv.net/wp-content/uploads/2011/12/card2011.jpg"><br />
<img class="aligncenter size-full wp-image-1082" title="" src="http://www.mandalatv.net/wp-content/uploads/2011/12/card2011.jpg" alt="Christmas Card 2011" width="650" height="487" /></a></p>
<p>Well, I wrapped up this year&#8217;s Christmas card. I actually started with some concepts on paper&#8211;before inevitably moving to my iPad and Cintiq. I had another concept I liked better, but that&#8217;ll be for next year.</p>
<p>I still prefer sending out my custom-drawn cards, but am getting slight pressure from the Mrs. to do one of those cheesy, glossy postcards with canned messages&#8211;just so people can actually see our kids. I suppose I&#8217;ll cave in once those photography studios offer <a href="http://www.npr.org/blogs/thetwo-way/2011/12/15/143800758/puerto-rican-mayor-causes-a-stir-with-wild-christmas-card">cards like this</a>.</p>
<p>In the meanwhile, if there&#8217;s any friends of mine that didn&#8217;t get one of these cards but want on the list, send me your address. <img src='http://www.mandalatv.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2011/12/christmas-card-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m a sucker for good candy packaging.</title>
		<link>http://www.mandalatv.net/2011/12/im-a-sucker-for-good-candy-packaging/</link>
		<comments>http://www.mandalatv.net/2011/12/im-a-sucker-for-good-candy-packaging/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 19:52:39 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[food and drink]]></category>
		<category><![CDATA[NYC]]></category>

		<guid isPermaLink="false">http://blog.mandalatv.net/?p=1076</guid>
		<description><![CDATA[I picked up this little guy from Economy Candy the other day. This Bob-omb&#8217;s top unscrews to contain a dipper with cherry-flavored sugar, but let&#8217;s be honest, I didn&#8217;t buy it for the candy.]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-1077" title="bobomb" src="http://www.mandalatv.net/wp-content/uploads/2011/12/bobomb.jpg" alt="" width="650" height="488" /><br />
I picked up this little guy from <a href="http://economycandy.com/">Economy Candy</a> the other day. This Bob-omb&#8217;s top unscrews to contain a dipper with cherry-flavored sugar, but let&#8217;s be honest, I didn&#8217;t buy it for the candy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2011/12/im-a-sucker-for-good-candy-packaging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bye Bye Facebook</title>
		<link>http://www.mandalatv.net/2011/12/bye-bye-facebook/</link>
		<comments>http://www.mandalatv.net/2011/12/bye-bye-facebook/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 14:54:30 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[socialnetworks]]></category>
		<category><![CDATA[twitter post]]></category>

		<guid isPermaLink="false">http://blog.mandalatv.net/?p=1060</guid>
		<description><![CDATA[Last week I deactivated my Facebook account. I suppose I ought to apologize as, from what I&#8217;ve heard, it&#8217;s proper etiquette to notify friends that you&#8217;re closing your page down. I had a surprised wife who went from being &#8220;married to Richard Hauck&#8221; to just being &#8220;married&#8221;, got a text or two, as well as [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I deactivated my Facebook account.</p>
<p>I suppose I ought to apologize as, from what I&#8217;ve heard, it&#8217;s proper etiquette to notify friends that you&#8217;re closing your page down. I had a surprised wife who went from being &#8220;married to Richard Hauck&#8221; to just being &#8220;married&#8221;, got a text or two, as well as a phone call from a friend that thought I&#8217;d silently unfriended him out of anger (a childish tactic I hope I never execute). For the most part, my disappearance has gone unnoticed.</p>
<p>Apparently, I&#8217;m not alone, according to <a href="http://www.nytimes.com/2011/12/14/technology/shunning-facebook-and-living-to-tell-about-it.html?_r=1&amp;scp=3&amp;sq=facebook&amp;st=cse">this NY Times article</a>.</p>
<p>I didn&#8217;t delete my account because I&#8217;m assuming that I&#8217;ll inevitably reactivate it&#8211;either for a client job that requires it or from just plain missing it. Having no access has already made it difficult to confirm mailing addresses and access <a href="http://www.spotify.com">Spotify</a>.</p>
<p>Why&#8217;d I delete it? It wasn&#8217;t for security reasons (though perhaps it should have been, considering how <a href="http://techland.time.com/2011/09/26/facebook-cookies-work-even-if-youre-logged-out-for-your-own-good/">Facebook cookies infinitely track you</a>), rather I tend to think I&#8217;ve ruined Facebook for myself, as my wall&#8217;s been overrun by acquaintances and high school friends I haven&#8217;t seen since I graduated. My Google+ account strangely started becoming Facebook to my Facebook account, as the latter seemed to have transformed into MySpace.</p>
<p>I could unsubscribe from these folks, but I also don&#8217;t like how Facebook has become the defacto use of the web. Have pictures to post? Don&#8217;t use <a href="http://www.flickr.com/">Flickr</a> or <a href="http://instagram.com/">Instagram</a>, use Facebook! Have a party to send invites to? Create a Facebook event! Need to log in? Don&#8217;t use <a href="http://openid.net/">OpenID</a> directly, use your Facebook account!</p>
<p>So far, I don&#8217;t miss it. I might start blogging more, as well as try out other accounts, such as <a href="https://path.com/">Path</a> and <a href="https://joindiaspora.com/">Diaspora</a>. Or, I might become more social by not using these services as much. Time will tell.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2011/12/bye-bye-facebook/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Biking the Abandoned Turnpike</title>
		<link>http://www.mandalatv.net/2011/10/biking-the-abandoned-turnpike/</link>
		<comments>http://www.mandalatv.net/2011/10/biking-the-abandoned-turnpike/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 07:55:10 +0000</pubDate>
		<dc:creator>Rich Hauck</dc:creator>
				<category><![CDATA[travel]]></category>
		<category><![CDATA[abandoned]]></category>
		<category><![CDATA[turnpike]]></category>

		<guid isPermaLink="false">http://blog.mandalatv.net/?p=1044</guid>
		<description><![CDATA[I feel somewhat guilty for bringing more attention this rather hidden gem, but I found it to be a photographer&#8217;s paradise. If you&#8217;re unfamiliar with the abandoned turnpike, it&#8217;s a 13-mile stretch of highway off of Breezewood (between Harrisburg and Pittsburgh) that was active from 1940 to 1968. The turnpike commission bypassed this section to [...]]]></description>
			<content:encoded><![CDATA[<p>I feel somewhat guilty for bringing more attention this rather hidden gem, but I found it to be a photographer&#8217;s paradise.</p>
<p>If you&#8217;re unfamiliar with the abandoned turnpike, it&#8217;s a 13-mile stretch of highway off of Breezewood (between Harrisburg and Pittsburgh) that was active from 1940 to 1968. The turnpike commission bypassed this section to alleviate tunnel traffic. As a result, the Sideling Hill and Rays Hill tunnels were abandoned, and a travel plaza was leveled.</p>
<p>The property was sold in 2001 to the Southern Alleghenies Conservancy, and has since been passed along to the Friends of Pike 2 Bike.</p>
<p>The land is free to bike on, but at one&#8217;s own risk. I rode with a group of roughly 12 people, and after making the trek, I would discourage anyone from going out there on their own.</p>
<p>Kudos to <a href="http:www.floor9.com">floor9.com</a> for organizing this trip.</p>
<div class="wp-caption aligncenter" style="width: 660px"><img title="_MG_8369" src="http://www.mandalatv.net/wp-content/uploads/2011/10/IMG_1544.jpg" alt="Abandoned Turnpike" width="650" height="433" /><p class="wp-caption-text">Only 8 miles of the 13 miles are accessible, as each end remains the private property of the turnpike commission. As you can see, the condition of the road is slowly deteriorating.</p></div>
<div id="attachment_1051" class="wp-caption aligncenter" style="width: 660px"><img class="size-full wp-image-1051" title="_MG_8475" src="http://www.mandalatv.net/wp-content/uploads/2011/10/MG_8369.jpg" alt="Rays Hill Tunnel" width="650" height="433" /><p class="wp-caption-text">The entryway to the Rays Hill Tunnel. The doors to these tunnels were either soldered shut or missing.</p></div>
<div id="attachment_1045" class="wp-caption aligncenter" style="width: 660px"><img class="size-full wp-image-1045" title="_MG_8369" src="http://www.mandalatv.net/wp-content/uploads/2011/10/MG_8374.jpg" alt="" width="650" height="433" /><p class="wp-caption-text">The Sideling Hill Tunnel is roughly 1.3 miles long and the Rays Hill Tunnel is ~0.5 miles long. Bike headlights are a must, especially with Sideling Hill, as you can&#39;t see the end of the opposite side.</p></div>
<div id="attachment_1045" class="wp-caption aligncenter" style="width: 660px"><img class="size-full wp-image-1045" title="_MG_8369" src="http://www.mandalatv.net/wp-content/uploads/2011/10/MG_8422.jpg" alt="Sideling Hill" width="650" height="433" /><p class="wp-caption-text">We took the steps up to the top of the tunnel where we got to see the huge exhaust fans. These fans were found above each end of the tunnel. Sideling Hill&#39;s fans were painted with graffiti. The entrance way (center) leads to an access tunnel above the road.</p></div>
<div id="attachment_1045" class="wp-caption aligncenter" style="width: 660px"><img class="size-full wp-image-1045" title="_MG_8369" src="http://www.mandalatv.net/wp-content/uploads/2011/10/MG_8438.jpg" alt="Above the tunnel" width="650" height="433" /><p class="wp-caption-text">Above each tunnel runs an equally long access tunnel. Support beams run across the center, and a rusted track remains for what could possibly have been a rail car. This portion was a bit treacherous, as, despite what this long exposure displays, the hall was pitch black, and large holes in the floor remain where lights once hung.</p></div>
<div id="attachment_1045" class="wp-caption aligncenter" style="width: 660px"><img class="size-full wp-image-1045" title="_MG_8369" src="http://www.mandalatv.net/wp-content/uploads/2011/10/MG_8449.jpg" alt="In the Tunnel" width="650" height="433" /><p class="wp-caption-text">Here&#39;s a shot from inside the tunnel, looking east. Some of the square &quot;windows&quot; showed the bedrock. From what I&#39;ve been told, these tunnels originated as railway tunnels, and the current tunnel doesn&#39;t actually touch the underlying rock.</p></div>
<div id="attachment_1045" class="wp-caption aligncenter" style="width: 660px"><img class="size-full wp-image-1045" title="_MG_8369" src="http://www.mandalatv.net/wp-content/uploads/2011/10/MG_8469.jpg" alt="Exhaust Fans" width="650" height="433" /><p class="wp-caption-text">Here are the Rays Hill Tunnel exhaust fans.</p></div>
<div id="attachment_1045" class="wp-caption aligncenter" style="width: 660px"><img class="size-full wp-image-1045" title="_MG_8369" src="http://www.mandalatv.net/wp-content/uploads/2011/10/MG_8475.jpg" alt="" width="650" height="433" /><p class="wp-caption-text">These fans showed quite a bit of rust, but not much graffiti. This was probably due to the fact that the staircase had rusted and collapsed. Some of us crawled through the top and worked our way down.</p></div>
<div id="attachment_1056" class="wp-caption aligncenter" style="width: 660px"><a href="http://www.mandalatv.net/wp-content/uploads/2011/10/IMG_1534.jpg"><img class="size-full wp-image-1056" title="IMG_1534" src="http://www.mandalatv.net/wp-content/uploads/2011/10/IMG_1534.jpg" alt="End" width="650" height="485" /></a><p class="wp-caption-text">At the end of the 8-mile stretch is PA Turnpike-owned private property. Apparently, a bridge spanned the gap to the east connection, but was torn down in 2005 since it was no longer structually sound.</p></div>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.mandalatv.net/2011/10/biking-the-abandoned-turnpike/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

