﻿<?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>amgarcia.net</title>
	<atom:link href="http://amgarcia.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://amgarcia.net</link>
	<description>Blog pessoal</description>
	<lastBuildDate>Sun, 29 Aug 2010 11:27:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>Hashes do Office 2010 RTM</title>
		<link>http://amgarcia.net/?p=593</link>
		<comments>http://amgarcia.net/?p=593#comments</comments>
		<pubDate>Sat, 17 Apr 2010 13:20:48 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Hashes]]></category>
		<category><![CDATA[Office]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=593</guid>
		<description><![CDATA[O Office 2010 RTM já está na internet. Para quem quiser, aqui estão as hashes das builds (a build da RTM definitiva é a 14.0.4764.1000) BUILD: 14.0.4763.1000 FILE: 14.0.4763.1000_Select_volume_ship_x86_en-us_dvd.iso SIZE: 3,490,926,592 byte SHA1: 92F9B3BD1029A1FF524B8A2BD8EF4F7E5C304F5B MD5: 78E007959180C6B8CFE840F1D9312A42 CRC: 1EA98A3F BUILD: 14.0.4763.1000 FILE: 14.0.4763.1000_Select_volume_ship_x64_en-us_dvd.iso SIZE: 4,018,466,816 byte SHA1: 88E8A16A21C7C71E210282B39C54A0A782637580 MD5: 430A89F6F3FBB2AAB914E22DC1846093 CRC: 312F7C7A]]></description>
			<content:encoded><![CDATA[<p>O Office 2010 RTM já está na internet.</p>
<p>Para quem quiser, aqui estão as hashes das builds (a build da RTM definitiva é a 14.0.4764.1000)</p>
<blockquote><p>BUILD: 14.0.4763.1000<br />
FILE: 14.0.4763.1000_Select_volume_ship_x86_en-us_dvd.iso<br />
SIZE: 3,490,926,592 byte<br />
SHA1: 92F9B3BD1029A1FF524B8A2BD8EF4F7E5C304F5B<br />
MD5: 78E007959180C6B8CFE840F1D9312A42<br />
CRC: 1EA98A3F<br />
BUILD: 14.0.4763.1000<br />
FILE: 14.0.4763.1000_Select_volume_ship_x64_en-us_dvd.iso<br />
SIZE: 4,018,466,816 byte<br />
SHA1: 88E8A16A21C7C71E210282B39C54A0A782637580<br />
MD5: 430A89F6F3FBB2AAB914E22DC1846093<br />
CRC: 312F7C7A</p></blockquote>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=593</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Myspace Downloader</title>
		<link>http://amgarcia.net/?p=582</link>
		<comments>http://amgarcia.net/?p=582#comments</comments>
		<pubDate>Sun, 11 Apr 2010 02:07:39 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Myspace]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=582</guid>
		<description><![CDATA[Finalmente tenho esta aplicação completa. Foi a primeira que fiz que segue as normas de programação orientada a objectos. Aproveitei e fiz uma página dedicada à aplicação, e no blog coloquei um link Projectos que vai servir de índice para colocar projectos meus. Aqui fica o link: http://amgarcia.net/myspacedownloader]]></description>
			<content:encoded><![CDATA[<p>Finalmente tenho esta aplicação completa.<br />
Foi a primeira que fiz que segue as normas de programação orientada a objectos.<br />
Aproveitei e fiz uma página dedicada à aplicação, e no blog coloquei um link Projectos que vai servir de índice para colocar projectos meus.</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/04/myspacedownloader1.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/04/myspacedownloader1-250x300.jpg" alt="" title="myspacedownloader1" width="250" height="300" class="alignnone size-medium wp-image-566" /></a></p>
<p>Aqui fica o link: <a href="http://amgarcia.net/myspacedownloader">http://amgarcia.net/myspacedownloader</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=582</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Definir hora para executar uma tarefa no Windows 7</title>
		<link>http://amgarcia.net/?p=547</link>
		<comments>http://amgarcia.net/?p=547#comments</comments>
		<pubDate>Mon, 29 Mar 2010 21:59:43 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=547</guid>
		<description><![CDATA[Muitas vezes é necessário correr uma aplicação a uma certa hora de modo a automatizar tarefas. O Windows tem uma ferramenta que permite isto: Task Scheduler Vou aqui explicar como fazer o computador desligar numa hora definida. Para executar a ferramenta ir a Start, Run e colocar: taskschd.msc Clicar em Create Basic Task de modo [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://amgarcia.net/wp-content/uploads/2010/01/windows7-e1264516552509.jpg" alt="" title="windows7" width="200" height="200" class="alignnone size-full wp-image-467" /></p>
<p>Muitas vezes é necessário correr uma aplicação a uma certa hora de modo a automatizar tarefas.<br />
O Windows tem uma ferramenta que permite isto: Task Scheduler<br />
Vou aqui explicar como fazer o computador desligar numa hora definida.</p>
<p><span id="more-547"></span></p>
<p>Para executar a ferramenta ir a Start, Run e colocar: <strong>taskschd.msc</strong></p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/03/1.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/03/1-300x178.jpg" alt="" title="1" width="300" height="178" class="alignnone size-medium wp-image-549" /></a></p>
<p>Clicar em Create Basic Task de modo a criar uma nova tarefa</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/03/2.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/03/2-300x208.jpg" alt="" title="2" width="300" height="208" class="alignnone size-medium wp-image-550" /></a></p>
<p>Definir o nome da tarefa e a decrição da mesma</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/03/3.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/03/3-300x208.jpg" alt="" title="3" width="300" height="208" class="alignnone size-medium wp-image-551" /></a></p>
<p>Definir quando é que a tarefa vai ser executada (neste caso será apenas uma vez)</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/03/4.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/03/4-300x208.jpg" alt="" title="4" width="300" height="208" class="alignnone size-medium wp-image-552" /></a></p>
<p>Aqui é seleccionada a data e hora na qual a tarefa vai ser executada</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/03/5.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/03/5-300x208.jpg" alt="" title="5" width="300" height="208" class="alignnone size-medium wp-image-553" /></a></p>
<p>Definir que acção vai ser efectuada pela tarefa</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/03/6.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/03/6-300x208.jpg" alt="" title="6" width="300" height="208" class="alignnone size-medium wp-image-554" /></a></p>
<p>Como é um programa que vai ser executado, o caminho deste tem que ser definido e os argumentos também. Neste caso é executado o shutdown com argumento /s (para desligar o computador)</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/03/7.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/03/7-300x208.jpg" alt="" title="7" width="300" height="208" class="alignnone size-medium wp-image-555" /></a></p>
<p>Confirmar se está tudo bem definido e clicar em Finish</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/03/8.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/03/8-300x178.jpg" alt="" title="8" width="300" height="178" class="alignnone size-medium wp-image-556" /></a></p>
<p>Com tudo feito, é possível verificar que tarefas estão agendadas clicando em Task Scheduler Library. Ao clicar na tarefa desejada, é possível eliminá-la e editar de modo a alterar datas, tarefas, etc.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=547</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acontecimento estranho no Lost</title>
		<link>http://amgarcia.net/?p=509</link>
		<comments>http://amgarcia.net/?p=509#comments</comments>
		<pubDate>Thu, 11 Feb 2010 00:15:01 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Stuff]]></category>
		<category><![CDATA[LOST]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=509</guid>
		<description><![CDATA[Estava eu no mIRC e o luminoso disse-me que o Lost tem um bug. Atenção que contém spoilers. Quem quiser ver clique em Continue reading. Então explicou-me qual o bug e eu já tinha reparado nisto; daí não ter percebido como surgiram dois espaços. Vamos analisar isto através do fluxograma que criei. Portanto, este é [...]]]></description>
			<content:encoded><![CDATA[<p>Estava eu no mIRC e o luminoso disse-me que o Lost tem um bug.<br />
Atenção que contém spoilers. Quem quiser ver clique em Continue reading.<br />
<span id="more-509"></span><br />
Então explicou-me qual o bug e eu já tinha reparado nisto; daí não ter percebido como surgiram dois espaços.<br />
Vamos analisar isto através do fluxograma que criei.</p>
<p><a href="http://amgarcia.net/wp-content/uploads/2010/02/fluxogramalost.jpg"><img src="http://amgarcia.net/wp-content/uploads/2010/02/fluxogramalost-300x201.jpg" alt="" title="fluxogramalost" width="300" height="201" class="alignnone size-medium wp-image-510" /></a></p>
<p>Portanto, este é um problema que me anda a atormentar e ao luminoso também.</p>
<p>Se a ilha desapareceu no momento da explosão, porque é que existe num dos espaços?</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=509</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>MC Fuckin Palim Text Converter 0.2-rapper</title>
		<link>http://amgarcia.net/?p=475</link>
		<comments>http://amgarcia.net/?p=475#comments</comments>
		<pubDate>Mon, 01 Feb 2010 13:19:42 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[C#]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=475</guid>
		<description><![CDATA[Não tinha nada para fazer e como quero explorar qualquer coisa de C# decidi fazer um port deste programa para C# e aproveitar para integrar um ambiente gráfico, por isso lancei a versão 0.2 do programa. A versão 0.1 tinha como código de nome mc, e esta 0.2 tem como código de nome rapper. Para [...]]]></description>
			<content:encoded><![CDATA[<p>Não tinha nada para fazer e como quero explorar qualquer coisa de C# decidi fazer um port <a href="http://amgarcia.net/?p=442">deste</a> programa para C# e aproveitar para integrar um ambiente gráfico, por isso lancei a versão 0.2 do programa.<br />
A versão 0.1 tinha como código de nome mc, e esta 0.2 tem como código de nome rapper.</p>
<p><img src="http://amgarcia.net/wp-content/uploads/2010/02/Untitled.png" alt="" title="MC Fuckin Palim Text Converter 0.2" width="374" height="363" class="alignnone size-full wp-image-478" /></p>
<p>Para além de agora ter interface gráfica, basta escrever o texto, carregar enter e colar no destino, pois coloca automaticamente no clipboard.</p>
<p>Aqui estão os ficheiros: <a href="http://dl.dropbox.com/u/3511991/mcconverter02.rar">Download</a></p>
<p>O binário encontra-se na pasta bin/Release.</p>
<p>Aproveito para avisar que o programa tem um easter egg (estive a tentar um grande bocado mas não consegui. O Nuno Melo conseguiu ajudar-me a resolver o problema, obrigado).<br />
Tentem lá descobrir sem ir ao código. <img src='http://amgarcia.net/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=475</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Gestão de propostas de uma biblioteca em C</title>
		<link>http://amgarcia.net/?p=447</link>
		<comments>http://amgarcia.net/?p=447#comments</comments>
		<pubDate>Thu, 21 Jan 2010 15:00:22 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=447</guid>
		<description><![CDATA[Como tinha prometido, aqui está o código do meu projecto da universidade que consiste na criação de uma gestão de propostas de uma biblioteca usando C. Está, como é habitual, licenciado em WTFPL de modo a haver total liberdade. main.c]]></description>
			<content:encoded><![CDATA[<p>Como <a href="http://amgarcia.net/?p=426">tinha prometido</a>, aqui está o código do meu projecto da universidade que consiste na criação de uma gestão de propostas de uma biblioteca usando C. Está, como é habitual, licenciado em WTFPL de modo a haver total liberdade. <img src='http://amgarcia.net/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><a href='http://amgarcia.net/wp-content/uploads/2010/01/main.c'>main.c</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=447</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Programa em C para converter texto para maiusculas aleatoriamente</title>
		<link>http://amgarcia.net/?p=442</link>
		<comments>http://amgarcia.net/?p=442#comments</comments>
		<pubDate>Sat, 16 Jan 2010 17:47:10 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[Stuff]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=442</guid>
		<description><![CDATA[Não tinha nada para fazer e então fiz em C um programa que converte aleatoriamente minusculas para maiusculas. Texto: ola. este é um teste ola. EsTe é Um teSte E também converte aleatoriamente S para Z ou X; C para Q ou K. É um programa useless, mas foi feito porque sim! /* This program [...]]]></description>
			<content:encoded><![CDATA[<p>Não tinha nada para fazer e então fiz em C um programa que converte aleatoriamente minusculas para maiusculas.</p>
<p>Texto: ola. este é um teste<br />
ola. EsTe é Um teSte</p>
<p>E também converte aleatoriamente S para Z ou X; C para Q ou K.</p>
<p>É um programa useless, mas foi feito porque sim!</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* This program is free software. It comes without any warranty, to
 * the extent permitted by applicable law. You can redistribute it
 * and/or modify it under the terms of the Do What The Fuck You Want
 * To Public License, Version 2, as published by Sam Hocevar. See
 * http://sam.zoy.org/wtfpl/COPYING for more details. */</span>
&nbsp;
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;stdlib.h&gt;</span>
<span style="color: #339933;">#include &lt;string.h&gt;</span>
<span style="color: #339933;">#include &lt;time.h&gt;</span>
<span style="color: #339933;">#include &lt;ctype.h&gt;</span>
&nbsp;
<span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    system<span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;cls&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    srand<span style="color: #009900;">&#40;</span>time<span style="color: #009900;">&#40;</span>NULL<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">char</span> texto<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">200</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> letraS<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'x'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'z'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">,</span> letraC<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span><span style="color: #ff0000;">'k'</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'q'</span><span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">,</span> qts <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> num<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">150</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> troca<span style="color: #339933;">,</span> letra<span style="color: #339933;">;</span>
    <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\t</span><span style="color: #000099; font-weight: bold;">\t</span>&gt; MC Fuckin Palim Text Converter 0.1-mc &lt;<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;- Para terminar basta fechar o programa.<span style="color: #000099; font-weight: bold;">\n</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        fflush<span style="color: #009900;">&#40;</span>stdin<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Texto: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        gets<span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        fflush<span style="color: #009900;">&#40;</span>stdin<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> strlen<span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#41;</span> <span style="color: #339933;">/</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
            num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> strlen<span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#91;</span>num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#91;</span>num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">' '</span><span style="color: #009900;">&#41;</span> num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> strlen<span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            <span style="color: #b1b100;">switch</span> <span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                <span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'s'</span><span style="color: #339933;">:</span>
                    troca <span style="color: #339933;">=</span> rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>troca<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        letra <span style="color: #339933;">=</span> rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
                        texto<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> letraS<span style="color: #009900;">&#91;</span>letra<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
                <span style="color: #b1b100;">case</span> <span style="color: #ff0000;">'c'</span><span style="color: #339933;">:</span>
                    troca <span style="color: #339933;">=</span> rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
                    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>troca <span style="color: #339933;">&amp;&amp;</span> texto<span style="color: #009900;">&#91;</span>i <span style="color: #339933;">+</span> <span style="color: #0000dd;">1</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">!=</span> <span style="color: #ff0000;">'h'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
                        letra <span style="color: #339933;">=</span> rand<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">%</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">;</span>
                        texto<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> letraC<span style="color: #009900;">&#91;</span>letra<span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
                    <span style="color: #009900;">&#125;</span>
                    <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
            <span style="color: #009900;">&#125;</span>
            qts<span style="color: #339933;">++;</span>
        <span style="color: #009900;">&#125;</span>
        <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span> qts<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> texto<span style="color: #009900;">&#91;</span>num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> toupper<span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#91;</span>num<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        puts<span style="color: #009900;">&#40;</span>texto<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        texto<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">'<span style="color: #006699; font-weight: bold;">\0</span>'</span><span style="color: #339933;">;</span>
        qts <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=442</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Função para validar datas em C</title>
		<link>http://amgarcia.net/?p=426</link>
		<comments>http://amgarcia.net/?p=426#comments</comments>
		<pubDate>Fri, 25 Dec 2009 14:13:47 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=426</guid>
		<description><![CDATA[Fiz esta função para o meu projecto da universidade (quando entregarmos coloco aqui o código todo licenciado em WTFPL!). Como temos que introduzir datas, aproveitei e fiz uma função que valida a data. /* This program is free software. It comes without any warranty, to * the extent permitted by applicable law. You can redistribute [...]]]></description>
			<content:encoded><![CDATA[<p>Fiz esta função para o meu projecto da universidade (quando entregarmos coloco aqui o código todo licenciado em WTFPL!).<br />
Como temos que introduzir datas, aproveitei e fiz uma função que valida a data.</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/* This program is free software. It comes without any warranty, to
 * the extent permitted by applicable law. You can redistribute it
 * and/or modify it under the terms of the Do What The Fuck You Want
 * To Public License, Version 2, as published by Sam Hocevar. See
 * http://sam.zoy.org/wtfpl/COPYING for more details. */</span> 
&nbsp;
<span style="color: #339933;">#include &lt;stdio.h&gt;</span>
<span style="color: #339933;">#include &lt;string.h&gt;</span>
&nbsp;
<span style="color: #993333;">typedef</span> <span style="color: #000000; font-weight: bold;">enum</span> <span style="color: #009900;">&#123;</span> FALSE<span style="color: #339933;">,</span> TRUE <span style="color: #009900;">&#125;</span> boolean<span style="color: #339933;">;</span> <span style="color: #666666; font-style: italic;">// definir o tipo de dados boolean</span>
&nbsp;
boolean data_valida<span style="color: #009900;">&#40;</span><span style="color: #993333;">char</span> data<span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">,</span> j<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> n<span style="color: #339933;">=</span><span style="color: #0000dd;">1</span><span style="color: #339933;">,</span> dia<span style="color: #339933;">,</span> mes<span style="color: #339933;">,</span> ano<span style="color: #339933;">;</span>
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i<span style="color: #339933;">=</span><span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>i<span style="color: #339933;">&lt;</span>strlen<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">==</span> <span style="color: #ff0000;">'/'</span><span style="color: #009900;">&#41;</span> j<span style="color: #339933;">++;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>j<span style="color: #339933;">==</span><span style="color: #0000dd;">2</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #666666; font-style: italic;">// Isto vai separar a data dia/mes/ano em tres variaveis</span>
        data<span style="color: #339933;">=</span>strtok<span style="color: #009900;">&#40;</span>data<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        dia<span style="color: #339933;">=</span>atoi<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        data<span style="color: #339933;">=</span>strtok<span style="color: #009900;">&#40;</span>NULL<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        mes<span style="color: #339933;">=</span>atoi<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        data<span style="color: #339933;">=</span>strtok<span style="color: #009900;">&#40;</span>NULL<span style="color: #339933;">,</span><span style="color: #ff0000;">&quot;/&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        ano<span style="color: #339933;">=</span>atoi<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> FALSE<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>ano <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">switch</span><span style="color: #009900;">&#40;</span>mes<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">3</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">5</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">7</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">8</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">10</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">12</span><span style="color: #339933;">:</span>
            <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>dia <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">&amp;&amp;</span> dia <span style="color: #339933;">&lt;=</span> <span style="color: #0000dd;">31</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">4</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">6</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">9</span><span style="color: #339933;">:</span> <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">11</span><span style="color: #339933;">:</span>
            <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>dia <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">&amp;&amp;</span> dia <span style="color: #339933;">&lt;=</span> <span style="color: #0000dd;">30</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">case</span> <span style="color: #0000dd;">2</span><span style="color: #339933;">:</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>ano <span style="color: #339933;">%</span> <span style="color: #0000dd;">100</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> ano <span style="color: #339933;">=</span> ano <span style="color: #339933;">/</span> <span style="color: #0000dd;">100</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>ano <span style="color: #339933;">%</span> <span style="color: #0000dd;">4</span> <span style="color: #339933;">==</span> <span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>dia <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">&amp;&amp;</span> dia <span style="color: #339933;">&lt;=</span> <span style="color: #0000dd;">29</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span>dia <span style="color: #339933;">&gt;</span> <span style="color: #0000dd;">0</span> <span style="color: #339933;">&amp;&amp;</span> dia <span style="color: #339933;">&lt;=</span> <span style="color: #0000dd;">28</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">default</span><span style="color: #339933;">:</span>
            <span style="color: #b1b100;">return</span> FALSE<span style="color: #339933;">;</span>
            <span style="color: #000000; font-weight: bold;">break</span><span style="color: #339933;">;</span>
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">else</span> <span style="color: #b1b100;">return</span> FALSE<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Exemplo de uso:</p>

<div class="wp_syntax"><div class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">int</span> main<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">char</span> data<span style="color: #009900;">&#91;</span><span style="color: #0000dd;">11</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Data: &quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        fgets<span style="color: #009900;">&#40;</span>data<span style="color: #339933;">,</span><span style="color: #0000dd;">11</span><span style="color: #339933;">,</span>stdin<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        fflush<span style="color: #009900;">&#40;</span>stdin<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>data_valida<span style="color: #009900;">&#40;</span>data<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Data valida<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        <span style="color: #b1b100;">else</span> <span style="color: #000066;">printf</span><span style="color: #009900;">&#40;</span><span style="color: #ff0000;">&quot;Data invalida<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
    <span style="color: #b1b100;">return</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=426</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feliz Natal e Bom Ano Novo</title>
		<link>http://amgarcia.net/?p=422</link>
		<comments>http://amgarcia.net/?p=422#comments</comments>
		<pubDate>Thu, 24 Dec 2009 11:15:08 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Stuff]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=422</guid>
		<description><![CDATA[O blog está todo natalício com um pai natal e neve. E como hoje é dia de véspera de natal aproveito para desejar a todos um Feliz Natal e Bom Ano Novo! =)]]></description>
			<content:encoded><![CDATA[<p><img src="http://amgarcia.net/wp-content/uploads/2009/12/02-e1261653451742.jpg" width="300" height="381" class="alignnone size-full wp-image-424" /></p>
<p>O blog está todo natalício com um pai natal e neve. E como hoje é dia de véspera de natal aproveito para desejar a todos um Feliz Natal e Bom Ano Novo! =)</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=422</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Um bom plugin anti spam para o WordPress</title>
		<link>http://amgarcia.net/?p=410</link>
		<comments>http://amgarcia.net/?p=410#comments</comments>
		<pubDate>Sun, 13 Dec 2009 16:19:06 +0000</pubDate>
		<dc:creator>alexmgarcia</dc:creator>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://amgarcia.net/?p=410</guid>
		<description><![CDATA[Actualmente um dos problemas de ter um blog/site com formulários é o constante &#8220;ataque&#8221; de spambots. Para evitar isto ou utilizamos comentários por aprovação, ou sistemas captcha. No entanto, nos comentários por aprovação temos que estar a rejeitar constantemente os comentários de spam; nos sistemas captcha é aborrecido para os utilizadores estar a escrever os [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://amgarcia.net/wp-content/uploads/2009/12/wordpress-logo.png" alt="wordpress-logo" title="wordpress-logo" width="208" height="191" class="alignnone size-full wp-image-409" /></p>
<p>Actualmente um dos problemas de ter um blog/site com formulários é o constante &#8220;ataque&#8221; de spambots.<br />
Para evitar isto ou utilizamos comentários por aprovação, ou sistemas captcha.<br />
No entanto, nos comentários por aprovação temos que estar a rejeitar constantemente os comentários de spam; nos sistemas captcha é aborrecido para os utilizadores estar a escrever os caracteres da imagem.</p>
<p>Eu utilizava no WordPress apenas o Akismet, mas todos os dias tinha pelo menos uns 8 comentários de spam provenientes sempre do mesmo país e tinha que estar a rejeitar.</p>
<p>Fui ao site de plugins do WordPress e encontrei um plugin que serve mesmo para o que procurava.<br />
Chama-se Geo Captcha. Basicamente é um sistema de captcha nos comentários. A diferença em relação aos outros sistemas de captcha é que podemos definir whitelists para não pedir captcha. Ou seja, se colocar Portugal e Brasil na whitelist, não será pedido um captcha. Caso contrário é pedido.<br />
Claro que não vai evitar o spam, porque se de Itália vem um spambot, não é pedido captcha; mas o Akismet bloqueará o comentário.</p>
<p>Portanto, a minha sugestão para controle de spam é utilizar <strong>Akismet</strong> e <strong>Geo Captcha</strong>.</p>
<p><a href="http://wordpress.org/extend/plugins/akismet/">Download do Akismet</a><br />
<a href="http://wordpress.org/extend/plugins/geo-captcha/">Download do Geo Captcha</a></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save">Partilhar</a> </p>]]></content:encoded>
			<wfw:commentRss>http://amgarcia.net/?feed=rss2&amp;p=410</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
