<?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>Rui Gaspar</title>
	<atom:link href="http://www.ruigaspar.pt/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.ruigaspar.pt</link>
	<description>Those who cannot remember the past are condemned to repeat it</description>
	<lastBuildDate>Thu, 16 Feb 2012 18:58:19 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Benfica, Porto e Sporting no Android</title>
		<link>http://www.ruigaspar.pt/?p=417</link>
		<comments>http://www.ruigaspar.pt/?p=417#comments</comments>
		<pubDate>Thu, 16 Feb 2012 18:58:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Projectos]]></category>
		<category><![CDATA[Benfica]]></category>
		<category><![CDATA[Futebol]]></category>
		<category><![CDATA[Market]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Porto]]></category>
		<category><![CDATA[Sporting]]></category>
		<category><![CDATA[Top]]></category>

		<guid isPermaLink="false">http://www.ruigaspar.com/?p=417</guid>
		<description><![CDATA[As minhas ultimas aplicação para o mercado Android. Com estas aplicações podes seguir todas as informações do teu clube. As aplicações tem todas as mesmas funcionalidades. Sendo elas as seguintes: Notícias: esta é a pagina de entrada das aplicações, onde se pode ver um resumo das ultimas noticias de cada clube. Entrado na noticia, pode-se aceder [...]]]></description>
				<content:encoded><![CDATA[<p>As minhas ultimas aplicação para o mercado Android.<br />
Com estas aplicações podes seguir todas as informações do teu clube.<br />
As aplicações tem todas as mesmas funcionalidades. Sendo elas as seguintes:</p>
<ul>
<li><strong>Notícias:</strong> esta é a pagina de entrada das aplicações, onde se pode ver um resumo das ultimas noticias de cada clube. Entrado na noticia, pode-se aceder á noticia completa como está no site fonte da noticia, sem ter a necessidade de sair da aplicação.</li>
<li><strong>Jogos ao vivo:</strong> aqui poderá acompanhar o jogo ao vivo do seu clube, bem como todos os outros jogos de outras equipas e de outros campeonatos que estão a decorrer no momento.</li>
<li><strong>Calendário:</strong> podes ver os últimos jogos realizados, bem como os próximos jogos de cada competição</li>
<li><strong>Classificação:</strong> aqui podes ver qual a classificação de cada equipa e o numero de jogos realizados.</li>
<li><strong>Equipa:</strong> por fim, no ultimo separador é possível aceder ao plantel com alguma informação de cada jogador.</li>
</ul>
<table>
<tbody>
<tr>
<td><a href="https://market.android.com/details?id=pt.creativesolutions.football.portugal.Benfica"><img class="aligncenter size-full wp-image-420" title="unnamed" src="http://www.ruigaspar.com/wp-content/uploads/2012/02/unnamed.jpg" alt="" width="307" height="512" /></a></td>
<td><a href="https://market.android.com/details?id=pt.creativesolutions.football.portugal.Porto"><img class="aligncenter size-full wp-image-421" title="unnamed (1)" src="http://www.ruigaspar.com/wp-content/uploads/2012/02/unnamed-1.jpg" alt="" width="307" height="512" /></a></td>
<td><a href="https://market.android.com/details?id=pt.creativesolutions.football.portugal.Sporting"><img class="aligncenter size-full wp-image-422" title="unnamed (2)" src="http://www.ruigaspar.com/wp-content/uploads/2012/02/unnamed-2.jpg" alt="" width="307" height="512" /></a></td>
</tr>
</tbody>
</table>
<p>Actualmente estou a trabalhar em novas funcionalidades para todas as aplicação bem como o melhoramento das existentes. Das novas funcionalidades que sairão na próxima versão destacam-se as seguintes:<br />
Chat: para poderes comunicar com toda a comunidade de adeptos do teu clube.<br />
Videos: para aceder por exemplo aos últimos jogos e golos do seu clube.<br />
Configuração: ecrã onde podes configurar vários parâmetros da aplicação.</p>
<p>Actualmente as aplicações estão no top do market Android na categoria de desporto, como se pode ver na imagem em baixo.<br />
<a href="http://www.ruigaspar.com/blog/wp-content/uploads/2012/02/desporto_top.png"><img class="aligncenter size-full wp-image-418" title="desporto_top" src="http://www.ruigaspar.com/wp-content/uploads/2012/02/desporto_top.png" alt="" width="1023" height="808" /></a><br />
Actualmente a aplicação encontra-se desenvolvida para os seguintes clubes:</p>
<ul>
<li>Benfica</li>
<li>Porto</li>
<li>Sporting</li>
<li>Manchester United</li>
<li>Manchester City</li>
<li>Tottenham</li>
<li>Chelsea</li>
<li>Arsenal</li>
<li>Liverpool</li>
<li>Corinthians</li>
<li>Vasco</li>
<li>Fluminense</li>
<li>Flamengo</li>
<li>São Paulo</li>
<li>Botafogo</li>
<li>Santos</li>
<li>Palmeiras</li>
<li>Grêmio</li>
<li>Juventus</li>
<li>Milan</li>
<li>Lazio</li>
<li>Internazionale</li>
<li>Roma</li>
</ul>
<p>Duvidas, sugestões e opiniões são sempre bem vindas e ajudam as aplicações a crescer.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=417</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Rádio Sines &#8211; Android App</title>
		<link>http://www.ruigaspar.pt/?p=389</link>
		<comments>http://www.ruigaspar.pt/?p=389#comments</comments>
		<pubDate>Wed, 07 Dec 2011 14:29:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Projectos]]></category>
		<category><![CDATA[Aplicação]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[Emissão online]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[Rádio]]></category>
		<category><![CDATA[Sines]]></category>

		<guid isPermaLink="false">http://www.ruigaspar.com/?p=389</guid>
		<description><![CDATA[A minha primeira aplicação desenvolvida para uma rádio local. Trata-se da Rádio Sines que é um emissor da Associação Humanitária dos Bombeiros Voluntários de Sines, a emitir da cidade de Sines para todo o Litoral Alentejano, na frequência 95.9 FM. Com esta aplicação, os ouvintes da rádio, poderão aceder através do telemóvel ás noticias disponibilizadas no [...]]]></description>
				<content:encoded><![CDATA[<table style="text-align: center;" align="center">
<tbody>
<tr>
<td style="text-align: center;" width="200"><img class="size-full wp-image-360 aligncenter" title="Icon" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_icon.png" alt="" width="170" height="170" /></td>
<td style="text-align: center;" width="200"><img class="size-full wp-image-362" title="Qcode" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_code.png" alt="" width="150" height="150" /></td>
</tr>
</tbody>
</table>
<p>A minha primeira aplicação desenvolvida para uma rádio local. Trata-se da Rádio Sines que é um emissor da Associação Humanitária dos Bombeiros Voluntários de Sines, a emitir da cidade de Sines para todo o Litoral Alentejano, na frequência 95.9 FM.<br />
Com esta aplicação, os ouvintes da rádio, poderão aceder através do telemóvel ás noticias disponibilizadas no site da rádio, bem como ouvir a emissão online, podcasts e aceder á programação diária.</p>
<p>Podem deixar aqui as vossas criticas e sugestões.</p>
<table>
<tbody>
<tr>
<td><a href="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_1.jpg"><img class="alignnone" title="Screen 1" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_1.jpg" alt="" width="121" height="202" /><br />
</a></td>
<td><a href="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_2.jpg"><img class="alignnone" title="Screen 1" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_2.jpg" alt="" width="121" height="202" /><br />
</a></td>
<td><a href="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_3.jpg"><img class="alignnone" title="Screen 1" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_3.jpg" alt="" width="121" height="202" /><br />
</a></td>
<td><a href="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_5.jpg"><img class="alignnone" title="Screen 1" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/sines_5.jpg" alt="" width="121" height="202" /><br />
</a></td>
</tr>
</tbody>
</table>
<p>Link: <a title="aaaaa" href="https://market.android.com/details?id=com.ruigaspar.radiosines">Market Android</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=389</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Marés &#8211; Android App</title>
		<link>http://www.ruigaspar.pt/?p=373</link>
		<comments>http://www.ruigaspar.pt/?p=373#comments</comments>
		<pubDate>Wed, 07 Dec 2011 14:17:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Projectos]]></category>
		<category><![CDATA[Marés]]></category>
		<category><![CDATA[Mundo]]></category>

		<guid isPermaLink="false">http://www.ruigaspar.com/?p=373</guid>
		<description><![CDATA[Uma aplicação desenvolvida depois de ter sentido a necessidade de saber o estado da maré. Esta aplicação tem o estado das marés de mais de 9000 pontos em todo o mundo. Actualmente está disponível em português, inglês, francês, italiano, espanhol e alemão. Podem deixar aqui as vossas criticas e sugestões. Link: Market Android]]></description>
				<content:encoded><![CDATA[<table style="text-align: center;" align="center">
<tbody>
<tr>
<td style="text-align: center;" width="200"><img class="size-full wp-image-360 aligncenter" title="Marés" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/mares_icon.png" alt="" width="170" height="170" /></td>
<td style="text-align: center;" width="200"><img class="size-full wp-image-362" title="Qcode" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/mares.png" alt="" width="150" height="150" /></td>
</tr>
</tbody>
</table>
<p>Uma aplicação desenvolvida depois de ter sentido a necessidade de saber o estado da maré. Esta aplicação tem o estado das marés de mais de 9000 pontos em todo o mundo. Actualmente está disponível em português, inglês, francês, italiano, espanhol e alemão.</p>
<p>Podem deixar aqui as vossas criticas e sugestões.</p>
<table align="center">
<tbody>
<tr>
<td style="text-align: center;" width="121"><a href="http://www.ruigaspar.com/wp-content/uploads/2011/12/mares_1.jpg"><img class="alignnone" title="Screen 1" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/mares_1.jpg" alt="" width="121" height="202" /><br />
</a></td>
<td style="text-align: center;" width="121"><a href="http://www.ruigaspar.com/wp-content/uploads/2011/12/mares_2.jpg"><img class="alignnone" title="Screen 2" src="http://www.ruigaspar.com/wp-content/uploads/2011/12/mares_2.jpg" alt="" width="121" height="202" /><br />
</a></td>
</tr>
</tbody>
</table>
<p>Link: <a title="Tides" href="https://market.android.com/details?id=com.ruigaspar.tides">Market Android</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=373</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Euro Milhões &#8211; Android App</title>
		<link>http://www.ruigaspar.pt/?p=359</link>
		<comments>http://www.ruigaspar.pt/?p=359#comments</comments>
		<pubDate>Sat, 03 Sep 2011 18:50:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Projectos]]></category>
		<category><![CDATA[Aplicação]]></category>
		<category><![CDATA[Chaves]]></category>
		<category><![CDATA[Euro milhões]]></category>
		<category><![CDATA[Ganhar]]></category>
		<category><![CDATA[Resultados]]></category>
		<category><![CDATA[Telemovel]]></category>
		<category><![CDATA[Verificar]]></category>

		<guid isPermaLink="false">http://www.ruigaspar.com/?p=359</guid>
		<description><![CDATA[A minha primeira aplicação desenvolvida para o sistema operativo Android. A aplicação permite ver a ultima chave do euro milhões, bem como todas as chaves anteriores desde a criação do jogo em 2004. Permite também ao utilizador adicionar as suas chaves com que joga frequentemente e activar alertas. Esses alertas são executados nos dias de jogo e [...]]]></description>
				<content:encoded><![CDATA[<table style="text-align: center;" align="center">
<tbody>
<tr>
<td style="text-align: center;" width="200"><img class="size-full wp-image-360 aligncenter" title="hi-256-2-47b9cf581ad3376a658b75f2697acf668213503b" src="http://www.ruigaspar.com/wp-content/uploads/2011/09/hi-256-2-47b9cf581ad3376a658b75f2697acf668213503b.png" alt="" width="170" height="170" /></td>
<td style="text-align: center;" width="200"><img class="size-full wp-image-362" title="chart" src="http://www.ruigaspar.com/wp-content/uploads/2011/09/chart.png" alt="" width="150" height="150" /></td>
</tr>
</tbody>
</table>
<p>A minha primeira aplicação desenvolvida para o sistema operativo Android. A aplicação permite ver a ultima chave do euro milhões, bem como todas as chaves anteriores desde a criação do jogo em 2004. Permite também ao utilizador adicionar as suas chaves com que joga frequentemente e activar alertas. Esses alertas são executados nos dias de jogo e disparam alertas com o valor do prémio. É possível também configurar uma série da parâmetros como a língua, a moeda bem como parâmetros relativos aos alertas.</p>
<p>Podem deixar aqui as vossas criticas e sugestões.</p>
<table>
<tbody>
<tr>
<td><a href="https://www.gstatic.com/android/market/com.ruigaspar.euromillions/ss-480-0-1"><img class="alignnone" title="Screen 1" src="https://www.gstatic.com/android/market/com.ruigaspar.euromillions/ss-480-0-1" alt="" width="121" height="202" /><br />
</a></td>
<td><a href="https://www.gstatic.com/android/market/com.ruigaspar.euromillions/ss-480-1-1"><img class="alignnone" title="Screen 2" src="https://www.gstatic.com/android/market/com.ruigaspar.euromillions/ss-480-1-1" alt="" width="121" height="202" /><br />
</a></td>
<td><a href="https://www.gstatic.com/android/market/com.ruigaspar.euromillions/ss-480-2-0"><img class="alignnone" title="Screen 3" src="https://www.gstatic.com/android/market/com.ruigaspar.euromillions/ss-480-2-0" alt="" width="121" height="202" /><br />
</a></td>
<td><a href="https://www.gstatic.com/android/market/com.ruigaspar.euromillions/ss-480-4-0"><img class="alignnone" title="Screen 5" src="https://www.gstatic.com/android/market/com.ruigaspar.euromillions/ss-480-4-0" alt="" width="121" height="202" /><br />
</a></td>
</tr>
</tbody>
</table>
<p>Link: <a title="aaaaa" href="https://play.google.com/store/apps/details?id=pt.creativesolutions.android.utilities.euromillions.free">Market Android</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=359</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Como animar o GridLength das linhas e colunas de uma Grid</title>
		<link>http://www.ruigaspar.pt/?p=307</link>
		<comments>http://www.ruigaspar.pt/?p=307#comments</comments>
		<pubDate>Sat, 19 Feb 2011 13:56:41 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[WPF]]></category>
		<category><![CDATA[Animation]]></category>
		<category><![CDATA[ColumnDefinition]]></category>
		<category><![CDATA[Grid]]></category>
		<category><![CDATA[GridLength]]></category>
		<category><![CDATA[Height]]></category>
		<category><![CDATA[RowDefinition]]></category>
		<category><![CDATA[Width]]></category>
		<category><![CDATA[WidthProperty]]></category>
		<category><![CDATA[XAML]]></category>

		<guid isPermaLink="false">http://www.ruigaspar.com/?p=307</guid>
		<description><![CDATA[Há dias precisei de fazer uma animação em XAML que alterasse o tamanho de duas colunas de uma grid. Para fazer esta animação poderiam-se colocar as duas colunas com o Width a Auto e alterar o tamanho dos componentes que estão em cada coluna, o que iria forçar a alteração do tamanho de cada coluna [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;">Há dias precisei de fazer uma animação em XAML que alterasse o tamanho de duas colunas de uma <em>grid</em>.</p>
<p style="text-align: justify;">Para fazer esta animação poderiam-se colocar as duas colunas com o <em>Width </em>a <em>Auto </em>e alterar o tamanho dos componentes que estão em cada coluna, o que iria forçar a alteração do tamanho de cada coluna e assim fazer a animação pretendida. Mas esta abordagem tem a desvantagem de não se podermos usar, por exemplo, <strong>{0.8*}</strong> , já que não podemos usar um <em>GridLength </em>num <em>width </em>ou <em>height </em>de um <em>FrameworkElement</em>.</p>
<p style="text-align: justify;">Para resolver este problema podemos alterar directamente o <em>GridLength </em>utilizando uma <em>AnimationTimeline</em>. Em baixo encontra-se uma a class <em>GridLengthAnimation. </em>Para usar esta class apenas teremos de definir a propriedade <em>To </em>que irá indicar qual será o novo tamanho da linha ou coluna. Também se pode definir a propriedade <em>From</em>, mas esta é opcional e caso não se defina é usado o valor actual como ponto de partida.</p>
<pre class="brush: csharp; title: ; notranslate">
using System;
using System.Windows;
using System.Windows.Media.Animation;

namespace GridLengthAnimationTest
{
    internal class GridLengthAnimation : AnimationTimeline
    {
        static GridLengthAnimation() { }

        public GridLength? From
        {
            get
            {
                return (GridLength?)GetValue(FromProperty);
            }
            set
            {
                SetValue(FromProperty, value);
            }
        }

        public static readonly DependencyProperty FromProperty =
            DependencyProperty.Register(&quot;From&quot;, typeof(GridLength?), typeof(GridLengthAnimation), new PropertyMetadata(null));

        public GridLength To
        {
            get
            {
                return (GridLength)GetValue(ToProperty);
            }
            set
            {
                SetValue(ToProperty, value);
            }
        }

        public static readonly DependencyProperty ToProperty =
            DependencyProperty.Register(&quot;To&quot;, typeof(GridLength), typeof(GridLengthAnimation));

        public override Type TargetPropertyType
        {
            get
            {
                return typeof(GridLength);
            }
        }

        protected override Freezable CreateInstanceCore()
        {
            return new GridLengthAnimation();
        }

        public override object GetCurrentValue(object defaultOriginValue, object defaultDestinationValue, AnimationClock animationClock)
        {
            double toVal = To.Value;
            double fromVal;

            if (this.From == null)
            {
                fromVal = defaultOriginValue != null &amp;&amp; defaultOriginValue is GridLength ? ((GridLength)defaultOriginValue).Value : 0;
            }
            else
            {
                fromVal = this.From.GetValueOrDefault().Value;
            }

            if (animationClock.CurrentProgress != null)
            {
                if (fromVal &gt; toVal)
                {
                    return new GridLength((1 - animationClock.CurrentProgress.Value) * (fromVal - toVal) + toVal, To.IsStar ? GridUnitType.Star : GridUnitType.Pixel);
                }
                else
                {
                    return new GridLength(animationClock.CurrentProgress.Value * (toVal - fromVal) + fromVal, To.IsStar ? GridUnitType.Star : GridUnitType.Pixel);
                }
            }

            return null;
        }
    }
}
</pre>
<p style="text-align: justify;">A seguir encontra-se um exemplo de como utilizar a animação em <em>XAML. </em>Este exemplo possui uma tabela com duas colunas e dois botões que permitem expandir ou restaurar o tamanho da primeira coluna.</p>
<pre class="brush: xml; highlight: [28,39]; title: ; notranslate">
&lt;Window x:Class=&quot;GridLengthAnimationTest.MainWindow&quot;
xmlns=&quot;http://schemas.microsoft.com/winfx/2006/xaml/presentation&quot;
xmlns:x=&quot;http://schemas.microsoft.com/winfx/2006/xaml&quot;
xmlns:Local=&quot;clr-namespace:GridLengthAnimationTest&quot;
Title=&quot;GridLengthAnimation&quot; Height=&quot;350&quot; Width=&quot;525&quot;&gt;

    &lt;Grid&gt;
        &lt;Grid.RowDefinitions&gt;
            &lt;RowDefinition Height=&quot;*&quot;/&gt;
            &lt;RowDefinition Height=&quot;Auto&quot;/&gt;
        &lt;/Grid.RowDefinitions&gt;

        &lt;Grid Grid.Row=&quot;0&quot;&gt;
            &lt;Grid.ColumnDefinitions&gt;
                &lt;ColumnDefinition x:Name=&quot;FirstColumnDefinition&quot; Width=&quot;150&quot;/&gt;
                &lt;ColumnDefinition x:Name=&quot;SecondColumnDefinition&quot; Width=&quot;50&quot;/&gt;
            &lt;/Grid.ColumnDefinitions&gt;
            &lt;Border Background=&quot;Red&quot; Grid.Column=&quot;0&quot;/&gt;
            &lt;Border Background=&quot;Blue&quot; Grid.Column=&quot;1&quot;/&gt;
        &lt;/Grid&gt;

        &lt;StackPanel Orientation=&quot;Horizontal&quot; HorizontalAlignment=&quot;Center&quot; Grid.Row=&quot;1&quot; &gt;
            &lt;Button Content=&quot;Expandir&quot; Margin=&quot;10&quot; &gt;
                &lt;Button.Triggers&gt;
                    &lt;EventTrigger RoutedEvent=&quot;Button.Click&quot;&gt;
                        &lt;BeginStoryboard&gt;
                            &lt;Storyboard&gt;
                                &lt;Local:GridLengthAnimation Duration=&quot;0:0:1&quot; Storyboard.TargetName=&quot;FirstColumnDefinition&quot; Storyboard.TargetProperty=&quot;Width&quot; To=&quot;450&quot; /&gt;
                            &lt;/Storyboard&gt;
                        &lt;/BeginStoryboard&gt;
                    &lt;/EventTrigger&gt;
                &lt;/Button.Triggers&gt;
            &lt;/Button&gt;
            &lt;Button Content=&quot;Restaurar&quot; Margin=&quot;10&quot;&gt;
                &lt;Button.Triggers&gt;
                    &lt;EventTrigger RoutedEvent=&quot;Button.Click&quot;&gt;
                        &lt;BeginStoryboard&gt;
                            &lt;Storyboard&gt;
                                &lt;Local:GridLengthAnimation Duration=&quot;0:0:1&quot; Storyboard.TargetName=&quot;FirstColumnDefinition&quot; Storyboard.TargetProperty=&quot;Width&quot; To=&quot;150&quot; /&gt;
                            &lt;/Storyboard&gt;
                        &lt;/BeginStoryboard&gt;
                    &lt;/EventTrigger&gt;
                &lt;/Button.Triggers&gt;
            &lt;/Button&gt;
        &lt;/StackPanel&gt;
    &lt;/Grid&gt;
&lt;/Window&gt;
</pre>
<p style="text-align: justify;">Se quiserem usar esta animação em code-behind, poderão fazer também de uma  forma muito simples:</p>
<pre class="brush: csharp; title: ; notranslate">
FirstColumnDefinition.BeginAnimation(
        ColumnDefinition.WidthProperty,
        new GridLengthAnimation()
    {
        To = new GridLength(0.8, GridUnitType.Star),
        Duration = TimeSpan.FromSeconds(1)
    });
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=307</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guid Generator</title>
		<link>http://www.ruigaspar.pt/?p=246</link>
		<comments>http://www.ruigaspar.pt/?p=246#comments</comments>
		<pubDate>Fri, 14 May 2010 09:30:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.ruigaspar.com/?p=246</guid>
		<description><![CDATA[Um pequeno aplicativo muito útil para gerar GUID&#8217;s únicas. É possível gerar e copiar directamente para o clipboard do windows. Podes descarregar a aplicação aqui: GUIDGenerator]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.ruigaspar.com/blog/wp-content/uploads/2010/05/GUID1.png"><img class="alignnone size-medium wp-image-247" title="GUID" src="http://www.ruigaspar.com/wp-content/uploads/2010/05/GUID-300x215.png" alt="" width="300" height="215" /></a></p>
<p style="text-align: left;">Um pequeno aplicativo muito útil para gerar GUID&#8217;s únicas. É possível gerar e copiar directamente para o clipboard do windows.</p>
<p style="text-align: left;">Podes descarregar a aplicação aqui: <a href="http://www.ruigaspar.com/wp-content/uploads/2010/05/GUIDGenerator1.zip">GUIDGenerator</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=246</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Foogle – Motor de Pesquisa Semântico sobre Futebol</title>
		<link>http://www.ruigaspar.pt/?p=222</link>
		<comments>http://www.ruigaspar.pt/?p=222#comments</comments>
		<pubDate>Sun, 07 Feb 2010 21:39:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Desenvolvimento Web]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Projectos]]></category>
		<category><![CDATA[Web Servers]]></category>

		<guid isPermaLink="false">http://ruigaspar.com/?p=222</guid>
		<description><![CDATA[Com o crescimento exponencial da informação que existe na internet, torna-se essencial que os resultados dos motores de busca sejam os que o utilizador pretende encontrar. As pesquisas baseadas em match de palavras-chave são muito limitadas, uma vez que obriga o utilizador a dizer ao motor de pesquisa exactamente o que pretende encontrar. Isto funciona [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;"><img class="aligncenter size-full wp-image-224" title="logo" src="http://www.ruigaspar.com/wp-content/uploads/2010/02/logo1.png" alt="" width="270" height="112" />Com o crescimento exponencial da informação que existe na internet, torna-se essencial que os resultados dos motores de busca sejam os que o utilizador pretende encontrar. As pesquisas baseadas em match de palavras-chave são muito limitadas, uma vez que obriga o utilizador a dizer ao motor de pesquisa exactamente o que pretende encontrar. Isto funciona se o utilizador souber o que encontrar, mas se o utilizador não souber, torna o processo de pesquisa muito mais ineficiente.<br />
Para contornar este problema, existe a pesquisa semântica, onde não apenas pesquisamos palavras, mas também conceitos.<br />
Com este intuito, desenvolveu-se este projecto que tem como finalidade a pesquisa semântica num domínio específico.</p>
<p style="text-align: justify;">Poderá descarregar aqui o artigo referente a este projecto: <a href="http://www.ruigaspar.com/wp-content/uploads/2010/02/relatorio-final-ruigaspar_ricardoclemente1.pdf">Relatorio Foogle</a></p>
<p style="text-align: justify;">Aqui poderá encontrar o código fonte da solução: <a href="http://code.assembla.com/WebSemantica/subversion/nodes">http://code.assembla.com/WebSemantica/subversion/nodes</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=222</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Realidade Virtual no Cinema</title>
		<link>http://www.ruigaspar.pt/?p=215</link>
		<comments>http://www.ruigaspar.pt/?p=215#comments</comments>
		<pubDate>Sun, 07 Feb 2010 20:26:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Cinema]]></category>
		<category><![CDATA[Multimédia]]></category>
		<category><![CDATA[Projectos]]></category>
		<category><![CDATA[Animação 3D]]></category>
		<category><![CDATA[Bullet Time]]></category>
		<category><![CDATA[Cave]]></category>
		<category><![CDATA[Cinema 3D]]></category>
		<category><![CDATA[Futuroscope]]></category>
		<category><![CDATA[IMAX]]></category>
		<category><![CDATA[Motion Capture]]></category>
		<category><![CDATA[Realidade Virtual]]></category>
		<category><![CDATA[Sensorama]]></category>
		<category><![CDATA[Visão Estereoscópica]]></category>

		<guid isPermaLink="false">http://ruigaspar.com/?p=215</guid>
		<description><![CDATA[Desde o “experience theater” de Morton Heilig nos anos 50, passando por filmes como TRON e Brainstorm, até às salas de cinema 3D, ao IMAX e ao Futuroscope, a realidade virtual há já muito tempo representa uma parte importante no cinema. É verdade que a definição de realidade virtual como uma experiência interactiva que exige [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: justify;"><img class="aligncenter size-full wp-image-221" title="bullettime" src="http://www.ruigaspar.com/wp-content/uploads/2010/02/bullettime1.jpg" alt="" width="400" height="227" /><br />
Desde o “experience theater” de Morton Heilig nos anos 50, passando por filmes como TRON e Brainstorm, até às salas de cinema 3D, ao IMAX e ao Futuroscope, a realidade virtual há já muito tempo representa uma parte importante no cinema. É verdade que a definição de realidade virtual como uma experiência interactiva que exige do utilizador o uso dos 5 sentidos vai um pouco contra a ideia do cinema como experiência estática que só estimula a visão e a audição. No entanto, isso não nos impede de pensar no Sensorama, com a sua imersão dos 5 sentidos, como “o cinema do futuro”, ou de representar uma realidade virtual de elevadíssimo realismo no argumento dos próprios filmes, ou ainda de projectar filmes com imagens e som 3D de maneira a imergir os espectadores numa realidade virtual parcial mas muitíssimo realista.</p>
<p style="text-align: justify;">Desde que, o actor e director, Antonin Artaud descreveu pela primeira vez, em 1938, o teatro como “la réalite virtuelle”, tanto o conceito como a tecnologia que o acompanha têm vindo a evoluir consideravelmente, o mesmo acontecendo com a sua aplicação na área do cinema. Esta evolução tem sido de tal maneira rápida que muito do que se tinha como sonhos e ideias extravagantes é hoje uma realidade, só possível graças a técnicas cada vez mais avançadas de filmagem, com várias câmaras em posições e com ângulos diferentes, captação de movimentos reais, através de uma variedade de sensores, edição de imagem por computador, etc.</p>
<p style="text-align: justify;">Para além de filmes como The Matrix e ExistenZ, criados, respectivamente, pelos irmãos Wachowski e David Cronenberg em 1999, que representam uma realidade virtual de tal maneira realista que nos levam a considerar a sua plausibilidade, existem ainda inúmeras salas de cinema 3D onde podemos imergir em imagens que saem do ecrã, com ecrãs enormes que abrangem por completo a nossa visão, como o IMAX Dome, com cadeiras que ganham vida para nos dar a ideia de movimento, como no Futuroscope, e até com cheiros, tudo para nos fazer entrar num outro mundo, numa realidade virtual.</p>
<p style="text-align: justify;">Poderá descarregar aqui o artigo completo <a href="http://www.ruigaspar.com/wp-content/uploads/2010/02/realidadevirtualnocinema_filipepires_joc3a3ogil_ruigaspar1.pdf">Realidade Virtual no Cinema</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=215</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mercator &#8211; Jogo de Mercadores da idade Medieval</title>
		<link>http://www.ruigaspar.pt/?p=203</link>
		<comments>http://www.ruigaspar.pt/?p=203#comments</comments>
		<pubDate>Thu, 30 Jul 2009 11:30:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projectos]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jogo]]></category>
		<category><![CDATA[Medieval]]></category>
		<category><![CDATA[Mercadores]]></category>

		<guid isPermaLink="false">http://ruigaspar.com/?p=203</guid>
		<description><![CDATA[Jogo de mercadores desenvolvido na cadeira de Estudo e Desenvolvimento de Jogos na Faculdade de Ciências e Tecnologia da Universidade de Coimbra. O objectivo deste jogo é simular o comercio na época medieval. Poderá obter mais informação e descarregar o jogo aqui.]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><img title="Mercator_Big" src="http://www.ruigaspar.com/wp-content/uploads/2009/07/mercator_big1.png" alt="Mercator_Big" width="500" height="365" /></p>
<p style="text-align: left;">Jogo de mercadores desenvolvido na cadeira de Estudo e Desenvolvimento de Jogos na Faculdade de Ciências e Tecnologia da Universidade de Coimbra.</p>
<p style="text-align: left;">O objectivo deste jogo é simular o comercio na época medieval.</p>
<p style="text-align: left;">Poderá obter mais informação e descarregar o jogo <a href="http://groups.google.pt/group/edj-mercator" target="_blank">aqui</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=203</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Modelação do Convento de Santa Clara-a-Nova</title>
		<link>http://www.ruigaspar.pt/?p=201</link>
		<comments>http://www.ruigaspar.pt/?p=201#comments</comments>
		<pubDate>Thu, 30 Jul 2009 11:29:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projectos]]></category>
		<category><![CDATA[Coimbra]]></category>
		<category><![CDATA[Convento]]></category>
		<category><![CDATA[Modelação]]></category>
		<category><![CDATA[Santa Clara-a-Nova]]></category>

		<guid isPermaLink="false">http://ruigaspar.com/?p=201</guid>
		<description><![CDATA[Modelação do Convento de Santa Clara-a-Nova em Coimbra. Esta ideia surgiu na realização da cadeira de Multimédia Avançada. O Convento foi modelado em VRML e está disponível aqui. Para poder visualizar ficheiros VRML necessita de um player, poderá utilizar o Cortona3D Viewer]]></description>
				<content:encoded><![CDATA[<p style="text-align: center;"><strong><img title="ConventoSantaClara_Big" src="http://www.ruigaspar.com/wp-content/uploads/2009/07/conventosantaclara_big1.png" alt="ConventoSantaClara_Big" width="500" height="250" /></strong></p>
<p style="text-align: left;">Modelação do Convento de Santa Clara-a-Nova em Coimbra. Esta ideia surgiu na realização da cadeira de Multimédia Avançada.</p>
<p style="text-align: left;">O Convento foi modelado em VRML e está disponível <a href="http://www.mediafire.com/?mfnaykwmn2t">aqui</a>.</p>
<p>Para poder visualizar ficheiros VRML necessita de um <em>player, </em>poderá utilizar o <a href="http://www.cortona3d.com/cortona" target="_blank">Cortona3D Viewer</a><a name="start"></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ruigaspar.pt/?feed=rss2&#038;p=201</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
