<?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>Silverlight &#124; WPF &#124; Microsoft.Net &#187; Uncategorized</title>
	<atom:link href="http://joel.neubeck.net/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://joel.neubeck.net</link>
	<description>Simplifing structure without changing results</description>
	<lastBuildDate>Fri, 01 Apr 2011 21:34:22 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1</generator>
		<item>
		<title>Technology saves USA gold in 100 m Butterfly</title>
		<link>http://joel.neubeck.net/2008/08/technology-saves-usa-gold-in-100-m-butterfly/</link>
		<comments>http://joel.neubeck.net/2008/08/technology-saves-usa-gold-in-100-m-butterfly/#comments</comments>
		<pubDate>Sat, 16 Aug 2008 20:40:00 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://joel.neubeck.net/?p=230</guid>
		<description><![CDATA[If you are a fan of swimming last night was an amazing finish in the 100m Butterfly.  To the naked eye it looked like Michael Phelps had been out touched by Milorad Cavic. Thanks to some amazing technology, he  won by 10-thousandth of a second. Could the incredibly sensitive touch been wrong?  On TV their [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://joel.neubeck.net/wp-content/uploads/2008/08/opgm-37117-mid.jpg"><img class="alignleft size-medium wp-image-231" title="opgm-37117-mid" src="http://joel.neubeck.net/wp-content/uploads/2008/08/opgm-37117-mid-300x227.jpg" alt="" width="300" height="227" /></a>If you are a fan of swimming last night was an amazing finish in the 100m Butterfly.  To the naked eye it looked like Michael Phelps had been out touched by Milorad Cavic. Thanks to some amazing technology, he  won by 10-thousandth of a second.</p>
<p>Could the incredibly sensitive touch been wrong?  On TV their was no doubt that it looked like he lost, most above water camera views made it look like he lost by a finger length.</p>
<p>That was until we saw this crazy underwater camera shot.  Impressive! Technology really doesn&#8217;t lie!</p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2008/08/technology-saves-usa-gold-in-100-m-butterfly/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Silverlight Circular Motion Animation</title>
		<link>http://joel.neubeck.net/2008/05/silverlight-circular-motion-animation/</link>
		<comments>http://joel.neubeck.net/2008/05/silverlight-circular-motion-animation/#comments</comments>
		<pubDate>Tue, 13 May 2008 06:36:56 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Microsoft.Net 2.0]]></category>
		<category><![CDATA[Silverlight]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[Circular Rotation]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[DispatcherTimer]]></category>
		<category><![CDATA[Math.Cos]]></category>
		<category><![CDATA[RotateTransform]]></category>
		<category><![CDATA[TranslateTransform]]></category>

		<guid isPermaLink="false">http://joel.neubeck.net/2008/05/silverlight-circular-motion-animation/</guid>
		<description><![CDATA[In this sample I demonstrate how to take a series of UserControls (Simple ellipses) and rotate each in a counter-clockwise circular motion. The first step in the process is to define a user control and expose both the TranslateTransform and RotateTransform from the TransformGroup object.&#160; This allows us to rotate and move each user control [...]]]></description>
			<content:encoded><![CDATA[<p>In this sample I demonstrate how to take a series of UserControls (Simple ellipses) and rotate each in a counter-clockwise circular motion.
<p><iframe src="/wp-content/uploads/2008/05/CircularMotion/default.html" width="300" height="300"></iframe></p>
<p>The first step in the process is to define a user control and expose both the TranslateTransform and RotateTransform from the TransformGroup object.&nbsp; This allows us to rotate and move each user control on a specified tick (DispatcherTimer tick).&nbsp; The timer is controlled by the main page.xaml.</p>
<p>In this example, I start with a single &#8220;ball&#8221;, begin rotating it, and every second add an additional ball to the animation.&nbsp; Instead of having each user control have its own animation, I have chosen to use a single DispatcherTimer that iterates over a generic collection of UserControls, to generate the circular motion</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
</pre></td><td class="code"><pre class="c-sharp" style="font-family:monospace;">void Page_Loaded(object sender, RoutedEventArgs e)
{
    _centerX = this.Width/2;
    _centerY = this.Height / 2;
    _timerAnimation.Interval = TimeSpan.FromMilliseconds(20);
    _timerAnimation.Tick += new EventHandler(_timer_Tick);
&nbsp;
    _timerInserter.Interval = TimeSpan.FromSeconds(1);
    _timerInserter.Tick += new EventHandler(_timer2_Tick);
&nbsp;
    PlaceBall(&quot;Bo&quot;);
&nbsp;
    _timerAnimation.Start();
    _timerInserter.Start();
}</pre></td></tr></table></div>

<p>In this handler I determine the center of my circle, place the first control, and define two DispatcherTimers, one for the animation, and one for inserting additional controls into the main Grid. Since the speed of rotation is consistent for each &#8220;ball&#8221;, I am able to use a single timer which iterates over a generic collection of UserControls. Each time the Animation timer fires, I will call the following method.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
</pre></td><td class="code"><pre class="c-sharp" style="font-family:monospace;">void _timer_Tick(object sender, EventArgs e)
{
    foreach(KeyValuePair&lt;string ,BALL&gt; ball in _balls)
    {
        ball.Value.Rotate.Angle -= 5;
        ball.Value.Rotate.Angle %= 360;
        // Transform angle degrees to radian value
        double radians = ((ball.Value.Rotate.Angle / 180) * Math.PI);
        ball.Value.Translate.X = _centerX + Math.Cos(radians) * _radius;
        ball.Value.Translate.Y = _centerY + Math.Sin(radians) * _radius;
    }
}</pre></td></tr></table></div>

<p>The math in this method is pretty basic, on each tick I rotate the ball between 1 and 360 degrees. The angle I am looking for is the remainder of the angle of my rotation from 360 degrees.  To calculate this, I apply the modulus assignment operator to my new angle. To determine the appropriate X and Y position I transform my angle into Radians and apply a bit of trigonometry to calculate X/Y based on the sin and cosine of the radian. Thanks again to Paul Ortchanian flash site, <a href="http://tinyurl.com/6rhvrs" target="_blank">reflektions</a> for a Flash sample I could translate into Silverlight.</p>
<p>Code: <a onclick="javascript: pageTracker._trackPageview('/code/CircularMotion.zip');" href="/wp-content/uploads/2008/05/CircularMotion/CircularMotion.zip">CircularMotion.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2008/05/silverlight-circular-motion-animation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Creepy Girl From MotionPortrait</title>
		<link>http://joel.neubeck.net/2008/03/creepy-girl-from-motionportrait/</link>
		<comments>http://joel.neubeck.net/2008/03/creepy-girl-from-motionportrait/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 03:53:23 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[flash]]></category>

		<guid isPermaLink="false">http://joel.neubeck.net/2008/03/creepy-girl-from-motionportrait/</guid>
		<description><![CDATA[I wish I could remember where I stumbled upon this, but you have to check out this creepy Flash demo. Move your mouse around and watch the model. The movement is not super fluid, but impressive nonetheless. A company by the name of MotionPortrait created the demo.]]></description>
			<content:encoded><![CDATA[<p><a title="cuboocc.jpg" href="http://cubo.cc/" target="blank"><img class="alignleft size-thumbnail wp-image-122" title="cuboocc1" src="http://joel.neubeck.net/wp-content/uploads/2008/03/cuboocc1-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>I wish I could remember where I stumbled upon this, but you have to check out this creepy Flash demo.  Move your mouse around and watch the model.  The movement is not super fluid, but impressive nonetheless.  A company by the name of MotionPortrait created the demo.</p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2008/03/creepy-girl-from-motionportrait/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Security lapse exposes Facebook photos</title>
		<link>http://joel.neubeck.net/2008/03/security-lapse-exposes-facebook-photos/</link>
		<comments>http://joel.neubeck.net/2008/03/security-lapse-exposes-facebook-photos/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 19:54:16 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Privacy]]></category>

		<guid isPermaLink="false">http://joel.neubeck.net/2008/03/security-lapse-exposes-facebook-photos/</guid>
		<description><![CDATA[Check out this article on Cnn that describes the recent privacy breach that caught Facebook with there pants down.  A security lapse allowed strangers to access photos of Facebook member and their friends, even if the privacy settings were set to restrict who could see the photos. With over 67 million active users, Facebook will [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://joel.neubeck.net/wp-content/uploads/2008/03/welcome_3.gif" alt="welcome_3.gif" class="imageframe imgalignleft" height="90" width="190" />Check out this article on <a href="http://www.cnn.com/2008/TECH/03/25/facebook.security.ap/index.html" title=" Security lapse exposes Facebook photos" target="_blank">Cnn</a> that describes the recent privacy breach that caught Facebook with there pants down.  A security lapse allowed strangers to access photos of Facebook member and their friends, even if the privacy settings were set to restrict who could see the photos.</p>
<p>With over 67 million active users, Facebook will always be suspect to hackers looking for a way to circumvent its user privacy.  For reasons beyond my comprehension, our generation of Internet users have little trepidation about what information we place in the hands of others.   When Facebook made the decision to open ups its platform they put upon them self a huge risk that someday the breach will be very serious.   Privacy is not a setting, but a caution we should all take before we choose to upload a private photo or other personal information to the 5th most-trafficked website in the world .</p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2008/03/security-lapse-exposes-facebook-photos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quote of the Day</title>
		<link>http://joel.neubeck.net/2007/05/quote-of-the-day/</link>
		<comments>http://joel.neubeck.net/2007/05/quote-of-the-day/#comments</comments>
		<pubDate>Fri, 04 May 2007 17:06:00 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.neubeck.us/joel/?p=9</guid>
		<description><![CDATA[&#8220;There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.&#8221; —C.A.R. Hoare]]></description>
			<content:encoded><![CDATA[<p>&#8220;There are two ways of constructing a software design. One way is to make it so simple that there are obviously no deficiencies. And the other way is to make it so complicated that there are no obvious deficiencies.&#8221;<br />
—C.A.R. Hoare</p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2007/05/quote-of-the-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apollo</title>
		<link>http://joel.neubeck.net/2007/03/apollo/</link>
		<comments>http://joel.neubeck.net/2007/03/apollo/#comments</comments>
		<pubDate>Thu, 29 Mar 2007 15:26:00 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.neubeck.us/joel/?p=14</guid>
		<description><![CDATA[Check out this new product from Adobe Labs. It&#8217;s a cross-operating system runtime being developed that allows developers to leverage Flash, Flex, HTML, JavaScript, and Ajax to build and deploy rich Internet applications (RIAs) to the desktop. http://labs.adobe.com/technologies/apollo/]]></description>
			<content:encoded><![CDATA[<p>Check out this new product from Adobe Labs. It&#8217;s a cross-operating system runtime being developed that allows developers to leverage Flash, Flex, HTML, JavaScript, and Ajax to build and deploy rich Internet applications (RIAs) to the desktop.</p>
<p><a href="http://labs.adobe.com/technologies/apollo/">http://labs.adobe.com/technologies/apollo/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2007/03/apollo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction</title>
		<link>http://joel.neubeck.net/2007/03/introduction-2/</link>
		<comments>http://joel.neubeck.net/2007/03/introduction-2/#comments</comments>
		<pubDate>Wed, 21 Mar 2007 04:52:00 +0000</pubDate>
		<dc:creator>joel</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.neubeck.us/joel/?p=17</guid>
		<description><![CDATA[My name is Joel, and I am a Microsoft.NET system architect and Director of Development for a leading interactive development firm located in Tempe, Arizona. Our firm designs and develops a wide range of custom web applications which leverage Flash, Ajax, ASP.NET and the Microsoft.Net Framework.]]></description>
			<content:encoded><![CDATA[<p>My name is Joel, and I am a Microsoft.NET system architect and Director of Development for a leading interactive development firm located in Tempe, Arizona. Our firm designs and develops a wide range of custom web applications which leverage Flash, Ajax, ASP.NET and the Microsoft.Net Framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://joel.neubeck.net/2007/03/introduction-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

