<?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>Tiago Salgado &#187; Sem categoria</title>
	<atom:link href="http://blog.tiagosalgado.com/category/sem-categoria/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.tiagosalgado.com</link>
	<description>personal blog</description>
	<lastBuildDate>Sat, 21 Jan 2012 15:20:38 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>HTML5 Boilerplate</title>
		<link>http://blog.tiagosalgado.com/2011/06/16/html5-boilerplate/</link>
		<comments>http://blog.tiagosalgado.com/2011/06/16/html5-boilerplate/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 09:51:05 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/html5-boilerplate/</guid>
		<description><![CDATA[HTML5 Boilerplate é o modelo profissional HTML/CSS/JS para um site rápido, robusto e preparado para o futuro. Depois de mais de dois anos de desenvolvimento iterativo, temos o melhor das melhores práticas em normalização cross-browser, optimizações de performance, e até recursos opcionais como Ajax cross-domain e Flash. Um arquivo de configurações apache .htaccess prevê as]]></description>
			<content:encoded><![CDATA[<blockquote><p>HTML5 Boilerplate é o modelo profissional HTML/CSS/JS para um site rápido, robusto e preparado para o futuro.     <br />Depois de mais de dois anos de desenvolvimento iterativo, temos o melhor das melhores práticas em normalização cross-browser, optimizações de performance, e até recursos opcionais como Ajax cross-domain e Flash. Um arquivo de configurações apache .htaccess prevê as regras de caching mais úteis e prepara o site para disponibilizar vídeo HTML5, usar @font-face, e aprimorar sua performance com gzip.      <br />Boilerplate não é um framework, nem prescreve nenhuma filosofia de desenvolvimento, é só uma colecção de truques para fazer seu projecto começar mais rápido e com o pé-direito.</p>
</blockquote>
<p>Podem ler mais sobre o HTML5Boilerplate no <a href="http://html5boilerplate.com/" target="_blank">website do projecto</a>.</p>
<p>Uma boa forma de se iniciar com o HTML5Boilerplate pode ser encontrado no blog do Dan Wahlin neste <a href="http://weblogs.asp.net/dwahlin/archive/2011/06/05/getting-started-using-html5-boilerplate.aspx" target="_blank">post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/06/16/html5-boilerplate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Revista PROGRAMAR &#8211; 29ª Edição &#8211; Junho 2011</title>
		<link>http://blog.tiagosalgado.com/2011/06/15/revista-programar-29-edio-junho-2011/</link>
		<comments>http://blog.tiagosalgado.com/2011/06/15/revista-programar-29-edio-junho-2011/#comments</comments>
		<pubDate>Tue, 14 Jun 2011 23:01:16 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[dev]]></category>
		<category><![CDATA[revista programar]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/revista-programar-29-edio-junho-2011/</guid>
		<description><![CDATA[Download Tema de capa GIT &#8211; Controlo de Versões para Pequenos e Grandes Projectos A programar LUA &#8211; Linguagem de Programação &#8211; Parte 9 Introdução ao Cloud Computing e à Plataforma Windows Managed Extensibility Framework (MEF) e AJAX Microsoft BizTalk Server aos olhos dos programadores O Editor de texto VIM Visual (Not) Basic Introdução ao]]></description>
			<content:encoded><![CDATA[<p><img src="http://img3.imageshack.us/img3/9278/ed291.jpg" width="247" height="349" /></p>
</p>
<p><a href="http://www.portugal-a-programar.org/revista-programar/edicoes/download.php?e=29&amp;t=site">Download</a></p>
<p>Tema de capa    <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=209">GIT &#8211; Controlo de Versões para Pequenos e Grandes Projectos</a></p>
<p>A programar    <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=210">LUA &#8211; Linguagem de Programação &#8211; Parte 9</a>     <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=211">Introdução ao Cloud Computing e à Plataforma Windows</a>     <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=212">Managed Extensibility Framework (MEF) e AJAX</a>     <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=213">Microsoft BizTalk Server aos olhos dos programadores</a>     <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=214">O Editor de texto VIM</a></p>
<p>Visual (Not) Basic    <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=216">Introdução ao OpenXML SDK</a></p>
<p>Core Dump    <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=215">Fazer mal = Rápido?</a></p>
<p>Comunidades    <br /><a href="http://www.revista-programar.info/?action=articles&amp;type=viewarticle&amp;n=217">Certificações Microsoft</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/06/15/revista-programar-29-edio-junho-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pinify–The jQuery Site pinning Plugin</title>
		<link>http://blog.tiagosalgado.com/2011/05/15/pinifythe-jquery-site-pinning-plugin/</link>
		<comments>http://blog.tiagosalgado.com/2011/05/15/pinifythe-jquery-site-pinning-plugin/#comments</comments>
		<pubDate>Sun, 15 May 2011 16:31:59 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[codeplex]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/pinifythe-jquery-site-pinning-plugin/</guid>
		<description><![CDATA[A jQuery Plugin for adding IE9 features (site pinning, site mode, etc.) to your websites. Several new features of Internet Explorer 9 are designed to enhance the browsing experience of consumers by enabling sites that leverage certain features to behave like applications on the desktop when those sites are ‘pinned’ to the taskbar in Windows]]></description>
			<content:encoded><![CDATA[<p><img src="http://img19.imageshack.us/img19/9453/ie9ify.png" width="163" height="100" /></p>
<blockquote><p>A jQuery Plugin for adding IE9 features (site pinning, site mode, etc.) to your websites. Several new features of Internet Explorer 9 are designed to enhance the browsing experience of consumers by enabling sites that leverage certain features to behave like applications on the desktop when those sites are ‘pinned’ to the taskbar in Windows 7. A user pins a site by dragging the site’s tab (or favicon in the address bar) to the taskbar. For all sites, IE9 will create a default experience (called ‘site mode’) that will use information about the site to create an instance of the browser customized to look specific to that site. Developers can also add specific meta tags and script commands to extend these features to further customize user’s pinned experience of the site.</p>
</blockquote>
<h4>Your site, from zero-to-pinned in less than 5 minutes:</h4>
<ol>
<li>install-package jquery.ie9ify </li>
<li>$(‘head’).pinify(); </li>
<li>Run and Pin! </li>
</ol>
<p>Mais informações em: <a href="http://ie9ify.codeplex.com/">http://ie9ify.codeplex.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/05/15/pinifythe-jquery-site-pinning-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>3º Seminário IT &amp; PRO PocketPT</title>
		<link>http://blog.tiagosalgado.com/2011/05/14/3-seminrio-it-pro-pocketpt/</link>
		<comments>http://blog.tiagosalgado.com/2011/05/14/3-seminrio-it-pro-pocketpt/#comments</comments>
		<pubDate>Sat, 14 May 2011 09:25:13 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[pocketpc]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/3-seminrio-it-pro-pocketpt/</guid>
		<description><![CDATA[O evento O evento do ano para profissionais de mobilidade está ai! No próximo dia 28 de Maio terá lugar a terceira edição doSeminário TI&#38;PRO PocketPT destinado a profissionais de TI e programadores que estão de alguma forma ligados às tecnologias móveis. O evento deste ano irá focar muitas novidades sobre o desenvolvimento para a]]></description>
			<content:encoded><![CDATA[<p><img src="http://img819.imageshack.us/img819/4672/3seminariopocketpt.jpg" width="238" height="249" /></p>
<h3>O evento</h3>
<p>O evento do ano para profissionais de mobilidade está ai! No próximo dia 28 de Maio terá lugar a terceira edição do<strong>Seminário TI&amp;PRO PocketPT</strong> destinado a profissionais de TI e programadores que estão de alguma forma ligados às tecnologias móveis.</p>
<p>O evento deste ano irá focar muitas novidades sobre o desenvolvimento para a plataforma Windows Phone 7, bem como mostrar que esta plataforma já possuí os argumentos necessários para ser utilizada em ambiente empresarial, quer seja pela sua produtividade nativa, quer pela integração com soluções de negócio já existentes.</p>
<p>Iremos ter oradores de grande relevância no panorama nacional da mobilidade, bem como os oradores do PocketPT e da Microsoft Portugal que iram sem dúvida enriquecer o evento e os seus participantes em termos de conteúdos.</p>
<p><strong>O dia será divido em duas partes</strong>: parte da manhã será a track para TI&amp;PRO&#8217;s e a parte da tarde trará a track para developers.</p>
<h3>O programa</h3>
<p>09.45h – Check-in e abertura das inscrições presenciais    <br />10.00h – Apresentação do evento&#160; (Nuno Luz)     <br />10.10h –<strong> Key Note: Artur Amaral &#8211; Microsoft      <br /></strong>10.40h – Soluções empresariais para Windows Phone 7 (Nuno Luz)     <br />11.00h – Coffee break     <br />11.20h – <strong>O presente e o futuro do Windows Phone nas empresas (Pedro Chaves &#8211; Microsoft)</strong>     <br />12.10h – A designar</p>
<p><strong>13.00h – Almoço</strong></p>
<p>14.30h – XNA para aplicações móveis (<a href="http://www.facebook.com/zonaparadoxal">Guilherme Santos &#8211; ZPX</a>)     <br />15.00h – Desmistificando o MVVM (<a href="http://www.pedrolamas.com/">Pedro Lamas</a>)     <br />15.30h – BancaPT &#8211; Lessons learned (Nuno Luz)     <br />16.00h – Coffee break     <br />16.30h – Tools e e novas features do Mango (Nuno Silva &#8211; Microsoft)     <br />17.30h – Entrega de prémios e encerramento</p>
<p>Mais informações em <a href="http://mtechseminar.pocketpt.net/2011/index.htm">http://mtechseminar.pocketpt.net/2011/index.htm</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/05/14/3-seminrio-it-pro-pocketpt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Menubar e web.sitemap</title>
		<link>http://blog.tiagosalgado.com/2011/05/11/jquery-menubar-e-web-sitemap/</link>
		<comments>http://blog.tiagosalgado.com/2011/05/11/jquery-menubar-e-web-sitemap/#comments</comments>
		<pubDate>Wed, 11 May 2011 21:37:16 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/jquery-menubar-e-web-sitemap/</guid>
		<description><![CDATA[Após o HTML 5 Microsoft WebCamp Portugal, surgiu-me algum interesse em explorar o plugin Menubar. Este plugin transforma uma lista num menu bastante agradável, e como tal, gostava de o implementar num projecto em que utilizo o web.sitemap. Para tal, precisei de recorrer a um XLST para transformar o web.sitemap, que não é mais que]]></description>
			<content:encoded><![CDATA[<p>Após o HTML 5 Microsoft WebCamp Portugal, surgiu-me algum interesse em explorar o plugin <a href="http://wiki.jqueryui.com/w/page/38666403/Menubar">Menubar</a>.</p>
<p>Este plugin transforma uma lista num menu bastante agradável, e como tal, gostava de o implementar num projecto em que utilizo o web.sitemap.</p>
<p>Para tal, precisei de recorrer a um XLST para transformar o web.sitemap, que não é mais que um XML, numa lista no formato que o Menubar necessita.</p>
<p>Segue então um exemplo do web.sitemap:</p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;    <br />&lt;siteMap xmlns=&quot;<a href="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0&quot;">http://schemas.microsoft.com/AspNet/SiteMap-File-1.0&quot;</a>&gt;     <br />&#160;&#160;&#160; &lt;siteMapNode url=&quot;~/&quot; title=&quot;Home&quot; description=&quot;Home&quot;&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;siteMapNode url=&quot;&quot; title=&quot;Menu 1&quot; description=&quot;Menu 1&quot; &gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;siteMapNode url=&quot;<a href="http://www.google.pt&quot;">http://www.google.pt&quot;</a> title=&quot;Submenu 1&quot; description=&quot;Submenu 1&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/siteMapNode&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;siteMapNode url=&quot;&quot; title=&quot;Menu 2&quot; description=&quot;Menu 2&quot;&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;siteMapNode url=&quot;<a href="http://www.microsoft.com&quot;">http://www.microsoft.com&quot;</a> title=&quot;Submenu 2&quot; description=&quot;Submenu 2&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;siteMapNode url=&quot;<a href="http://www.apple.com&quot;">http://www.apple.com&quot;</a> title=&quot;Submenu 3&quot; description=&quot;Submenu&#160; 3&quot; /&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/siteMapNode&gt;     <br />&#160;&#160;&#160; &lt;/siteMapNode&gt;     <br />&lt;/siteMap&gt;</p>
<p>Para transformar o XML numa lista, usei o seguinte XSLT</p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;    <br />&lt;xsl:stylesheet version=&quot;1.0&quot; xmlns:xsl=&quot;<a href="http://www.w3.org/1999/XSL/Transform&quot;">http://www.w3.org/1999/XSL/Transform&quot;</a> xmlns:map=&quot;<a href="http://schemas.microsoft.com/AspNet/SiteMap-File-1.0&quot;">http://schemas.microsoft.com/AspNet/SiteMap-File-1.0&quot;</a>     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; exclude-result-prefixes=&quot;map&quot;&gt;     <br />&#160; &lt;xsl:output method=&quot;xml&quot; encoding=&quot;utf-8&quot; indent=&quot;yes&quot;/&gt;</p>
<p>&#160; &lt;xsl:template match=&quot;map:siteMapNode&quot;&gt;    <br />&#160;&#160;&#160; &lt;li&gt;     <br />&#160;&#160;&#160;&#160;&#160; &lt;a href=&quot;{@url}&quot; title=&quot;{@description}&quot;&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;xsl:value-of select=&quot;@title&quot;/&gt;     <br />&#160;&#160;&#160;&#160;&#160; &lt;/a&gt;     <br />&#160;&#160;&#160;&#160;&#160; &lt;xsl:if test=&quot;map:siteMapNode&quot;&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ul&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;xsl:call-template name=&quot;mapNode&quot;/&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/ul&gt;     <br />&#160;&#160;&#160;&#160;&#160; &lt;/xsl:if&gt;     <br />&#160;&#160;&#160; &lt;/li&gt;     <br />&#160; &lt;/xsl:template&gt;</p>
<p>&#160; &lt;xsl:template name=&quot;mapNode&quot; match=&quot;/*/*&quot;&gt;    <br />&#160;&#160;&#160; &lt;xsl:apply-templates/&gt;     <br />&#160; &lt;/xsl:template&gt;     <br />&lt;/xsl:stylesheet&gt;</p>
<p>Desta forma, irei obter uma lista igual à seguinte:</p>
<p>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot; ?&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Menu 1&quot;&gt;Menu 1&lt;/a&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ul&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;li&gt;&lt;a href=&quot;<a href="http://www.google.pt&quot;">http://www.google.pt&quot;</a> title=&quot;Submenu 1&quot;&gt;Submenu 1&lt;/a&gt;&lt;/li&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/ul&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/li&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;li&gt;&lt;a href=&quot;&quot; title=&quot;Menu 2&quot;&gt;Menu 2&lt;/a&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;ul&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;li&gt;&lt;a href=&quot;<a href="http://www.microsoft.com&quot;">http://www.microsoft.com&quot;</a> title=&quot;Submenu 2&quot;&gt;Submenu 2&lt;/a&gt;&lt;/li&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;li&gt;&lt;a href=&quot;<a href="http://www.apple.com&quot;">http://www.apple.com&quot;</a> title=&quot;Submenu&#160; 3&quot;&gt;Submenu 3&lt;/a&gt;&lt;/li&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/ul&gt;     <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;/li&gt;</p>
<p>Por fim, basta-nos adicionar um controlo XML que irá fazer o render da lista.</p>
<p>&lt;ul id=&quot;bar1&quot; class=&quot;menubar&quot;&gt;    <br />&#160;&#160;&#160;&#160;&#160;&#160;&#160; &lt;asp:Xml runat=&quot;server&quot; ID=&quot;xmlSiteMapViewer&quot; DocumentSource=&quot;~/web.sitemap&quot; TransformSource=&quot;~/sitemap.xslt&quot; /&gt;     <br />&#160;&#160;&#160; &lt;/ul&gt;</p>
<p>A inserção do controlo entre uma “unordered list” foi propositado, pois só assim é que teremos o menu a funcionar correctamente e teremos um resultado identico ao que está no seguinte site:</p>
<p><a href="http://view.jqueryui.com/master/demos/menubar/default.html">http://view.jqueryui.com/master/demos/menubar/default.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/05/11/jquery-menubar-e-web-sitemap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application Name na ConnectionString</title>
		<link>http://blog.tiagosalgado.com/2011/05/10/application-name-na-connectionstring/</link>
		<comments>http://blog.tiagosalgado.com/2011/05/10/application-name-na-connectionstring/#comments</comments>
		<pubDate>Tue, 10 May 2011 12:52:59 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[sql server]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/application-name-na-connectionstring/</guid>
		<description><![CDATA[Quando estou a desenolver algum projecto, é normal necessitar de analisar as querys que são executadas na base de dados para detectar um possivel bug ou algo que não esteja a bater certo com o que esperava. Para isso, uso o Profiler do SQL Server que me dá rapidamente uma boa visão do que está]]></description>
			<content:encoded><![CDATA[<p>Quando estou a desenolver algum projecto, é normal necessitar de analisar as querys que são executadas na base de dados para detectar um possivel bug ou algo que não esteja a bater certo com o que esperava.</p>
<p>Para isso, uso o Profiler do SQL Server que me dá rapidamente uma boa visão do que está a ser solicitado em cada ligação à base de dados.</p>
<p>O exemplo de um registo no profiler pode ser visto assim:</p>
<p><img src="http://img841.imageshack.us/img841/8498/profiler1.png" width="771" height="30" /></p>
<p>Como se pode ver, a coluna Application Name tem o valor “.Net SqlClient Data Provider”, o que nos dificulta bastante a filtragem para apenas a aplicação que pretendemos analisar os dados.</p>
<p>Para resolver isso, basta-nos indicar na ConnectionString, o nome da nossa aplicação, e tudo fica mais fácil.</p>
<pre>&quot;Data Source=localhost;Initial Catalog=MyDatabase;Integrated Security=True;Application Name=MyAppName&quot;</pre>
<p>Após isto,, já teremos algo mais amigável como:</p>
<p><img src="http://img148.imageshack.us/img148/2063/profiler2.png" width="714" height="19" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/05/10/application-name-na-connectionstring/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ASP.NET Membership Lock User</title>
		<link>http://blog.tiagosalgado.com/2011/05/02/asp-net-membership-lock-user/</link>
		<comments>http://blog.tiagosalgado.com/2011/05/02/asp-net-membership-lock-user/#comments</comments>
		<pubDate>Mon, 02 May 2011 12:58:23 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[asp.net]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/asp-net-membership-lock-user/</guid>
		<description><![CDATA[Visto que não temos uma forma directa de indicar que determinado utilizador irá estar bloqueado, a única forma que arranjei para o fazer foi forçar o erro no login múltiplas vezes, até atingir o valor máximo de tentativas definidas no atributo “maxInvalidPasswordAttempts”. Quando usamos o Membership do ASP.NET, no web.config teremos algo como: &#60;add name=&#34;AspNetSqlMembershipProvider&#34;]]></description>
			<content:encoded><![CDATA[<p>Visto que não temos uma forma directa de indicar que determinado utilizador irá estar bloqueado, a única forma que arranjei para o fazer foi forçar o erro no login múltiplas vezes, até atingir o valor máximo de tentativas definidas no atributo “maxInvalidPasswordAttempts”.</p>
<p>Quando usamos o Membership do ASP.NET, no web.config teremos algo como:</p>
<p>&lt;add name=&quot;AspNetSqlMembershipProvider&quot; </p>
<p>type=&quot;System.Web.Security.SqlMembershipProvider&quot; </p>
<p>connectionStringName=&quot;MyAppConnectionString&quot; </p>
<p>enablePasswordRetrieval=&quot;false&quot; </p>
<p>enablePasswordReset=&quot;true&quot; </p>
<p>requiresQuestionAndAnswer=&quot;false&quot; </p>
<p>requiresUniqueEmail=&quot;false&quot; </p>
<p>maxInvalidPasswordAttempts=&quot;5&quot; </p>
<p>minRequiredPasswordLength=&quot;6&quot; </p>
<p>minRequiredNonalphanumericCharacters=&quot;0&quot; </p>
<p>passwordAttemptWindow=&quot;10&quot; applicationName=&quot;MyAppName&quot; /&gt;</p>
<p>O código que utilizo é então o seguinte:</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:812469c5-0cb0-4c63-8c15-c81123a09de7:7b992993-3bdb-4e84-a36b-2b56774e9723" class="wlWriterEditableSmartContent">
<pre name="code" class="c#">public static bool LockUser(MembershipUser user)
{
    try
    {
        for (int i = 0; i &lt; Membership.MaxInvalidPasswordAttempts; i++)
            Membership.ValidateUser(user.UserName, "thisisandummypasswordonlytolocktheuser");

        return user.IsLockedOut;
    }
    catch (Exception)
    {
        throw;
    }

}</pre>
</div>
<p>Espero que seja util. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/05/02/asp-net-membership-lock-user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Silk</title>
		<link>http://blog.tiagosalgado.com/2011/04/29/project-silk/</link>
		<comments>http://blog.tiagosalgado.com/2011/04/29/project-silk/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 13:48:03 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[asp.net mvc]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/project-silk/</guid>
		<description><![CDATA[Project Silk provides guidance for building cross-browser web applications with a focus on client-side interactivity. These applications take advantage of the latest web standards like HTML5, CSS3 and ECMAScript 5 along with modern web technologies such as jQuery, Internet Explorer 9, and ASP.NET MVC3. To illustrate this guidance, the project includes a reference implementation called]]></description>
			<content:encoded><![CDATA[<p><a href="http://silk.codeplex.com/" target="_blank">Project Silk</a> provides guidance for building cross-browser web applications with a focus on client-side interactivity. These applications take advantage of the latest web standards like HTML5, CSS3 and ECMAScript 5 along with modern web technologies such as jQuery, Internet Explorer 9, and ASP.NET MVC3.</p>
<p>To illustrate this guidance, the project includes a reference implementation called Mileage Stats that enables its users to track various metrics about their vehicles and fill-ups. Much of the effort in building Mileage Stats was applied to the usability and interactivity of the experience. Animations were included to enhance the enjoyment of the site and AJAX is used to keep the interface responsive and immersive. A great deal of care was also taken to ensure the client-side JavaScript facilitates modularity and maintainability. To accomplish these design goals, the JavaScript code was structured into “widgets” that benefit from the jQuery UI Widget Factory.</p>
<p>Mais informações em <a title="http://silk.codeplex.com/" href="http://silk.codeplex.com/">http://silk.codeplex.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/04/29/project-silk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JustTrace e JustDecompile</title>
		<link>http://blog.tiagosalgado.com/2011/04/29/justtrace-e-justdecompile/</link>
		<comments>http://blog.tiagosalgado.com/2011/04/29/justtrace-e-justdecompile/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 09:11:38 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/justtrace-e-justdecompile/</guid>
		<description><![CDATA[A Telerik disponibilizou duas ferramentas, ainda em fase Beta, para download. O JustTrace e o JustDecompile. JustTrace Profiler Types Live Data Attach to Running Process Visual Studio Integration Profiling Child Processes Profiling Performance RadControls in Action JustDecompile Fast Code Navigation Side-by-Side Assemblies Easy Assembly Management Rich, WPF UI Universal Find Usages Decompiled Code Quality Download]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://www.telerik.com/" target="_blank">Telerik</a> disponibilizou duas ferramentas, ainda em fase Beta, para download. O <a href="http://www.telerik.com/products/memory-performance-profiler.aspx" target="_blank">JustTrace</a> e o <a href="http://www.telerik.com/products/decompiling.aspx" target="_blank">JustDecompile</a>.</p>
<p><a href="http://www.telerik.com/products/memory-performance-profiler.aspx">JustTrace</a></p>
<ul>
<li>Profiler Types </li>
<li>Live Data </li>
<li>Attach to Running Process </li>
<li>Visual Studio Integration </li>
<li>Profiling Child Processes </li>
<li>Profiling Performance </li>
<li>RadControls in Action </li>
</ul>
<p><strong></strong></p>
<p><a href="http://www.telerik.com/products/decompiling.aspx">JustDecompile</a></p>
<p><strong></strong></p>
<ul>
<li>Fast Code Navigation </li>
<li>Side-by-Side Assemblies </li>
<li>Easy Assembly Management </li>
<li>Rich, WPF UI </li>
<li>Universal Find Usages </li>
<li>Decompiled Code Quality </li>
</ul>
<p>Download <a href="http://www.telerik.com/account/your-products/trial-product-versions/download-trial-file.aspx?pid=844">JustTrace</a> and <a href="http://www.telerik.com/community/license-agreement.aspx?pId=845">JustDecompile</a> Betas     <br /><a href="http://www.telerik.com/community/forums/justtrace.aspx">JustTrace Official Feedback Forum</a>     <br /><a href="http://www.telerik.com/community/forums/justdecompile.aspx">JustDecompile Official Feedback Forum</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/04/29/justtrace-e-justdecompile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sql Saturday Portugal</title>
		<link>http://blog.tiagosalgado.com/2011/04/17/sql-saturday-portugal-2/</link>
		<comments>http://blog.tiagosalgado.com/2011/04/17/sql-saturday-portugal-2/#comments</comments>
		<pubDate>Sun, 17 Apr 2011 14:54:04 +0000</pubDate>
		<dc:creator>Tiago Salgado</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[eventos]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[Sql saturday]]></category>

		<guid isPermaLink="false">http://blog.tiagosalgado.com/?p=743</guid>
		<description><![CDATA[Dia 15 de Abril, realizou-se o primeiro Sql Saturday em Portugal, que contou com a organização da comunidade SQLPort. Foi um dia bem passado, recheado de boas sessões, e não podia acabar da melhor forma, ao ganhar uma licença do SQL Prompt da Redgate. Para finalizar este post, resta dar os parabens à comunidade SQLPort]]></description>
			<content:encoded><![CDATA[<p>Dia 15 de Abril, realizou-se o primeiro <a href="http://www.sqlsaturday.com/78/eventhome.aspx" target="_blank">Sql Saturday</a> em Portugal, que contou com a organização da comunidade <a href="http://www.sqlport.com/sql-server/" target="_blank">SQLPort</a>.</p>
<p>Foi um dia bem passado, recheado de boas sessões, e não podia acabar da melhor forma, ao ganhar uma licença do <a href="http://www.red-gate.com/products/sql-development/sql-prompt/" target="_blank">SQL Prompt</a> da <a href="http://www.red-gate.com/" target="_blank">Redgate</a>.</p>
<p>Para finalizar este post, resta dar os parabens à comunidade <a href="http://www.sqlport.com/sql-server/" target="_blank">SQLPort</a> pelo bom trabalho em todo o evento.</p>
<p><img src="http://img339.imageshack.us/img339/5807/20110417154833.jpg" width="180" height="241" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.tiagosalgado.com/2011/04/17/sql-saturday-portugal-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

