<?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>Silveira Neto</title>
	<atom:link href="http://silveiraneto.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://silveiraneto.net</link>
	<description>come with me, on the way I&#039;ll explain.</description>
	<lastBuildDate>Thu, 18 Mar 2010 03:00:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Getting an Android app source</title>
		<link>http://silveiraneto.net/2010/03/18/getting-an-android-app-source/</link>
		<comments>http://silveiraneto.net/2010/03/18/getting-an-android-app-source/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 03:00:18 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[cmd]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3239</guid>
		<description><![CDATA[
Getting the Android&#8217;s AlarmClock application source from official repositories:
git clone git://android.git.kernel.org/platform/packages/apps/AlarmClock.git
To get the head version for an old platform like the 1.4 (codename donut), choose the correspondent branch using -o or &#8211;origin:
git clone git://android.git.kernel.org/platform/packages/apps/AlarmClock.git --origin donut
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-3236 aligncenter" title="Donut" src="http://silveiraneto.net/wp-content/uploads/2010/03/460307409_4e78c5dae4_flickr_donut.jpg" alt="" width="500" height="380" /></p>
<p>Getting the Android&#8217;s AlarmClock application source from official repositories:</p>
<pre>git clone git://android.git.kernel.org/platform/packages/apps/AlarmClock.git</pre>
<p>To get the head version for an old platform like the 1.4 (codename donut), choose the correspondent branch using -o or &#8211;origin:</p>
<pre>git clone git://android.git.kernel.org/platform/packages/apps/AlarmClock.git --origin donut</pre>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/03/18/getting-an-android-app-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting enviroment information on Android</title>
		<link>http://silveiraneto.net/2010/03/16/getting-enviroment-information-on-android/</link>
		<comments>http://silveiraneto.net/2010/03/16/getting-enviroment-information-on-android/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 13:18:32 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[who am i]]></category>
		<category><![CDATA[whoami]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3226</guid>
		<description><![CDATA[This is a simple program I wrote called Who Am I that shows informations about the device which it is running. Which can be useful for developers and maybe advanced users.

Download:

WhoAmI.tar.bz2 &#8211; Eclipse project. It&#8217;s configured for Android platform 4 (1.6) but should work without problems in newer Android platform versions.
WhoAmI.apk &#8211; Application installation Android [...]]]></description>
			<content:encoded><![CDATA[<p>This is a simple program I wrote called <strong>Who Am I</strong> that shows informations about the device which it is running. Which can be useful for developers and maybe advanced users.</p>
<p style="text-align: center;"><img class="size-full wp-image-3227 aligncenter" title="whoami" src="http://silveiraneto.net/wp-content/uploads/2010/03/whoami.png" alt="" width="320" height="475" /></p>
<p><strong>Download</strong>:</p>
<ul>
<li><a href="http://silveiraneto.net/downloads/WhoAmI.tar.bz2">WhoAmI.tar.bz2</a> &#8211; Eclipse project. It&#8217;s configured for Android platform 4 (1.6) but should work without problems in newer Android platform versions.</li>
<li><a href="http://silveiraneto.net/downloads/WhoAmI.apk">WhoAmI.apk</a> &#8211; Application installation Android package.</li>
</ul>
<p>Main Activity source code:</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">package</span> <span style="color: #006699;">net.silveiraneto.whoami</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.app.Activity</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.os.Build</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.os.Bundle</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">android.widget.EditText</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> WhoAmI <span style="color: #000000; font-weight: bold;">extends</span> Activity <span style="color: #009900;">&#123;</span>
    <span style="color: #000000; font-weight: bold;">private</span> EditText mEditor;
&nbsp;
    @Override
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> onCreate<span style="color: #009900;">&#40;</span>Bundle savedInstanceState<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        <span style="color: #000000; font-weight: bold;">super</span>.<span style="color: #006633;">onCreate</span><span style="color: #009900;">&#40;</span>savedInstanceState<span style="color: #009900;">&#41;</span>;
&nbsp;
        setContentView<span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">layout</span>.<span style="color: #006633;">whoami</span><span style="color: #009900;">&#41;</span>;
&nbsp;
        mEditor <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span>EditText<span style="color: #009900;">&#41;</span> findViewById<span style="color: #009900;">&#40;</span>R.<span style="color: #006633;">id</span>.<span style="color: #006633;">editor</span><span style="color: #009900;">&#41;</span>;
&nbsp;
        <span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> properties <span style="color: #339933;">=</span> <span style="color: #009900;">&#123;</span>
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.BOARD&quot;</span>, Build.<span style="color: #006633;">BOARD</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.BRAND&quot;</span>, Build.<span style="color: #006633;">BRAND</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.CPU_ABI&quot;</span>, Build.<span style="color: #006633;">CPU_ABI</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.DEVICE&quot;</span>, Build.<span style="color: #006633;">DEVICE</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.DISPLAY&quot;</span>, Build.<span style="color: #006633;">DISPLAY</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.FINGERPRINT&quot;</span>, Build.<span style="color: #006633;">FINGERPRINT</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.HOST&quot;</span>, Build.<span style="color: #006633;">HOST</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.ID&quot;</span>, Build.<span style="color: #006633;">ID</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.MANUFACTURER&quot;</span>, Build.<span style="color: #006633;">MANUFACTURER</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.MODEL&quot;</span>, Build.<span style="color: #006633;">MODEL</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.PRODUCT&quot;</span>, Build.<span style="color: #006633;">PRODUCT</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.TAGS&quot;</span>, Build.<span style="color: #006633;">TAGS</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.TIME&quot;</span>, Build.<span style="color: #006633;">TIME</span><span style="color: #009900;">&#125;</span>,
        	<span style="color: #009900;">&#123;</span><span style="color: #0000ff;">&quot;Build.USER&quot;</span>, Build.<span style="color: #006633;">USER</span><span style="color: #009900;">&#125;</span>,
        <span style="color: #009900;">&#125;</span>;
&nbsp;
        <span style="color: #000000; font-weight: bold;">for</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> prop<span style="color: #339933;">:</span> properties<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        	mEditor.<span style="color: #006633;">append</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;%s: %s<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>, prop<span style="color: #009900;">&#91;</span>0<span style="color: #009900;">&#93;</span>, prop<span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
        <span style="color: #009900;">&#125;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<p>And its Android Manifest:</p>
<div class="wp_syntax">
<div class="code">
<pre class="xml xml" style="font-family:monospace;"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;utf-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;manifest</span> <span style="color: #000066;">xmlns:android</span>=<span style="color: #ff0000;">&quot;http://schemas.android.com/apk/res/android&quot;</span></span>
<span style="color: #009900;">    <span style="color: #000066;">package</span>=<span style="color: #ff0000;">&quot;net.silveiraneto.whoami&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;application</span> <span style="color: #000066;">android:label</span>=<span style="color: #ff0000;">&quot;Who Am I&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;activity</span> <span style="color: #000066;">android:name</span>=<span style="color: #ff0000;">&quot;WhoAmI&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;intent-filter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;action</span> <span style="color: #000066;">android:name</span>=<span style="color: #ff0000;">&quot;android.intent.action.MAIN&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
                <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;category</span> <span style="color: #000066;">android:name</span>=<span style="color: #ff0000;">&quot;android.intent.category.LAUNCHER&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span>
            <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/intent-filter<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
        <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/activity<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
    <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/application<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/manifest<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></pre>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/03/16/getting-enviroment-information-on-android/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Capturas de Tela no Android</title>
		<link>http://silveiraneto.net/2010/03/04/capturas-de-tela-no-android/</link>
		<comments>http://silveiraneto.net/2010/03/04/capturas-de-tela-no-android/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 14:36:28 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Dalvik]]></category>
		<category><![CDATA[Dalvik Debug Monitor Server]]></category>
		<category><![CDATA[ddms]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3215</guid>
		<description><![CDATA[Quando desenvolvendo aplicações móveis para o Android as vezes precisamos obter imagens do dispositivo para comparar com um alguma referencia no computador. Como tirar screenshots no Android? Usar uma aplicação para isso e então passar as imagens para o computador? Não, há um jeito mais fácil.
Juntamente com o Android SDK há uma ferramenta na pasta [...]]]></description>
			<content:encoded><![CDATA[<p>Quando desenvolvendo aplicações móveis para o Android as vezes precisamos obter imagens do dispositivo para comparar com um alguma referencia no computador. Como tirar screenshots no Android? Usar uma aplicação para isso e então passar as imagens para o computador? Não, há um jeito mais fácil.</p>
<p>Juntamente com o <a title="Android SDK" href="http://developer.android.com/sdk/index.html">Android SDK</a> há uma ferramenta na pasta tools chamada <strong>ddms </strong> (Dalvik Debug Monitor Server). O ddms ainda está pouco integrado com o plugin ADT do Eclipse e também pouco documentado, mas é extremamente útil para várias tarefas como monitoras o heap de memória, threads, processos e, é claro, tirar screenshots.</p>
<p>Para utiliza-lo com todas suas funcionalidades lembre-se de desligar primeiro o Eclipse (porque no momento só pode ter um aplicativo conectado ao ADB), porém que para fins de captura de tela isso não é necessário. Selecione um dispositivo, vá no menu Devices → Screen Capture (Control-S). Pronto, você tem no computador uma captura da tela do dispositivo.</p>
<p style="text-align: center;"><img class="size-full wp-image-3216 aligncenter" title="device" src="http://silveiraneto.net/wp-content/uploads/2010/03/device.png" alt="" width="240" height="320" /></p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/03/04/capturas-de-tela-no-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Caps Lock Java Socket Server</title>
		<link>http://silveiraneto.net/2010/02/27/the-caps-lock-java-socket-server/</link>
		<comments>http://silveiraneto.net/2010/02/27/the-caps-lock-java-socket-server/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 00:39:39 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[caps lock]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[socket]]></category>
		<category><![CDATA[upcase]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3204</guid>
		<description><![CDATA[
Here is a simple server for those who are starting studying sockets or just needs a simple socket server example for reuse while writing your own behavior.
Features:

A client should enter a string and the server would answer the same string, with each symbol in up case, when possible.
Default port at 8080.
One client at time.
No multi [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-3205 aligncenter" title="caps lock megaphone yelling" src="http://silveiraneto.net/wp-content/uploads/2010/02/capslock.jpg" alt="" width="390" height="262" /></p>
<p>Here is a simple server for those who are starting studying sockets or just needs a simple socket server example for reuse while writing your own behavior.</p>
<p>Features:</p>
<ul>
<li>A client should enter a string and the server would answer the same string, with each symbol in up case, when possible.</li>
<li>Default port at 8080.</li>
<li>One client at time.</li>
<li>No multi threading. I said its a simple server.</li>
</ul>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.BufferedReader</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.IOException</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.InputStreamReader</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.io.OutputStreamWriter</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.ServerSocket</span>;
<span style="color: #000000; font-weight: bold;">import</span> <span style="color: #006699;">java.net.Socket</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Server <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000000; font-weight: bold;">final</span> <span style="color: #000066; font-weight: bold;">int</span> <span style="color: #000000; font-weight: bold;">DEFAULT</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">8080</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> Server<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">this</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">DEFAULT</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> Server<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">int</span> port<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">ServerSocket</span> sock;
&nbsp;
		<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
			sock <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ServerSocket</span><span style="color: #009900;">&#40;</span>port<span style="color: #009900;">&#41;</span>;
			<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Listening on port %d.&quot;</span>, port<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
				<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #003399;">Socket</span> client <span style="color: #339933;">=</span> sock.<span style="color: #006633;">accept</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
					<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;A new connection was accepted.&quot;</span><span style="color: #009900;">&#41;</span>;
&nbsp;
					<span style="color: #003399;">BufferedReader</span> in <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">BufferedReader</span><span style="color: #009900;">&#40;</span>
							<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InputStreamReader</span><span style="color: #009900;">&#40;</span>client.<span style="color: #006633;">getInputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
					<span style="color: #003399;">OutputStreamWriter</span> out <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">OutputStreamWriter</span><span style="color: #009900;">&#40;</span>client
							.<span style="color: #006633;">getOutputStream</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span>;
					<span style="color: #003399;">String</span> input <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span>;
&nbsp;
					<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>input.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;exit&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
						input <span style="color: #339933;">=</span> in.<span style="color: #006633;">readLine</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
						<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>input.<span style="color: #006633;">equals</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;shutdown&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
							<span style="color: #003399;">System</span>.<span style="color: #006633;">exit</span><span style="color: #009900;">&#40;</span>0<span style="color: #009900;">&#41;</span>;
						<span style="color: #009900;">&#125;</span>
						out.<span style="color: #006633;">write</span><span style="color: #009900;">&#40;</span>input.<span style="color: #006633;">toUpperCase</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #009900;">&#41;</span>;
						out.<span style="color: #006633;">flush</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
					<span style="color: #009900;">&#125;</span>
&nbsp;
					in.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
					out.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
					client.<span style="color: #006633;">close</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
					<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Connection closed.&quot;</span><span style="color: #009900;">&#41;</span>;
				<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">NullPointerException</span> npe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
					<span style="color: #003399;">System</span>.<span style="color: #006633;">out</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;Connection closed by client.&quot;</span><span style="color: #009900;">&#41;</span>;
				<span style="color: #009900;">&#125;</span>
			<span style="color: #009900;">&#125;</span>
		<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">IOException</span> ioe<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			<span style="color: #003399;">System</span>.<span style="color: #006633;">err</span>.<span style="color: #006633;">println</span><span style="color: #009900;">&#40;</span>ioe<span style="color: #009900;">&#41;</span>;
			<span style="color: #003399;">System</span>.<span style="color: #006633;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">-</span><span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>;
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">static</span> <span style="color: #000066; font-weight: bold;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> args<span style="color: #009900;">&#41;</span> <span style="color: #000000; font-weight: bold;">throws</span> <span style="color: #003399;">IOException</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">new</span> Server<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>;
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<p>Usage:</p>
<blockquote><p>$ javac Server.java<br />
$ java Server<br />
Listening on port 8080.
</p></blockquote>
<p>In another terminal:</p>
<blockquote><p>$ telnet localhost 8080<br />
Trying ::1&#8230;<br />
Connected to localhost.<br />
Escape character is &#8216;^]&#8217;.<br />
hi<br />
HI<br />
The quick brown fox jumps over the lazy dog.<br />
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.<br />
exi<br />
EXI<br />
exit<br />
EXIT<br />
Connection closed by foreign host.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/02/27/the-caps-lock-java-socket-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beware the locale</title>
		<link>http://silveiraneto.net/2010/02/22/beware-the-locale/</link>
		<comments>http://silveiraneto.net/2010/02/22/beware-the-locale/#comments</comments>
		<pubDate>Mon, 22 Feb 2010 20:16:12 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[JUnit]]></category>
		<category><![CDATA[locale]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[String]]></category>
		<category><![CDATA[teste unitário]]></category>
		<category><![CDATA[toString]]></category>
		<category><![CDATA[unit testing]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3189</guid>
		<description><![CDATA[
Today I was programming a toString method for a class widely used in a application, using the very useful String.format that provides a C&#8217;s like printf formatter.


@Override
public String toString&#40;&#41; &#123;
   return String.format&#40;&#34;VO[a: %.1f, b: %.1f, c: %.1f]&#34;, a, b, a+b&#41;;
&#125;


%.1f means a float with one digit precision after the dot separator. The code [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.flickr.com/photos/seeminglee/4139558009/"><img class="aligncenter" src="http://farm3.static.flickr.com/2699/4139558009_4a8c9bea31.jpg" alt="See-ming Lee 李思明 SML Photo" width="500" height="333" /></a></p>
<p>Today I was programming a toString method for a class widely used in a application, using the very useful String.format that provides a C&#8217;s like printf formatter.</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;">@Override
<span style="color: #000000; font-weight: bold;">public</span> <span style="color: #003399;">String</span> toString<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
   <span style="color: #000000; font-weight: bold;">return</span> <span style="color: #003399;">String</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;VO[a: %.1f, b: %.1f, c: %.1f]&quot;</span>, a, b, a<span style="color: #339933;">+</span>b<span style="color: #009900;">&#41;</span>;
<span style="color: #009900;">&#125;</span></pre>
</div>
</div>
<p>%.1f means a float with one digit precision after the dot separator. The code produces something like:</p>
<pre><strong>VO[a: 1.0, b: 2.0, c: 3.0]</strong></pre>
<p>The problem arises when running a JUnit test on this method wrote using a regular expression to extract the values from the String to test it correctness. We cannot assume that the dot will be always the separator for displaying a float value, in my locale pt_BR would be a comma. So the output would be:</p>
<pre><strong>VO[a: 1,0, b: 2,0, c: 3,0]</strong></pre>
<p>For a predictable output we can set a <a title="Java Locale API" href="http://java.sun.com/j2se/1.4.2/docs/api/java/util/Locale.html">Locale</a> for String.format:</p>
<div class="wp_syntax">
<div class="code">
<pre class="java java" style="font-family:monospace;"><span style="color: #003399;">Locale</span> en <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Locale</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;en&quot;</span><span style="color: #009900;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">return</span> <span style="color: #003399;">String</span>.<span style="color: #006633;">format</span><span style="color: #009900;">&#40;</span>en, <span style="color: #0000ff;">&quot;VO[a: %.1f, b: %.1f, c: %.1f]&quot;</span>, a, b, a<span style="color: #339933;">+</span>b<span style="color: #009900;">&#41;</span>;</pre>
</div>
</div>
<p>So it will always use the dot as common separator. Of course you should follow and respect the localization and internationalization efforts in others moments but in this toString case we are using it internally for debug and unitary testing so we can set a English default locale for safety reasons.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/02/22/beware-the-locale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chaveiro Höfner 500</title>
		<link>http://silveiraneto.net/2010/02/14/chaveiro-hofner-500/</link>
		<comments>http://silveiraneto.net/2010/02/14/chaveiro-hofner-500/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 12:17:52 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[Bass]]></category>
		<category><![CDATA[Beatle bass]]></category>
		<category><![CDATA[Beatles]]></category>
		<category><![CDATA[Cavern bass]]></category>
		<category><![CDATA[chaveiro]]></category>
		<category><![CDATA[guiatrra]]></category>
		<category><![CDATA[stuff]]></category>
		<category><![CDATA[Violin]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3160</guid>
		<description><![CDATA[
Achei esse chaveiro miniatura do baixo-violino Höfner_500/1, o famoso baixo do Paul McCartney nos tempos dos Beatles. Por enquanto eu fico com o chaveiro mas um dia ainda vou ter uma réplica desse baixo.  

]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter" src="http://farm5.static.flickr.com/4031/4352993481_747402e252.jpg" alt="Chaveiro Höfner_500/1" width="500" height="375" /></p>
<p>Achei esse chaveiro miniatura do baixo-violino <a title="Wikipedia" href="http://en.wikipedia.org/wiki/H%C3%B6fner_500/1">Höfner_500/1</a>, o famoso baixo do <a title="Paul McCartney" href="http://en.wikipedia.org/wiki/Paul_McCartney">Paul McCartney</a> nos tempos dos Beatles. Por enquanto eu fico com o chaveiro mas um dia ainda vou ter uma réplica desse baixo. <img src='http://silveiraneto.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p style="text-align: center;"><img class="size-full wp-image-3161 aligncenter" title="paul holding hofner bass" src="http://silveiraneto.net/wp-content/uploads/2010/02/paul_holding_hofner_bass.jpg" alt="" width="373" height="472" /></p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/02/14/chaveiro-hofner-500/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1º Café com Tapioca de 2010</title>
		<link>http://silveiraneto.net/2010/02/09/1%c2%ba-cafe-com-tapioca-de-2010/</link>
		<comments>http://silveiraneto.net/2010/02/09/1%c2%ba-cafe-com-tapioca-de-2010/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 06:49:11 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[Atlântico]]></category>
		<category><![CDATA[Caelum]]></category>
		<category><![CDATA[café com tapioca]]></category>
		<category><![CDATA[CCT]]></category>
		<category><![CDATA[CEJUG]]></category>
		<category><![CDATA[José Donizetti]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3157</guid>
		<description><![CDATA[Essa quarta-feira acontece o primeiro CEJUG Café com Tapioca de 2010.
O foco serão duas palestras ministradas pelo José Donizetti da Caelum, sendo a primeira sobre VRaptor 3 e a segunda sobre Test Driven Development.
O evento será realizado no auditório do Atlântico.
Maiores informações no site do evento.
]]></description>
			<content:encoded><![CDATA[<p>Essa quarta-feira acontece o primeiro <a title="Café com Tapioca" href="http://www.cejug.org/eventos/cafe-com-tapioca/">CEJUG Café com Tapioca</a> de 2010.</p>
<p>O foco serão duas palestras ministradas pelo <a title="Twitter dele" href="http://twitter.com/josedonizetti">José Donizetti</a> da <a title="Caelum" href="http://www.caelum.com.br/">Caelum</a>, sendo a primeira sobre <a title="VRaptor" href="http://vraptor.caelum.com.br/">VRaptor 3</a> e a segunda sobre <a title="Wikipedia" href="http://en.wikipedia.org/wiki/Test-driven_development">Test Driven Development</a>.</p>
<p>O evento será realizado no auditório do <a title="Atlântico" href="http://www.atlantico.com.br/">Atlântico</a>.</p>
<p><a title="CCT" href="http://www.cejug.org/eventos/cafe-com-tapioca/cct-de-fevereiro-com-vraptor-e-tdd/">Maiores informações no site do evento</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/02/09/1%c2%ba-cafe-com-tapioca-de-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perigeu Lunar de 2010</title>
		<link>http://silveiraneto.net/2010/01/30/perigeu-lunar-2010/</link>
		<comments>http://silveiraneto.net/2010/01/30/perigeu-lunar-2010/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 06:07:06 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[astronomia]]></category>
		<category><![CDATA[Canon]]></category>
		<category><![CDATA[Canon Powershot G10]]></category>
		<category><![CDATA[Fotografia]]></category>
		<category><![CDATA[lua]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3148</guid>
		<description><![CDATA[
Hoje devido a Lua ter chegado ao perigeu da órbita com a Terra coincidentemente na noite de lua cheia, tivemos uma lua 14% maior e uma luminosidade 30% maior.
Eu já havia tentado tirar fotos da lua diversas vezes, sempre frustradas. Hoje consegui fotos com uma qualidade mínima, onde se pode distinguir alguns das principais montanhas, [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-3149 aligncenter" title="perigeu lunar" src="http://silveiraneto.net/wp-content/uploads/2010/01/perigeu_lunar.jpg" alt="" width="600" height="450" /></p>
<p>Hoje devido a Lua ter chegado ao perigeu da órbita com a Terra coincidentemente na noite de lua cheia, tivemos uma lua <a title="referencia" href="http://www.tudonahora.com/noticia/brasil/2010/01/29/83101/hoje-e-noite-de-lua-cheia-a-mais-brilhante-de-2010">14% maior e uma luminosidade 30% maior</a>.</p>
<p>Eu já havia tentado tirar fotos da lua diversas vezes, sempre frustradas. Hoje consegui fotos com uma qualidade mínima, onde se pode distinguir alguns das principais montanhas, crateras e mares da Lua. São fotos a partir de algumas tentativas da janela do meu quarto, sem nenhum equipamento especial além da própria câmera, <em>Canon PowerShot G10</em>.</p>
<p style="text-align: center;"><img class="aligncenter" src="http://farm5.static.flickr.com/4029/4314085461_d6baf493b8.jpg" alt="lua" /></p>
<p style="text-align: center;"><img class="aligncenter" src="http://farm5.static.flickr.com/4054/4314821336_baf318b687.jpg" alt="lua" /></p>
<p>Essa é uma das fotos, passando por um aumento do contraste no Gimp:</p>
<p style="text-align: center;"><img class="aligncenter" src="http://farm3.static.flickr.com/2750/4314822032_0e253f4ea7.jpg" alt="lua" /></p>
<p>O restante das fotos estão <a title="Álbum Lua" href="http://www.flickr.com/photos/silveiraneto/sets/72157623185046169/">neste álbum no Flickr</a>.</p>
<p>Eu achei um <a title="mapa lunar" href="http://www.anos-luz.pro.br/lua.htm">bom mapa lunar</a> e destaquei sobre a foto alguns lugares que foram possíveis distinguir na foto.</p>
<p style="text-align: center;"><img class="size-full wp-image-3151 aligncenter" title="lua destaques" src="http://silveiraneto.net/wp-content/uploads/2010/01/lua_destaques.png" alt="" width="500" height="300" /></p>
<p>Algumas dicas para tirar uma boa foto da lua <em>Canon PowerShot G10</em>:</p>
<ul>
<li>Manter ela bem parada, num apoio ou tripé.</li>
<li>Sem flash.</li>
<li>Colocar ela no modo manual.</li>
<li>Ajustar de exposição do obturador para 1/200 ou menos.</li>
<li>Colocar o Zoom ótico em 5X.</li>
<li>Colocar a resolução da foto no máximo, 14.7 megapixels.</li>
<li>Ajustar a focagem manual para o mais distante possível.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/01/30/perigeu-lunar-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Contando Algarismos Em Um Intervalo</title>
		<link>http://silveiraneto.net/2010/01/29/contando-algarismos-em-um-intervalo/</link>
		<comments>http://silveiraneto.net/2010/01/29/contando-algarismos-em-um-intervalo/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 23:21:59 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[compreensão de lista]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[programação funcional]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3142</guid>
		<description><![CDATA[Quantos zeros tem entre um e mil?
É mais fácil responder perguntas desse tipo escrevendo pequenos programas usando o suporte a programação funcional e compreensão de lista que algumas linguagens como Python oferecem.
Para contar os zeros de um número, transformamos ele em uma string e contamos quantas substrings &#8216;0&#8242; ele contém. Por exemplo o 800:


str&#40;800&#41;.count&#40;'0'&#41;
# 2


Para [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Quantos zeros tem entre um e mil?</strong></p>
<p>É mais fácil responder perguntas desse tipo escrevendo pequenos programas usando o suporte a <a href="http://pt.wikipedia.org/wiki/Programa%C3%A7%C3%A3o_funcional">programação funcional</a> e <a href="http://pt.wikipedia.org/wiki/List_comprehension">compreensão de lista</a> que algumas linguagens como Python oferecem.</p>
<p>Para contar os zeros de um número, transformamos ele em uma string e contamos quantas substrings &#8216;0&#8242; ele contém. Por exemplo o 800:</p>
<div class="wp_syntax">
<div class="code">
<pre class="python python" style="font-family:monospace;"><span style="color: #008000;">str</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">800</span><span style="color: black;">&#41;</span>.<span style="color: black;">count</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'0'</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># 2</span></pre>
</div>
</div>
<p>Para gerar uma lista ordenada com os elementos do intervalo entre um e mil, inclusive os valores um e mil:</p>
<div class="wp_syntax">
<div class="code">
<pre class="python python" style="font-family:monospace;"><span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">1001</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># [1, 2, ... , 999, 1000]</span></pre>
</div>
</div>
<p>Pegamos esse intervalo  e geramos uma outra lista onde cada elemento é a contagem dos zeros do número do intervalo.</p>
<div class="wp_syntax">
<div class="code">
<pre class="python python" style="font-family:monospace;"><span style="color: black;">&#91;</span><span style="color: #008000;">str</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span>.<span style="color: black;">count</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'0'</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">1001</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span>
<span style="color: #808080; font-style: italic;"># [0, 0, ... , 0, 3]</span></pre>
</div>
</div>
<p>Por exemplo, 1 não tem nenhum zero. Dois também não. 999 também não. 1000 tem três.</p>
<p>Somamos todos os elementos da lista temos o número de algarismos zero entre um e mil.</p>
<div class="wp_syntax">
<div class="code">
<pre class="python python" style="font-family:monospace;"><span style="color: #008000;">sum</span><span style="color: black;">&#40;</span><span style="color: black;">&#91;</span><span style="color: #008000;">str</span><span style="color: black;">&#40;</span>x<span style="color: black;">&#41;</span>.<span style="color: black;">count</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'0'</span><span style="color: black;">&#41;</span> <span style="color: #ff7700;font-weight:bold;">for</span> x <span style="color: #ff7700;font-weight:bold;">in</span> <span style="color: #008000;">xrange</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">1001</span><span style="color: black;">&#41;</span><span style="color: black;">&#93;</span><span style="color: black;">&#41;</span></pre>
</div>
</div>
<p>E a resposta é 192.</p>
<p>O mesmo poderia ser obtido contando quantos zeros há na representação de string da lista do intervalo.</p>
<div class="wp_syntax">
<div class="code">
<pre class="python python" style="font-family:monospace;"><span style="color: #008000;">str</span><span style="color: black;">&#40;</span><span style="color: #008000;">range</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">1</span>,<span style="color: #ff4500;">1001</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>.<span style="color: black;">count</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'0'</span><span style="color: black;">&#41;</span></pre>
</div>
</div>
<p>Mas essa abordagem apesar de menor é menos geral se você quiser modifica-la para contagens mais complexas.</p>
<p>A diferença do range pro xrange é que o range constrói a lista real do intervalo real em memória e o xrange uma representação da lista do intervalo. Em geral mas não sempre, a performasse do xrange é melhor.</p>
<p>De toda forma, em ambos os casos, o resultado é o mesmo.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/01/29/contando-algarismos-em-um-intervalo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>pés no paraíso</title>
		<link>http://silveiraneto.net/2010/01/28/pes-no-paraiso/</link>
		<comments>http://silveiraneto.net/2010/01/28/pes-no-paraiso/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 07:26:14 +0000</pubDate>
		<dc:creator>Silveira</dc:creator>
				<category><![CDATA[english]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[Canon Powershot G10]]></category>
		<category><![CDATA[CC-BY-SA]]></category>
		<category><![CDATA[janeiro]]></category>
		<category><![CDATA[Jericoacoara]]></category>
		<category><![CDATA[reveillon]]></category>

		<guid isPermaLink="false">http://silveiraneto.net/?p=3136</guid>
		<description><![CDATA[
Gostei dessa minha foto (tamanho original). Ficou com uma boa composição, dois planos, no plano da frente meus pés deitados na rede, o que dá uma sensação de imersão para o observador para se sentir no meu ponto de vista. No plano de fundo vários elementos, cada um contando uma história diferente, um cara jogando [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-3139 aligncenter" title="silveira pés paraíso jericoacoara" src="http://silveiraneto.net/wp-content/uploads/2010/01/silveira_pes_paraiso_jericoacoara.jpg" alt="" width="640" height="480" /></p>
<p>Gostei dessa minha foto (<a href="http://farm3.static.flickr.com/2742/4245299168_8e10e75e1c_o.jpg">tamanho original</a>). Ficou com uma boa composição, dois planos, no plano da frente meus pés deitados na rede, o que dá uma sensação de imersão para o observador para se sentir no meu ponto de vista. No plano de fundo vários elementos, cada um contando uma história diferente, um cara jogando frescobol, uma jangada velejando, alguém remando num caiaque, uma menina nadando e um menino no raso fazendo uma onda. No meio disso a gradiente entre a água cristalina e o fundo azul. Não dá pra ver mas a rede fica armada entre dois coqueiros dentro da água.</p>
<p>Fotografia feita numa <em>Canon Powershot G10</em>, na Lagoa do Paraíso, perto de Jericoacoara, Ceará. Livre sobs os termos da <a title="Creative Commons" href="http://creativecommons.org/licenses/by-sa/3.0/deed.pt">Creative Commons Atribuição-Compartilhamento pela mesma Licença</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://silveiraneto.net/2010/01/28/pes-no-paraiso/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
