<?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>Erick Tedeschi</title>
	<atom:link href="http://www.oerick.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.oerick.com</link>
	<description>Tecnologia legal e um pouco de FOSS</description>
	<lastBuildDate>Mon, 29 Mar 2010 17:51:52 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1-alpha</generator>
		<item>
		<title>Comparando tipo e valor entre zvals</title>
		<link>http://www.oerick.com/?p=28</link>
		<comments>http://www.oerick.com/?p=28#comments</comments>
		<pubDate>Mon, 29 Mar 2010 17:51:52 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[pecl]]></category>

		<guid isPermaLink="false">http://www.oerick.com/?p=28</guid>
		<description><![CDATA[Outro dia precisei fazer uma comparação idêntica entre zval's como no seguinte exemplo em UserSpace: &#60;?php $a = "10"; $b = 10; if ($a === $b) { echo "Identico"; } else { echo "Diferente"; } ?&#62; Então comecei fazendo com um switch(Z_TYPE_P(zval1)) { case IS_LONG...... e por aí vai... o código estava ficando enorme. Resolvi [...]]]></description>
			<content:encoded><![CDATA[<p>Outro dia precisei fazer uma comparação idêntica entre zval's como no seguinte exemplo em UserSpace:</p>
<pre>
&lt;?php
$a = "10";
$b = 10;
if ($a === $b) {
echo "Identico";
} else {
echo "Diferente";
}
?&gt;
</pre>
<p></p>
<p>Então comecei fazendo com um switch(Z_TYPE_P(zval1)) { case IS_LONG...... e por aí vai... o código estava ficando enorme. Resolvi parar de perder tempo e pesquisar a API.<br />
Na API encontrei a função is_identical_function(zval *result, zval *op1, zval *op2 TSRMLS_DC) que faz a comparação das zval's op1 e op2 e coloca o resultado na zval result que por sua vez é do tipo IS_BOOL.<br />
Exemplo de utilização da função:</p>
<pre>
PHP_FUNCTION(teste_identical)
{
    zval result;
    zval *a = NULL;
    zval *b = NULL;

    /* Inicializando a e b */
    MAKE_STD_ZVAL(a);
    MAKE_STD_ZVAL(b);
    /* Atribuindo valores para a e b */
    ZVAL_STRING(a, "10", 1); /* valor de a é "10" (IS_STRING) */
    ZVAL_LONG(b, 10); /* valor de b é 10 (IS_LONG) */

    /* Faz a comparação entre as zval's */
    is_identical_function(&#038;result, a, b TSRMLS_CC);

    /* limpando memória, pois o resultado já está em result */
    efree(a);
    efree(b);

    /* agora que o resultado da comparação está em result podemos verificar */
    if (Z_BVAL(result)) {
        php_printf("eh identico\n");
    } else {
        php_printf("nao eh identico\n");
    }
}
</pre>
<p><Br /></p>
<p>Bom, essa é uma dica... e outras virão em próximos posts!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oerick.com/?feed=rss2&amp;p=28</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Um pouco do passado&#8230;</title>
		<link>http://www.oerick.com/?p=11</link>
		<comments>http://www.oerick.com/?p=11#comments</comments>
		<pubDate>Sun, 27 Dec 2009 22:46:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[eletrônica]]></category>
		<category><![CDATA[gnu]]></category>
		<category><![CDATA[história]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[passado]]></category>

		<guid isPermaLink="false">http://www.oerick.com/?p=11</guid>
		<description><![CDATA[Estou aproveitando as férias para colocar o computador que fica na casa dos meus pais em dia, e por acaso encontrei o meu primeiro "programa" desenvolvido em C com ncurses. Trata-se de um programa que realiza um cálculo para saber qual o número de espiras do primário e do secundário de um transformador, a bitola [...]]]></description>
			<content:encoded><![CDATA[<p>Estou aproveitando as férias para colocar o computador que fica na casa dos meus pais em dia, e por acaso encontrei o meu primeiro "programa" desenvolvido em C com ncurses.</p>
<p>Trata-se de um programa que realiza um cálculo para saber qual o número de espiras do primário e do secundário de um transformador, a bitola do fio do primário e do secundário e também a área do núcleo em cm<sup>2</sup>. Como o meu pai trabalha com eletrônica seria útil para ele confeccionar novos transformadores e recuperar queimados...</p>
<p>Na época (2001) fazia apenas um ano e meio que conhecia GNU/Linux e quando conheci a libcurses esqueci que existia conio.h (Turbo C) e passei a usar apenas Linux para me aventurar no desenvolvimento em C (pelo menos aquela época rs). No código fonte tem até "goto"! rsrs pois é, eu estava aprendendo...</p>
<p>Tinha até pensado em colocar o "Trafo" no SourceForge, mas pensei que não fosse dar certo então ficou apenas para uso pessoal. Hoje compartilho com vocês o Trafo (é o nome do programa).</p>
<h2>Abaixo dois screenshots:</h2>
<p><center><img src="/wp-content/uploads/2009/12/trafo1.png" alt="Tela Inicial do Trafo" width="500" height="324" /><br />Splash Screen do Trafo 1.0</center><br />
<center><img src="/wp-content/uploads/2009/12/trafo2.png" alt="Tela do Trafo" width="500" height="324" /><br />Tela principal do Trafo (e única rsrs)</center></p>
<h2>Código Fonte</h2>
<p><center><a href="/wp-content/uploads/2009/12/trafo.c" title="Código Fonte do Trafo">Código Fonte - Trafo 1.0</a></center></p>
<p>...bom esse foi um pouco do meu passado. Feliz 2010 para todos!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.oerick.com/?feed=rss2&amp;p=11</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PHP UnConference Brasil 2009</title>
		<link>http://www.oerick.com/?p=3</link>
		<comments>http://www.oerick.com/?p=3#comments</comments>
		<pubDate>Sun, 29 Nov 2009 22:15:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Sem categoria]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[phpsp]]></category>
		<category><![CDATA[unconference]]></category>

		<guid isPermaLink="false">http://www.oerick.com/?p=3</guid>
		<description><![CDATA[Este ano o principal evento de PHP da américa latina, o PHP Conference Brasil, teve um novo atrativo para a comunidade, que é o PHP UnConference Brasil. O PHP UnConference (ou Desconferência) é um evento que acontece dentro do evento principal, que tem o objetivo de ceder um espaço para novos palestrantes ou palestras que [...]]]></description>
			<content:encoded><![CDATA[<p>Este ano o principal evento de PHP da américa latina, o PHP Conference Brasil, teve um novo atrativo para a comunidade, que é o PHP UnConference Brasil.</p>
<p>O PHP UnConference (ou Desconferência) é um evento que acontece dentro do evento principal, que tem o objetivo de ceder um espaço para novos palestrantes ou palestras que não foram submetidas a tempo para o evento principal.</p>
<p>A organização da UnConference foi feita pelo GU PHPSP em conjunto com o organização do evento principal.</p>
<p>Apesar de ter ocorrido um pequeno problema na sexta-feira, de a sala reservada para o UnConference não ter projetor, o problema foi solucionado no sábado com uma nova sala com projetor e microfone.</p>
<p>Eu aproveitei a oportunidade da UnConference para estrear como palestrante e sentir o "drama".</p>
<p>A minha palestra foi sobre "Desenvolvimento de Extensões PECL" que foi um sucesso! Pois na agenda da palestra era previsto uma "Demo Ao Vivo" de compilação de uma extensão, como foi a primeira vez que palestrei, tive um pouco de receio de não funcionar e que algo desse errado na compilação... mas o Murphy não esteve presente.</p>
<p>Bom, gostaria de agradecer ao GU PHPSP pela força e organização assim como também a coordenação do PHP Conference Brasil e aqueles que acreditaram no meu potencial e votaram na minha palestra.</p>
<p>Até o próximo ano, e quem sabe com palestra na grade principal!</p>
<div style="width:425px;text-align:left" id="__ss_2608516"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/erickt86/desenvolvimento-de-extenses-pecl" title="Desenvolvimento de Extensões PECL">Desenvolvimento de Extensões PECL</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=phpunconfbr2009-desenvolvimentodeextensespecl-091129143118-phpapp02&#038;stripped_title=desenvolvimento-de-extenses-pecl" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=phpunconfbr2009-desenvolvimentodeextensespecl-091129143118-phpapp02&#038;stripped_title=desenvolvimento-de-extenses-pecl" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object>
<div style="font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/erickt86">erickt86</a>.</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.oerick.com/?feed=rss2&amp;p=3</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
