<?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>Area72</title>
	<atom:link href="http://area72.ro/feed" rel="self" type="application/rss+xml" />
	<link>http://area72.ro</link>
	<description></description>
	<lastBuildDate>Fri, 25 Feb 2011 19:48:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>New iPhone jailbreak exploit discovered in iOS 4.1</title>
		<link>http://area72.ro/news/new-iphone-jailbreak-exploit-discovered.html</link>
		<comments>http://area72.ro/news/new-iphone-jailbreak-exploit-discovered.html#comments</comments>
		<pubDate>Fri, 10 Sep 2010 15:58:48 +0000</pubDate>
		<dc:creator>Kyprulez</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[iphone boot room exploit]]></category>
		<category><![CDATA[iphone exploit]]></category>
		<category><![CDATA[iphone ios 4.1 exploit]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1530</guid>
		<description><![CDATA[iPhone hacker pod2g revealed a new boot exploit just a few minutes after the iOS 4.1 hit the iTunes stores. What&#8217;s special about it is the fact that the boot room is a non-rewritable component of the iOS. That basically means that whatever new firmware Apple releases, it can&#8217;t fix this problem. Their only solution [...]<p><a href="http://area72.ro/news/new-iphone-jailbreak-exploit-discovered.html">New iPhone jailbreak exploit discovered in iOS 4.1</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>iPhone hacker <a href="http://twitter.com/pod2g">pod2g</a> revealed a new boot exploit just a few minutes after the iOS 4.1 hit the iTunes stores. What&#8217;s special about it is the fact that the boot room is a non-rewritable component of the iOS. That basically means that whatever new firmware Apple releases, it can&#8217;t fix this problem. Their only solution is to ship the new devices patched from the factory.</p>
<div style="clear: both;"></div>
<p><a href="http://www.mobilecrunch.com/2010/09/08/iphone-hacker-discovers-a-new-exploit-for-jailbreaking-if-apple-wants-to-fix-it-new-hardware-has-to-be-shipped/">Read more</a></p>
<p><a href="http://area72.ro/news/new-iphone-jailbreak-exploit-discovered.html">New iPhone jailbreak exploit discovered in iOS 4.1</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/news/new-iphone-jailbreak-exploit-discovered.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Orange Website Hacked</title>
		<link>http://area72.ro/news/orange-website-hacked.html</link>
		<comments>http://area72.ro/news/orange-website-hacked.html#comments</comments>
		<pubDate>Sat, 04 Sep 2010 19:31:23 +0000</pubDate>
		<dc:creator>Andrey</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[orange]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[sql statements]]></category>
		<category><![CDATA[structured query language]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1502</guid>
		<description><![CDATA[Just a few days ago World Central Security published an article claiming that one of Orange&#8217;s website is vurnable to sqli (Structured Query Language Injection), which has allowed access to over 60,000 accounts. Moreover, as you can see from the screenshots below their passwords are stored in plain text, thus allowing access to anyone of those [...]<p><a href="http://area72.ro/news/orange-website-hacked.html">Orange Website Hacked</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Just a few days ago <a href="http://cwsecurity.baywords.com">World Central Security</a> published an <a href="http://cwsecurity.baywords.com/2010/08/27/orange/">article</a> claiming that one of Orange&#8217;s website is vurnable to sqli (Structured Query Language Injection), which has allowed access to over 60,000 accounts. Moreover, as you can see from the screenshots below their passwords are stored in plain text, thus allowing access to anyone of those customers.</p>
<p>The vulnerability is present when user input is either incorrectly filtered for string literal escape characters embedded in SQL statements or user input is not strongly typed and thereby unexpectedly executed, thus enabling malicious queries to be executed.</p>
<p style="text-align: center;">Mysql information</p>
<p><a href="http://area72.ro/wp-content/uploads/2010/09/orange1.png"><img class="aligncenter size-medium wp-image-1503" title="orange1" src="http://area72.ro/wp-content/uploads/2010/09/orange1-300x240.png" alt="" width="300" height="240" /></a></p>
<p style="text-align: center;">Here in this table we can see the name, nickname and password of the admins</p>
<p><a href="http://area72.ro/wp-content/uploads/2010/09/orange2.png"><img class="aligncenter size-medium wp-image-1504" title="orange2" src="http://area72.ro/wp-content/uploads/2010/09/orange2-300x240.png" alt="" width="300" height="240" /></a></p>
<p>More information regarding SQL Injection can be found <a href="http://en.wikipedia.org/wiki/SQL_injection">here</a>.</p>
<p><a href="http://area72.ro/news/orange-website-hacked.html">Orange Website Hacked</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/news/orange-website-hacked.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Login via Facebook in ASP.NET</title>
		<link>http://area72.ro/general-it/how-to-login-via-facebook-in-asp-net.html</link>
		<comments>http://area72.ro/general-it/how-to-login-via-facebook-in-asp-net.html#comments</comments>
		<pubDate>Tue, 10 Aug 2010 11:21:30 +0000</pubDate>
		<dc:creator>Kyprulez</dc:creator>
				<category><![CDATA[General IT]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[asp facebook login]]></category>
		<category><![CDATA[asp.net facebook login]]></category>
		<category><![CDATA[facebook login]]></category>
		<category><![CDATA[facebook login email]]></category>
		<category><![CDATA[login via facebook]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1399</guid>
		<description><![CDATA[Recently I have encountered some nasty problems trying to build a Facebook login system. That&#8217;s why I am going to explain a full tutorial about every aspect you need to know about it. 1. Register your application Go to http://developers.facebook.com/setup/ and enter the site name(it could be any) and the site URL(if you&#8217;re testing locally, [...]<p><a href="http://area72.ro/general-it/how-to-login-via-facebook-in-asp-net.html">How to Login via Facebook in ASP.NET</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Recently I have encountered some nasty problems trying to build a Facebook login system. That&#8217;s why I am going to explain a full tutorial about every aspect you need to know about it.</p>
<div style="clear: both;"></div>
<h4>1. Register your application</h4>
<p>Go to <a href="http://developers.facebook.com/setup/">http://developers.facebook.com/setup/</a> and enter the site name(it could be any) and the site URL(if you&#8217;re testing locally, type &#8220;http://localhost/&#8221;). With that set-up click on &#8220;Create application&#8221;.</p>
<p><a href="http://area72.ro/wp-content/uploads/2010/08/facebook-create-application-id.png"><img src="http://area72.ro/wp-content/uploads/2010/08/facebook-create-application-id-300x275.png" alt="facebook-create-application-id" title="facebook-create-application-id" width="300" height="275" class="aligncenter size-medium wp-image-1402" /></a></p>
<p>Immediately, you will be presented your application&#8217;s settings. What you need is the &#8220;App ID&#8221;. In this case is &#8220;125512450828469&#8243;.</p>
<p><a href="http://area72.ro/wp-content/uploads/2010/08/facebook-create-application-id-settings.png"><img src="http://area72.ro/wp-content/uploads/2010/08/facebook-create-application-id-settings-300x113.png" alt="" title="facebook-create-application-id-settings" width="300" height="113" class="aligncenter size-medium wp-image-1404" /></a></p>
<h4>2. The HTML </h4>
<p><strong style="font-size: 13px;">2.1. Facebook Namespace</strong></p>
<p>Add the following namespace to the html -> <strong>xmlns:fb=&#8221;http://www.facebook.com/2008/fbml&#8221; xml:lang=&#8221;en&#8221;</strong><br />
So the html tag should look like this: <strong>&lt;html xmlns=&#8221;http://www.w3.org/1999/xhtml&#8221; xmlns:fb=&#8221;http://www.facebook.com/2008/fbml&#8221; xml:lang=&#8221;en&#8221;&gt;</strong></p>
<p><strong style="font-size: 13px;">2.2. Facebook Scripts</strong></p>
<p>At the end of the document add the following scripts:</p>
<pre name="code" class="html">
&lt;div id="fb-root"&gt;&lt;/div&gt;
&lt;script src="http://connect.facebook.net/en_US/all.js"&gt;&lt;/script&gt;
&lt;script>
    FB.init({ appId: 'your App ID', status: true, cookie: true, xfbml: true });
    FB.Event.subscribe('auth.sessionChange', function (response) {
        if (response.session) {
            // A user has logged in, and a new cookie has been saved
        } else {
            // The user has logged out, and the cookie has been cleared
        }
    });
&lt;/script&gt;
</pre>
<p>Insert your Id into the &#8220;appId&#8221; property.</p>
<p><strong style="font-size: 13px;">2.3. Facebook login button</strong></p>
<p>The last step of the HTML is to add the Facebook login button. You can place the button wherever you want. It has the following form:</p>
<p><strong>&lt;fb:login-button&gt;Your button text here&lt;/fb:login-button&gt;</strong></p>
<p>You can type anything you want to appear on the button between the tags. In order to get the e-mail of the user you are trying to log in, set the perms attribute to &#8220;email&#8221;. So here&#8217;s the correct version:</p>
<p><strong>&lt;fb:login-button perms=&#8221;email&#8221;&gt;Login via Facebook!&lt;/fb:login-button&gt;</strong></p>
<h4>3. The code and how it works </h4>
<pre name="code" class="c#">
private string FacebookLogin()
{
    string appId = "your App ID";
    string cookieValue, accessToken, uid, url, userInformation, email = null;
    Regex getValues;
    Match infoMatch;
    MatchCollection valuesCollection;
    WebClient client;

    try
    {
            // Get the cookie
        cookieValue = Request.Cookies["fbs_" + appId].Value;

            // Get the values
        getValues = new Regex(@"(?&lt;==)[^&#038;]+");
        valuesCollection = getValues.Matches(cookieValue);

            /* The access_token and uid parameters are the first,
respectively last, in the cookie */
        accessToken = valuesCollection[0].ToString();
        uid = valuesCollection[5].ToString().Replace(@"""", "");

            // Build the URL and download it
        url = "https://graph.facebook.com/" + uid +
               "?access_token=" + accessToken;
        client = new WebClient();
        userInformation = client.DownloadString(url);

            // Get the email address
         getValues = new Regex("(?&lt;=\"email\":\")(.+?)(?=\")");
         infoMatch = getValues.Match(userInformation);
         email = infoMatch.Value;
    }
    catch (Exception) { }

    return email;
}
</pre>
<p>Replace the appId with yours. Go ahead and login with a valid Facebook account.<br />
Now, the cookie &#8220;fbs_&#8221; + appId holds the required information.<br />
This is how it looks in my case:</p>
<p><strong>&#8220;access_token=125512450828469%7C2.qi_hzJprQ7qGp7NJfFQwLw__.3600.1281441600-<br />
100000714527321%7CXqRVpjBgLyZ0MQ4r7_GZmY4CpOw.&#038;expires=1281441600&#038;secret=T2bCRUnZrziKQxGAFAkQTg__&#038;session_key=2.qi_hzJprQ7qGp7NJfFQwLw__.3600.1281441600-100000714527321&#038;sig=0cd8f3dd46fc23d9f1e66b57a9debea6&#038;uid=100000714527321&#8243;</strong></p>
<p>We basically need 2 values: the access token and the uid, because this is how you access the user&#8217;s information in Facebook&#8217;s Graph:<br />
<strong>&#8220;https://graph.facebook.com/&#8221; + uid + &#8220;?access_token=&#8221; + access token;</strong></p>
<p>In order to get them, I firstly used a pretty Regex ((?&lt;==)[^&#038;]+) to extract all of them.</p>
<p><a href="http://area72.ro/wp-content/uploads/2010/08/login-via-facebook-cookie-regex.png"><img src="http://area72.ro/wp-content/uploads/2010/08/login-via-facebook-cookie-regex-300x57.png" alt="login-via-facebook-cookie-regex" title="login-via-facebook-cookie-regex" width="300" height="57" class="aligncenter size-medium wp-image-1437" /></a></p>
<p>After you have the whole values, get the access token (the first value in the collection) and the uid (the last value in the collection) individually.<br />
Now that you have them, build the URL after the model above. If you&#8217;re curious to access the URL, you&#8217;ll see the data returned as JSON, that is organized as: &#8220;parameter&#8221;: &#8220;value&#8221;.<br />
Using the last Regex, <strong>(?&lt;=\&#8221;email\&#8221;:\&#8221;)(.+?)(?=\&#8221;)</strong> you get the exact e-mail value that you needed to operate on. Now it&#8217;s up to you to decide what your application does with the user&#8217;s Facebook e-mail. You can check if the e-mail is registered in your database and login the user, or redirect him to the registration page.</p>
<p>Hope you enjoyed the tutorial. Stay tuned for more.</p>
<p><a href="http://area72.ro/general-it/how-to-login-via-facebook-in-asp-net.html">How to Login via Facebook in ASP.NET</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/general-it/how-to-login-via-facebook-in-asp-net.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Resources &#8211; 9 Free Icons Pack</title>
		<link>http://area72.ro/resources/9-free-icons-pack.html</link>
		<comments>http://area72.ro/resources/9-free-icons-pack.html#comments</comments>
		<pubDate>Sat, 24 Jul 2010 11:38:42 +0000</pubDate>
		<dc:creator>Kyprulez</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[download icons pack]]></category>
		<category><![CDATA[free icons pack]]></category>
		<category><![CDATA[web 2.0 icons pack]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1392</guid>
		<description><![CDATA[Free to use for non-commercial purposes. The pack includes 9 icons in the following sizes: 256 x 256 128 x 128 64 x 64 32 x 32 Leave a comment if you like them. Enjoy! Download here Resources &#8211; 9 Free Icons Pack is a post from: Area72<p><a href="http://area72.ro/resources/9-free-icons-pack.html">Resources &#8211; 9 Free Icons Pack</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Free to use for non-commercial purposes. The pack includes 9 icons in the following sizes:<br />
256 x 256<br />
128 x 128<br />
64 x 64<br />
32 x 32<br />
Leave a comment if you like them. Enjoy!</p>
<p><a href="http://area72.ro/wp-content/uploads/resources/free_icons_pack_by_area72.rar">Download here</a></p>
<div style="clear: both;"></div>
<p><a href="http://area72.ro/resources/9-free-icons-pack.html">Resources &#8211; 9 Free Icons Pack</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/resources/9-free-icons-pack.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Photoshop Resources &#8211; Gavel Free PSD</title>
		<link>http://area72.ro/resources/photoshop-resources-gavel-free-psd.html</link>
		<comments>http://area72.ro/resources/photoshop-resources-gavel-free-psd.html#comments</comments>
		<pubDate>Tue, 13 Jul 2010 01:21:27 +0000</pubDate>
		<dc:creator>Kyprulez</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[auction gavel photoshop]]></category>
		<category><![CDATA[gavel free psd]]></category>
		<category><![CDATA[gavel psd]]></category>
		<category><![CDATA[gavel resource photoshop]]></category>
		<category><![CDATA[photoshop gavel]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1384</guid>
		<description><![CDATA[Here&#8217;s the gavel resource.Free to use for non-commercial purposes.I would be delighted if you could post a comment with/to your work or show your appreciation if you used it.Unrasterized and completely resizable.Enjoy! Download here Photoshop Resources &#8211; Gavel Free PSD is a post from: Area72<p><a href="http://area72.ro/resources/photoshop-resources-gavel-free-psd.html">Photoshop Resources &#8211; Gavel Free PSD</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s the gavel resource.Free to use for non-commercial purposes.I would be delighted if you could post a comment with/to your work or show your appreciation if you used it.Unrasterized and completely resizable.Enjoy!</p>
<p><a href="http://area72.ro/wp-content/uploads/resources/gavel-free-psd-area72.psd">Download here</a></p>
<div style="clear: both;"></div>
<p><a href="http://area72.ro/resources/photoshop-resources-gavel-free-psd.html">Photoshop Resources &#8211; Gavel Free PSD</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/resources/photoshop-resources-gavel-free-psd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Text Reflection effect with WPF and XAML</title>
		<link>http://area72.ro/programming/text-reflection-effect-with-wpf-and-xaml.html</link>
		<comments>http://area72.ro/programming/text-reflection-effect-with-wpf-and-xaml.html#comments</comments>
		<pubDate>Wed, 30 Jun 2010 14:15:18 +0000</pubDate>
		<dc:creator>Kyprulez</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[wpf reflection text]]></category>
		<category><![CDATA[wpf text reflection effect]]></category>
		<category><![CDATA[wpf web 2.0 text effect]]></category>
		<category><![CDATA[xaml reflection text]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1354</guid>
		<description><![CDATA[I bet everyone has seen, especially with the advent of Web 2.0, different sorts of text pieces that have a reflection beneath them which gives the impression the text is &#8220;sitting&#8221; on a surface.Although the effect is very easy to do in Photoshop, I decided to show you that it can be as easy and [...]<p><a href="http://area72.ro/programming/text-reflection-effect-with-wpf-and-xaml.html">Text Reflection effect with WPF and XAML</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I bet everyone has seen, especially with the advent of Web 2.0, different sorts of text pieces that have a reflection beneath them which gives the impression the text is &#8220;sitting&#8221; on a surface.Although the effect is very easy to do in Photoshop, I decided to show you that it can be as easy and enjoyable in WPF.<br />
<br />
Here&#8217;s the plan behind this:</p>
<ul>
<li>Create the desired text</li>
<li>Duplicate it and place it under the initial one</li>
<li>Perform a Y axis flip(or vertical flip)</li>
<li>Play with the both the text&#8217;s opacity and the foreground gradient opacity</li>
</ul>
<p>Here&#8217;s what we will achieve at the end of this tutorial:<br />
<a href="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-4.jpg"><img src="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-4-300x175.jpg" alt="wpf text reflection" title="wpf text reflection" width="300" height="175" class="aligncenter size-medium wp-image-1376" /></a><br />
Now I&#8217;m going to show the whole code and then break it into the above steps and explain it.</p>
<h3>Implementation</h3>
<pre name="code" class="c#">
&lt;Window
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	x:Class="Reflection.MainWindow"
	x:Name="Window"
	Title="MainWindow"
	Width="640" Height="480" Background="#FF1F313D"&gt;

	&lt;Grid x:Name="LayoutRoot"&gt;
		&lt;TextBlock Margin="126,132,112,0" VerticalAlignment="Top" Height="61" Text="Reflection Effect" TextWrapping="Wrap" FontSize="53.333"&gt;
			&lt;TextBlock.Foreground&gt;
				&lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
					&lt;GradientStop Color="#FF8C8C8C" Offset="1"/&gt;
					&lt;GradientStop Color="#FFEEEEEE"/&gt;
				&lt;/LinearGradientBrush&gt;
			&lt;/TextBlock.Foreground&gt;
		&lt;/TextBlock&gt;
		&lt;TextBlock Margin="126,174,112,218" FontSize="53.333" Text="Reflection Effect" TextWrapping="Wrap" RenderTransformOrigin="0.5,0.5" Opacity="0.1"&gt;
			&lt;TextBlock.RenderTransform&gt;
				&lt;TransformGroup&gt;
					&lt;ScaleTransform ScaleX="1" ScaleY="-1"/&gt;
					&lt;SkewTransform AngleX="0" AngleY="0"/&gt;
					&lt;RotateTransform Angle="0"/&gt;
					&lt;TranslateTransform/&gt;
				&lt;/TransformGroup&gt;
			&lt;/TextBlock.RenderTransform&gt;
			&lt;TextBlock.Foreground&gt;
				&lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
					&lt;GradientStop Color="#FF8C8C8C" Offset="1"/&gt;
					&lt;GradientStop Color="#00EEEEEE" Offset="0.348"/&gt;
				&lt;/LinearGradientBrush&gt;
			&lt;/TextBlock.Foreground&gt;
		&lt;/TextBlock&gt;
	&lt;/Grid&gt;
&lt;/Window&gt;
</pre>
<h3>Step 1</h3>
<pre name="code" class="c#">
&lt;TextBlock Margin="126,132,112,0" VerticalAlignment="Top" Height="61" Text="Reflection Effect" TextWrapping="Wrap" FontSize="53.333"&gt;
	&lt;TextBlock.Foreground&gt;
		&lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
			&lt;GradientStop Color="#FFEEEEEE"/&gt;
			&lt;GradientStop Color="#FF8C8C8C" Offset="1"/&gt;
    	&lt;/LinearGradientBrush&gt;
	&lt;/TextBlock.Foreground&gt;
&lt;/TextBlock&gt;
</pre>
<p>Here&#8217;s our initial text(which cites &#8220;Reflection Effect&#8221;).Apply a linear gradient to it by specifying &lt;LinearGradientBrush EndPoint=&#8221;0.5,1&#8243; StartPoint=&#8221;0.5,0&#8243;&gt; and set the Offset = 1 to the dark color(#FF8C8C8C), so that the gradient goes from bright(#FFEEEEEE) to dark(#FF8C8C8C).<br />
<a href="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection.jpg"><img src="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-300x175.jpg" alt="wpf text reflection" title="wpf text reflection" width="300" height="175" class="aligncenter size-medium wp-image-1373" /></a></p>
<h3>Step 2</h3>
<pre name="code" class="c#">
&lt;TextBlock Margin="126,174,112,218" VerticalAlignment="Top" Height="61" Text="Reflection Effect" TextWrapping="Wrap" FontSize="53.333"&gt;
	&lt;TextBlock.Foreground&gt;
		&lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
			&lt;GradientStop Color="#FFEEEEEE"/&gt;
			&lt;GradientStop Color="#FF8C8C8C" Offset="1"/&gt;
    	&lt;/LinearGradientBrush&gt;
	&lt;/TextBlock.Foreground&gt;
&lt;/TextBlock&gt;
</pre>
<p>Duplicate the textblock and position it right under the first one(as you can see, because of the position, the margin differs here).Next we need to flip it.<br />
<a href="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-2.jpg"><img src="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-2-300x175.jpg" alt="wpf text reflection" title="wpf text reflection" width="300" height="175" class="aligncenter size-medium wp-image-1374" /></a></p>
<h3>Step 3</h3>
<pre name="code" class="c#">
&lt;TextBlock Margin="126,174,112,218" FontSize="53.333" Text="Reflection Effect" TextWrapping="Wrap" RenderTransformOrigin="0.5,0.5"&gt;
	&lt;TextBlock.RenderTransform&gt;
		&lt;TransformGroup&gt;
			&lt;ScaleTransform ScaleX="1" ScaleY="-1"/&gt;
		&lt;/TransformGroup&gt;
	&lt;/TextBlock.RenderTransform&gt;
	&lt;TextBlock.Foreground&gt;
		&lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
		    &lt;GradientStop Color="#FFEEEEEE"/&gt;
			&lt;GradientStop Color="#FF8C8C8C" Offset="1"/&gt;
		&lt;/LinearGradientBrush&gt;
	&lt;/TextBlock.Foreground&gt;
&lt;/TextBlock&gt;
</pre>
<p>To perform the flip first set the TextBlock&#8217;s RenderTransformOrigin property to &#8220;0.5, 0.5&#8243;.Then, add the RenderTransform block and be sure to set ScaleY to &#8220;-1&#8243;.This is mandatory in order to flip it vertically.<br />
<a href="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-3.jpg"><img src="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-3-300x175.jpg" alt="wpf text reflection" title="wpf text reflection" width="300" height="175" class="aligncenter size-medium wp-image-1375" /></a></p>
<h3>Step 4</h3>
<pre name="code" class="c#">
&lt;TextBlock.Foreground&gt;
        &lt;LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"&gt;
		    &lt;GradientStop Color="#00EEEEEE" Offset="0.348"/&gt;
            &lt;GradientStop Color="#FF8C8C8C" Offset="1"/&gt;
	&lt;/LinearGradientBrush&gt;
&lt;/TextBlock.Foreground&gt;
</pre>
<p>The final step is to make the effect look realistic.No matter which color you use, in order to make the bottom of the layer transparent you need to set the first pair of the hex value to &#8220;00&#8243;; in our case &#8220;#00EEEEEE&#8221;.This pair controls the alpha transparency and you&#8217;ll find it in every hex value in WPF.Play a bit with the Offset property and try make the gradient transparent up to the middle.Here I set it to &#8220;0.348&#8243;.</p>
<p>Furthermore, to make it look even more realistically play with the TextBlock&#8217;s Opacity property.I set it to &#8220;0.1&#8243;, but you are free to set it as you wish.Blending it all together we get the whole code from the start of this tutorial.<br />
<a href="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-4.jpg"><img src="http://area72.ro/wp-content/uploads/2010/06/wpf-text-reflection-4-300x175.jpg" alt="wpf text reflection" title="wpf text reflection" width="300" height="175" class="aligncenter size-medium wp-image-1376" /></a><br />
I hope you enjoyed and stay tuned for more articles!</p>
<p><a href="http://area72.ro/programming/text-reflection-effect-with-wpf-and-xaml.html">Text Reflection effect with WPF and XAML</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/programming/text-reflection-effect-with-wpf-and-xaml.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting the Content-Encoding header in C#</title>
		<link>http://area72.ro/programming/getting-the-content-encoding-header-in-csharp.html</link>
		<comments>http://area72.ro/programming/getting-the-content-encoding-header-in-csharp.html#comments</comments>
		<pubDate>Wed, 09 Jun 2010 15:24:11 +0000</pubDate>
		<dc:creator>Kyprulez</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[c# content-encoding]]></category>
		<category><![CDATA[c# content-encoding empty]]></category>
		<category><![CDATA[c# content-encoding header]]></category>
		<category><![CDATA[c# contentencoding]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1328</guid>
		<description><![CDATA[Recently I needed to get the Content-Encoding header within a C# application.After trying to figure out why the response was empty, and after reading different community posts where other users had the same problem and none of the suggestions seem to solve it, I&#8217;ve decided to post my solution for further use. Let&#8217;s take a [...]<p><a href="http://area72.ro/programming/getting-the-content-encoding-header-in-csharp.html">Getting the Content-Encoding header in C#</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Recently I needed to get the Content-Encoding header within a C# application.After trying to figure out why the response was empty, and after reading different community posts where other users had the same problem and none of the suggestions seem to solve it, I&#8217;ve decided to post my solution for further use.<br />
Let&#8217;s take a look at how things stand.</p>
<div style="clear: both;"></div>
<h3>The Problem</h3>
<pre name="code" class="c#">
public static string GetEncoding(string url)
        {
            HttpWebRequest request;
            HttpWebResponse response;
            string result = null;

            try
            {
                request = (HttpWebRequest)WebRequest.Create(url);
                response = (HttpWebResponse)request.GetResponse();

                result = response.ContentEncoding;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            return result;
        }

        static void Main(string[] args)
        {
            Console.WriteLine(GetEncoding("http://microsoft.com"));
        }
</pre>
<p>We declare a HttpWebRequest and HttpWebResponse object, we create the request, get the response but when we try to see the ContentEncoding return message, it&#8217;s always empty, null.<br />
<a href="http://area72.ro/wp-content/uploads/2010/06/content-encoding-empty.jpg"><img src="http://area72.ro/wp-content/uploads/2010/06/content-encoding-empty-300x164.jpg" alt="" title="content-encoding-empty" width="300" height="164" class="aligncenter size-medium wp-image-1334" /></a></p>
<h3>The solution</h3>
<pre name="code" class="c#">
public static string GetEncoding(string url)
        {
            HttpWebRequest request;
            HttpWebResponse response;
            string result = null;

            try
            {
                request = (HttpWebRequest)WebRequest.Create(url);
                request.Headers.Add(HttpRequestHeader.AcceptEncoding, "gzip,deflate");

                response = (HttpWebResponse)request.GetResponse();
                result = response.ContentEncoding;
            }
            catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            return result;
        }

        static void Main(string[] args)
        {
            Console.WriteLine(GetEncoding("http://microsoft.com"));
        }
</pre>
<p>The solution is to implicitly set the Accept-Encoding header to be sent with the request.We can do this either by using HttpRequestHeader.AcceptEncoding or by declaring as such:</p>
<pre name="code" class="c#">
request.Headers.Add("Accept-Encoding", "gzip,deflate");
</pre>
<p>Either way, it does the same thing.Now, after sending the Accept-Encoding header, we get the right response in the response.ContentEncoding.<br />
<a href="http://area72.ro/wp-content/uploads/2010/06/content-encoding-header.jpg"><img src="http://area72.ro/wp-content/uploads/2010/06/content-encoding-header-300x164.jpg" alt="" title="content-encoding-header" width="300" height="164" class="aligncenter size-medium wp-image-1335" /></a><br />
I hope this article solved your issue.Stay tuned for more C# helpful articles.</p>
<p><a href="http://area72.ro/programming/getting-the-content-encoding-header-in-csharp.html">Getting the Content-Encoding header in C#</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/programming/getting-the-content-encoding-header-in-csharp.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Autocomplete Combo Box in C# with SQL values</title>
		<link>http://area72.ro/programming/autocomplete-combo-box-in-csharp-with-sql-values.html</link>
		<comments>http://area72.ro/programming/autocomplete-combo-box-in-csharp-with-sql-values.html#comments</comments>
		<pubDate>Wed, 26 May 2010 22:27:54 +0000</pubDate>
		<dc:creator>Kyprulez</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[c# combo box sql]]></category>
		<category><![CDATA[csharp autcomplete sql]]></category>
		<category><![CDATA[csharp autocomplete combo box]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1294</guid>
		<description><![CDATA[In the following article I&#8217;m going to show you how to make an autocompleting Combo Box in C#, that uses a SQL database as its custom source of values.First, I&#8217;m going to display the whole implementation and afterwards explain the code in detail. Database Structure Table name: keywordsList Column Name Data Type item nchar(30) Implementation [...]<p><a href="http://area72.ro/programming/autocomplete-combo-box-in-csharp-with-sql-values.html">Autocomplete Combo Box in C# with SQL values</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>In the following article I&#8217;m going to show you how to make an autocompleting Combo Box in C#, that uses a SQL database as its custom source of values.First, I&#8217;m going to display the whole implementation and afterwards explain the code in detail.</p>
<div style="clear: both;"></div>
<p><a href="http://area72.ro/wp-content/uploads/2010/05/csharp-combo-box-autocomplete.jpg"><img src="http://area72.ro/wp-content/uploads/2010/05/csharp-combo-box-autocomplete.jpg" alt="" title="csharp-combo-box-autocomplete" width="300" height="123" class="aligncenter size-full wp-image-1311" /></a></p>
<h3>Database Structure</h3>
<p>Table name: keywordsList</p>
<table width="320px">
<tr>
<th>Column Name</th>
<th>Data Type</th>
</tr>
<tr>
<td>item</td>
<td>nchar(30)</td>
</tr>
</table>
<h3>Implementation</h3>
<pre name="code" class="c#">
public partial class Autocomplete : Form
    {
        SqlConnection connection;
        SqlConnectionStringBuilder builder;
        SqlCommand command;
        SqlParameter param;
        SqlDataReader reader;

        string[] suggestionsList;
        int dbRecords;

        public Autocomplete()
        {
            InitializeComponent();

            string keyword = comboBox1.text;
            connection = new SqlConnection();

            try
            {
                builder = new SqlConnectionStringBuilder();
                builder.DataSource = @".SQLEXPRESS";
                builder.AttachDBFilename = @"Your path goes here ...";
                builder.IntegratedSecurity = true;
                builder.UserInstance = true;

                connection.ConnectionString = builder.ConnectionString;

                connection.Open();

                SqlCommand command = new SqlCommand();
                command.CommandText =
                    "SELECT *
                     FROM keywordsList
                     WHERE item LIKE '%' + @keywordParam + '%'";
                command.Connection = connection;

                param = new SqlParameter("@keywordParam", keyword);
                command.Parameters.Add(param);

                reader = command.ExecuteReader();

                while (reader.Read()) dbRecords++;
                suggestionsList = new string[dbRecords];
                reader.Close();

                reader = command.ExecuteReader();

                int index = 0;

                while (reader.Read())
                {
                    string result = reader.GetString(0);
                    suggestionsList[index] = result;
                    index++;
                }

                reader.Close();
            }
            catch (SqlException e)
            {
                errorLabel.Text = e.Message;
            }
            finally
            {
                connection.Close();
            }

            comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
            comboBox1.AutoCompleteCustomSource.AddRange(suggestionsList);
        }
    }
</pre>
<h3>Code Explanation:</h3>
<pre name="code" class="c#">
        SqlConnection connection;
        SqlConnectionStringBuilder builder;
        SqlCommand command;
        SqlParameter param;
        SqlDataReader reader;

        string[] suggestionsList;
        int dbRecords;

        public Autocomplete()
        {
            InitializeComponent();

            string keyword = comboBox1.text;
            connection = new SqlConnection();

            try
            {
                builder = new SqlConnectionStringBuilder();
                builder.DataSource = @".SQLEXPRESS";
                builder.AttachDBFilename = @"Your path goes here ...";
                builder.IntegratedSecurity = true;
                builder.UserInstance = true;

                connection.ConnectionString = builder.ConnectionString;

                connection.Open();
</pre>
<p>Ok, so we begin by declaring the SQL variables that we are going to use.Next, suggestionsList is the array that will hold the values from the database and dbRecords is going to represent the length of the array.<br />
Initialize a new SQL connection and using the SqlConnectionStringBuilder object, create the connection string.Don&#8217;t forget to provide the path to your database file for the AttachDBFilename property.Finally, assign the connection string to the SQL connection object and open the connection.</p>
<pre name="code" class="c#">
                SqlCommand command = new SqlCommand();
                command.CommandText =
                    "SELECT *
                     FROM keywordsList
                     WHERE item LIKE '%' + @keywordParam + '%'";
                command.Connection = connection;

                param = new SqlParameter("@keywordParam", keyword);
                command.Parameters.Add(param);

                reader = command.ExecuteReader();

                while (reader.Read()) dbRecords++;
                suggestionsList = new string[dbRecords];
                reader.Close();

                reader = command.ExecuteReader();

                int index = 0;

                while (reader.Read())
                {
                    string result = reader.GetString(0);
                    suggestionsList[index] = result;
                    index++;
                }

                reader.Close();
            }
            catch (SqlException e)
            {
                errorLabel.Text = e.Message;
            }
            finally
            {
                connection.Close();
            }
</pre>
<p>Now create a new SqlCommand object and provide it with the CommandText and Connection properties.Remember, I&#8217;ve named my table &#8220;keywordsList&#8221;.You might want to change it if yours differs.<br />
In order to fetch the rows identified by the SQL statement use the ExecuteReader method of the SqlCommand object to create the SqlDataReader object.First, use the Read() method to get the counter of the fetched rows.Now that you have this, use it to specify the length of your newly-created suggestionsList array.<br />
With that set, re-create the SqlDataReader and this time, using the Read() method, extract the values from the database and place them into the suggestionsList array.The parameter of the GetString() method specifies which column to be read.Database work finished, you can now close the resources.</p>
<pre name="code" class="c#">
            comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
            comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
            comboBox1.AutoCompleteCustomSource.AddRange(suggestionsList);
</pre>
<p>Let&#8217;s set the AutoCompleteMode to SuggestAppend.If you want you can also set it to either Suggest or Append, but SuggestAppend combines both of them.Next, choose CustomSource as your AutoCompleteSource.And because we use a CustomSource, we have to fill the AutoCompleteCustomSource property.Use the AddRange() method, that takes a string array as a parameter, to populate the autocomplete suggestions list with the values retrieved from the database(e.g. suggestionsList array).<br />
Tip: The Text Box control also supports autocompletion using the same properties described above.</p>
<p>I hope you enjoyed the article.If you have any questions or feedback, I&#8217;m looking forward to hearing from you.Thanks for reading.</p>
<p><a href="http://area72.ro/programming/autocomplete-combo-box-in-csharp-with-sql-values.html">Autocomplete Combo Box in C# with SQL values</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/programming/autocomplete-combo-box-in-csharp-with-sql-values.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Rotating a line in C#</title>
		<link>http://area72.ro/programming/rotating-a-line-in-csharp.html</link>
		<comments>http://area72.ro/programming/rotating-a-line-in-csharp.html#comments</comments>
		<pubDate>Tue, 25 May 2010 22:36:37 +0000</pubDate>
		<dc:creator>Andrey</dc:creator>
				<category><![CDATA[Algorithmics]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c# line rotate]]></category>
		<category><![CDATA[constructor]]></category>
		<category><![CDATA[cos]]></category>
		<category><![CDATA[line rotation csharp]]></category>
		<category><![CDATA[rotating line]]></category>
		<category><![CDATA[sin rotate]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1260</guid>
		<description><![CDATA[Recently I had a problem that required me to do a rotation of a line keeping the original point fixed. A rotation is a movement of an object in a circular motion, mathematically a rotation is a rigid body movement which, unlike a translation, keeps a point fixed. public partial class Rotate : Form { [...]<p><a href="http://area72.ro/programming/rotating-a-line-in-csharp.html">Rotating a line in C#</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Recently I had a problem that required me to do a rotation of a line keeping the original point fixed. A rotation is a movement of an object in a circular motion, mathematically a rotation is a rigid body movement which, unlike a translation, keeps a point fixed.</p>
<div style="clear: both;"></div>
<p><a href="http://area72.ro/wp-content/uploads/2010/05/rotation.png"><img class="aligncenter size-medium wp-image-1265" title="rotation" src="http://area72.ro/wp-content/uploads/2010/05/rotation-300x193.png" alt="" width="300" height="193" /></a></p>
<pre name="code" class="c#">public partial class Rotate : Form
    {
        public Bitmap image;
        public Graphics gra;

        public int angle = 10;
        public int step = 0;
        public int radius = 150;

        public System.Timers.Timer timer;

        public Rotate()
        {
            InitializeComponent();

            image = new Bitmap(400, 300);
            gra = Graphics.FromImage(image);

            gra.Clear(Color.DarkBlue);
            pictureBox1.Image = image;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (timer == null)
            {
                timer = new System.Timers.Timer(50);
                timer.Elapsed += new ElapsedEventHandler(timer_Elapsed);

                timer.Start();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (timer != null)
            {
                timer.Stop();
                timer = null;
            }
        }

        void timer_Elapsed(object sender, ElapsedEventArgs e)
        {
            gra.Clear(Color.DarkBlue);

            PointF point1 = new PointF(200, 150);
            PointF point2 = new PointF();

            point2.X = radius * (float)Math.Cos(DegreesToRadians(angle * step)) + 200;
            point2.Y = radius * (float)Math.Sin(DegreesToRadians(angle * step)) + 150;
            gra.DrawLine(new Pen(Color.White), point1, point2);
            step++;

            pictureBox1.Image = image;
        }

        private double DegreesToRadians(double angle)
        {
            return angle * Math.PI / 180.0;
        }
    }</pre>
<h3>Code Explanation:</h3>
<pre name="code" class="c#">
        public Bitmap image;
        public Graphics gra;

        public int angle = 10;
        public int step = 0;
        public int radius = 150;

        public System.Timers.Timer timer;

       public Rotate()
        {
           InitializeComponent();
           image = new Bitmap(400, 300)
           gra = Graphics.FromImage(image);
           gra.Clear(Color.DarkBlue);
           pictureBox1.Image = image;
       }</pre>
<p>To start with the step alongside the angle variable is used to calculate the angle witch the line must be rotated, a step of 36 will result in a full rotation of the line (10 * 36 = 360 degrees), in the class constructor we simply initialize the variables and set the default background color of the image to DarkBlue</p>
<pre name="code" class="c#">
           gra.Clear(Color.DarkBlue);

            PointF point1 = new PointF(200, 150);
            PointF point2 = new PointF();

            point2.X = radius * (float)Math.Cos(DegreesToRadians(angle * step)) + 200;
            point2.Y = radius * (float)Math.Sin(DegreesToRadians(angle * step)) + 150;
            gra.DrawLine(new Pen(Color.White), point1, point2);
            step++;</pre>
<p>This is where the magic happens, we calculate the X and Y position and we draw the line the + 200/150 at the end represents the offset that we started with in point1.</p>
<p>Download the project <a href="http://area72.ro/wp-content/uploads/2010/05/Rotation.zip">here</a>.</p>
<p><a href="http://area72.ro/programming/rotating-a-line-in-csharp.html">Rotating a line in C#</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/programming/rotating-a-line-in-csharp.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Web 3.0</title>
		<link>http://area72.ro/general-it/web-3-0.html</link>
		<comments>http://area72.ro/general-it/web-3-0.html#comments</comments>
		<pubDate>Mon, 10 May 2010 19:44:50 +0000</pubDate>
		<dc:creator>Kyprulez</dc:creator>
				<category><![CDATA[General IT]]></category>
		<category><![CDATA[semantic web]]></category>
		<category><![CDATA[semantic web video]]></category>
		<category><![CDATA[web 3.0]]></category>
		<category><![CDATA[web ontology]]></category>

		<guid isPermaLink="false">http://area72.ro/?p=1255</guid>
		<description><![CDATA[Web 3.0? Semantic Web? Web Ontologies? If you are you unfamiliar with these terms and you want to grasp the concepts behind the future Web, the Web 3.0, take a look at the following short documentary realized by Kate Ray, a Journalism/Psychology major at NYU. The short documentary explains what are scientists now concerned with [...]<p><a href="http://area72.ro/general-it/web-3-0.html">Web 3.0</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></description>
			<content:encoded><![CDATA[<p><strong>Web 3.0</strong>? <strong>Semantic Web</strong>? <strong>Web Ontologies</strong>?<br />
If you are you unfamiliar with these terms and you want to grasp the concepts behind the future Web, the <strong>Web 3.0</strong>, take a look at the following short documentary realized by <a href="http://kateray.net">Kate Ray</a>, a Journalism/Psychology major at NYU.</p>
<p>The short documentary explains what are scientists now concerned with regarding the world wide web, and that is the <strong>semantic web</strong>, or as you may want to call it, the structured web.It features interviews with Tim Berners-Lee, David Weinberger, Clay Shirky, Nova Spivack, Chris Dixon, John Hebeler, Alon Halevy, Jason Shellen, Alon Halevy, Lee Feigenbaum, David Karger, Abraham Bernstein.Enjoy watching.</p>
<div style="clear: both;"></div>
<p><center><object width="500" height="375">
<param name="allowfullscreen" value="true" />
<param name="allowscriptaccess" value="always" />
<param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=11529540&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=11529540&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="375"></embed></object></center></p>
<p>Congratulations to <a href="http://kateray.net">Kate Ray</a> for this very informative short.</p>
<p><a href="http://area72.ro/general-it/web-3-0.html">Web 3.0</a> is a post from: <a href="http://area72.ro">Area72</a></p>
]]></content:encoded>
			<wfw:commentRss>http://area72.ro/general-it/web-3-0.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

