<?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>Marlon Silva Carvalho</title>
	<atom:link href="http://silvacarvalho.net/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://silvacarvalho.net/blog</link>
	<description>Meu Arquivo Pessoal (Informática, Ceticismo e Cultura Inútil)</description>
	<lastBuildDate>Mon, 23 Apr 2012 19:47:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>O Eclipse, o Maven e o Tomcat 7</title>
		<link>http://silvacarvalho.net/blog/?p=1096</link>
		<comments>http://silvacarvalho.net/blog/?p=1096#comments</comments>
		<pubDate>Mon, 23 Apr 2012 19:47:25 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[maven]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=1096</guid>
		<description><![CDATA[Um post rápido para lhe ensinar uma gambiarra que pode lhe ajudar a poupar muito tempo de sua vida. Quando Maven não quer funcionar, só partindo pra gambiarra. Já aconteceu com você de criar um projeto Maven, colocar ele como packaging war, mandar atualizar as configurações do projeto pelo Maven, deixar tudo lindo mas o [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Um post rápido para lhe ensinar uma gambiarra que pode lhe ajudar a poupar muito tempo de sua vida. Quando Maven não quer funcionar, só partindo pra gambiarra. Já aconteceu com você de criar um projeto Maven, colocar ele como <strong>packaging war</strong>, mandar atualizar as configurações do projeto pelo Maven, deixar tudo lindo mas o miserável não rodar dentro do Tomcat 7? Pois é. Pode acontecer com você. Aconteceu comigo.</p>
<p style="text-align: justify;">Primeiro de tudo, não sei porque caceta o Maven não configura o projeto para ser &#8220;deployavel&#8221; no Tomcat 7. Você sequer consegue arrastar o projeto para o Servidor configurado. Ele não deixa por não reconhecer ele como um projeto Web. A primeira questão é que seu projeto não está multifacetado (facets). Aí você tem que fazer isso na mão. Vai nas propriedades do projeto, em <strong>Project Facets</strong>. Seleciona <strong>Dynamic Web Module</strong> e <strong>Java</strong>.</p>
<p style="text-align: justify;"><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/11.png"><img class="aligncenter size-medium wp-image-1097" title="1" src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/11-300x153.png" alt="" width="300" height="153" /></a></p>
<p style="text-align: justify;">Feito isto, já dá merda. Ele cria uma pasta /WebContent fora da estrutura padrão do Maven. Deveria ser a pasta /src/main/webapp. Agora você precisa ir na pasta do seu projeto no seu workspace, abrir a pasta oculta chamada <strong>.settings</strong> e editar o arquivo <strong>org.eclipse.wst.common.component</strong>.</p>
<p style="text-align: justify;"><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/21.png"><img class="aligncenter size-medium wp-image-1098" title="2" src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/21-300x252.png" alt="" width="300" height="252" /></a></p>
<p style="text-align: justify;">Deve ter uma linha escrito isso: &lt;wb-resource deploy-path=&#8221;/&#8221; source-path=&#8221;/WebContent&#8221; tag=&#8221;defaultRootSource&#8221;/&gt;. Tá errado. Mude pra &lt;wb-resource deploy-path=&#8221;/&#8221; source-path=&#8221;/src/main/webapp&#8221; tag=&#8221;defaultRootSource&#8221;/&gt;. Feito isto, continua sem funcionar. O motivo é que ele não faz o deploy das dependências do Maven dentro da pasta /WEB-INF/lib. Para consertar isso, vá nas propriedades do projeto. Opção <strong>Deployment Assembly</strong>. Clica em Add, depois em <strong>Java Build Path Entries </strong>e seleciona <strong>Maven Dependencies</strong>. Pronto, esta merda agora deve funcionar! <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
<p style="text-align: justify;"><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/31.png"><img class="aligncenter size-medium wp-image-1099" title="3" src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/31-300x208.png" alt="" width="300" height="208" /></a></p>
<p style="text-align: justify;">Pense em um armengue. Acabei de lhe apresentar um! <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=1096</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Velocity ResourceLoader</title>
		<link>http://silvacarvalho.net/blog/?p=1087</link>
		<comments>http://silvacarvalho.net/blog/?p=1087#comments</comments>
		<pubDate>Wed, 18 Apr 2012 00:42:28 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[encomendaz]]></category>
		<category><![CDATA[templates]]></category>
		<category><![CDATA[velocity]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=1087</guid>
		<description><![CDATA[Saca o Velocity? É um Template Engine para Java que é bem bacana. Resolvi usar ele no EncomendaZ 3, exatamente na parte de geração de e-mails. Fiz um template bonitinho mas também deixo livre para as pessoas criarem seus próprios. O meu próprio template, digamos, o template default, fica embarcado no próprio JAR. E o usuário [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Saca o Velocity? É um Template Engine para Java que é bem bacana. Resolvi usar ele no EncomendaZ 3, exatamente na parte de geração de e-mails. Fiz um template bonitinho mas também deixo livre para as pessoas criarem seus próprios. O meu próprio template, digamos, o template default, fica <em>embarcado</em> no próprio JAR. E o usuário pode ir lá e dizer um template próprio que, obviamente, estará fora do JAR. Estará no Filesystem dele.</p>
<p style="text-align: justify;">Aí, quando você chega lá no Velocity e quer programar isso, surge um problema. O sacana pede que você informe qual a classe responsável em encontrar e carregar os recursos pra ele. Normalmente, você usa o <em>ClasspathResourceLoader</em>, que serve para encontrar os recursos dentro do próprio <em>classpath</em>. Mas, caso você queira obter arquivos do disco do cara, precisa informar o <em>FileResourceLoader</em>.</p>
<p style="text-align: justify;">Aí é que está o problema. Quando você diz o <em>FileResourceLoader</em>, também precisa informar o <em>file.resource.loader.path </em>que é para ele ir buscar todos os resources de lá. Mas, peraí. Eu não quero fixar isso. O próprio usuário do programa vai informar onde está o arquivo que ele deseja que seja seu <em>template</em>. Aí, vamos para a mãe de todas as soluções em programação: uma leve gambiarra. Dá uma sacada no código aí embaixo. Ele está todo comentado!</p>
<pre name="code" class="java">
public class Teste {
	private String getTemplate(final Tracking tracking, final Person person) {

                // Vamos ver se o usuário informou seu próprio template.
		String template = prefs.getEmailTemplate();

                // Iniciando o contexto o Velocity.
		VelocityContext context = new VelocityContext();

                // Colocando um objeto para ser usado pelo velocity para preencher os dados.
		context.put("encomenda", tracking);

                // Uma vez que o Velocity fez as devidas substituições no template, onde ele vai guardar?
                // No nosso caso, em um StringWriter.
		StringWriter w = new StringWriter();

                // Aqui é a questão. Se o cara não informou um template, então vem NULL ou vazio.
		final Properties properties = new Properties();
		if (template == null || "".equals(template)) {

                        // O cara não informou, então vamos usar o nosso que está no classpath.
			properties.setProperty(VelocityEngine.RESOURCE_LOADER, "classpath");
			properties.put("classpath." + Velocity.RESOURCE_LOADER + ".class", ClasspathResourceLoader.class.getName());

                        // Esse é o nosso template padrão que está no classpath.
			template = "email.vm";
		} else {

                        // Opa! O cara informou um template.
                        // O resourceloder é para um arquivo.
			properties.put("resource.loader", "file");

                        // A classe responsável em carregar os resources!
			properties.put("file.resource.loader.class",
				"org.apache.velocity.runtime.resource.loader.FileResourceLoader");

                        // O Path para encontrar os arquivos. A gambiarra é aqui.
                        // O método getPath() retorna apenas o diretório, removendo o nome do arquivo.
			properties.put("file.resource.loader.path", getPath(template));

                        // Vamos pegar agora só o nome do arquivo, tirando o diretório.
			template = template.substring(template.lastIndexOf('/') + 1);
		}

                // Precisamos sempre iniciar uma VelocityEngine. Se usarmos Velocity.init(), não dá certo.
                // Ela será global e todas chamadas subsequentes vão usar sempre a primeira configuração.
		VelocityEngine ve = new VelocityEngine();
		ve.init(properties);

		try {
                        // Manda fazer o Merge e Voila!
			ve.mergeTemplate(template, "UTF-8", context, w);
		} catch (Throwable t) {
			throw new EmailNotSentException();
		}
		return w.toString();
	}

	private Object getPath(final String template) {
		return template.substring(0, template.lastIndexOf('/'));
	}

}</pre>
<p style="text-align: justify;">Entenderam? A mágica acontece na hora de setar o <em>file.resource.loader.path</em>. Como o cara informou seu próprio arquivo, ele provavelmente estará em um lugar tipo c:/meustemplates/meutemplate.vm. Pegamos primeiro só a parte do diretório (c:/meustemplates/) e setamos como path. Depois, pegamos só a parte do arquivo. Gambiarra, né não? Mas funcionou, então, não reclame! <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=1087</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>EncomendaZ 3.0 MegaBeta</title>
		<link>http://silvacarvalho.net/blog/?p=1058</link>
		<comments>http://silvacarvalho.net/blog/?p=1058#comments</comments>
		<pubDate>Sat, 14 Apr 2012 23:26:40 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[encomendaz]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[jaws]]></category>
		<category><![CDATA[webstart]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=1058</guid>
		<description><![CDATA[Ufa! Enfim, consegui uma versão &#8220;quase estável&#8221; do EncomendaZ 3. Iniciei ele em julho de 2011 e só agora tomei vergonha na cara para concluir o bicho de uma vez por todas. Toda noite eu tinha pesadelos por ter abandonado ele. Fora um monte de gente mandando sugestões de melhoria para a versão 2 e [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
Ufa! Enfim, consegui uma versão &#8220;quase estável&#8221; do EncomendaZ 3. Iniciei ele em julho de 2011 e só agora tomei vergonha na cara para concluir o bicho de uma vez por todas. Toda noite eu tinha pesadelos por ter abandonado ele. Fora um monte de gente mandando sugestões de melhoria para a versão 2 e que eu já tinha implementado na versão 3. Mas, enfim, agora tenho algo para mostrar. Eis a versão MegaBeta 3.0. Está com pressa pra baixar logo? Vai até o final do post que o link está lá! <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
<p align="justify">
O MegaBeta é só para deixar bem claro que, com certeza, você vai encontrar alguns problemas. Principalmente, porque eu sei que existem esses problemas. Só falta eu corrigir eles. Mas, você também pode encontrar outros problemas, certo? Caso sim, passe para mim. Pode ser nos comentários aqui deste post. Pode ser me enviando um e-mail (marlon.carvalho@gmail.com). Ou pode ser no bugtracker do <a href="http://www.bitbucket.org">Bitbucket</a>, caso você entenda do negócio. O endereço é este: <a href="https://bitbucket.org/alienlabz/encomendaz-swing/issues?status=new&#038;status=open">https://bitbucket.org/alienlabz/encomendaz-swing/issues?status=new&#038;status=open</a>.
</p>
<p align="justify">
Esta nova versão está rodando através do <a href="http://www.java.com/pt_BR/download/faq/java_webstart.xml">Java Webstart</a> e precisa da versão 6 do <a href="http://www.java.com/">Java</a>. Roda apenas nesta versão, infelizmente. Isto por causa do sacana do <a href="http://seamframework.org/Weld">Weld</a>, que é cheio de frescura com o JAWS. Fazer o que, né! No caso do MacOS, você deve selecionar a opção conforme a imagem abaixo.
</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/javawebstart2.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/javawebstart2.png" alt="" title="javawebstart2" width="437" height="201" class="aligncenter size-full wp-image-1057" /></a></p>
<p align="justify">
Em seguida, ele vai começar a fazer o download e vai lhe perguntar se você permite a execução do aplicativo. Obviamente, diga que sim, hein. Feito isto, daqui em diante, você vai sempre executar o aplicativo a partir do arquivo <strong>encomendaz.jnlp</strong>! Qual a vantagem disto? Não seria melhor distribuir a versão em um ZIP? Não. O JAWS não faz o download do aplicativo toda hora. Ele faz um cache local e só verifica se há versões novas no servidor. Caso haja, ele baixa somente esta parte que foi atualizada. Não é necessário ter instalador também e o aplicativo roda em uma sandbox que não lhe permite fazer miséria na sua máquina. Ah sim, a imagem aí embaixo mostra o download da aplicação.
</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/javawebstart.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/javawebstart.png" alt="" title="javawebstart" width="508" height="251" class="aligncenter size-full wp-image-1059" /></a></p>
<p align="justify">
Essa aí embaixo é para você clicar no Permitir! Fique tranquilo, o aplicativo é só para rastrear encomendas mesmo. <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/Captura-de-Tela-2012-04-14-às-19.59.05.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/Captura-de-Tela-2012-04-14-às-19.59.05.png" alt="" title="Captura de Tela 2012-04-14 às 19.59.05" width="530" height="184" class="aligncenter size-full wp-image-1062" /></a></p>
<p align="justify">
Agora, vamos para as imagens do aplicativo. Digaí se não ficou lindão, hein hein? Até eu me emocionei. Pode chorar.
</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/1.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/1-150x150.png" alt="" title="1" width="150" height="150" class="alignnone size-thumbnail wp-image-1067" /></a><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/2.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/2-150x150.png" alt="" title="2" width="150" height="150" class="alignnone size-thumbnail wp-image-1066" /></a><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/3.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/3-150x150.png" alt="" title="3" width="150" height="150" class="alignnone size-thumbnail wp-image-1063" /></a><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/4.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/4-150x150.png" alt="" title="4" width="150" height="150" class="alignnone size-thumbnail wp-image-1068" /></a><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/5.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/5-150x150.png" alt="" title="5" width="150" height="150" class="alignnone size-thumbnail wp-image-1069" /></a><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/6.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/6-150x150.png" alt="" title="6" width="150" height="150" class="alignnone size-thumbnail wp-image-1064" /></a><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/7.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/7-150x150.png" alt="" title="7" width="150" height="150" class="alignnone size-thumbnail wp-image-1065" /></a></p>
<h1><a href="http://www.alienlabz.com/encomendaz/jnlp/encomendaz.jnlp">Baixar a Versão</a></h1>
<p align="justify">
Ahaaaaaaa! Pensou que eu tinha esquecido do link para o download? Óbvio que não! O link pro JNLP é esse aqui: <a href="http://www.alienlabz.com/encomendaz/jnlp/encomendaz.jnlp">http://www.alienlabz.com/encomendaz/jnlp/encomendaz.jnlp</a>. Pronto, agora é a sua vez de me ajudar! Dá essa força aí, não custa nada. Pelo menos, até agora, não. Aqui vai ume penca de código de rastreamento para vocês testarem:<br />
PG000702074BR, CW180801270US, SE987654321BR, RA169391799CN, PG035883496BR, RB414391713HK, EI089772025US, RE909064538SE, SI001690372BR, RE605739191BR, RE605739188BR, RE605739174BR, RE605739165BR, RE605739205BR.</p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=1058</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Mudança de Casa</title>
		<link>http://silvacarvalho.net/blog/?p=1025</link>
		<comments>http://silvacarvalho.net/blog/?p=1025#comments</comments>
		<pubDate>Sat, 14 Apr 2012 14:48:56 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[linode]]></category>
		<category><![CDATA[locaweb]]></category>
		<category><![CDATA[slicehost]]></category>
		<category><![CDATA[tektonic]]></category>
		<category><![CDATA[virtuaserver]]></category>
		<category><![CDATA[vps]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=1025</guid>
		<description><![CDATA[Para minha extrema alegria, meu servidor VPS hospedado na VPSLink sofreu um ataque DDOS por UDP. Travou a porra toda. Inclusive os outros VPS que estavam na mesma máquina que o meu. Enfim, o pessoal da VPSLink me contactou e pediu que formatasse a máquina, mudasse a senha de root, rezasse e desse três pulinhos. [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
Para minha extrema alegria, meu servidor <a href="http://en.wikipedia.org/wiki/Virtual_private_server">VPS</a> hospedado na <a href="http://www.vpslink.com/">VPSLink</a> sofreu um ataque <a href="http://en.wikipedia.org/wiki/UDP_flood_attack">DDOS por UDP</a>. Travou a porra toda. Inclusive os outros VPS que estavam na mesma máquina que o meu. Enfim, o pessoal da <a href="http://www.vpslink.com/">VPSLink</a> me contactou e pediu que formatasse a máquina, mudasse a senha de root, rezasse e desse três pulinhos. Fora fazer o download de 3gb de conteúdo e esquecer de baixar o SVN, foi tudo bem. Fiz tudo isso, mas também pensei em mudar de empresa.
</p>
<p><br/></p>
<p align="justify">
Já estava há 3 anos na <a href="http://www.vpslink.com/">VPSLink</a> e comecei a achar o painel deles fraco e o valor alto. Atualmente, pago 33 dólares por uma máquina com 20GB de HD e 512mb de RAM. As opções que vi e pensei em pegar foram: <a href="http://www.tektonic.net">Tektonic</a>, <a href="http://www.ultravps.com">UltraVPS</a>, <a href="http://www.virtuaserver.com.br">VirtuaServer</a>, <a href="http://www.locaweb.com.br">Locaweb</a>, <a href="http://www.linode.com">Linode</a> e <a href="http://www.slicehost.com">SliceHost</a>. Eu também pensei na <a href="http://www.amazon.com">Amazon</a>, mas ainda não estou &#8220;preparado&#8221; psicologicamente para usar o serviço deles. <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />
</p>
<p align="justify">
Antes que você me pergunte, vou lhe responder pra que porra eu quero um VPS. Eu sempre tive meus sites. Seja pessoal, seja para um projeto&#8230; eu usava serviço de hospedagem comum mesmo, mas sempre esbarrava na limitação deles. Resolvi testar um VPS e nunca mais saí. A liberdade que um VPS lhe dá é muito massa. O servidor é só seu. Você faz o que quer nele: instala o que quiser, guarda o que quiser, faz miséria. <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Uma vez em um VPS, pra sair é dureza. Fica mal acostumado.
</p>
<h1><a href="http://tektonic.net/">Tektonic</a></h1>
<p align="justify">
A <a href="http://tektonic.net/">Tektonic</a> tem preço bom e boas configurações. Por 28 dólares, você tem uma máquina com 1GB de ram, 60GB de HD e CPU de 2.6ghz. Só uma coisa me tirou deles: só usam <a href="http://en.wikipedia.org/wiki/OpenVZ">OpenVZ</a> para a virtualização. Quêquissotemaver? <a href="http://en.wikipedia.org/wiki/OpenVZ">OpenVZ</a> não é o ideal para rodar Java. Não sou expert no assunto, mas do que já li, o <a href="http://en.wikipedia.org/wiki/OpenVZ">OpenVZ</a> não faz swap de memória, ou seja, se sua aplicação Java precisar mais do que os 1GB de memória, o processo dela será assassinado e sua aplicação cai. No meu caso, eu preciso de um servidor <a href="http://en.wikipedia.org/wiki/Xen">Xen</a>, que faz swap.
</p>
<p><strong>Memória:</strong> 1.0GB<br />
<strong>HD:</strong> 60GB<br />
<strong>Bandwidth:</strong> 500GB<br />
<strong>CPU Speed:</strong> 2.6Ghz<br />
<strong>Preço:</strong> U$ 30.00 por mês</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/tektonic.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/tektonic-300x83.png" alt="" title="tektonic" width="300" height="83" class="aligncenter size-medium wp-image-1028" /></a></p>
<p><br/></p>
<h1>UltraVPS</h1>
<p align="justify">
A UltraVPS foi outra que pesquisei, mas perdeu porque ouvi pouca gente falando sobre ela. E também porque quando cliquei no botão Order Now com meu Chrome, ele não respondeu. Vai me dizer que só funciona no IE? Então, estou fora. <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  A configuração que eu queria com eles nem era assim tão em conta:
</p>
<p><strong>Memória:</strong> 1.5GB<br />
<strong>HD:</strong> 45GB<br />
<strong>Bandwidth:</strong> 3000GB<br />
<strong>CPU Speed:</strong> 1.8Ghz<br />
<strong>Preço:</strong> U$ 30.00 por mês</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/ultravps.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/ultravps-300x70.png" alt="" title="ultravps" width="300" height="70" class="aligncenter size-medium wp-image-1027" /></a></p>
<p><br/></p>
<h1><a href="http://www.virtuaserver.com.br/">VirtuaServer</a></h1>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/virtuaserver.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/virtuaserver-100x300.png" alt="" title="virtuaserver" width="100" height="300" class="alignleft size-medium wp-image-1039" /></a></p>
<p align="justify">
Seguindo a lista, temos a brasileira <a href="http://www.virtuaserver.com.br/">VirtuaServer</a>. Os preços não me agradaram muito e só usam OpenVZ também. Eu ia ter quase as mesmas configurações que a VPSLink e o preço não era assim tão em conta. Claro, mais barato que a VPSLink e também eu pagaria em reais. Mas&#8230; descartada.
</p>
<p><strong>Memória:</strong> 512MB<br />
<strong>HD:</strong> 30GB<br />
<strong>Bandwidth:</strong> 500GB<br />
<strong>CPU Speed:</strong> 1.2Ghz Garantido mais 1.2Ghz Burst<br />
<strong>Preço:</strong> R$ 49,00 por mês</p>
<p align="justify">
Entendeu o &#8220;Burst&#8221; na CPU? Eu também não entendia. <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Segundo li, eles só me garantem 1.2Ghz de CPU, pode ser que tenha mais 1.2Ghz sobrando lá e aí ele fica disponível para eu usar. Mas, não é garantido. Foda, né? Até meu celular é mais rápido que esse servidor.
</p>
<p><br/></p>
<h1><a href="http://www.locaweb.com.br/">Locaweb</a></h1>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/Captura-de-Tela-2012-04-14-às-11.25.11.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/Captura-de-Tela-2012-04-14-às-11.25.11.png" alt="" title="Captura de Tela 2012-04-14 às 11.25.11" width="175" height="266" class="alignright size-full wp-image-1041" /></a></p>
<p align="justify">
Continuando, pensei em pegar um servidor Cloud na <a href="http://www.locaweb.com.br/">Locaweb</a>. Pensei em apoiar as empresas brasileiras e tal. Pagar em reais, ter suporte em português. Mas ainda temos poucas VPS aqui e acho os valores bem altos ainda. Um Cloudserver Pro com 512MB de ram, 50GB de HD e 2 CPUs custa 99 reais por mês. Enfim, descartado.
</p>
<p><strong>Memória:</strong> 512MB<br />
<strong>HD:</strong> 50GB<br />
<strong>Bandwidth:</strong> -<br />
<strong>CPU Speed:</strong> -<br />
<strong>Preço:</strong> R$ 99,00 por mês</p>
<p><br/></p>
<h1><a href="http://www.slicehost.com/">SliceHost</a></h1>
<p align="justify">
Logo adiante, encontrei a SliceHost, que muita gente fala bem pacas. O esquema deles me parece que é só servidor em nuvens. Aí, eu fui na página deles pra entender como era a cobrança e tal. Parece com o esquema da Amazon! Cobram por hora de uso de CPU, memória e isso e aquilo. Enfim, não me senti muito confortável, não. Quando você diz mais ou menos a configuração que quer, ele dá um valor <em>estimado</em>. Putz, estimado? Sei lá, eu quero um valor fixo garantido todo mês. <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Ou seja, ainda não me acostumei com esse troço de hospedagem em nuvem. Descartei.
</p>
<p><br/></p>
<h1><a href="http://www.linode.com/">Linode</a></h1>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/linode.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/04/linode.png" alt="" title="linode" width="126" height="255" class="alignleft size-full wp-image-1049" /></a></p>
<p align="justify">
<p>Vamos finalizar essa odisséia com a Linode. Foi quem escolhi. Li diversos relatos de usuários feliz, alegres e satisfeitos. E não foram poucos. Vi algumas pessoas que possuem serviços até conhecidos e com enorme carga. E eles estão hospedados lá. Entrando na página da Linode, você estranha, pois o site não é assim uma maravilha de design. Mas ao ver os preços e configurações deles, uma me chamou atenção.
</p>
<p><strong>Memória:</strong> 768MB<br />
<strong>HD:</strong> 30GB<br />
<strong>Bandwidth:</strong> 300GB<br />
<strong>CPU Speed:</strong> -<br />
<strong>Preço:</strong> U$ 29,95 por mês</p>
<p align="justify">
A maioria dos usuários também relataram que eles já melhoraram as configurações do VPS deles sem cobrar nada a mais. Quem tinha um VPS com 512MB de ram foi migrado sem custos para o de 768MB. Bacana isso, hein. Eu já estava quase convencido, mas só faltava uma coisa: o servidor ser Xen. E é! Outra coisa importante era ter um painel bem bacana. Vendo as screenshots percebi que o painel deles não é lá essa maravilha toda, mas centenas de vezes melhor do que o da VPSLink. Enfim, encontrei.
</p>
<p align="justify">
Redirecionei meus domínios pro DNS deles, instalei CentOS 6, configurei tudo, fiz carga dos 190MB de Dump do MySQL, enviei pra lá os 3GB de backup e minha vida voltou ao normal.</p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=1025</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Design para Programadores Tapados</title>
		<link>http://silvacarvalho.net/blog/?p=1006</link>
		<comments>http://silvacarvalho.net/blog/?p=1006#comments</comments>
		<pubDate>Fri, 24 Feb 2012 12:16:37 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=1006</guid>
		<description><![CDATA[Resolvi fazer um post para repassar um mínimo de experiência que tenho ao trabalhar ao lado de alguns designers. Já tive uma empresa na qual dois sócios eram designers. E eu me aventurava no design também. Depois fiz trabalhos &#8220;freelas&#8221; com designers e sempre trabalhei próximo a eles. Com isto, consegui ter um mínimo de [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
Resolvi fazer um post para repassar um mínimo de experiência que tenho ao trabalhar ao lado de alguns designers. Já tive uma empresa na qual dois sócios eram designers. E eu me aventurava no design também. Depois fiz trabalhos &#8220;freelas&#8221; com designers e sempre trabalhei próximo a eles. Com isto, consegui ter um mínimo de noção de design.
</p>
<p align="justify">
Então, meu caro, este post é para você, programador que não sabe porra alguma sobre design. Principalmente, se você é um programador que pega uns trabalho freelance e não quer dividir a grana com um designer. Você é daqueles que pretende fazer todo o layout e imagens por conta própria. Mas sabe que é simplesmente UM BOSTA em design. Mas é muito mais sovina do que um bosta em design. Desta forma, não vai desistir de ter a grana toda só pra você. Em primeiro lugar, já lhe aviso que você tem mais a ganhar dividindo o trabalho com os outros do que querendo fazer tudo sozinho.
</p>
<p align="justify">
Mas, tudo bem, você acabou de me mandar para a merda e quer mesmo fazer tudo por conta própria. E você já sabe qual será o resultado. Simplesmente uma bosta de uma aplicação cheia de ícones toscos e mal arrumados em um layout porcamente projetado. Então, vou lhe passar umas dicas que sigo. Entenda que não são <strong>KILLER TRICKS</strong> que vão lhe transformar no melhor designer do mundo. São detalhes minúsculos, mas que todo programador cabeça dura não dá a mínima. Talvez algum designer por aí possa corroborar ou me chamar de idiota nos comentários. Fique à vontade.
</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/02/Free-Hand-Drawn-Doodle-Social-Icon-Set.jpg"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/02/Free-Hand-Drawn-Doodle-Social-Icon-Set-300x214.jpg" alt="" title="Free-Hand-Drawn-Doodle-Social-Icon-Set" width="300" height="214" class="alignleft size-medium wp-image-1015" /></a></p>
<p align="justify">
O primeiro erro estúpido de todo &#8220;programasigner&#8221; é achar que para sua aplicação ficar legal, basta encher de ícone bonitinho. Aí, você vai lá no famoso <a href="http://www.iconfinder.com/">IconFinder</a>, baixa um ícone rosa, outro laranja, outro verde, outro azul e vai fazendo um carnaval na aplicação. Portanto, meus caros energúmenos, aqui vai a primeira dica: use um único iconset. Escolha um bacana e use apenas ele. Não misture ícones de diversos iconsets. Vai dar merda na certa. Sua aplicação vai virar um carnaval, todo colorido, sem padrão visual, sem porra nenhuma.
</p>
<p align="justify">
Quando um designer de verdade faz uma coleção de ícones, ele escolhe uma paleta de cores, um estilo, formas, uma ideia e começa a fazer os ícones seguindo estes padrões. Aí, você em sua extrema estupidez, vai lá e mistura tudo, desgraçando com o trabalho dos artistas. E entenda que você também não precisa colocar ícone para tudo. Escreveu um texto, larga um ícone do lado. Outro texto, mais um ícone. Não abuse dos ícones, use apenas quando eles reforçam uma determinada informação ou até mesmo a substituem.
</p>
<p align="justify">
Outra dica, de nada adianta você escolher um iconset, digamos, em que a cor predominante dos ícones é azul e colocar o layout com cor predominante rosa. Ou seja, siga o padrão de cores do iconset que você escolheu! Sacou? Se o iconset que você escolheu é cinza, prefira cores mais escuras pro background, menu, botões e por aí vai. Outro detalhe é a fonte. Escolha uma fonte que combine com os ícones, imagens e o logotipo da aplicação/empresa também e use ela na maior parte da sua aplicação. A fonte é outro aspecto muito importante e você não pode menosprezar isso.
</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2012/02/color-palette-300x195.jpg"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2012/02/color-palette-300x195.jpg" alt="" title="color-palette-300x195" width="300" height="195" class="alignright size-full wp-image-1017" /></a></p>
<p align="justify">
Mais uma coisa que programador adora fazer: encher a aplicação de informação. Pro programador, parece que quanto mais informação você jogar na cara do usuário, melhor. ERRADO! Aprenda a fazer um layout limpo, deixe espaços em branco mesmo. Esses espaços ajudam ao usuário se focar no que é mais importante na sua aplicação. Não adianta entupir de informação, pois isso confunde mais do que ajuda. Portanto, lembre-se: layouts limpos, com espaços vazios, bem aproveitados.
</p>
<p align="justify">
E, por último, nunca, em hipótese alguma, invente de fazer logotipos. Você é um programador, não é um designer. Esqueça isso, pois isso é trabalho para designers. Logotipo não é apenas escrever o nome da empresa ao lado de um ícone que você roubou de algum lugar. Não é. Entendeu isso?
</p>
<p align="justify">
E, enfim, é o fim.</p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=1006</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Eu Prometo!</title>
		<link>http://silvacarvalho.net/blog/?p=993</link>
		<comments>http://silvacarvalho.net/blog/?p=993#comments</comments>
		<pubDate>Fri, 23 Dec 2011 18:31:31 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Notícias]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=993</guid>
		<description><![CDATA[Eta porra! Ano novo de novo. O trigésimo quarto de minha vida. E espero que consiga ver mais uns 60 desses. Quero morrer com 90 anos de idade. Acho um número bonito. Só por isso. Mas a questão é que vésperas de ano novo sempre lhe levam a pensar como será seu ano seguinte. E [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
Eta porra! Ano novo de novo. O trigésimo quarto de minha vida. E espero que consiga ver mais uns 60 desses. Quero morrer com 90 anos de idade. Acho um número bonito. Só por isso. Mas a questão é que vésperas de ano novo sempre lhe levam a pensar como será seu ano seguinte. E as promessas de ser um cara mais porretão sempre se renovam. Em vão, é claro. O ano seguinte inicia e você já está enjoado dele no segundo dia. E as promessas que se lasquem.
</p>
<p align="justify">
E isso acontece comigo todo ano. A única diferença deste ano para os passados é que deixarei público, aqui no blog, algumas das coisas que eu realmente gostaria de fazer, ser e ter no ano de 2012. E vocês verão como não conseguirei nem 30% disso. Pode apostar. E rir de minha cara também. Vamos começar a lista das coisas que não farei em 2012 com algumas &#8220;tags&#8221;: estudos, atividades físicas, aquisições, comportamental e NãoSeiMaisOQue.
</p>
<p align="justify">
<strong>Estudos</strong>. Eu prometo que para 2012 eu finalmente conseguirei suprir minha deficiência em matemática. Não chego a ser uma anta <em>matematical</em>, mas eu sou lerdo demais com os números. Quase uma anta <em>matematical</em>. E prometo que finalmente aperfeiçoarei minhas técnicas no xadrez. Embora atualmente eu não tenha nem 1% disto. O caminho será longo. E prometo que aprenderei a jogar Texas Hold&#8217;em de verdade. Meu estágio atual é próximo do zero. Tendendo ao infinito. Se é que isso quer dizer alguma coisa. Eu já disse que eu sou ruim em matemática?
</p>
<p align="justify">
Vou aprender Ruby definitivamente. Enfim, vou ter fluência mínima em inglês e começar com o espanhol. Essa categoria até que não é difícil. Digamos que eu consiga algo muito próximo de 39.541234%.
</p>
<p align="justify">
<strong>Atividades Físicas</strong>. Eu juro que em 2012 passarei a fazer algum esporte. Todo mundo me olha como se até pra nascer eu não tivesse feito qualquer esforço. Achar o caminho útero->vagina não é uma tarefa fácil e o posicionamento intrauterino também é importante! O meu foi perfeito, nota 10. Quando digo que já joguei muita bola (no sentido quantitativo, não qualitativo), me sinto um comediante. Já andei muito de skate, joguei bastante futebol e basquete. Mas, atualmente, só o <em>alterocopismo</em>, modalidade cerveja gelada até 350ml.
</p>
<p align="justify">
<strong>Aquisições</strong>. Esta talvez seja a categoria mais fácil de ser cumprida. Sou <em>consumista</em>, eu admito. Também, só vou listar coisas que eu realmente possa comprar. Sem ilusões de ganhar na megasena. Quero comprar um carro novo, uma mesa de sinuca, uma espingarda de ar comprimido, um Galaxy SII e fecho a lista aqui. Esqueci o resto mesmo. Vou colocar 70% de acertos aqui.
</p>
<p align="justify">
<strong>Comportamental</strong>. Juro de pé junto que serei mais paciente quando me fazem esperar. Que beberei menos. Aliás, essa última é balela, vou perder fácil. Juro que minhas crises paranóicas-existenciais cessarão por completo. Juro que serei mais pro-ativo. E que não serei mais preguiçoso. Vou fazer compras no mercado com minha esposa. Nessa categoria eu aposto 0% de acerto.
</p>
<p align="justify">
<strong>NãoSeiMaisOQue</strong>. Prometo que vou ler mais livros. Principalmente dos escritores brasileiros. E que lerei semanalmente todas minhas revistas semanais. Vou molhar as plantas da casa todos os dias. Vou consertar as goteiras da casa. Vou jogar outros jogos de PS3 além de Fifa 12.
</p>
<p align="justify">
Agora é só esperar o fim de ano de 2012. Mas o resultado eu já sei qual será.</p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=993</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Meus Primeiros 1000 reais!</title>
		<link>http://silvacarvalho.net/blog/?p=986</link>
		<comments>http://silvacarvalho.net/blog/?p=986#comments</comments>
		<pubDate>Tue, 06 Dec 2011 19:45:06 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[encomendaz]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=986</guid>
		<description><![CDATA[E o EncomendaZ, na versão desktop, está próximo, mas muito próximo mesmo, de alcançar a grandiosa marca de R$ 1.000,00 em receitas oriundas da venda de licenças. Foram cerca de 80 licenças vendidas. Parece pouco, né não? Mas significa bastante pra mim. Foi o primeiro aplicativo que criei com o objetivo de vender. Não pensei [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
E o <a href="http://encomendaz.silvacarvalho.net/">EncomendaZ</a>, na versão desktop, está próximo, mas muito próximo mesmo, de alcançar a grandiosa marca de R$ 1.000,00 em receitas oriundas da venda de licenças. Foram cerca de 80 licenças vendidas. Parece pouco, né não? Mas significa bastante pra mim. Foi o primeiro aplicativo que criei com o objetivo de vender. Não pensei em ficar milionário com ele. Mas foi a minha primeira investida e serviu de teste para eu entender um pouco sobre este difícil terreno. As lições foram muitas e gostaria de compartilhar algumas delas.
</p>
<p align="justify">
Primeiro, saibam que criei o EncomendaZ 2 em cerca de 15 dias de programação hardcore! <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Aprendi bastante sobre Swing/Java. Aprendi que ao vender um aplicativo, você assume uma grande responsabilidade perante aqueles que compram. Bugs precisam ser corrigidos imediatamente. E-mails precisam ser prontamente respondidos. A licença não pode demorar de ser enviada, senão dá bronca! E você acaba tendo que tratar com muita gente nervosinha e apressada.
</p>
<p align="justify">
A técnica do &#8220;Pague Quanto Quiser&#8221; também foi legal e descobri que as pessoas não gostam mesmo de dizer quanto vale um aplicativo. Alguns me chamaram de maluco, que isso não existe. Alguns entenderam a ideia. Outros pagaram 1 real. Tantos outros pagaram muito mais que isso. Mas acabei tendo que colocar no site um &#8220;valor médio&#8221;, informando o quanto, em média, as pessoas estavam pagando pela licença. A partir daí, a maioria passou a pagar a média. <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Interessante, né? Você deixa a escolha para as pessoas (A Escolha, Neo!), mas elas preferem não ter que decidir sobre isso. Mas isto é um tema para um post inteiro.
</p>
<p align="justify">
Fica aqui meu agradecimento a todos que ajudaram comprando a licença do EncomendaZ 2.0. E saibam que o EncomendaZ 3.0 está por vir e será muito melhor que a versão 2. O problema é que ainda não encontrei tempo e motivação suficientes para acabar de vez. Eu estou construindo a versão 3 sozinho e tem bastante coisa a ser feita. Tenham paciência comigo. Ainda não sei como vou fazer para distribuir a versão 3. Os comentários estão abertos para sugestões!</p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=986</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>AdMob vale a pena?</title>
		<link>http://silvacarvalho.net/blog/?p=968</link>
		<comments>http://silvacarvalho.net/blog/?p=968#comments</comments>
		<pubDate>Wed, 30 Nov 2011 18:34:00 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[admob]]></category>
		<category><![CDATA[adsense]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[brasileiraoz]]></category>
		<category><![CDATA[encomendaz]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[propaganda]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=968</guid>
		<description><![CDATA[Já pensou em colocar propaganda em seus aplicativos Android? Se sim, já deve saber que existe o AdMob, do Google. Basta você fazer sua conta, pegar um arquivo .jar, colocar na sua aplicação, criar uma área na aplicação para exibir as propagandas e pronto. Mas o AdMob não é exclusividade do Android. Também pode ser [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
Já pensou em colocar propaganda em seus aplicativos <a href="http://market.android.com">Android</a>? Se sim, já deve saber que existe o <a href="http://www.admob.com/">AdMob</a>, do <a href="http://www.google.com">Google</a>. Basta você fazer sua conta, pegar um arquivo .jar, colocar na sua aplicação, criar uma área na aplicação para exibir as propagandas e pronto. Mas o <a href="http://www.admob.com/">AdMob</a> não é exclusividade do <a href="http://market.android.com/">Android</a>. Também pode ser usado em <a href="http://www.blackberry.com">BlackBerry</a> e <a href="http://www.apple.com">iOS</a>. Eu resolvi fazer um teste com ele. Primeiro, eu comecei vendendo minhas duas aplicações: <a href="https://market.android.com/details?id=net.silvacarvalho.encomendaz&#038;feature=search_result#?t=W251bGwsMSwyLDEsIm5ldC5zaWx2YWNhcnZhbGhvLmVuY29tZW5kYXoiXQ..">EncomendaZ</a> e <a href="https://market.android.com/details?id=net.silvacarvalho.brasileiraoz.pro&#038;feature=more_from_developer#?t=W251bGwsMSwyLDEwMiwibmV0LnNpbHZhY2FydmFsaG8uYnJhc2lsZWlyYW96LnBybyJd">BrasileirãoZ</a>. Depois, resolvi testar se valeria a pena colocar AdMob. Vamos para as conclusões deste teste.
</p>
<p align="justify">
Já me perguntaram várias vezes o que vale mais a pena, se é vender ou colocar propaganda. Espero ter dado a resposta ao final deste post. Caso você queira uma resposta direta, na cara, sem frescura e está com preguiça de ler o restante do post, então, é&#8230; depende, cara pálida. Deixe de preguiça e leia até o final, seu zé ruela. Vamos entender o contexto da coisa. Eu coloquei duas aplicações com <a href="http://www.admob.com">AdMob</a>. Uma valeria a pena ter as propagandas. A outra, não. A que valeria seria o <a href="https://market.android.com/details?id=net.silvacarvalho.brasileiraoz.pro&#038;feature=more_from_developer#?t=W251bGwsMSwyLDEwMiwibmV0LnNpbHZhY2FydmFsaG8uYnJhc2lsZWlyYW96LnBybyJd">BrasileirãoZ</a>, mas ainda assim não tenho certeza absoluta. A que não valeria é o <a href="https://market.android.com/details?id=net.silvacarvalho.encomendaz&#038;feature=search_result#?t=W251bGwsMSwyLDEsIm5ldC5zaWx2YWNhcnZhbGhvLmVuY29tZW5kYXoiXQ..">EncomendaZ</a>.
</p>
<p align="justify">
Vamos entender a situação agora. O AdMob só vale a pena para aplicativos &#8220;Top Sellers&#8221; e de grande uso diário. Somente para eles. O retorno é baixo e você acaba conseguindo em um mês o dinheiro que você conseguiria em 1 ano de AdMob. Exemplo disto? Vamos lá. Eu vendi 30 licenças do EncomendaZ pela Android Market. São 30 dólares acumulados. Contudo, não consegui ainda nem 2 dólares com as propagandas oriundas dele após mais de 3 meses. Entendeu o contexto? O EncomendaZ é um aplicativo muito específico. Tem cerca de 600 downloads após quase 1 ano de publicado. E 600 pessoas usando é muito pouco. E, claro, não são 600 pessoas usando direto. O que posso saber é que 600 baixaram, mas não saber se tem uso constante. Acredito que destas 600, talvez umas 100 usem constantemente.
</p>
<p><a href="http://silvacarvalho.net/blog/wp-content/uploads/2011/11/Captura_de_tela.png"><img src="http://silvacarvalho.net/blog/wp-content/uploads/2011/11/Captura_de_tela-300x159.png" alt="" title="Captura_de_tela" width="300" height="159" class="aligncenter size-medium wp-image-976" /></a></p>
<p align="justify">
Já o BrasileirãoZ leva vantagem. O brasileiro adora futebol e certamente é um aplicativo de uso constante. O cara quer sempre saber como anda seu time, classificação e etc. E isto se comprovou na prática. O BrasileirãoZ corresponde a mais de 90% do total de 13 dólares que arrecadei usando o AdMob. Mas ainda é pouco. Ele tem cerca de 2200 downloads atualmente e, aparentemente, um uso constante. Contudo, ainda arrecadei mais vendendo ele do que com AdMob. Foram 17 doletas vendendo e cerca de 10 dólares vindos de propaganda.
</p>
<p align="justify">
Há algo mais que você precisa pesar: o AdMob deixa sua aplicação feia, rouba espaço da tela e é chato. É igual a você entrar em uma página cheia de AdSense e que dá vontade de fechar imediatamente. Então, se vai colocar propaganda, faça com cuidado e pense bem. Vale a pena abusar seu usuário com essa propaganda mesmo? Bom, vou deixar aqui minha dica se você coloca ou não essa maldita propaganda&#8230; se bem que dica de maluco vale nada. Mas vou dizer ela mesmo assim.
</p>
<p align="justify">
<strong>Acredito que um plano melhor seja criar uma versão free com propaganda e outra paga sem propagandas e talvez mais opções</strong>. Principalmente se sua aplicação é muito específica e tende a não ser de uso constante. E essa dica, eu mesmo tentarei seguir nas minhas próximas aplicações. Uma aplicação somente free e com propaganda vale a pena para Angry Birds e por aí vai. Acho muito melhor você mesclar os dois mundos. Você  tende a ganhar dos dois lados usando esta tática. Caso o cara seja mão de vaca e use sempre a free, ganha na propaganda. Caso sua aplicação seja boa mesmo e a galera passe a comprar, melhor ainda. <img src='http://silvacarvalho.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=968</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaMagazine, Vaadin e a G Magazine</title>
		<link>http://silvacarvalho.net/blog/?p=952</link>
		<comments>http://silvacarvalho.net/blog/?p=952#comments</comments>
		<pubDate>Fri, 25 Nov 2011 19:44:11 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Artigos]]></category>
		<category><![CDATA[Notícias]]></category>
		<category><![CDATA[javamagazine]]></category>
		<category><![CDATA[vaadin]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=952</guid>
		<description><![CDATA[Esqueci de comentar aqui no blog uma coisa importante: mais um artigo publicado na JavaMagazine. Já é o terceiro e o quarto está por vir. Escrever é um exercício bem bacana pra mente e regularmente eu procuro fazer isso. O artigo em questão é uma introdução ao Vaadin. Conhece o Vaadin? É, você não mora [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
Esqueci de comentar aqui no blog uma coisa importante: mais um artigo publicado na <a href="http://www.devmedia.com.br/assgold/listmag.asp?site=6">JavaMagazine</a>. Já é o terceiro e o quarto está por vir. Escrever é um exercício bem bacana pra mente e regularmente eu procuro fazer isso. O artigo em questão é uma introdução ao <a href="http://www.vaadin.com/">Vaadin</a>. Conhece o <a href="http://www.vaadin.com/">Vaadin</a>? É, você não mora nesse planeta mesmo. Eu sou sincero: eu odeio do fundo das minhas entranhas o desenvolvimento web &#8220;dirigido&#8221; a tags. Odeio mesmo, é sério. E o <a href="http://www.vaadin.com/">Vaadin</a> foi minha escapatória.
</p>
<p align="justify">
Antes, eu programava com o GWT do <a href="http://www.google.com.br/">Google</a>, mas admito que precisava de muito código. Lembrava um pouco os velhos tempos de EJB 1.2. Cria interface remota aqui, classe interna acolá. Argh! O Vaadin resolveu o problema pra mim. Nada mais de objetos DTO, VO e sei lá mais o que. Mas não vou explicar muito do Vaadin aqui não, maluquete. Isso porque você pode comprar as JavaMagazines de número 95 e 96 e ver meus dois artigos lá. Quem leu curtiu. Eu não li. Mas escrevi e curti também.
</p>
<div align="center">
<img src="http://silvacarvalho.net/blog/wp-content/uploads/2011/11/capaJava95_G.jpg" alt="" title="capaJava95_G"/> <img src="http://silvacarvalho.net/blog/wp-content/uploads/2011/11/capaJava96_G.jpg" alt="" title="capaJava96_G"/>
</div>
<p align="justify">
Vê as imagens das capas das revistas logo acima que é pra você não chegar na banca de revistas e comprar errado. Aproveito para entregar meu amigo <a href="http://twitter.com/mariojp">Mario Pereira</a>, que certa vez pediu uma &#8220;JavaMagazine&#8221; na banca. O cara olhou ele de forma estranha, fez cara feia, entrou na banca e voltou com uma &#8220;G Magazine&#8221; pra ele. Se Mario levou pra casa a revista mesmo assim? Perguntem a ele!
</p>
<p align="justify">
PS.: Dieguito lembrou nos comentários uma coisa importante. O primeiro artigo não saiu na versão impressa da revista. Ele está apenas online. Em contato com a editora, eles me alertaram que ocorreu um erro. Era para os dois artigos saírem na versão impressa. Para corrigir este problema, eles liberaram o acesso irrestrito ao artigo na versão digital. O segundo artigo saiu de fato na versão impressa! Valeu Diego!</p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=952</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Alfred is Alive!</title>
		<link>http://silvacarvalho.net/blog/?p=947</link>
		<comments>http://silvacarvalho.net/blog/?p=947#comments</comments>
		<pubDate>Tue, 22 Nov 2011 19:54:28 +0000</pubDate>
		<dc:creator>Marlon</dc:creator>
				<category><![CDATA[Notícias]]></category>
		<category><![CDATA[Programação]]></category>

		<guid isPermaLink="false">http://silvacarvalho.net/blog/?p=947</guid>
		<description><![CDATA[Você já conhece o Alfred? Não? Que zorra é essa? É um projeto que criei já a algum tempo e que contém milhares de centenas de dezenas de milhões de utilitários e afins para você criar sua aplicação muito louca em Java. Como assim? Seguinte, sua aplicação precisa ter as dezenas sorteadas da megasena? O [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">
Você já conhece o <a href="http://www.alfredlibrary.org/">Alfred</a>? Não? Que zorra é essa? É um projeto que criei já a algum tempo e que contém milhares de centenas de dezenas de milhões de utilitários e afins para você criar sua aplicação muito louca em Java. Como assim? Seguinte, sua aplicação precisa ter as dezenas sorteadas da megasena? O Alfred ajuda. Da quina? O cara também ajuda. E precisa de algumas formatações, validações e afins? O maluco aí ajuda pacas! Ou então, a lista de bancos cadastrados na Febraban? Alfred é o cara pra isso. Teste a versão 1.X do Alfred que está no Google Code no endereço <a href="http://alfredlibrary.googlecode.com/">http://alfredlibrary.googlecode.com/</a>.<br />
</a></p>
<p align="justify">
Agora, você em sua total sapiência me pergunta: e daí, cara? Deixe de ser miserável e entenda o seguinte: o Alfred vai mudar. Aliás, já mudou. Ou não. Mudou sim. Agora ele está no <a href="http://www.github.com">Github</a> no endereço <a href="http://www.github.com/alfredlibrary/">http://www.github.com/alfredlibrary/</a>. E é só isso? Porra nenhuma! O projeto vai ser reestruturado totalmente e absolutamente. Estou pensando em diversas melhorias para ele, além de uma reestruturação catastrófica! Agora não será apenas um único &#8220;jar&#8221; contendo tudo. Quero separar por funcionalidades. Tipo assim: vai ter um repositório no Github para o projeto &#8220;postal-services&#8221;, no qual você terá todas as funcionalidades para serviços postais. Este projeto gera um jar separado que pode ser adicionado ao seu projeto. Captou a ideia?<br />
</a></p>
<p align="justify">
E o que mais? Ah! Quero uma integração com o CDI também. Aí você poderá injetar os serviços do Alfred apenas com um @Inject. Sucesso, né não? O Github já vai ajudar substancialmente no recebimento de contribuições, não tenho dúvidas. Outro detalhe, a API será totalmente refeita, mas agora em inglês. A questão de ter apenas métodos estáticos também não será uma regra e talvez a não dependência de APIs externas também. Tudo depende, é caso a caso.
</p>
<p align="justify">
Maluco, é o seguinte: quero sua ajuda. Precisamos de sua ajuda. Ajude mesmo! Deixe de preguiça, na moral! Contribua com código. Esculhambe quando é pra esculhambar. Chame o autor do código de anta quando é pra chamar, mas não fique calado, não. Senão eu que vou lhe esculhambar. Faz um follow no projeto no Github. Faz logo seu fork, agora, sem demora, sem pestanejar e sem pensar! Aja na emoção e faça isso logo. Eu imploro!</p>
]]></content:encoded>
			<wfw:commentRss>http://silvacarvalho.net/blog/?feed=rss2&#038;p=947</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

