<?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>Cesar Bernardini&#039;s Blog</title>
	<atom:link href="http://www.gotext.org/people/cesar/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.gotext.org/people/cesar</link>
	<description>Oh Crystal Ball, tell me life is beautiful...</description>
	<lastBuildDate>Wed, 10 Feb 2010 15:26:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The SIGSEGV that has never occurred!</title>
		<link>http://www.gotext.org/people/cesar/?p=93</link>
		<comments>http://www.gotext.org/people/cesar/?p=93#comments</comments>
		<pubDate>Wed, 10 Feb 2010 15:26:13 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=93</guid>
		<description><![CDATA[Some days ago, I found out with an easy problem: make a program that generates a Segmentation Fault! The easiest way I thought was generate a simple buffer overflow and write on a place that it&#8217;s not mine!
The thing interesting on this post was that the program I made HAS NEVER FINISHED! and it&#8217;s really [...]]]></description>
			<content:encoded><![CDATA[<p>Some days ago, I found out with an <strong>easy problem</strong>: make a program that generates a <strong>Segmentation Fault</strong>! The easiest way I thought was generate a simple <em><strong>buffer overflow</strong></em> and write on a place that it&#8217;s not mine!</p>
<p>The thing interesting on this post was that the program I made <em>HAS NEVER FINISHED</em>! and it&#8217;s really simple&#8230; Let you the code:</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">int main(void)<br />
{<br />
int i = 0;<br />
int array[1];</p>
<p>while (i &lt; 100)<br />
{<br />
array[i++] = 1;<br />
printf(&#8221;%i\n&#8221;, i);<br />
}</p>
<p>return 0;<br />
}</p></div>
<p>So&#8230; Did you find out the error?<br />
<span id="more-93"></span><br />
Here you got the results generated by the program</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">mesarpe@cesar:~/Programacion$ ./sigsegv<br />
2<br />
2<br />
2<br />
2<br />
2<br />
2<br />
2<br />
2<br />
2</div>
<p>It has been compiled with gcc for 32 bits:</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">mesarpe@cesar:~/Programacion$ gcc -m32 -g -o sigsegv sigsegv.c</div>
<p>Maybe you have some skills and you find out the problem, and maybe you don&#8217;t&#8230; This program has surprised me, so&#8230; I&#8217;m gonna explain what has happened!</p>
<p>On ANSI-C we don&#8217;t have an specified order for the variables so the compiler has the freedom to decide where to put them on our stack. What my compiler has done was:</p>
<div id="attachment_98" class="wp-caption aligncenter" style="width: 348px"><img class="size-full wp-image-98" title="Memory Content" src="http://www.gotext.org/people/cesar/wp-content/uploads/prueba2.png" alt="Here you can see where the array is saved and where the i integer" width="338" height="210" /><p class="wp-caption-text">Here you can see where the array is saved and where the i integer</p></div>
<p>Well&#8230; You want to know directly from gdb the address and results:</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">Leyendo símbolos desde /home/mesarpe/Programacion/hack/sigsegv&#8230;done.<br />
(gdb) b main<br />
Interruption Point 1 at 0&#215;80483ed: file sigsegv.c, line 16.<br />
(gdb) r<br />
Starting program: /home/mesarpe/Programacion/hack/sigsegv</p>
<p>Breakpoint 1, main () at sigsegv.c:16<br />
16        int i = 0;<br />
(gdb) n<br />
20        while (i &lt; 100)<br />
(gdb) n<br />
22            array[i++] = 1;<br />
(gdb) p &amp;array[0]<br />
$1 = (int *) 0xbffff454<br />
(gdb) p &amp;array[1]<br />
$2 = (int *) 0xbffff458<br />
(gdb) p &amp;array[2]<br />
$3 = (int *) <strong>0xbffff45c</strong><br />
(gdb) p &amp;i<br />
$4 = (int *) <strong>0xbffff45c</strong><br />
(gdb) n<br />
23            printf(&#8221;%i\n&#8221;, i);<br />
(gdb) n<br />
1<br />
20        while (i &lt; 100)<br />
(gdb) n<br />
22            array[i++] = 1;<br />
(gdb) n<br />
23            printf(&#8221;%i\n&#8221;, i);<br />
(gdb) n<br />
2<br />
20        while (i &lt; 100)<br />
(gdb) n<br />
22            array[i++] = 1;<br />
(gdb) n<br />
23            printf(&#8221;%i\n&#8221;, i);<br />
(gdb) print i<br />
$5 = <strong>2</strong><br />
(gdb) n<br />
2<br />
20        while (i &lt; 100)<br />
(gdb) n<br />
22            array[i++] = 1;<br />
(gdb) p i<br />
$6 = <strong>2</strong><br />
(gdb) n<br />
23            printf(&#8221;%i\n&#8221;, i);<br />
(gdb) p i</div>
<p>What has happened is the next, when we set the array[2] value on 1, we write on the integer i value (that) is 2 and is changed to 1). So when we increment the i value, we are setting a 2 again. Curious, isn&#8217;t?</p>
<p>Anyway, this little code must inspire you to AVOID the Buffer Overflows, even when they are complicated!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=93</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>goText: my first XML Service!</title>
		<link>http://www.gotext.org/people/cesar/?p=88</link>
		<comments>http://www.gotext.org/people/cesar/?p=88#comments</comments>
		<pubDate>Thu, 28 Jan 2010 23:07:14 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=88</guid>
		<description><![CDATA[Last months on goText, Zydio was playing a lot with Qt and he has made a great application: goText++Desk, it&#8217;s awesome now you can use goText from your desktop&#8230; Anyway, that&#8217;s not all! He also has created an amazing XML system to create simple and advanced services to send SMS.
My today&#8217;s post is about how [...]]]></description>
			<content:encoded><![CDATA[<p>Last months on goText, <strong>Zydio</strong> was playing a lot with <a href="http://qt.nokia.com"><strong>Qt</strong></a> and he has made a great application: <a href="http://www.gotext.org/wiki/goText_pp_Desk">goText++Desk</a>, it&#8217;s awesome now you can use goText from your desktop&#8230; Anyway, that&#8217;s not all! He also has created an amazing XML system to create simple and advanced services to send SMS.</p>
<p>My today&#8217;s post is about how I has migrated the traditional php service to the new format <img src='http://www.gotext.org/people/cesar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-88"></span>goText services requires two parts: a configuration and a sending part!</p>
<p>I will start telling about the configuration part, the old service required the next configuration:</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">&lt;config&gt;&lt;t&gt;Envia SMS con goText&lt;/t&gt;<br />
&lt;nu&gt;0&lt;/nu&gt;&lt;np&gt;0&lt;/np&gt;&lt;nn&gt;1&lt;/nn&gt;&lt;mr&gt;1&lt;/mr&gt;&lt;mc&gt;110&lt;/mc&gt;&lt;mm&gt;20&lt;/mm&gt;&lt;in&gt;1&lt;/in&gt;<br />
&lt;/config&gt;</div>
<p>It has 110 characters to send the SMS, It can send 20 sms per day, need a nick and got the title: Envia SMS con goText.</p>
<p>The configuration on the new format is done in two parts, firts we have some useful information as service name, help, max chars, version, icon, author and if it&#8217;s needed to save the session (this time it&#8217;s, remember the old script does <img src='http://www.gotext.org/people/cesar/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ):</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">&lt;service name=&#8221;Personal Argentina&#8221; xsv=&#8221;1.0.2&#8243; version=&#8221;1&#8243; minorversion=&#8221;1&#8243; maxchar=&#8221;100&#8243; require_icc=&#8221;false&#8221; savesession=&#8221;true&#8221;<br />
icon=&#8221;http://www.personal.com.ar/favicon.ico&#8221; author=&#8221;mesarpe&#8221;&gt;</div>
<p>Then, we need to set how much recipients will have:</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">&lt;recipients max=&#8221;1&#8243;&gt;<br />
&lt;recipient type=&#8221;phone&#8221; /&gt;<br />
&lt;/recipients&gt;</div>
<p>And then, how messages will be sent by day, which fields will be needed:</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">&lt;limit type=&#8221;num&#8221; reset=&#8221;0&#8243; /&gt;<br />
&lt;field required=&#8221;true&#8221; name=&#8221;sender&#8221; description=&#8221;Nick&#8221; type=&#8221;txt&#8221; /&gt;</div>
<p>As you can see the configuration is so much clear now <img src='http://www.gotext.org/people/cesar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Now it&#8217;s time of the sending part&#8230; If we remember a little bit we got two parts:</p>
<ul>
<li>Get the captcha code to fill</li>
<li>Send the captcha code and all the values</li>
</ul>
<p>We have not an <em>if instruction</em> but we have fork tags that makes some checks and they detects if we are on the first or second part. Take a look at the next example:</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">&lt;fork id=&#8221;captchatextsent_check&#8221;&gt;<br />
&lt;condition type=&#8221;not_empty&#8221; var1=&#8221;$ic&#8221; ok_id=&#8221;4&#8243; ko_id=&#8221;prepare_recipient&#8221; /&gt;<br />
&lt;/fork&gt;</div>
<p>It check if $ic variable is not empty then goes to page 4 (sending captcha code and sending the sms).</p>
<p>Another and the last thing to know! All the POST and GET connections now are made with some xml tags: the pages. The next example is the sending captcha and sms code, take a look at the var tag that makes some checks on the received page to see if the SMS has been sent:</p>
<div style="border: 1px solid gray; margin: 10px; padding: 10px; color: #0066cc; font-family: courier;">&lt;page id=&#8221;4&#8243; url=&#8221;$new_url#&#8221; type=&#8221;post&#8221;&gt;<br />
&lt;post name=&#8221;form_flag&#8221; value=&#8221;" /&gt;<br />
&lt;post name=&#8221;Snb&#8221; value=&#8221;$rcpt&#8221; /&gt;<br />
&lt;post name=&#8221;subname=&#8221; value=&#8221;$rcpt&#8221; /&gt;<br />
&lt;post name=&#8221;sig&#8221; value=&#8221;$sender&#8221; /&gt;<br />
&lt;post name=&#8221;msgtext&#8221; value=&#8221;$msg&#8221; /&gt;<br />
&lt;post name=&#8221;form&#8221; value=&#8221;ht4&#8243; /&gt;<br />
&lt;post name=&#8221;size&#8221; value=&#8221;10&#8243; /&gt;<br />
&lt;post name=&#8221;btn_send&#8221; value=&#8221;SEND&#8221; /&gt;<br />
&lt;post name=&#8221;historico&#8221; value=&#8221;" /&gt;<br />
&lt;post name=&#8221;Filename&#8221; value=&#8221;tmp/$captcha_filename.png&#8221; /&gt;<br />
&lt;post name=&#8221;FormValidar&#8221; value=&#8221;validar&#8221; /&gt;<br />
&lt;post name=&#8221;DE_MESG_TXT&#8221; value=&#8221;$sender&#8221; /&gt;<br />
&lt;post name=&#8221;sizebox&#8221; value=&#8221;43&#8243; /&gt;<br />
&lt;post name=&#8221;MESG_TXT&#8221; value=&#8221;$msg&#8221; /&gt;<br />
&lt;post name=&#8221;codigo&#8221; value=&#8221;$ic&#8221; /&gt;<br />
&lt;post name=&#8221;Enviar.x&#8221; value=&#8221;41&#8243; /&gt;<br />
&lt;post name=&#8221;Enviar.y&#8221; value=&#8221;16&#8243; /&gt;<br />
&lt;post name=&#8221;pantalla&#8221; value=&#8221;" /&gt;<br />
&lt;var in=&#8221;page&#8221; name=&#8221;send_check&#8221; search=&#8221;match&#8221; match=&#8221;- a $rcpt&#8221; not_empty=&#8221;confirm&#8221; empty=&#8221;error&#8221; error_message=&#8221;Unknown send error on Personal website&#8221; /&gt;<br />
&lt;/page&gt;</div>
<p>Well&#8230; I know this is very incomplete I have not talked about variables and thousands of things that Zydio has created, but may be can help you to create your own service and it gives you a brief about the thing. On goText page we have a lot of documentation about it! You can see it.</p>
<p>The complete source code of the service is available on goText Sourceforge SVN Page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=88</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PEAR Packages: Captcha on PHP 2</title>
		<link>http://www.gotext.org/people/cesar/?p=74</link>
		<comments>http://www.gotext.org/people/cesar/?p=74#comments</comments>
		<pubDate>Thu, 21 Jan 2010 00:01:20 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=74</guid>
		<description><![CDATA[Tonight, I can&#8217;t sleep so I decide to continue writing on the blog&#8230; Sorry, long time without activity&#8230; I had been concerned about CAPTCHA on gotext&#8217;s contact page since I write the last post&#8230; Well, I forget about it when I was on my holidays on San Bernardo&#8230; But the thing is&#8230;
I&#8217;m gonna explain how [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight, I can&#8217;t sleep so I decide to continue writing on the blog&#8230; Sorry, long time without activity&#8230; I had been concerned about <strong>CAPTCHA</strong> on gotext&#8217;s contact page since I write the last post&#8230; Well, I forget about it when I was on my holidays on <a title="San Bernardo, Buenos Aires, Argentina" href="http://maps.google.com/maps?f=q&amp;source=s_q&amp;hl=es&amp;geocode=&amp;q=San+Bernardo,+Buenos+Aires,+Argentina&amp;sll=37.0625,-95.677068&amp;sspn=21.180361,56.513672&amp;ie=UTF8&amp;hq=&amp;hnear=San+Bernardo,+Buenos+Aires,+Argentina&amp;z=11" target="_blank">San Bernardo</a>&#8230; But the thing is&#8230;</p>
<p>I&#8217;m gonna explain how to use it because PEAR captcha documentation is not enough at least for me.</p>
<div id="attachment_86" class="wp-caption aligncenter" style="width: 261px"><img src="http://www.gotext.org/people/cesar/wp-content/uploads/captcha.png" alt="This is the image generated with the program" title="Captcha image generated" width="251" height="110" class="size-full wp-image-86" /><p class="wp-caption-text">This is the image generated with the program</p></div>
<p><span id="more-74"></span></p>
<p>The first thing we need to do is find out where is the font we want to use, on ubuntu they are at:</p>
<div style="border:1px solid gray;background:#ffffb4 none repeat<br />
scroll 0 0;color:#0066CC;margin:10px;padding:10px; font-family: courier;">/usr/share/fonts/X11
</div>
<p>inside this folder, there are several folders with ttf files inside them, what you can do is copy the  font you want to use into the folder your captcha files will be. Suppose we copy any font but with the name cesar.ttf.</p>
<p>Then we need to create a special file that we will use to insert the image everytime we want. This file will create the session variables to save the captcha word and will print the image. The content of the file can be seen, right here:</p>
<div style="border:1px solid gray;background:#ffffb4 none repeat<br />
scroll 0 0;color:#0066CC;margin:10px;padding:10px; font-family: courier;">&lt;?<br />
require_once &#8216;Text/CAPTCHA.php&#8217;;<br />
session_start();</code></p>
<p>// Captcha options<br />
$imageOptions = array(<br />
'font_size'        =&gt; 20,<br />
'font_path'        =&gt; '/var/www/contact_form/',<br />
'font_file'        =&gt; 'cesar.ttf',<br />
'text_color'       =&gt; '#DDFF99',<br />
'lines_color'      =&gt; '#CCEEDD',<br />
'background_color' =&gt; '#555555'<br />
);</p>
<p>// Set CAPTCHA options<br />
$options = array(<br />
'width' =&gt; 250,<br />
'height' =&gt; 100,<br />
'output' =&gt; 'png',<br />
'imageOptions' =&gt; $imageOptions<br />
);</p>
<p>// Generate a new Text_CAPTCHA object, Image driver<br />
$numcap = Text_CAPTCHA::factory('Image');<br />
$ret = $numcap-&gt;init($options);<br />
if (PEAR::isError($ret)) {<br />
printf('Error initializing CAPTCHA: %s!',<br />
$ret-&gt;getMessage());<br />
exit;<br />
}</p>
<p>// Get CAPTCHA image (as PNG)<br />
$png = $numcap-&gt;getCAPTCHAAsPNG();<br />
if (PEAR::isError($png)) {<br />
echo 'Error generating CAPTCHA!';<br />
echo $png-&gt;getMessage();<br />
exit;<br />
}</p>
<p>header("Content-type: image/png");<br />
header("Cookie: PHPSESSID=".session_id());<br />
echo $png;</p>
<p>$_SESSION['answer'] = $numcap-&gt;getPhrase();</p>
<p>?&gt;</p></div>
<p>And here you can see the form example and how we check if the inserted image is correct:</p>
<div style="border:1px solid gray;background:#ffffb4 none repeat<br />
scroll 0 0;color:#0066CC;margin:10px;padding:10px; font-family: courier;">&lt;?php<br />
session_start();</p>
<p>if (isset($_POST['captcha']) &amp;&amp; isset($_SESSION['answer'])) {<br />
if ($_POST['captcha'] != $_SESSION['answer']) {<br />
$errors[] = 'Wrong solution! Please, Try Again';<br />
}<br />
}<br />
if (!empty($errors)) {<br />
foreach ($errors as $error) {<br />
print "&lt;h4&gt;&lt;font color='red'&gt;$error&lt;/font&gt;&lt;/h4&gt;&lt;br /&gt;";<br />
}<br />
}<br />
else<br />
{<br />
echo 'You are human!';</p>
<p>}</p>
<p>print '<br />
&lt;form name="capter" action="contact_form.php" method="post"&gt;<br />
&lt;table&gt;<br />
&lt;tr&gt;<br />
&lt;th&gt;What is this result?: &lt;img src="contact_form_ic.php" /&gt;';<br />
print '&lt;/th&gt;<br />
&lt;td&gt;&lt;input type="text" value="" name="captcha" /&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;th/&gt;<br />
&lt;td&gt;&lt;input type="submit" value="Submit!" /&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/form&gt;<br />
';<br />
?&gt;</p></div>
<p>Well... That's all, I hope you can use it and forget about SPAM, or at least... for a little time hehe</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=74</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PEAR Packages: Captcha on PHP</title>
		<link>http://www.gotext.org/people/cesar/?p=64</link>
		<comments>http://www.gotext.org/people/cesar/?p=64#comments</comments>
		<pubDate>Wed, 28 Oct 2009 19:13:43 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[goText]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=64</guid>
		<description><![CDATA[At gotext.org, we are asking why don&#8217;t we have a Contact Form for users so I decided (after some Bluesman asks :p) to coded it&#8230; My first thought was &#8220;Oh, I need to work with CAPTCHAS&#8220;&#8230; But the problem was solved more easier than what I thought!

I had installed the pear package on my ubuntu [...]]]></description>
			<content:encoded><![CDATA[<p>At gotext.org, we are asking why don&#8217;t we have a Contact Form for users so I decided (after some Bluesman asks :p) to coded it&#8230; My first thought was &#8220;<strong>Oh, I need to work with CAPTCHAS</strong>&#8220;&#8230; But the problem was solved more easier than what I thought!</p>
<p><span id="more-64"></span></p>
<div id="attachment_71" class="wp-caption aligncenter" style="width: 381px"><img class="size-full wp-image-71 " title="Are you human? CAPTCHA images" src="http://www.gotext.org/people/cesar/wp-content/uploads/captcha_package.png" alt="Detect if the system is human or not!" width="371" height="341" /><p class="wp-caption-text">Detect if the system is human or not!</p></div>
<p>I had installed the pear package on my ubuntu system:</p>
<div style="border:1px solid gray;background:#ffffb4 none repeat<br />
scroll 0 0;color:#0066CC;margin:10px;padding:10px; font-family: courier;">sudo apt-get install php-pear</div>
<p>Then I had installed the Text Captcha package on pear, puting on my ubuntu:</p>
<div style="border:1px solid gray;background:#ffffb4 none repeat<br />
scroll 0 0;color:#0066CC;margin:10px;padding:10px; font-family: courier;">sudo pear install Text_CAPTCHA-0.4.0</div>
<p>Then&#8230; The code part:</p>
<div style="border:1px solid gray;background:#ffffb4 none repeat<br />
scroll 0 0;color:#0066CC;margin:10px;padding:10px; font-family: courier;">require_once &#8216;Text/CAPTCHA.php&#8217;;<br />
session_start();<br />
$captcha = Text_CAPTCHA::factory(&#8217;Equation&#8217;);</code></p>
<p>$ret = $captcha-&gt;init();<br />
if (PEAR::isError($ret)) {<br />
echo $captcha-&gt;getMessage();<br />
exit(1);<br />
}</p>
<p>if (isset($_POST['captcha']) &amp;&amp; isset($_SESSION['answer'])) {</p>
<p>if ($_POST['captcha'] != $_SESSION['answer']) {$errors[] = 'Wrong solution! Please, Try Again';}else{$errors[] = 'You're right! Everything went fine'; }<br />
if (!empty($errors)) {<br />
foreach ($errors as $error) {<br />
print "&lt;h4&gt;&lt;font color='red'&gt;$error&lt;/font&gt;&lt;/h4&gt;&lt;br /&gt;";<br />
}<br />
}</p>
<p>print '<br />
&lt;form name="capter" action="contact_form.php" method="post"&gt;<br />
&lt;table&gt;<br />
&lt;tr&gt;<br />
&lt;th&gt;What is this result?: '.$captcha-&gt;getCAPTCHA().'&lt;/th&gt;<br />
&lt;td&gt;&lt;input type="text" value="" name="captcha" /&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;tr&gt;<br />
&lt;th/&gt;<br />
&lt;td&gt;&lt;input type="submit" value="Send!" /&gt;&lt;/td&gt;<br />
&lt;/tr&gt;<br />
&lt;/form&gt;<br />
';<br />
$_SESSION['answer'] = $captcha-&gt;getPhrase();<br />
?&gt;</p></div>
<p>Making it simplier... The only thing that I have done is create the captcha object, used the <em>gethPrase</em> function to get and save on the session cookies the solution, and <em>getCaptcha</em> to print the equation!</p>
<p>Simple don't you think?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=64</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Remembering the Past&#8230; my first Topsites script on PHP</title>
		<link>http://www.gotext.org/people/cesar/?p=59</link>
		<comments>http://www.gotext.org/people/cesar/?p=59#comments</comments>
		<pubDate>Sat, 24 Oct 2009 23:42:44 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=59</guid>
		<description><![CDATA[Time ago, being more accurate I used to love PHP&#8230; It was the first language that I could do everything that I want&#8230; In a nasty way, but it was what I thought that would be the best!
So this time, checking folders I found out my best script of my beginings&#8230; Or what I thought [...]]]></description>
			<content:encoded><![CDATA[<p>Time ago, being more accurate I used to love <a href="http://www.php.net"><strong>PHP</strong></a>&#8230; It was the first language that I could do everything that I want&#8230; In a <em>nasty</em> way, but it was what I thought that would be the best!</p>
<p>So this time, checking folders I found out my best script of my beginings&#8230; Or what I thought that was a nice script hehe</p>
<p>Do you know how they work? You can add your website, put a button on your website (that will tell you your position at the rank) and list the best websites on a page.</p>
<p>Those times, I used to hate <a href="http://www.mysql.com"><strong>MySQL</strong></a>&#8230; Why? I still don&#8217;t know! So I used to save everything on flat text files. In the rar file you can find also the migrated version to MySQL because I had some problems with erasing content of flat files for concurrency things that I didn&#8217;t know that they exists hehe</p>
<p>This script was used on a website about Anime: Animeki, that a friend of mine had&#8230; And I don&#8217;t know anything about anime but I do know about coding, so I helped that way. Why I tell you that? Because on the code you can see some animeki codes.</p>
<p><a href="http://www.gotext.org/people/cesar/wp-content/uploads/topsites_2003.rar">Sources, here</a></p>
<p>Well&#8230; That&#8217;s all folks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=59</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>goText: going Social!</title>
		<link>http://www.gotext.org/people/cesar/?p=57</link>
		<comments>http://www.gotext.org/people/cesar/?p=57#comments</comments>
		<pubDate>Tue, 20 Oct 2009 02:59:43 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[goText]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=57</guid>
		<description><![CDATA[Hi people, so long since my last post&#8230; Sorry, I was my birthday and I has been busy with parties&#8230; This time, I want to talk our news at goText&#8230; Bluesman has been working a lot with Social Networks: adding support for Twitter and Facebook!
I has worked a little bit to include my put my [...]]]></description>
			<content:encoded><![CDATA[<p>Hi people, so long since my last post&#8230; Sorry, I was my birthday and I has been busy with parties&#8230; This time, I want to talk our news at <strong>goText</strong>&#8230; <em><strong>Bluesman</strong></em> has been working a lot with <strong>Social Networks</strong>: adding support for <strong><a href="http://www.twitter.com">Twitter</a></strong> and <strong><a href="http://www.facebook.com">Facebook</a></strong>!</p>
<p>I has worked a little bit to include my put my hand on their scripts and I has created a handler, that is available from <a href="http://www.gotext.org">gotext.org</a>.</p>
<p>Please take a look, and I really suggest to start using them to update your status on facebook and twitter! <img src='http://www.gotext.org/people/cesar/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>More Info:</p>
<ul>
<li><a href="http://www.gotext.org/forum/index.php/topic,1097.0.html">Facebook news</a></li>
<li><a href="http://www.gotext.org/forum/index.php/topic,1087.0.html">Twitter news</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=57</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AccelerateMe: How does acceleration works?</title>
		<link>http://www.gotext.org/people/cesar/?p=53</link>
		<comments>http://www.gotext.org/people/cesar/?p=53#comments</comments>
		<pubDate>Mon, 05 Oct 2009 21:23:00 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[PyS60]]></category>
		<category><![CDATA[S60]]></category>
		<category><![CDATA[accelerometer]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=53</guid>
		<description><![CDATA[A week ago, I was very confuse about how does the accelerometer works&#8230; So I decide to implement a nice, simple and fast PyS60 app to understand how does it works.
The result was a working and decent app, that shows three bars: x-axis, y-axis and z-axis. When you move the cellphone they react and you [...]]]></description>
			<content:encoded><![CDATA[<p>A week ago, I was very confuse about how does the accelerometer works&#8230; So I decide to implement a <em>nice, simple and fast</em> <strong>PyS60 app</strong> to understand how does it works.</p>
<p>The result was a working and decent app, that shows three bars: x-axis, y-axis and z-axis. When you move the cellphone they react and you can see how does they change!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/S_aamVyMjrE&amp;hl=es&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/S_aamVyMjrE&amp;hl=es&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The source code can be downloaded from <strong><a href="http://www.gotext.org/people/cesar/?attachment_id=55">here</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=53</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Playing with Symbian C++</title>
		<link>http://www.gotext.org/people/cesar/?p=44</link>
		<comments>http://www.gotext.org/people/cesar/?p=44#comments</comments>
		<pubDate>Fri, 25 Sep 2009 19:52:27 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[C++]]></category>
		<category><![CDATA[S60]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[s60v5]]></category>
		<category><![CDATA[symbian]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=44</guid>
		<description><![CDATA[Today, I was playing with Symbian C++&#8230; I had been creating some Demo apps, to understand the difference to work into Python and Symbian C++&#8230;
It&#8217;s really amazing! PyS60 rulezzz&#8230; On the bottom, I give the tutorial link, I want to make at least a simple App that reminds me each 5 minutes that I have [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I was playing with <strong>Symbian C++</strong>&#8230; I had been creating some Demo apps, to understand the difference to work into <strong>Python</strong> and <strong>Symbian C++</strong>&#8230;</p>
<p>It&#8217;s really amazing! <strong>PyS60</strong> rulezzz&#8230; On the bottom, I give the tutorial link, I want to make at least a simple App that reminds me each 5 minutes that I have some messages pending <img src='http://www.gotext.org/people/cesar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;m making my first steps&#8230; Maybe soon, I can finish it!</p>
<p>The link I follow for the<strong> tutorial</strong>:<br />
<a href="http://developer.symbian.org/wiki/index.php/Going_Beyond_Hello:_A_Tutorial_for_Symbian_C%2B%2B_Applications">http://developer.symbian.org/wiki/index.php/Going_Beyond_Hello:_A_Tutorial_for_Symbian_C%2B%2B_Applications</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=44</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fun: Drilling my Ibook G3</title>
		<link>http://www.gotext.org/people/cesar/?p=41</link>
		<comments>http://www.gotext.org/people/cesar/?p=41#comments</comments>
		<pubDate>Tue, 22 Sep 2009 21:37:14 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=41</guid>
		<description><![CDATA[Two months ago, I was begining a developing course for making a Linux Driver for a Wireless Device (VIA VT6656 USB Dongle) with an amazing hacker as Teacher, Christoph Hellwig. A requisite for doing the course was to have a Linux Computer with Kernel 2.6.30&#8230; The day before the course starts the HDD failed, and [...]]]></description>
			<content:encoded><![CDATA[<p>Two months ago, I was begining a developing course for making a <a href="http://vt6656.wordpress.com/">Linux Driver for a Wireless Device</a> (VIA VT6656 USB Dongle) with an amazing hacker as Teacher, <strong><a title="Christoph Hellwing" href="http://verein.lst.de/~hch/">Christoph Hellwig</a></strong>. A requisite for doing the course was to have a Linux Computer with Kernel 2.6.30&#8230; The day before the course starts the HDD failed, and as you may know the thing gets complicated when the time is running and some <strong>sinks</strong> over the iBook seems to be <em>UNHEADED</em>!!!</p>
<p>So as everyone should do&#8230; That was the result&#8230; <strong>hehe</strong></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Qo4bNm_h9UI&amp;hl=es&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/Qo4bNm_h9UI&amp;hl=es&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The machine is still working, I will upload an image showing soon <img src='http://www.gotext.org/people/cesar/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Bye people!!</p>
<p>PS: Don&#8217;t do it!&#8230; It really hearts, even when the machine is 10 years old hehe</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=41</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>pyLine: Testing the Rotation Sensor</title>
		<link>http://www.gotext.org/people/cesar/?p=38</link>
		<comments>http://www.gotext.org/people/cesar/?p=38#comments</comments>
		<pubDate>Mon, 21 Sep 2009 17:48:29 +0000</pubDate>
		<dc:creator>cesarbernardini</dc:creator>
				<category><![CDATA[PyS60]]></category>
		<category><![CDATA[S60]]></category>

		<guid isPermaLink="false">http://www.gotext.org/people/cesar/?p=38</guid>
		<description><![CDATA[As you may know, I&#8217;m becoming more and more addicted to new technology and when this kind of things start to happened, you try to understand every new piece that appears.
Well&#8230; Rotation Sensors are not something new, but it&#8217;s my first time having a cell phone that contains one&#8230; So, I has decided to code [...]]]></description>
			<content:encoded><![CDATA[<p>As you may know, I&#8217;m becoming <em>more and more</em> addicted to new technology and when this kind of things start to happened, you try to understand every new piece that appears.</p>
<p>Well&#8230; <strong>Rotation Sensors</strong> are not something new, but it&#8217;s my first time having a cell phone that contains one&#8230; So, I has decided to code a simple script to test it.</p>
<p>The script is coded on <strong>PyS60</strong> (<em>Python for S60</em>), and it&#8217;s a simple line that always stays on vertical position <img src='http://www.gotext.org/people/cesar/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-38"></span>Rotation Sensor handles the <strong>X</strong>, <strong>Y</strong> and <strong>Z</strong> axis, but at this simple demo I has been working only with the <strong>Z</strong> one. I let you a picture showing what does the program do:</p>
<div id="attachment_37" class="wp-caption aligncenter" style="width: 310px"><img class="size-full wp-image-37" title="pyLine" src="http://www.gotext.org/people/cesar/wp-content/uploads/pyLine.gif" alt="pyLine demo usage" width="300" height="200" /><p class="wp-caption-text">pyLine demo usage</p></div>
<p>Well&#8230; That&#8217;s all I hope you like it. I let you the link to download the Python file, <a href="http://www.gotext.org/people/cesar/wp-content/uploads/pyLine.zip"><strong>here</strong></a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.gotext.org/people/cesar/?feed=rss2&amp;p=38</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
