<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2649804423398004033</id><updated>2012-01-21T22:09:38.074-02:00</updated><category term='linux'/><category term='bots'/><category term='criatividadeSolta'/><category term='slackware'/><category term='grooby'/><category term='instalação'/><category term='grails'/><category term='código-fonte'/><category term='snippet'/><category term='javascript'/><category term='java'/><category term='groovy'/><category term='news'/><category term='consulta'/><category term='latex'/><category term='tutorial'/><category term='microsoft'/><category term='gtalk'/><category term='eclipse'/><category term='interfaces'/><category term='bash'/><category term='curiosidades'/><category term='microblog'/><category term='google'/><title type='text'>Girole: O blog do tops</title><subtitle type='html'>Dicas variadas de computação - Onda atual: Groovy/Grails!</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://girole.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>61</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2842992458217431293</id><published>2011-04-28T09:51:00.001-03:00</published><updated>2011-04-28T09:56:56.292-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='snippet'/><category scheme='http://www.blogger.com/atom/ns#' term='grooby'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><title type='text'>Groovy: anotacao @delegate</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-uxqVrp3ueO4/TbliQc2XnOI/AAAAAAAAAUQ/nGfZpLqX6o0/s1600/groovy.png" imageanchor="1" style="margin-left:1em; margin-right:1em"&gt;&lt;img border="0" height="100" width="203" src="http://4.bp.blogspot.com/-uxqVrp3ueO4/TbliQc2XnOI/AAAAAAAAAUQ/nGfZpLqX6o0/s400/groovy.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Para ir direto ao ponto, segue abaixo exemplo de uso da annotation delegate,&lt;br /&gt;que resumidamente é um atalho para metodos e propriedades...&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:groovy"&gt;import groovy.lang.Delegate;&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Main &lt;br /&gt; */&lt;br /&gt;class Main {&lt;br /&gt;&lt;br /&gt; static main(args) {&lt;br /&gt;  def pessoa = new Pessoa()&lt;br /&gt;  pessoa.nome = "rafael"&lt;br /&gt;  pessoa.carro = new Carro()&lt;br /&gt;  pessoa.carro.marca = "fiat"&lt;br /&gt;  &lt;br /&gt;  // antes de existir o delegate&lt;br /&gt;  println pessoa.nome // "rafael"&lt;br /&gt;  println pessoa.carro.marca // "fiat"&lt;br /&gt;  println pessoa.carro.getMarca() // "fiat"&lt;br /&gt;  &lt;br /&gt;  // após uso do delegate&lt;br /&gt;  println pessoa.marca // "fiat" - eita! pessoa nao tem essa propriedade diretamente...&lt;br /&gt;  println pessoa.getMarca() // "fiat" eita! pessoa nao tem esse metodo...&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Class Pessoa&lt;br /&gt; */&lt;br /&gt;class Pessoa {&lt;br /&gt; def nome&lt;br /&gt; &lt;br /&gt; @Delegate&lt;br /&gt; def Carro carro &lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/**&lt;br /&gt; * Class Carro&lt;br /&gt; */&lt;br /&gt;class Carro {&lt;br /&gt; def marca&lt;br /&gt; def getMarca() {&lt;br /&gt;  return marca&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Brinque no &lt;a href="http://groovyconsole.appspot.com/script/465004"&gt;GroovyConsole&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2842992458217431293?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2842992458217431293/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2011/04/groovy-anotacao-delegate.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2842992458217431293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2842992458217431293'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2011/04/groovy-anotacao-delegate.html' title='Groovy: anotacao @delegate'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-uxqVrp3ueO4/TbliQc2XnOI/AAAAAAAAAUQ/nGfZpLqX6o0/s72-c/groovy.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-5839447078600681455</id><published>2011-04-26T15:43:00.009-03:00</published><updated>2011-04-28T09:58:06.141-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><title type='text'>Dicas Rápidas de Grails para quem vem do Java - Controllers</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://grails.org/doc/latest/img/grails.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 225px; height: 85px;" src="http://grails.org/doc/latest/img/grails.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Segue abaixo exemplo contendo várias informações sobre controllers.&lt;br /&gt;Para ver documentação oficial, visite &lt;a href="http://grails.org/doc/latest/ref/Controllers/render.html"&gt;grails.org&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Se lhe foi útil, deixe um comentário (pode ser anônimo).&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;1. Basico de actions&lt;/b&gt;&lt;br /&gt;&lt;pre class="brush:groovy"&gt;&lt;br /&gt;class ToperaController {&lt;br /&gt;def teste = {&lt;br /&gt;render "Hello World"&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Acessado via: http://localhost/minha-app/topera/teste&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;2. Tipos de encerramento de actions&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="brush:groovy"&gt;&lt;br /&gt;class ToperaController {&lt;br /&gt;&lt;br /&gt;// retornar HTML cru&lt;br /&gt;def html = {&lt;br /&gt;render "Hello World"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// requestDispatcher pra view gsp (traducao: manda os dados prum html externo)&lt;br /&gt;// o gsp que será procurado pelo server é o views/topera/html2.gsp&lt;br /&gt;def html2 = {&lt;br /&gt;[msg: "Hello Crazy World!!"]&lt;br /&gt;}&lt;br /&gt;// e o gsp poderia ser "A mensagem recebida foi ${msg}"&lt;br /&gt;&lt;br /&gt;// renderiza JSON, criando obj na hora&lt;br /&gt;def json1 = {&lt;br /&gt;render(contentType:"text/json") {&lt;br /&gt;[nome: "rafael", idade:29]&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// renderiza JSON, usando objeto pre-existente&lt;br /&gt;def json2 = {&lt;br /&gt;def pessoa = new Pessoa([nome: "rafael", idade:29])&lt;br /&gt;render(contentType:"text/json") {pessoa}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// renderiza JSON (outra forma)&lt;br /&gt;def json3 = {&lt;br /&gt;render new Pessoa([nome: "rafael", idade:29]) as JSON&lt;br /&gt;}  &lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;* Obs: os retornos em JSON podem ser lidos direto pelo javascript. Com jQuery seria assim:&lt;br /&gt;* &lt;br /&gt;* $.getJSON("http://localhost/minha-app/topera/b2", function(pessoa){&lt;br /&gt;*    alert("Nome pego no servidor foi " + pessoa.nome);&lt;br /&gt;* });   &lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;// renderiza de acordo com tipo de url&lt;br /&gt;// "topera/varios.json" pega json e "topera/varios.html" pega html&lt;br /&gt;def varios = {&lt;br /&gt;def pessoa = new Pessoa([nome: "rafael", idade: 29]);&lt;br /&gt;withFormat {&lt;br /&gt;html {render "&lt;b&gt;Nome: &lt;/b&gt; $pessoa.nome&lt;br /&gt;&lt;b&gt;Idade: &lt;/b&gt; $pessoa.idade"}&lt;br /&gt;json {render pessoa as JSON}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// monta html via objeto&lt;br /&gt;def htmlObj = {&lt;br /&gt;render {&lt;br /&gt;div(id:"meuId"){&lt;br /&gt;b ("Mensagem")&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// retorna stream de arquivo binario&lt;br /&gt;def figura = {&lt;br /&gt;response.setContentType("image/jpeg")&lt;br /&gt;response.outputStream &lt;&lt; new File("D:/foto.jpg").readBytes()&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// redireciona pra ToperaController.html() (dá um sendRedirect, isto é, browser recebe informacao para redirecionar)&lt;br /&gt;def redirect1 = {&lt;br /&gt;redirect controller: 'topera', action: 'html'&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// redireciona pra action a, no mesmo controller&lt;br /&gt;def redirect2 = {&lt;br /&gt;redirect action: 'html'&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// encaminha para outra action, SEM envolver client (browser)&lt;br /&gt;def forward = {&lt;br /&gt;forward action: 'html'&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;class Pessoa {def nome, idade}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-5839447078600681455?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/5839447078600681455/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2011/04/dicas-rapidas-de-grails-para-quem-vem.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5839447078600681455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5839447078600681455'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2011/04/dicas-rapidas-de-grails-para-quem-vem.html' title='Dicas Rápidas de Grails para quem vem do Java - Controllers'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-1679759826138908454</id><published>2011-04-22T11:32:00.037-03:00</published><updated>2011-04-28T09:59:14.709-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='consulta'/><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Dicas Rápidas de Groovy para quem vem do Java</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Groovy-logo.svg/200px-Groovy-logo.svg.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 99px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Groovy-logo.svg/200px-Groovy-logo.svg.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;b&gt;1. Basico&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;br /&gt;a) Nao precisa de ponto-e-virgula;&lt;br /&gt;b) A ultima linha de um metodo é o que ele retorna. Mas botar o return ajuda a entender melhor;&lt;br /&gt;&lt;div&gt;&lt;b&gt;2. Collections&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush:groovy"&gt;&lt;br /&gt;// List&lt;br /&gt;a = [1, 2, 2]&lt;br /&gt;a.each {println it}&lt;br /&gt;println a.class // imprime java.util.ArrayList&lt;br /&gt;a = []; a &amp;lt;&amp;lt; "foo"; (adiciona "foo" na lista)&lt;br /&gt;&lt;br /&gt;// Set&lt;br /&gt;a = [1, 2, 2] as Set&lt;br /&gt;a.each {println it}&lt;br /&gt;println a.class // imprime java.util.HashSet&lt;br /&gt;&lt;br /&gt;// Map&lt;br /&gt;a = ["um":1, "dois":2]&lt;br /&gt;a.each {println "$it.key = $it.value"}&lt;br /&gt;println a.class // retorna null (?)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;3. Loops&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush:groovy"&gt;&lt;br /&gt;l = 'a'..'c' // define array [a, b, c]&lt;br /&gt;&lt;br /&gt;l.each {print it.toUpperCase()} // imprime ABC&lt;br /&gt;&lt;br /&gt;l = l.collect {it = "x"}&lt;br /&gt;// mesmo que each, mas RETORNA objeto alterado. O each nao.&lt;br /&gt;&lt;br /&gt;l.eachWithIndex {item, i -&amp;gt; println "$i) $item"} // imprime 0) a 1) b 2) c&lt;br /&gt;&lt;br /&gt;def linhas = """&lt;br /&gt;rafael,29&lt;br /&gt;joao&lt;br /&gt;maria, 24&lt;br /&gt;"""&lt;br /&gt;linhas.eachLine {println it}&lt;br /&gt;&lt;br /&gt;5.upto(10) {print it} // 5678910&lt;br /&gt;&lt;br /&gt;5.downto(1) {print it} // 54321&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;3. Asserts/Try/Catch&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush:groovy"&gt;&lt;br /&gt;try {&lt;br /&gt;def quadrado = {it * it}(3)&lt;br /&gt;quadrado-- // adicao de bug...&lt;br /&gt;assert quadrado == 9: "o quadrado de 3 deve ser nove!!"&lt;br /&gt;} catch (AssertionError e) {&lt;br /&gt;print "Erro na asserção..."&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;-1. Bônus...&lt;/b&gt;&lt;/div&gt;&lt;br /&gt;&lt;pre class="brush:groovy"&gt;&lt;br /&gt;// pega ultimo elemento&lt;br /&gt;print a[-1]&lt;br /&gt;&lt;br /&gt;// Imitando JSON (quase-json, hehe)&lt;br /&gt;def pessoas = [&lt;br /&gt;['nome':'rafael', 'idade':29],&lt;br /&gt;['nome':'joao', 'idade':23]&lt;br /&gt;]&lt;br /&gt;pessoas.each { p -&amp;gt;&lt;br /&gt;println "$p.nome tem $p.idade anos"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;// regex basico com if ternario&lt;br /&gt;print "rafael" ==~ /r.*/ ? "Fez Match!" : "Nao fez..."&lt;br /&gt;&lt;br /&gt;// operador elvis (?)&lt;br /&gt;def a = "foo"&lt;br /&gt;print a?.toUpperCase() // imprime FOO&lt;br /&gt;a = null&lt;br /&gt;print a?.toUpperCase() // imprime null, mas nao da nullpointer&lt;br /&gt;&lt;br /&gt;// executa coisa no SO nativo (linha de comando)&lt;br /&gt;print "ls".execute().text&lt;br /&gt;&lt;br /&gt;// chama construtor e já poupula objeto&lt;br /&gt;def p = new Pessoa([nome: "joao", idade: 23])&lt;br /&gt;&lt;br /&gt;// metodo call()&lt;br /&gt;def chamaPassandoQuatro (minhaClosure) {  minhaClosure.call(4) }&lt;br /&gt;chamaPassandoQuatro({  print it * it })&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre; "&gt;&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;i&gt;Se lhe foi útil, deixe um comentário...não precisa de login...&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-1679759826138908454?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/1679759826138908454/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2011/04/dicas-rapidas-de-groovy-para-quem-vem.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1679759826138908454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1679759826138908454'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2011/04/dicas-rapidas-de-groovy-para-quem-vem.html' title='Dicas Rápidas de Groovy para quem vem do Java'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-7291363187438530128</id><published>2011-04-22T08:37:00.002-03:00</published><updated>2011-04-22T09:09:25.963-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='criatividadeSolta'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Leis Fundamentais do Backup</title><content type='html'>&lt;div&gt;Reza a lenda que durante o ataque terrorista de 11/09, o gerente de infra de um grande banco financeiro viu um avião acertando a torre em que ficava os servidores da empresa. Enquanto a primeira torre ardia, seu colega de trabalho, ainda abalado com a tragédia disse:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;"Nossa!! Perdemos todos os dados dos clientes! A empresa vai falir!"&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Nisso o gerente respondeu:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;"Calma, man. Acha que sou tonto? Faço backup todo dia na outra torre!"&lt;/blockquote&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Leis Fundamentais do Backup&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Aproveitei o feriado de páscoa pra ficar divagando sobre backup enquanto acordava... segue o resumo...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;I) Farás Backup&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;II) Seus Backups serão Periódicos&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;III) Testarás seus Backups&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;IV) Seus Backups ficarão Distantes dos Originais&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;I) Farás Backup&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Parece óbvio, mas ainda tem gente que não faz isso. Eu mesmo, mesmo fuçando em pcs desde 1995, as vezes esqueço... hehe. Nada como refazer o trabalho de uma semana para gravar isso no mais profundo do cérebro...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;II) Seus Backups serão Periódicos&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Se vc atualiza seu livro ou programa todo dia, de que adianta fazer backup a cada 6 meses?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;III) Testarás seus Backups&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Este é mais sutil. Novamente, de que adianta fazer backup a cada 6h e nunca ter testado se ele funciona? Ex: certa pessoa que prefiro manter em segredo(!) fazia backup semanal de seus arquivos mais importantes, planilhas, etc. Um dia as coisas deram pau e ele precisou pegar os arquivos do backup. Na hora deszipar o famoso &lt;b&gt;bkp.zip&lt;/b&gt;, PAN!, erro! Ele estava fazendo backup do ATALHO da pasta, não do conteúdo dela. Assim, a unica coisa que ia pro zip era o link da pasta.... Tá! Confesso! Fui eu! :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;IV) Seus Backups ficarão Distantes dos Originais&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span class="Apple-style-span" style="font-weight: normal; "&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Essa é a que faltou ao gerente de TI do início da história. Claro que tem vários graus de distância:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Distâncias Lógicas:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Arquivos na mesma pasta (nada distantes, por sinal)&lt;/li&gt;&lt;li&gt;Arquivos em pastas diferentes&lt;/li&gt;&lt;li&gt;Arquivos em partições diferentes&lt;/li&gt;&lt;li&gt;Arquivos em HDs diferentes&lt;/li&gt;&lt;li&gt;Arquivos em computadores diferentes&lt;/li&gt;&lt;li&gt;Arquivos em meios diferentes (arquivo original=conectado, hd externo=off-line)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Distâncias Geográficas:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Backup no mesmo pc&lt;/li&gt;&lt;li&gt;Backup em cima do pc (hd externo em cima dele, nada inteligente)&lt;/li&gt;&lt;li&gt;Backup no mesmo cômodo (se pegar fogo no quarto?)&lt;/li&gt;&lt;li&gt;Backup na mesma casa (e se desmoronar tudo?)&lt;/li&gt;&lt;li&gt;Backup na mesma cidade (e se alagar tudo?)&lt;/li&gt;&lt;li&gt;Backup no mesmo pais (e se rolar uma guerra e bombardearem tudo?)&lt;/li&gt;&lt;li&gt;Backup no mesmo continente (e se rolar a terceira guerra, com ogivas dizimando tudo?)&lt;/li&gt;&lt;li&gt;Backup no mesmo hemisferio (e se acabarem a mesma metade da Terra?)&lt;/li&gt;&lt;li&gt;Backup no mesmo planeta (preciso escrever "e se?")&lt;/li&gt;&lt;li&gt;Backup no mesmo sistema solar (Ex: backup em marte....Zzzzzzzzzzzzz)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Como pode ver, seu custo com backup depende de duas variáveis:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;O quão importante são os dados&lt;/li&gt;&lt;li&gt;Qual seu nível de PARANÓIA!&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Abraços e boa páscoa.&lt;/div&gt;&lt;div&gt;Que o backup na mesma casa seja o suficiente.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;obs: sim, já ouvi falar de &lt;i&gt;cloud computing&lt;/i&gt;. Só não quero dar poder de mais pro Google...&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-7291363187438530128?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/7291363187438530128/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2011/04/leis-fundamentais-do-backup.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7291363187438530128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7291363187438530128'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2011/04/leis-fundamentais-do-backup.html' title='Leis Fundamentais do Backup'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-134045712300906631</id><published>2011-04-21T14:20:00.009-03:00</published><updated>2011-04-24T22:13:39.174-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='eclipse'/><category scheme='http://www.blogger.com/atom/ns#' term='groovy'/><title type='text'>Montando console do groovy no Eclipse</title><content type='html'>&lt;div style="text-align: left;"&gt;Se você quer ter um console do groovy no eclipse rapidamente, sem fazer download de plugins/IDEs, segue abaixo a dica.&lt;/div&gt;&lt;div&gt;&lt;div&gt;Não precisa nem fechar o workspace, hehe...&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) Adicione o groovy no sistema se não tiver&lt;/div&gt;&lt;div&gt;No ubuntu basta digitar:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$ sudo apt-get install groovy&lt;/blockquote&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2) Crie novo projeto java no eclipse&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Ctrl + N &amp;gt; Java Project &amp;gt; Next&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Em Project Name digitei "console"&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;(nao precisa de printscreen disso né?)&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3) Crie seu arquivo "console.java"&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Ctrl + N &amp;gt; Class&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Digite "console para o nome da classe. Sim, minusculo mesmo, pois isso não será uma classe...&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Marque pra criar o metodo main, pra facilitar.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;(tbm nao precisa de print disso...esse artigo é pra programadores java que estao indo pro grails...)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4) Adicione o groovy como ferramenta externa no eclipse&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Menu: Run &amp;gt; External Tools &amp;gt; External Tools Configurations&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/-CQ2_61pUnzw/TbBoIbI2bDI/AAAAAAAAARw/PunlHnolbGk/s320/print1.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 256px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5598088830754647090" /&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;No lado esquerdo, selecione Program e clique no icone de novo&lt;/div&gt;&lt;img src="http://3.bp.blogspot.com/-GpuTTxcO1AE/TbBoW-opjvI/AAAAAAAAAR4/iy_cj5cv5V8/s320/print2.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 256px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5598089080801431282" /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Name: põe o que quiser... botei "groovy"&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Location: /usr/bin/groovy (no caso do Ubuntu..no windows é só apontar pro groovy.exe)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Working Directory: ${workspace_loc:/console} (clique em "Browse Workspace" e selecione o projeto java)&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Arguments: console.groovy&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Apply pra não perder tudo&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-Bs3TrPJmAU0/TbBoXSoPQrI/AAAAAAAAASA/UJS4PTbATd0/s320/print3.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 256px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5598089086168416946" /&gt;&lt;/div&gt;&lt;div&gt;Por enquanto fizemos o seguinte: ao chamar a app externa groovy, o eclise fará o mesmo que:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$ cd {caminho-do-seu-workspace}/console&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$ /usr/bin/groovy console.groovy&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Importante: o groovy só executa arquivos .groovy. Entao precisamos criar&lt;/div&gt;&lt;div&gt;o link para o console.java &lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;$ ln -s {caminho-do-seu-workspace}/console/console.java {caminho-do-seu-workspace}/console/console.groovy&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No meu caso:&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;topera@topera-desktop:/dados/topera/workspace/console/src$ ls -l /home/topera/topera/workspaceteste/console/&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;total 8&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;-rw-r--r-- 1 topera topera 364 2011-04-21 12:18 console.class&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;lrwxrwxrwx 1 topera topera  55 2011-04-21 12:28 console.groovy -&amp;gt; /home/topera/topera/workspaceteste/console/console.java&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;-rw-r--r-- 1 topera topera 136 2011-04-21 12:18 console.java&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Blz, voltando ao eclipse, devemos ter a mesma tela:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Pra ficar mais facil de chamar o groovy, na aba "Common", marque o check em "Display in favorites menu"&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Apply &amp;gt; Close &amp;gt; Save&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;(se nao guardar este check, é bug do eclispe, faca novamente, hehe)&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vamos testar&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Clique na seta setinha do botao do print abaixo ou va em:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Run &amp;gt; External Tools &amp;gt; groovy &lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://1.bp.blogspot.com/-P1yIS5YiaAs/TbBoXoS4LWI/AAAAAAAAASI/Oa0DaaD5Tf0/s320/print4.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 250px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5598089091984403810" /&gt;&lt;/div&gt;&lt;div&gt;Não aconteceu nada...imprima algo no console e tente novamente.&lt;/div&gt;&lt;div&gt;Pronto! Já estamos fazendo o eclipse chamar o groovy e este está lendo nosso arquivo java!&lt;/div&gt;&lt;div&gt;(obs: se nao funcionar pode ser pq a variavel de ambiente JAVA_HOME nao esta setada...)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;5) Adicionando atalho de teclado&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Pra nao ficarmos clicando toda hora, vamos adicionar o atalho&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Window &amp;gt; Preferences &amp;gt; Filtre "keys &amp;gt; Na direita filtre por "run last"&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Selecione "Run last launched external Tool" e adicione o atalho de sua preferencia.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Eu botei o Ctrl+Enter, pra ficar igual ao GroovyConsole / SQLDeveloper&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-IH6zqdOxmXM/TbBoXrb-mfI/AAAAAAAAASQ/Z844ndCvctE/s320/print5.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 293px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5598089092827879922" /&gt;&lt;/div&gt;&lt;div&gt;6) Desligando erros de sintaxe&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vamos tranformar esse java em groovy.&lt;/div&gt;&lt;div&gt;Troque o codigo-fonte por isso.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;print "hello groovy"&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/-zBYn1maQJ3o/TbBoX80gNSI/AAAAAAAAASY/4rDX0kdMNKA/s320/print6.png" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 250px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5598089097494148386" /&gt;&lt;/div&gt;&lt;div&gt;Execute. Blz. Tudo ok. Agora vamos desligar o validador java (*)&lt;/div&gt;&lt;div&gt;(*) Lembre-se da regra basica:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;i&gt;&lt;blockquote&gt;"Todo codigo java funciona em groovy, mas nem todo codigo groovy funciona em java".&lt;/blockquote&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Por este motivo o validador está acusando erro.&lt;/div&gt;&lt;div&gt;Para desliga-lo, e ficarmos apenas com o auto-complete do java (muito util por sinal), faça:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;a) Botao Direito no codigo-fonte &amp;gt;  Preferences &amp;gt; Report Problemas as you Type (desmarque)&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Depois:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;b) Botao Direito na pasta do projeto &amp;gt;  Properties &amp;gt; Filtre por "validation" &amp;gt; Marque "Enable project specific settings" e "suspen all validators"&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;E por ultimo&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;blockquote&gt;c) Botao Direito na pasta do projeto &amp;gt;  Properties &amp;gt; Filtre por "builders" &amp;gt; Desmarque o java&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Obs1: neste ultimo item 6) nao sei qual combinacao das 3 coisas resolve o problema. Sei que as tres dão certo :)&lt;/div&gt;&lt;div&gt;Obs2: se ainda assim nao funcionar, apague o console.java e crie novamente.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tutorial feito com Eclipse 3.5.2, Ubuntu 10.04&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;UPDATE 1:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;Para o autocomplete do java funcionar, é preciso ter um minimo de classe montado.&lt;/div&gt;&lt;div&gt;Entao, deixe esse trecho de codigo no final do console.java&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;div&gt;class a {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;static {&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;"".isEmpty(); //teste o autocomplete aqui...&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;UPDATE 2:&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Se não quiser ter todo este trabalho é só usar o &lt;a href="http://groovyconsole.appspot.com"&gt;GroovyConsole&lt;/a&gt;, na web.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-134045712300906631?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/134045712300906631/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2011/04/montando-console-do-groovy-no-eclipse.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/134045712300906631'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/134045712300906631'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2011/04/montando-console-do-groovy-no-eclipse.html' title='Montando console do groovy no Eclipse'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-CQ2_61pUnzw/TbBoIbI2bDI/AAAAAAAAARw/PunlHnolbGk/s72-c/print1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-4969006141424629615</id><published>2011-04-20T22:30:00.002-03:00</published><updated>2011-04-20T22:33:36.887-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='grails'/><title type='text'>Primeiros Erros no Grails - Dia 1</title><content type='html'>Vou listar aqui tudo o que deu de errado ao começar a usar o grails, caso lhe ajude algum dia...&lt;br /&gt;&lt;br /&gt;Após algumas brigas com os correios, o livro de grails(*) chegou, mão na massa!&lt;br /&gt;(*) &lt;span style="font-style: italic;"&gt;"Em Busca do Grails", do Fernando Anselmo.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Abro terminalzinho linux e vamo lá:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ cd /dados/topera/workspace/livrograils/&lt;br /&gt;$ grails create-app olamundo&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Primeiro comando, tudo ok, app criada.&lt;br /&gt;Ok. Td certo.&lt;br /&gt;(criou toda a estrutura necessaria)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1) HelloBug I&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Botando a app pra rodar:&lt;br /&gt;&lt;blockquote&gt;    $ grails run-app&lt;/blockquote&gt;&lt;br /&gt;Tomei o erro:&lt;br /&gt;   &lt;blockquote&gt; /dados/topera/workspace/livrograils does not appear to be part of a Grails application.&lt;br /&gt;    The following commands are supported outside of a project: ...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Hm....quem sabe se eu ler a mensagem de erro....já sei!&lt;br /&gt;Solucao: ENTRE na pasta da aplicacao primeiro, afinal ele nao vai adivinhar qual app vc quer rodar, hehe.&lt;br /&gt;&lt;blockquote&gt;    $ pwd&lt;br /&gt;    /dados/topera/workspace/livrograils/&lt;br /&gt;    $ cd olamundo&lt;br /&gt;    $ pwd&lt;br /&gt;    /dados/topera/workspace/livrograils/olamundo&lt;/blockquote&gt;  &lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) HelloBug II&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Tentativa numero 2!&lt;br /&gt;&lt;blockquote&gt;    $ grails run-app&lt;br /&gt;    (PAN! ERRO...pelo menos o erro mudou, já é algum progresso...hehe)&lt;br /&gt;    [native2ascii] Converting 13 files from /dados/topera/workspace/livrograils/olamundo/grails-app/i18n to /home/topera/.grails/1.3.7/projects/olamundo/resources/grails-app/i18n&lt;br /&gt;    Error executing script RunApp: : Error starting Sun's native2ascii:&lt;br /&gt;    ...mais stacktrace...&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Certo... sem desespero. Vamos adotar a tática da leitura...lá no final do stack aparece:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    java.lang.ClassNotFoundException: sun.tools.native2ascii.Main&lt;/blockquote&gt;&lt;br /&gt;   &lt;br /&gt;Certo. Uma classe java não foi encontrada. Quem sabe se eu parar de usar essa porcaria de&lt;br /&gt;JVM que vem com o ubuntu 10.04 (java-6-openjdk), que já deu pau outras vezes, e trocar pra da sun...&lt;br /&gt;&lt;br /&gt;Opa! Perae, meu JAVA_HOME ta setado pra:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    $ export JAVA_HOME=/usr/lib/jvm/java-6-openjdk&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Vou mudar pra JVM da sun:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    $ export JAVA_HOME=/usr/lib/jvm/java-6-sun&lt;/blockquote&gt;&lt;br /&gt;Mesmo erro. Então, DESSA VEZ, a culpa não é da openjdk.&lt;br /&gt;Outra tentativa:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;    $ export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_24/&lt;/blockquote&gt;&lt;br /&gt;    ....&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;    Server running. Browse to http://localhost:8080/olamundo    &lt;/blockquote&gt;&lt;br /&gt;   &lt;br /&gt;Aee! Conclusão: LEIA direito o livro. Na primeira página o autor já avisa que precisa de uma JDK (JRE não é suficiente).&lt;br /&gt;&lt;br /&gt;Até a próxima.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;APENDICE:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Aquilo que deu certo&lt;br /&gt;1) Colocar variaveis de ambiente no final do /etc/profile&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    GRAILS_HOME=/pastaondebotouograils&lt;br /&gt;    PATH=$PATH:$GRAILS_HOME/bin&lt;br /&gt;    export GRAILS_HOME PATH&lt;br /&gt;    export JAVA_HOME=/usr/lib/jvm/jdk1.6.0_24/&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-4969006141424629615?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/4969006141424629615/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2011/04/primeiros-erros-no-grails-dia-1.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/4969006141424629615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/4969006141424629615'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2011/04/primeiros-erros-no-grails-dia-1.html' title='Primeiros Erros no Grails - Dia 1'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2700614910530240005</id><published>2011-04-16T00:47:00.039-03:00</published><updated>2011-05-14T07:59:39.790-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Configurando modem Thomson Gateway TG508 Speedy</title><content type='html'>Contratou speedy e te falam:&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;"Desculpe senhor, não damos suporte ao linux"&lt;/i&gt;&lt;/blockquote&gt;ou&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;"Desculpe senhor, não damos suporte a modem roteado"&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;Segue abaixo algumas dicas que podem ajudar:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Modelo do modem: &lt;span style="font-weight: bold;"&gt;Thomson Gateway TG508&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Ligar tudo.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;2. Acessar o painel de controle do modem, abrindo a página &lt;b&gt;http://192.168.1.1&lt;/b&gt; no seu navegador.&lt;/div&gt;&lt;div&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;&lt;div&gt;3. Ir em Thomson  Gateway &amp;gt; Configuracao &amp;gt; Escolha uma tarefa &amp;gt; Configuracao&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img alt="" border="0" id="BLOGGER_PHOTO_ID_5599329927402818866" src="http://1.bp.blogspot.com/-XYPAViKDZFw/TbTQ5wcPDTI/AAAAAAAAATc/BOShrfbmQkU/s400/modem.png" style="cursor: hand; cursor: pointer; display: block; height: 242px; margin: 0px auto 10px; text-align: center; width: 400px;" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. Vá em &lt;b&gt;PVC1 &lt;/b&gt;e mude para disabled. Clique em aplicar.&lt;br /&gt;&lt;br /&gt;5. Refaça o caminho, só que agora para mudar o &lt;b&gt;PVC0.&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;6. Troque isso:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Descrição ATM:&lt;/b&gt;&amp;nbsp;PVC0&lt;/li&gt;&lt;li&gt;&lt;b&gt;Protocolo ATM:&lt;/b&gt;&amp;nbsp;1483 Bridging&lt;/li&gt;&lt;li&gt;&lt;b&gt;VPI/VCI:&lt;/b&gt;&amp;nbsp;8/35&lt;/li&gt;&lt;li&gt;&lt;b&gt;DHCP:&amp;nbsp;&lt;/b&gt;Marcado&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;div&gt;Por isso:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Descrição ATM:&lt;/b&gt;&amp;nbsp;PVC0&lt;/li&gt;&lt;li&gt;&lt;b&gt;Protocolo ATM:&lt;/b&gt;&amp;nbsp;PPPoE&lt;/li&gt;&lt;li&gt;&lt;b&gt;VPI/VCI:&lt;/b&gt;&amp;nbsp;8/35&lt;/li&gt;&lt;li&gt;&lt;b&gt;Nome de usuário:&amp;nbsp;&lt;/b&gt;&lt;i&gt;cadastro@cadastrotelefonica.com.br&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Senha:&amp;nbsp;&lt;/b&gt;&lt;i&gt;cadastro&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;b&gt;Confirmar Senha:&amp;nbsp;&lt;/b&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="font-style: normal;"&gt;&lt;i&gt;cadastro&lt;/i&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;7. Dê aplicar.&lt;br /&gt;&lt;br /&gt;Se tudo deu certo, a internet já estará funcionando.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;/b&gt;&lt;br /&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;OBSERVAÇÕES:&lt;/b&gt;&lt;br /&gt;1. O usuário&amp;nbsp;&lt;i&gt;cadastro@cadastrotelefonica.com.br&lt;/i&gt; teoricamente só funciona nos primeiros dias após a compra.&amp;nbsp;Então você pode ligar no&amp;nbsp;0800-7715-789 (suporte telefônica) e pedir para eles criarem um login para você. Que foi meu caso :)&lt;br /&gt;&lt;br /&gt;2. Caso dê tudo certo, o log no menu "registro de eventos", após reiniciar o modem, deverá ser algo como:&lt;br /&gt;&lt;b style="background-color: #f3f3f3;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 13px; font-weight: normal;"&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Sat May 14 07:52:16 2011]:[SYS] Warm reboot &lt;br /&gt;[Sat May 14 07:52:17 2011]:[UPNP] UPnP daemon is ready to run &lt;br /&gt;[Sat May 14 07:53:27 2011]:[POE] ppp0 do connect &lt;br /&gt;[Sat May 14 07:53:27 2011]:[POE] clear ppp0 auth fail log &lt;br /&gt;[Sat May 14 07:53:28 2011]:[POE] ppp0 connect mode=0 &lt;br /&gt;[Sat May 14 07:53:28 2011]:[POE] ppp0 start... &lt;br /&gt;[Sat May 14 07:53:29 2011]:[POE] ppp0 (VC0) send PADI &lt;br /&gt;[Sat May 14 07:53:29 2011]:[UPNP] UPnP daemon is stopped &lt;br /&gt;[Sat May 14 07:53:30 2011]:[UPNP] UPnP daemon is ready to run &lt;br /&gt;[Sat May 14 07:53:30 2011]:[POE] PPPoE PADO Timeout, wait more 4 secs &lt;br /&gt;[Sat May 14 07:53:31 2011]:[IGMP] forward multicast group 239.255.255.250. &lt;br /&gt;[Sat May 14 07:53:31 2011]:[POE] Rcv unknown ETHERTYPE_PPPOE_SESSS(3504) &lt;br /&gt;[Sat May 14 07:53:32 2011]:[POE] Recv wrong session ID 3504(with my mac) &lt;br /&gt;[Sat May 14 07:53:32 2011]:[POE] send PADT(3504) &lt;br /&gt;[Sat May 14 07:53:33 2011]:[POE] PPPoE PADO Timeout, wait more 8 secs &lt;br /&gt;[Sat May 14 07:53:33 2011]:[POE] ppp0 rcv PADO &lt;br /&gt;[Sat May 14 07:53:34 2011]:[POE] Send PADR, Enter PPPOE_SREQ &lt;br /&gt;[Sat May 14 07:53:34 2011]:[POE] ppp0 rcv PADS &lt;br /&gt;[Sat May 14 07:53:35 2011]:[POE] Enter PPPOE_CONNECTED, Session_ID=4752 &lt;br /&gt;[Sat May 14 07:53:35 2011]:[POE] ppp0 do connect &lt;br /&gt;[Sat May 14 07:53:36 2011]:[PPP] start lcp stage &lt;br /&gt;[Sat May 14 07:53:36 2011]:[PPP] ipcp up&lt;b&gt; &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="background-color: #f3f3f3;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;3. Caso você tenha tentado outra configuração (usando PVC0 como bridge e PVC1 para PPPoE), talvez o log de erro seja como o abaixo:&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:43:29 2011]:[POE] ppp1 do connect&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:43:30 2011]:[POE] ppp1 connect mode=0&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:43:30 2011]:[POE] ppp1 start...&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:43:31 2011]:[POE] ppp1 (VC1) send PADI&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:43:31 2011]:[POE] PPPoE PADO Timeout, wait more 4 secs&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:43:35 2011]:[POE] PPPoE PADO Timeout, wait more 8 secs&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:43:43 2011]:[POE] PPPoE PADO Timeout, wait more 16 secs&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:43:59 2011]:[POE] PPPoE PADO Timeout, wait more 32 secs&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:44:31 2011]:[POE] PPPoE PADO Timeout, wait more 64 secs&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:44:32 2011]:[POE] PPPoE initial Timeout, please check VPI/VCI or other settings&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:44:33 2011]:[POE] ppp1 do disconnect&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:44:34 2011]:[UPNP] UPnP daemon is stopped&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:44:35 2011]:[UPNP] UPnP daemon is ready to run&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: #f3f3f3; font-family: 'Courier New', Courier, monospace; font-size: xx-small;"&gt;[Wed May 11 17:44:36 2011]:[IGMP] forward multicast group 239.255.255.250.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;i&gt;Deixe um comentário, vai :)&lt;/i&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2700614910530240005?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2700614910530240005/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2011/04/configurando-modem-thomson-gateway.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2700614910530240005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2700614910530240005'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2011/04/configurando-modem-thomson-gateway.html' title='Configurando modem Thomson Gateway TG508 Speedy'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XYPAViKDZFw/TbTQ5wcPDTI/AAAAAAAAATc/BOShrfbmQkU/s72-c/modem.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-3864037301364266559</id><published>2008-04-10T11:51:00.005-03:00</published><updated>2008-05-08T11:50:19.213-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>Javascript: método apply()</title><content type='html'>O método &lt;span style="font-weight: bold;"&gt;apply()&lt;/span&gt; pode resolver o "&lt;span style="font-style: italic;"&gt;problema do this&lt;/span&gt;", descrito &lt;a href="http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Operators:Special_Operators:this_Operator#Method_binding"&gt;aqui&lt;/a&gt;. As vezes o &lt;span style="font-weight: bold;"&gt;this &lt;/span&gt;refere-se ao objeto &lt;span style="font-weight: bold;"&gt;Window &lt;/span&gt;e não ao objeto que está instanciado. O código abaixo mostra este problema: o metodoA() informa o this corretamente, mas o metodoB() não (é um método privado, mas isso não seria motivo para esse comportamento).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_0SU49nbHhI8/R_4rZIogv6I/AAAAAAAAAIQ/0JBXSfGv5ns/s1600-h/apply.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_0SU49nbHhI8/R_4rZIogv6I/AAAAAAAAAIQ/0JBXSfGv5ns/s400/apply.jpg" alt="" id="BLOGGER_PHOTO_ID_5187631531591516066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Como solução, no metodoA(), realize a troca na linha 9 para:&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;_metodoB.apply(&lt;span style="color: rgb(0, 0, 153);"&gt;this&lt;/span&gt;);&lt;/blockquote&gt;Com isso, o método B será chamado "como se fosse chamado" pelo objeto informado no &lt;span style="font-weight: bold;"&gt;apply()&lt;/span&gt;, no caso o this "verdadeiro".&lt;br /&gt;&lt;br /&gt;UPDATE1: se precisar atribuir o método em eventos onclick, por exemplo, siga o modelo abaixo:&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;&lt;span style="font-size:85%;"&gt;objeto.onclick = a (this, "meumetodo");&lt;br /&gt;function a (objeto, metodo) {return function () {objeto[metodo].apply(objeto)}}&lt;/span&gt;&lt;/blockquote&gt;UPDATE2: ATENCAO - se você passar um parâmetro para o método, o apply pára de funcionar!!!&lt;br /&gt;&lt;br /&gt;É isso,&lt;br /&gt;Tooper&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;obs: caso queira copiar o código, ele segue abaixo.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:78%;"&gt;&lt;pre&gt;&lt;br /&gt;m = new Classe;&lt;br /&gt;m.metodoA();&lt;br /&gt;&lt;br /&gt;function Classe () {&lt;br /&gt;&lt;br /&gt; this.metodoA = function () {&lt;br /&gt;     alert((this.location) ? "Window" : "Instancia");&lt;br /&gt;     _metodoB;    &lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; function _metodoB () {&lt;br /&gt;     alert((this.location) ? "Window" : "Instancia");&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-3864037301364266559?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/3864037301364266559/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2008/04/javascript-mtodo-apply.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/3864037301364266559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/3864037301364266559'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2008/04/javascript-mtodo-apply.html' title='Javascript: método apply()'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0SU49nbHhI8/R_4rZIogv6I/AAAAAAAAAIQ/0JBXSfGv5ns/s72-c/apply.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2263203425391363943</id><published>2008-04-10T10:20:00.012-03:00</published><updated>2008-04-11T09:49:38.099-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='código-fonte'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Simulando Ajax em browsers sem Ajax</title><content type='html'>&lt;p&gt;É possível implementar Ajax sem utilizar &lt;span style="font-weight: bold;"&gt;Microsoft.XMLHTTP&lt;/span&gt;, &lt;span style="font-weight: bold;"&gt;Msxml2.XMLHTTP&lt;/span&gt; ou &lt;span style="font-weight: bold;"&gt;XMLHttpRequest&lt;/span&gt; (o título deste artigo é apenas para polemizar). Se você tiver que implementar sites que funcionem em IEs antigos (5.55 em windows antigos), esse artigo pode lhe interessar. Uma possível solução é:&lt;br /&gt;&lt;/p&gt;  &lt;ol&gt;&lt;li&gt;Criar um iframe dinamicamente&lt;/li&gt;&lt;li&gt;Criar um form dentro deste iframe&lt;/li&gt;&lt;li&gt;Preencher um campo deste form com os dados a serem enviados&lt;/li&gt;&lt;li&gt;Dar submit no form&lt;/li&gt;&lt;li&gt;Fazer um "loop" com setTimeout para verificar quando os dados voltaram do servidor.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;  Segue abaixo alguns exemplos de como fazer isso.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Criar iframe dinamicamente:&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="font-weight: bold; color: rgb(102, 51, 51);"&gt;document.body.innerHTML += '&amp;lt;iframe name="meuframe"&amp;gt; &amp;lt;/iframe&amp;gt;;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ou (solução menos bugada)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;var f = document.createElement("iframe");&lt;br /&gt;f.setAttribute("name", "meuframe");&lt;br /&gt;document.body.appendChild(f);&lt;br /&gt;&lt;/blockquote&gt;  &lt;span style="font-weight: bold;"&gt; Deixar o iframe invisível:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;// Aplique o seguinte estilo no iframe&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51); font-weight: bold;"&gt;visiblility:hidden;&lt;/span&gt; &lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;// com display:none não funfa no FF&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51); font-weight: bold;"&gt;width:0px; height:0px;&lt;/span&gt;  &lt;span style="color: rgb(153, 153, 153);"&gt;//&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt; para ele não ocupar espaço&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51); font-weight: bold;"&gt;border:0px;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;// se ficar com a borda, o FF exibe um bloquinho cinza&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;  &lt;span style="font-weight: bold;"&gt;Criar form no iframe e preencher campo:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(153, 153, 153); font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;var html = '';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;html += '&amp;lt;form name="meuform" method="post" action="minhaurl" &amp;gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;';&lt;br /&gt;html += '&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;&amp;lt;textarea name="dados"&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;' +mensagem + '&amp;lt;/textarea &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;html += '&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;';&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(153, 153, 153);"&gt;// NÃO use document.body.innerHTML, pois o FF não conseguirá dar submit()!&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;frames['meuframe'].document.write(html);&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Dar submit no form:&lt;br /&gt;&lt;blockquote style="color: rgb(102, 51, 51);"&gt;&lt;span style="font-weight: bold;"&gt;frames['meuframe'].&lt;/span&gt;document.forms[0].submit();&lt;/blockquote&gt;Loop que aguarda retorno dos dados:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(102, 51, 51);"&gt;function etapa4 () {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51);"&gt;&lt;span style="font-style: italic; font-weight: normal; color: rgb(153, 153, 153);"&gt;// se ainda houver um form é o pq os dados ainda não chegaram&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51);"&gt;    if (&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;&lt;span style="font-weight: bold;"&gt;frames['meuframe'].&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 51, 51);"&gt;document.forms.length == 1) {&lt;br /&gt;window.setTimeout("etapa4()", 100);&lt;br /&gt;return;&lt;br /&gt;} else {&lt;br /&gt;var r = &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold; color: rgb(102, 51, 51);"&gt;&lt;span style="font-weight: bold;"&gt;frames['meuframe'].document.body.innerHTML;&lt;br /&gt;eval("meucallback(" + r + ");");&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 51, 51);"&gt;    }&lt;br /&gt;&lt;/span&gt;    &lt;span style="color: rgb(102, 51, 51);"&gt;}&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;Esta solução verifica a cada 1/10 de segundo se os dados voltaram do servidor. Assim que os dados voltarem, a função &lt;span style="font-weight: bold;"&gt;meucallback()&lt;/span&gt; é chamada, sendo passado como parâmetro o resultado.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Obs importante:&lt;br /&gt;&lt;/span&gt;É preciso dar um intervalo de tempo entre as etapas para que o navegador "perceba" os novos objetos. Para isso, acrescente no final de cada função (cada etapa deve estar em uma função diferente) um temporizador:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;blockquote&gt;&lt;span style="color: rgb(153, 153, 153); font-style: italic; font-weight: normal;"&gt;// ex de código a ser colocado no final da etapa2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 51, 51);"&gt;window.setTimeout("chama_etapa_3()", 10);&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solução Testada em:&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Windows XP (SP2)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;FF: Firefox 2.0.0.7&lt;/li&gt;&lt;li&gt;IE: Internet Explorer 7 e Internet Explorer 5.55&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;  Deixe um comentário!&lt;br /&gt;:)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2263203425391363943?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2263203425391363943/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2008/04/simulando-ajax-em-browsers-sem-ajax_10.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2263203425391363943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2263203425391363943'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2008/04/simulando-ajax-em-browsers-sem-ajax_10.html' title='Simulando Ajax em browsers sem Ajax'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-8846363943237850098</id><published>2008-03-08T13:37:00.006-03:00</published><updated>2011-04-26T19:14:06.133-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Segredos do Excel</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-zfxRyQCjfuc/TbdDqc0dj8I/AAAAAAAAAT0/kgI06yeSfok/s1600/excel.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 256px; height: 256px;" src="http://4.bp.blogspot.com/-zfxRyQCjfuc/TbdDqc0dj8I/AAAAAAAAAT0/kgI06yeSfok/s400/excel.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5600019058228301762" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Estava eu, numa bela sexta-feira ensolarada criando uma planilha nova no Excel. Pensei num nome bem bonito e "PAN!": aquele nome não poderia ser utilizado!!!&lt;br /&gt;&lt;br /&gt;Teste aí: planilhas com o nome "&lt;span style="font-weight: bold;"&gt;Histórico&lt;/span&gt;" ou "&lt;span style="font-weight: bold;"&gt;histórico&lt;/span&gt;" não podem ser utilizadas no Excel em português. Motivo: é um nome reservado para uma planilha interna utilizada para registrar as alterações realizadas nas outras planilhas....&lt;br /&gt;&lt;br /&gt;Poderiam tê-la chamada de "historico_nunca_ninguem_chuta_esse_nome_xpto_papai"&lt;br /&gt;&lt;br /&gt;Mas eu tive azar (sorte?) e acertei....&lt;br /&gt;&lt;br /&gt;Hehe, o legal é que o &lt;a href="http://support.microsoft.com/kb/179041/pt-br"&gt;help da Microsoft&lt;/a&gt; merece um troféu joinha...quando dão a solução para este problema, eles dizem:&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt; Se esse problema ocorrer, use outro nome. Não use o nome do histórico. &lt;/blockquote&gt;Hahã!&lt;br /&gt;&lt;br /&gt;A propósito: não dá pra criar pastas com os nomes "LPT1", "COM2" (ou similares) no windows até hoje...tbm são nomes reservados....&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Produtos Microsoft não são feitos para serem obras de arte, são feitos para vender...e como vendem!&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-8846363943237850098?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/8846363943237850098/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2008/03/segredos-do-excel.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8846363943237850098'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8846363943237850098'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2008/03/segredos-do-excel.html' title='Segredos do Excel'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-zfxRyQCjfuc/TbdDqc0dj8I/AAAAAAAAAT0/kgI06yeSfok/s72-c/excel.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2300771786674212317</id><published>2008-01-26T16:11:00.000-02:00</published><updated>2008-01-26T17:38:43.788-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Diagramas UML no linux</title><content type='html'>Cansou de usar o &lt;span style="font-weight: bold;"&gt;dia &lt;/span&gt;para criar diagramas no linux? Tente o &lt;span style="font-weight: bold;"&gt;umbrello&lt;/span&gt;:&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102); font-style: italic;"&gt;$ sudo apt-get install umbrello&lt;/blockquote&gt;obs: se vc tem um arquivo .XMI e não sabe como abrí-lo, tente esse programa.&lt;br /&gt;&lt;br /&gt;UPDATE: ok, acabei de usar o umbrello....não gostei...tem mais bug ainda que o dia!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2300771786674212317?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2300771786674212317/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2008/01/diagramas-uml-no-linux.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2300771786674212317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2300771786674212317'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2008/01/diagramas-uml-no-linux.html' title='Diagramas UML no linux'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-4169035169367711376</id><published>2008-01-21T15:17:00.000-02:00</published><updated>2008-01-21T15:21:49.393-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Como criar uma conta no MSN usando linux</title><content type='html'>Jogo rápido: para criar um MSN você não precisa do Windows Live Messenger instalado. É só ir na URL &lt;a href="http://get.live.com/getlive/overview"&gt;http://get.live.com/getlive/overview&lt;/a&gt; e se cadastrar. Pronto! Dá pra criar numa boa, sem aquele vírus chamado Windows por perto...&lt;br /&gt;&lt;br /&gt;E para usar você tem várias opções como o Kopete e o Gaim.&lt;br /&gt;&lt;br /&gt;Fim!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-4169035169367711376?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/4169035169367711376/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2008/01/como-criar-uma-conta-no-msn-usando.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/4169035169367711376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/4169035169367711376'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2008/01/como-criar-uma-conta-no-msn-usando.html' title='Como criar uma conta no MSN usando linux'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-3374832565951031469</id><published>2008-01-15T08:36:00.000-02:00</published><updated>2008-01-15T09:30:13.839-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Configurando modem SpeedStream</title><content type='html'>HowTo de como configurar um modem SpeedStream no braço, para usar o speedy da Telefônica SEM provedor maldito...&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;1) &lt;/span&gt;Por segurança, dê reset para voltar os valores de fábrica (aperte o pininho atrás do modem, usando um lápis).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2) &lt;/span&gt;Ganhe um IP local do modem, via DHCP.&lt;br /&gt;&lt;blockquote style="color: rgb(51, 51, 51);"&gt;$ sudo dhclient&lt;br /&gt;(no caso do linux)&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;3) &lt;/span&gt;Acesse o modem através da URL http://192.168.254.254. Se não funcionar, descubra qual o IP do modem, lendo o IP fornecido pelo dhclient. Deve aparecer algo como:&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;DHCPACK from 192.168.254.254&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;4) &lt;/span&gt;Vá em&lt;span style="font-weight: bold;"&gt; Configuração&lt;/span&gt; -&gt; &lt;span style="font-weight: bold;"&gt;Interface&lt;/span&gt; &lt;span style="font-weight: bold;"&gt;WAN&lt;/span&gt; (clique na conexão &lt;span style="font-weight: bold;"&gt;2684&lt;/span&gt; e altere o tipo para &lt;span style="font-weight: bold;"&gt;PPPoE&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5)&lt;/span&gt; Coloque os logins que a Telefônica está dando para quem não quer mais pagar provedor. Só não sei quanto tempo isso vai durar...&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Login: internet@speedy.com.br&lt;br /&gt;Senha: internet&lt;br /&gt;(deixe tudo no default...ligue apenas "o conectar automaticamente")&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;6)&lt;/span&gt; Reinicie o modem&lt;br /&gt;&lt;br /&gt;Se você for em &lt;span style="font-weight: bold;"&gt;Início &lt;/span&gt;verá a conexão com o status de "não habilitado"...não esquente a cabeça....aguarde até aparecer o botão de conectar, que deve levar uns 2 minutos.&lt;br /&gt;&lt;br /&gt;Pronto!&lt;br /&gt;&lt;br /&gt;Obs: imprima isso né? Como vai ler se não tem Internet?&lt;br /&gt;&lt;br /&gt;Obs2: se lhe foi útil, deixe um comentário!! Não precisa autenticar...&lt;br /&gt;&lt;br /&gt;Obs3: o DNS da Telefônica é &lt;span style="font-weight: bold;"&gt;200.204.0.10&lt;/span&gt;, caso não venha de fábrica no modem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-3374832565951031469?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/3374832565951031469/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2008/01/configurando-modem-speedstream.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/3374832565951031469'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/3374832565951031469'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2008/01/configurando-modem-speedstream.html' title='Configurando modem SpeedStream'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6383408191759680452</id><published>2008-01-14T20:57:00.000-02:00</published><updated>2008-01-26T16:30:26.095-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Rádio Pandora Global</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_0SU49nbHhI8/R4vrB37ZCKI/AAAAAAAAAHk/xCYE3Mtx3Us/s1600-h/pandora.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_0SU49nbHhI8/R4vrB37ZCKI/AAAAAAAAAHk/xCYE3Mtx3Us/s400/pandora.jpg" alt="" id="BLOGGER_PHOTO_ID_5155472615881115810" border="0" /&gt;&lt;/a&gt;Jogo rápido: faz aproximadamente 1 ano que a fantástica rádio online &lt;a href="http://www.pandora.com/"&gt;pandora&lt;/a&gt; saiu do ar para quem não acessa dos EUA. Pois bem,  agora existe o &lt;a href="http://globalpandora.com/"&gt;globalpandora.com&lt;/a&gt;. Acabei de testar e funfou perfeitamente (inclusive o login).&lt;br /&gt;&lt;br /&gt;Boa notícia!&lt;br /&gt;&lt;br /&gt;Fonte: meu amigo Baila.&lt;br /&gt;&lt;br /&gt;UPDATE: hoje a rádio pandora parou de funcionar, com a seguinte mensagem: "&lt;span style="font-style: italic;"&gt;the box is currently under maintenance&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;UPDATE2 (26/01): ok, ok.....o site parou de vez né? Eu também não sei como resolver...se souber algum jeito de ouvir o pandora me avise....a alegria durou pouco....&lt;br /&gt;&lt;br /&gt;UPDATE3: Use o &lt;a href="http://www.jango.com/"&gt;Jango&lt;/a&gt;. Não é um pandoooora, mas quebra o galho.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6383408191759680452?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6383408191759680452/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2008/01/rdio-pandora-global.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6383408191759680452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6383408191759680452'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2008/01/rdio-pandora-global.html' title='Rádio Pandora Global'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0SU49nbHhI8/R4vrB37ZCKI/AAAAAAAAAHk/xCYE3Mtx3Us/s72-c/pandora.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6449194242121998824</id><published>2007-12-14T09:11:00.000-02:00</published><updated>2007-12-14T09:13:55.980-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Primeira Camera Digital sem Bateria</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_0SU49nbHhI8/R2JlX37ZCJI/AAAAAAAAAHE/g3phqiyS6Ac/s1600-h/lixo.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_0SU49nbHhI8/R2JlX37ZCJI/AAAAAAAAAHE/g3phqiyS6Ac/s200/lixo.jpg" alt="" id="BLOGGER_PHOTO_ID_5143785185234978962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Os japoneses inventaram uma máquina fotográfica que não precisa de bateria: basta rolar um dínamo que você terá ela funcionando por 40 segundos!&lt;br /&gt;&lt;br /&gt;Boa!&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="http://g1.globo.com/Noticias/Tecnologia/0,,MUL215845-6174,00.html"&gt;G1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6449194242121998824?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6449194242121998824/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/12/primeira-camera-digital-sem-bateria.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6449194242121998824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6449194242121998824'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/12/primeira-camera-digital-sem-bateria.html' title='Primeira Camera Digital sem Bateria'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0SU49nbHhI8/R2JlX37ZCJI/AAAAAAAAAHE/g3phqiyS6Ac/s72-c/lixo.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6974893186601171917</id><published>2007-12-05T17:21:00.000-02:00</published><updated>2007-12-14T17:21:51.131-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='slackware'/><title type='text'>mysql no slackware</title><content type='html'>&lt;span style="font-style: italic;"&gt;Para quem ainda gosta de sofrer no slackware, dica pra instalar o mysql:&lt;/span&gt;&lt;br /&gt;&lt;p class="normal_fundo_escuro"&gt;No Slackware 10.0 o MySQL já vem &lt;b&gt;não&lt;/b&gt; funcionando de fábrica, para arrumá-lo, siga os seguintes passos num &lt;i&gt;xterm, rxvt, konsole&lt;/i&gt; ou algo parecido: &lt;/p&gt;&lt;p class="normal_left_fundo_escuro"&gt;&lt;br /&gt;      &lt;b&gt;bash: &lt;/b&gt;su&lt;br /&gt;      &lt;b&gt;bash: &lt;/b&gt;&lt;i&gt;&lt;digite&gt;&lt;/digite&gt;&lt;/i&gt;&lt;br /&gt;      &lt;b&gt;bash: &lt;/b&gt;su mysql&lt;br /&gt;      &lt;b&gt;bash: &lt;/b&gt;mysql_install_db&lt;br /&gt;      &lt;b&gt;bash: &lt;/b&gt;exit &lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;      &lt;b&gt;bash*: &lt;/b&gt;mysqladmin password &lt;i&gt;&lt;uma&gt;&lt;/uma&gt;&lt;/i&gt; -u root&lt;br /&gt;      &lt;b&gt;*opcional!!&lt;/b&gt;&lt;br /&gt;      &lt;b&gt;bash: &lt;/b&gt;/etc/rc.d/rc.mysqld restart&lt;/p&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;[extraído do meu &lt;a href="http://davi.supsolo.net"&gt;site&lt;/a&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6974893186601171917?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6974893186601171917/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/12/mysql-no-slackware.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6974893186601171917'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6974893186601171917'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/12/mysql-no-slackware.html' title='mysql no slackware'/><author><name>Davips</name><uri>http://www.blogger.com/profile/16869931592181521844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-5699475772975980386</id><published>2007-12-05T10:03:00.000-02:00</published><updated>2007-12-05T10:09:36.968-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Editor HTML para linux</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_0SU49nbHhI8/R1aU5OwJgaI/AAAAAAAAAGM/Vn_IFbszxIc/s1600-h/kompozer_128x128.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_0SU49nbHhI8/R1aU5OwJgaI/AAAAAAAAAGM/Vn_IFbszxIc/s320/kompozer_128x128.png" alt="" id="BLOGGER_PHOTO_ID_5140459735623500194" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Suponha que você quer fazer um formulário web rapidamente, mas agora não tem mais o FrontPage nem o Dreamweaver pra te ajudar. O que fazer?&lt;br /&gt;&lt;br /&gt;Instale o Kompozer! (versão do NVU)&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;$ sudo apt-get install kompozer&lt;br /&gt;$ kompozer&lt;br /&gt;&lt;/blockquote&gt;Fácil né?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;obs: testado no Ubuntu Feisty&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-5699475772975980386?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/5699475772975980386/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/12/editor-html-para-linux.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5699475772975980386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5699475772975980386'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/12/editor-html-para-linux.html' title='Editor HTML para linux'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0SU49nbHhI8/R1aU5OwJgaI/AAAAAAAAAGM/Vn_IFbszxIc/s72-c/kompozer_128x128.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2798084511015933427</id><published>2007-12-03T13:21:00.000-02:00</published><updated>2007-12-03T13:32:13.920-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Converter todas imagens X em Y de um diretório</title><content type='html'>Intale o imagemagick:&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 153, 0);"&gt;&lt;blockquote&gt;apt-get install imagemagick&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;Crie o script megaultra-conversor.sh:&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;&lt;blockquote&gt;pico megaultra-conversor.sh&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;digite no arquivo, isso:&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt;&lt;blockquote&gt; for arq in *.$1; do convert $arq $(echo $(echo $arq | cut -d. -f1).$2); done;&lt;/blockquote&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 51, 255);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ou, se quiser converter sempre para RGB, como p. ex. de bmp8bits para bmp24bits:&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(51, 51, 255);"&gt;&lt;blockquote&gt; for arq in *.$1; do convert $arq -depth 8 -type TrueColor $(echo $(echo $arq | cut -d. -f1).$2); done;&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Grave, saia e transforme ele em executável:&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;&lt;blockquote&gt;chmod a+x megaultra-conversor.sh&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;pronto. basta entrar num diretrório chei de imagens bmp, copiar o script pra lá e mandar ver:&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0); font-weight: bold;"&gt;&lt;blockquote&gt;./megaultra-conversor.sh bmp jpg&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;vai converter todos os &lt;span style="color: rgb(153, 51, 153); font-weight: bold; font-style: italic;"&gt;.bmp&lt;/span&gt; do diretorio em &lt;span style="font-weight: bold; font-style: italic; color: rgb(153, 51, 153);"&gt;.jpg&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2798084511015933427?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2798084511015933427/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/12/converter-todas-imagens-x-em-y-de-um.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2798084511015933427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2798084511015933427'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/12/converter-todas-imagens-x-em-y-de-um.html' title='Converter todas imagens X em Y de um diretório'/><author><name>Davips</name><uri>http://www.blogger.com/profile/16869931592181521844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-862885739814730704</id><published>2007-11-27T13:17:00.000-02:00</published><updated>2007-11-29T11:14:23.771-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Logar no modo gráfico remotamente (xdmcp)</title><content type='html'>&lt;span style="color: rgb(0, 0, 153);"&gt;Na máquina servidora (vulgo remota):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div id="1fj4" class="ArwC7c ckChnd"&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;span style="font-weight: bold;"&gt;1. &lt;/span&gt;Edite o arquivo kdmrc (dica: use locate &lt;span style="font-style: italic;"&gt;kdmrc&lt;/span&gt;):&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;[Xdmcp]&lt;/span&gt; &lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;    Enable=false&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;Basta alterá-la para:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;&lt;br /&gt;[Xdmcp]&lt;/span&gt; &lt;span style="color: rgb(0, 0, 153); font-style: italic;"&gt;    Enable=true&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; Dentro do arquivo "Xaccess", descomente a linha:&lt;/span&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;br /&gt;&lt;blockquote&gt;# &lt;span style="font-style: italic;"&gt;* #any host can get a login window&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 153);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Na máquina cliente (vulgo local):&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; Digitar no konsole:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;X :2 -query &lt;/span&gt;&lt;span style="color: rgb(204, 0, 0); font-style: italic;"&gt;ip.do.servidor&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; Ou, para abrir já no boot,&lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;&lt;/span&gt; &lt;span style="color: rgb(0, 102, 0);"&gt;edite o arquivo "/etc/rc.d/rc.4 ou 5", pondo a linha no final e boa sorte:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;        /usr/X11/bin/X -query &lt;/span&gt;&lt;span style="color: rgb(204, 0, 0); font-style: italic;"&gt;ip.do.servidor&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;Fonte: &lt;a href="http://www.guiadohardware.net/tutoriais/configurando-servidor-xdmcp/"&gt;Guia do Hardware&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-862885739814730704?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/862885739814730704/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/logar-no-modo-grfico-remotamente-xdmcp.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/862885739814730704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/862885739814730704'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/logar-no-modo-grfico-remotamente-xdmcp.html' title='Logar no modo gráfico remotamente (xdmcp)'/><author><name>Davips</name><uri>http://www.blogger.com/profile/16869931592181521844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2008089439475944808</id><published>2007-11-27T11:20:00.000-02:00</published><updated>2007-12-03T13:52:38.764-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='interfaces'/><title type='text'>Brincando com o XO</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_0SU49nbHhI8/R1QmKuwJgZI/AAAAAAAAAFs/VsBGIe3xfKw/s1600-R/OLPC_XO_Laptop.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_0SU49nbHhI8/R1QmKuwJgZI/AAAAAAAAAFs/049aB6gKnzo/s400/OLPC_XO_Laptop.jpg" alt="" id="BLOGGER_PHOTO_ID_5139775040527106450" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Estes são os meus primeiros dias brincando com o XO, famoso laptop de 100 dólares, que tem fins educativos. A primeira impressão é muito boa: apesar de lento, vem com um Linux prontinho pra usar (Fedora). E é bem leve e bonitinho.... :)&lt;br /&gt;&lt;br /&gt;Para os computeiros de plantão, seguem algumas coisas legais pra fazer com os "brinquedinhos"...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;HABILITAR TERMINAL&lt;br /&gt;&lt;/span&gt;Como em qualquer distribuição Linux, dê Ctrl+Alt+F1 para abrir um terminal. Ah, o F1 não existe né? Bom, o F1 virou o indicador de vizinhança (muitas bolinhas formando um círculo), próximo ao "ESC" (que virou um "X").&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Usuário: root&lt;br /&gt;Senha: apenas de enter&lt;enter&gt;&lt;br /&gt;&lt;/enter&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;CONVERSAR 2 XOs POR SSH&lt;/span&gt;&lt;br /&gt;Sim! Misteriosamente eles vêm com um servidor e um cliente de ssh. Até imagino a professora dizendo: "Joãozinho! Já falei mil vezes que não é pra hackear o laptop do amiguinho...".&lt;br /&gt;&lt;br /&gt;UPDATE: os passos abaixo não precisam ser feitos se a rede mesh (automática) já funcionar. Aí, vc apenas digita ifconfig para saber qual seu IP (inet addr do msh0), põe senha no root e faz o ssh.&lt;br /&gt;&lt;br /&gt;Para habilitar a comunicação wireless entre duas máquinas, digite em ambas:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;# iwconfig eth0 essid teste channel 7 mode ad-hoc&lt;br /&gt;&lt;br /&gt;# ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up&lt;br /&gt;&lt;/span&gt;(ok, varie o IP para cada máquina...10.0.0.2, 10.0.0.3, etc)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;#iwlist scanning&lt;br /&gt;(apenas para acompanhar se as redes estão sendo criadas)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;# passwd&lt;br /&gt;&lt;/span&gt;(o root vem sem senha, coloque alguma para poder fazer o ssh)&lt;br /&gt;&lt;br /&gt;# &lt;span style="font-style: italic;"&gt;ssh 10.0.0.1&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;Obs: as vezes nao deu certo&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;ATUALIZAR FIRMWARE E BUILD&lt;br /&gt;&lt;/span&gt;Vá na &lt;a href="http://wiki.laptop.org/"&gt;wiki do projeto OLPC&lt;/a&gt; e baixe os releases mais recentes, compatíveis com seu hardware.&lt;br /&gt;&lt;br /&gt;No meu caso, utilizo um B2, então irei colocar o firmware Q2D03. Ah, estas atualizações irão &lt;span style="font-weight: bold;"&gt;apagar tudo &lt;/span&gt;o que estiver gravado no laptop. Então tenha cuidado...&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;blockquote&gt;$ wget http://dev.laptop.org/pub/firmware/q2d03/q2d03.rom&lt;br /&gt;(baixando a ROM, para atualizar o firmware posteriormente...copie para o pendrive)&lt;br /&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;Agora vamos copiar o &lt;span style="font-weight: bold;"&gt;build&lt;/span&gt;. Iremos escolher a versão &lt;span style="font-weight: bold;"&gt;devel&lt;/span&gt;, por ser a mais atual (e deve ser jffs2, pois estamos instalando num XO e não num emulador)&lt;br /&gt;&lt;br /&gt;Bom, decidi baixar o build 625 (jffs2), que não é estável, mas é o mais recente...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;$ wget http://..../olpc-redhat-stream-development-devel_jffs2.img&lt;br /&gt;(renomeie para qualquercoisa.img e copie para /boot, no pendrive)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;$ wget http://..../olpc-redhat-stream-development-devel_jffs2.img.crc&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(renomeie para qualquercoisa.crc e copie para /boot, no pendrive)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Pronto! Ao listar os arquivos do pendrive, você deverá ter algo como:&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;/q2d03.rom&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;/boot/imagem.img&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;/boot/imagem.crc&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Ok, remova o pendrive do seu computador e vamos colocá-lo no XO.&lt;br /&gt;&lt;br /&gt;Siga os passos:&lt;br /&gt;&lt;br /&gt;a) Com o XO desligado, plugue o pendrive.&lt;br /&gt;&lt;br /&gt;b) Segurando o "X" (p/ baixo, no teclado de jogos), ligue o XO. Ou apenas tecle "esc" durante a inicialização, caso seu firmware seja mais recente. Após aparecer a mensagem "Release", solte o X. Digite 'help', ele é auto-explicativo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;ok flash u:/q2d03.rom&lt;br /&gt;(para sobregravar a nova firmware)&lt;br /&gt;&lt;br /&gt;ok copy-nand u:/boot/imagem.img&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(para sobregravar o sistema operacional)&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;Pronto! É só rebootar!&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;LINKS RELEVANTES&lt;br /&gt;&lt;/span&gt;- &lt;a href="http://wiki.laptop.org/"&gt;Wiki da OLPC&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2008089439475944808?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2008089439475944808/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/brincando-com-o-xo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2008089439475944808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2008089439475944808'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/brincando-com-o-xo.html' title='Brincando com o XO'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0SU49nbHhI8/R1QmKuwJgZI/AAAAAAAAAFs/049aB6gKnzo/s72-c/OLPC_XO_Laptop.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-4291778964243837875</id><published>2007-11-21T09:52:00.000-02:00</published><updated>2007-11-21T10:00:41.599-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interfaces'/><title type='text'>Agite antes de autenticar</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_0SU49nbHhI8/R0QdxR1E-MI/AAAAAAAAAFk/K0yMfU2m1ug/s1600-h/celular.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_0SU49nbHhI8/R0QdxR1E-MI/AAAAAAAAAFk/K0yMfU2m1ug/s400/celular.jpg" alt="" id="BLOGGER_PHOTO_ID_5135262207546030274" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Olha só que jeito prático e seguro de autenticar a comunicação entre dois celulares: basta chacoalhar os dois ao mesmo tempo! O acelerômetro contido nos aparelhos detecta como são balançados. Para fraudar o sistema é preciso imitar como o outro celular está sendo movimentado, o que é beeeeem difícil.&lt;br /&gt;&lt;br /&gt;:)&lt;br /&gt;&lt;br /&gt;Vídeo no &lt;a href="http://br.youtube.com/watch?v=ktJC0S4_X58"&gt;YouTube&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Fonte: &lt;a href="http://g1.globo.com/Noticias/Tecnologia/0,,MUL180994-6174,00-ACELEROMETRO+REFORCA+SEGURANCA+NA+TROCA+DE+DADOS+ENTRE+CELULARES.html"&gt;G1&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-4291778964243837875?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/4291778964243837875/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/agite-antes-de-autenticar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/4291778964243837875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/4291778964243837875'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/agite-antes-de-autenticar.html' title='Agite antes de autenticar'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0SU49nbHhI8/R0QdxR1E-MI/AAAAAAAAAFk/K0yMfU2m1ug/s72-c/celular.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2056495359126881546</id><published>2007-11-12T10:49:00.001-02:00</published><updated>2007-11-12T10:55:58.492-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='interfaces'/><title type='text'>Teclados numéricos</title><content type='html'>Ao folhear o livro de &lt;a href="http://www.amazon.com/gp/product/0130461091/ref=s9_asin_image_1/104-7780620-5862351?pf_rd_m=ATVPDKIKX0DER&amp;amp;pf_rd_s=center-2&amp;amp;pf_rd_r=12C5FC1DP8AK7EZKHBQV&amp;amp;pf_rd_t=101&amp;amp;pf_rd_p=278240301&amp;amp;pf_rd_i=507846"&gt;HCI do Dix&lt;/a&gt; li que existem dois tipos de teclados numéricos: os que tem o "1,2,3" na parte de cima, e os que tem o "1,2,3" na parte de baixo.&lt;br /&gt;&lt;br /&gt;O mais incrível é que nunca tinha percebido isso....nosso cérebro automaticamente se ajusta aos dois layouts sem que precisemos pensar nesses detalhes...&lt;br /&gt;&lt;br /&gt;Vc duvida? Pegue o seu celular e dá uma olhada nele....hahã! Temos o 1,2,3 na parte de cima! Agora pegue sua calculadora ou olhe para o teclado do computador...ocorre o inverso!&lt;br /&gt;&lt;br /&gt;obs: se alguém souber o motivo me avisa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2056495359126881546?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2056495359126881546/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/teclados-numricos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2056495359126881546'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2056495359126881546'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/teclados-numricos.html' title='Teclados numéricos'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-1280458113637729896</id><published>2007-11-12T09:10:00.000-02:00</published><updated>2007-11-12T09:36:17.286-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Microsoft compra Facebook</title><content type='html'>Notícia rápida: a Google e a Microsoft estavam na briga para comprar o Facebook. A Microsoft venceu e comprou o site de relacionamentos pessoais por US$ 240 milhões.&lt;br /&gt;&lt;br /&gt;Essa briga vai longe: Facebook x Orkut x MySpace x ...&lt;br /&gt;&lt;br /&gt;Update: outra &lt;a href="http://idgnow.uol.com.br/mercado/2007/10/24/idgnoticia.2007-10-24.7209364982/"&gt;fonte&lt;/a&gt; informa que compraram apenas parte do Facebook (1,6%).&lt;br /&gt;&lt;br /&gt;Fontes: &lt;a href="http://www.itweb.com.br/noticias/index.asp?cod=43108"&gt;ITWeb&lt;/a&gt; e &lt;a href="http://idgnow.uol.com.br/mercado/2007/10/24/idgnoticia.2007-10-24.7209364982/"&gt;IDGNow&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-1280458113637729896?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/1280458113637729896/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/microsoft-compra-facebook.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1280458113637729896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1280458113637729896'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/microsoft-compra-facebook.html' title='Microsoft compra Facebook'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6950621941353079005</id><published>2007-11-08T18:01:00.000-02:00</published><updated>2007-11-09T18:56:24.074-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Morte da tendinite = Workrave</title><content type='html'>Não, não vamos trabalhar na rave e nem chupar uma bala no escritório ouvindo psytrance.&lt;br /&gt;"apt-get install workrave" e seja feliz. Tendinite nunca mais.&lt;br /&gt;Os perdedores (quem usa windows) tb podem fazer uso da ovelhinha, perguntem pro google.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6950621941353079005?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6950621941353079005/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/morte-da-tendinite-workrave.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6950621941353079005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6950621941353079005'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/morte-da-tendinite-workrave.html' title='Morte da tendinite = Workrave'/><author><name>Davips</name><uri>http://www.blogger.com/profile/16869931592181521844</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2569512937955006182</id><published>2007-11-07T10:19:00.000-02:00</published><updated>2007-11-07T11:31:03.323-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Novos colaboradores</title><content type='html'>É isso aí!&lt;br /&gt;Temos dois novos colunistas neste amado blog.&lt;br /&gt;&lt;br /&gt;Aliás acabou de mudar de nome: mudou de Blog do Topera&lt;br /&gt;para &lt;span style="font-style: italic; color: rgb(0, 153, 0); font-weight: bold;"&gt;GiroLê - "O melhor giro da Internet!"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Sejam bem-vindos Gustavo, o &lt;span style="font-weight: bold;"&gt;Bozo&lt;/span&gt; e Davi&lt;span style="font-weight: bold;"&gt;, O Mestre&lt;/span&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2569512937955006182?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2569512937955006182/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/novo-colaborador.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2569512937955006182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2569512937955006182'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/novo-colaborador.html' title='Novos colaboradores'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6050561755204161358</id><published>2007-11-06T12:45:00.000-02:00</published><updated>2007-11-07T23:47:12.114-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Novo recurso no Gmail: Mute</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_0SU49nbHhI8/RzCBkcHsFfI/AAAAAAAAAE0/LPZs1ZESn5Y/s1600-h/Captura_da_tela.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_0SU49nbHhI8/RzCBkcHsFfI/AAAAAAAAAE0/LPZs1ZESn5Y/s400/Captura_da_tela.png" alt="" id="BLOGGER_PHOTO_ID_5129742438598710770" border="1" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;O Gmail está com novos recursos, que aos poucos estão sendo liberados para os usuários. Um interessante é o &lt;span style="font-weight: bold;"&gt;mute (interromper)&lt;/span&gt;, que permite arquivar automaticamente todas as mensagens de determinado assunto.&lt;br /&gt;&lt;br /&gt;Assim, vc pode continuar fazendo parte de uma lista de discussão, ignorando apenas as informações daquela discussão interminável sobre o amigo-secreto que vc não quer participar.&lt;br /&gt;&lt;br /&gt;:)&lt;br /&gt;&lt;br /&gt;Update: Nossa! Parece que isso existe desde 2006! Mas ainda não apareceu no meu gmail!!! Ahhh!&lt;br /&gt;&lt;br /&gt;Update2: ok, o recurso mute acabou de chegar no meu gmail (1 dia depois)&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="https://mail.google.com/support/bin/answer.py?answer=47787"&gt;help do gmail&lt;/a&gt;&lt;br /&gt;Relacionados: &lt;a href="http://gmailblog.blogspot.com/2007/09/m-is-formute.html"&gt;gmail blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6050561755204161358?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6050561755204161358/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/novo-recurso-no-gmail-mute.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6050561755204161358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6050561755204161358'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/novo-recurso-no-gmail-mute.html' title='Novo recurso no Gmail: Mute'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0SU49nbHhI8/RzCBkcHsFfI/AAAAAAAAAE0/LPZs1ZESn5Y/s72-c/Captura_da_tela.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-5770201673535772564</id><published>2007-11-05T09:17:00.000-02:00</published><updated>2007-11-06T13:03:55.019-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='gtalk'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Em breve: acesse o Gtalk pelo Windows Live Messenger</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_0SU49nbHhI8/Ry791cHsFeI/AAAAAAAAAEs/ZL8Dwk7KbSo/s1600-h/1995_msn1-734598.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp1.blogger.com/_0SU49nbHhI8/Ry791cHsFeI/AAAAAAAAAEs/ZL8Dwk7KbSo/s320/1995_msn1-734598.jpg" alt="" id="BLOGGER_PHOTO_ID_5129316120144909794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Finalmente uma boa notícia!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;O blog &lt;a href="http://www.undergoogle.com/blog/2007/11/google-talk-conversar-com-windows-live.html"&gt;Undergoogle&lt;/a&gt; reportou que a próxima versão do MSN conseguirá se comunicar com usuários do AIM, ICQ e GoogleTalk!&lt;br /&gt;&lt;br /&gt;Já parou pra pensar que quem tem email, não importa de que empresa seja, consegue mandar email para todo mundo? E que o mesmo &lt;span style="font-weight: bold;"&gt;ainda não ocorre&lt;/span&gt; com os mensageiros instantâneos? É aquela droga....sempre tem um primo perguntando pq vc não usa MSN...&lt;br /&gt;&lt;br /&gt;Bem, a boa notícia é que em breve isso pode vir a acontecer... principalmente se os desenvolvedores utilizarem o &lt;span style="font-weight: bold;"&gt;mesmo padrão&lt;/span&gt;, tipo o &lt;a href="http://www.jabber.org/"&gt;JABBER/XMPP&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;É isso. Aguardamos a integração ansiosamente!&lt;br /&gt;&lt;br /&gt;Fonte original: &lt;a href="http://www.liveside.net/blogs/main/archive/2007/10/31/messenger-9-gtalk-integration-messenger-api-new-client-for-mac-os-x-news-unveiled-at-georgia-tech-presentation-whew.aspx"&gt;LiveSide&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-5770201673535772564?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/5770201673535772564/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/em-breve-acesse-o-gtalk-pelo-windows.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5770201673535772564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5770201673535772564'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/em-breve-acesse-o-gtalk-pelo-windows.html' title='Em breve: acesse o Gtalk pelo Windows Live Messenger'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0SU49nbHhI8/Ry791cHsFeI/AAAAAAAAAEs/ZL8Dwk7KbSo/s72-c/1995_msn1-734598.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-8169932984151353680</id><published>2007-11-01T10:19:00.000-02:00</published><updated>2007-11-01T10:25:28.640-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='interfaces'/><title type='text'>Fim do cartão de crédito?</title><content type='html'>Já está sendo testado o pagamento utilizando impressões digitais, em postos de gasolina e lojas de conveniência em Chicago.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp3.blogger.com/_0SU49nbHhI8/RynEkMHsFdI/AAAAAAAAAEk/0b41OOCYR_w/s1600-h/pagamento.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp3.blogger.com/_0SU49nbHhI8/RynEkMHsFdI/AAAAAAAAAEk/0b41OOCYR_w/s400/pagamento.jpg" alt="" id="BLOGGER_PHOTO_ID_5127845776745829842" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="http://g1.globo.com/Noticias/Economia_Negocios/0,,MUL165685-9356,00-LEITOR+DE+IMPRESSAO+DIGITAL+DISPENSA+ASSINATURA+E+SENHA.html"&gt;G1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-8169932984151353680?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/8169932984151353680/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/11/fim-do-carto-de-crdito.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8169932984151353680'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8169932984151353680'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/11/fim-do-carto-de-crdito.html' title='Fim do cartão de crédito?'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp3.blogger.com/_0SU49nbHhI8/RynEkMHsFdI/AAAAAAAAAEk/0b41OOCYR_w/s72-c/pagamento.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-5212662167350203958</id><published>2007-10-29T12:23:00.000-02:00</published><updated>2007-11-06T13:03:55.021-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interfaces'/><title type='text'>Próxima Geração de Interfaces?</title><content type='html'>Observe bem a foto abaixo:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp1.blogger.com/_0SU49nbHhI8/RyXtJXHtQwI/AAAAAAAAAEA/JnjUyCgwCKg/s1600-h/mi_futuro.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 441px; height: 210px;" src="http://bp1.blogger.com/_0SU49nbHhI8/RyXtJXHtQwI/AAAAAAAAAEA/JnjUyCgwCKg/s400/mi_futuro.jpg" alt="" id="BLOGGER_PHOTO_ID_5126764495912125186" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Esse é um protótipo que encontrei ao ler &lt;a href="http://www.springerlink.com/content/x4j37pu6u234j723/"&gt;esse&lt;/a&gt; artigo. Com este teclado, vc pode dar "tapinhas" nos apoiadores de mão, que estes são "sentidos" e enviados para a pessoa que estiver conversando com vc pelo mensageiro instantâneo!&lt;br /&gt;&lt;br /&gt;Do outro lado, as mãozinhas irão vibrar (como um controle de Playstation). Assim, fica fácil falar se vc está bravo com a pessoa (um tapão), sorridente (varias batidinhas), etc.&lt;br /&gt;&lt;br /&gt;Ah, as mãozinhas podem variar a temperatura tbm!&lt;br /&gt;&lt;br /&gt;Parabéns ao pesquisador coreano Heesook Shin e sua equipe!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-5212662167350203958?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/5212662167350203958/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/10/prxima-gerao-de-interfaces.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5212662167350203958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5212662167350203958'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/10/prxima-gerao-de-interfaces.html' title='Próxima Geração de Interfaces?'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp1.blogger.com/_0SU49nbHhI8/RyXtJXHtQwI/AAAAAAAAAEA/JnjUyCgwCKg/s72-c/mi_futuro.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-4938682894289872258</id><published>2007-10-25T16:02:00.000-02:00</published><updated>2007-11-06T13:03:55.022-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='interfaces'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Novo recurso no Google Maps</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_0SU49nbHhI8/RyDa5kMwWvI/AAAAAAAAAD4/Xi8QyOKnJYg/s1600-h/googlemaps.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://bp0.blogger.com/_0SU49nbHhI8/RyDa5kMwWvI/AAAAAAAAAD4/Xi8QyOKnJYg/s400/googlemaps.jpg" alt="" id="BLOGGER_PHOTO_ID_5125337058452200178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Dá uma olhada &lt;a href="http://maps.google.com/maps?q=76+Ninth+Avenue+New+York,+NY+10011&amp;amp;ie=UTF8&amp;amp;ll=40.750025,-73.99524&amp;amp;spn=0.000703,0.001676&amp;amp;t=h&amp;amp;z=20&amp;amp;om=0&amp;amp;layer=c&amp;amp;cbll=40.74967,-73.9953&amp;amp;cbp=2,426.4091365619257,0.5,0,-3.8286136261313954"&gt;nesse&lt;/a&gt; link.&lt;br /&gt;&lt;br /&gt;Vc simplesmente "anda" em 3D pela cidade de NY.&lt;br /&gt;&lt;br /&gt;Demais!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-4938682894289872258?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/4938682894289872258/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/10/novo-recurso-no-google-maps.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/4938682894289872258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/4938682894289872258'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/10/novo-recurso-no-google-maps.html' title='Novo recurso no Google Maps'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_0SU49nbHhI8/RyDa5kMwWvI/AAAAAAAAAD4/Xi8QyOKnJYg/s72-c/googlemaps.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6195048076747364503</id><published>2007-10-24T11:34:00.000-02:00</published><updated>2007-12-06T11:09:13.571-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microblog'/><category scheme='http://www.blogger.com/atom/ns#' term='bots'/><title type='text'>Notícias sobre Microblogs e MIs</title><content type='html'>&lt;h4 style="font-weight: normal;"&gt;Segue abaixo uma lista com algumas notícias relevantes sobre microblogs e mensageiros instantâneos.&lt;br /&gt;&lt;/h4&gt;&lt;h4 style="font-weight: normal;"&gt;Out/2007: &lt;a href="http://g1.globo.com/Noticias/Tecnologia/0,,MUL156444-6174,00-INCENDIO+NA+CALIFORNIA+TRANSFORMA+MICROBLOG+EM+FONTE+DE+NOTICIA.html"&gt;Incêndio na Califórnia transforma microblog em fonte de notícia&lt;/a&gt;&lt;/h4&gt;&lt;h4 style="font-weight: normal;"&gt;Out/2007: &lt;a href="http://info.abril.uol.com.br/aberto/infonews/102007/09102007-11.shl"&gt;Google compra Jaiku, rival do Twitter&lt;/a&gt;&lt;br /&gt;&lt;/h4&gt;&lt;h4 style="font-weight: normal;"&gt;Jun/2007: &lt;a href="http://g1.globo.com/Noticias/SaoPaulo/0,,MUL60967-5605,00.html"&gt;Conversa no MSN vai parar no 'Diário Oficial'&lt;/a&gt;&lt;br /&gt;&lt;/h4&gt;Mai/2007: &lt;a href="http://g1.globo.com/Noticias/Tecnologia/0,,MUL42931-6174,00.html#frmPost"&gt;Twitter explora curiosidade sobre vida alheia&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Dez/2007: &lt;a href="http://www1.folha.uol.com.br/folha/informatica/ult124u352199.shtml"&gt;Bot 'Papai Noel', da Microsoft, é desativado por conversas obscenas&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6195048076747364503?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6195048076747364503/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/10/notcias-sobre-microblogs-e-mis.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6195048076747364503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6195048076747364503'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/10/notcias-sobre-microblogs-e-mis.html' title='Notícias sobre Microblogs e MIs'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-1455279120202101074</id><published>2007-10-11T10:57:00.000-03:00</published><updated>2007-11-06T13:05:37.031-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='bots'/><title type='text'>Lista de Bots de MSN</title><content type='html'>Demorou mas achei!&lt;br /&gt;&lt;br /&gt;No link abaixo há uma lista com os bots vencedores de uma competição de bots realizada pela Microsoft em 2006. Pena que só funcionam no MSN e que muitos pararam de funcionar...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.robotinvaders.com/Images/home_ending_02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 348px; height: 107px;" src="http://www.robotinvaders.com/Images/home_ending_02.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.robotinvaders.com/main/winners.aspx"&gt;Ver a lista de bots vencedores.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;obs1: recomendo o World of Alice (alice@worldofalice.com).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;obs2: bot é um cara do seu MSN, Gtalk, sei lá, que não é uma pessoa, mas um programa de computador que faz alguma coisa, normalmente útil.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-1455279120202101074?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/1455279120202101074/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/10/lista-de-bots-de-msn.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1455279120202101074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1455279120202101074'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/10/lista-de-bots-de-msn.html' title='Lista de Bots de MSN'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-1547401392084983461</id><published>2007-10-10T13:15:00.000-03:00</published><updated>2007-11-06T13:05:55.281-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='microblog'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='bots'/><title type='text'>A História dos Bots</title><content type='html'>Ok, estou postando aqui todas as informações que tenho encontrado sobre a história dos IM bots. (não, não sou desocupado: isso faz parte da minha pesquisa)&lt;br /&gt;&lt;br /&gt;IM Bots: qualquer programa que é acessado por um mensageiro instantâneo.&lt;br /&gt;&lt;br /&gt;1996 (nov) - &lt;a href="http://www.amazon.com/gp/reader/1555583385/ref=sib_dp_pt/103-9358830-6416642#"&gt;Lançado o ICQ: o primeiro mensageiro instantâneo&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;Para falar de bots para mensageiros instantâneos, é relevante citar quando o primeiro MI foi lançado.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;1999 (___) - &lt;a href="http://www.ecreation.nl/"&gt;Ecration é fundada&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2000 (___) - &lt;a href="http://www.akonix.com/company/default.asp"&gt;Akonix é fundada&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ecreation.nl/"&gt;&lt;/a&gt;&lt;br /&gt;2001 (out) - &lt;a href="http://www.microsoft.com/presspass/press/2001/Oct01/10-08AlertsPR.mspx"&gt;Microsoft anuncia o .NET Alerts&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2001 (out) - &lt;a href="http://www.fibiger.org/bloggerbot/2001_10_01_bloggerarchive.html"&gt;Lançado o BloggerBot&lt;/a&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Bot para publicação em blogs&lt;br /&gt;&lt;/blockquote&gt;2002 (___) - &lt;a href="http://www.microsoft.com/presspass/press/2005/may05/05-11messagecastpr.mspx"&gt;MessageCast é fundada&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2003 (___) - &lt;a href="http://www.microsoft.com/presspass/press/2005/may05/05-11messagecastpr.mspx"&gt;Microsoft firma parceria com MessageCast&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2005 (mai) - &lt;a href="http://www.microsoft.com/presspass/press/2005/may05/05-11messagecastpr.mspx"&gt;Microsoft compra MessageCast&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2005 (dez) - &lt;a href="http://www.techcrunch.com/2005/12/19/indeeds-launches-im-interface/"&gt;Indeed lança bot (para procura de empregos)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2006 (fev) - &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://jaiku.com/help/google"&gt;Jaiku é fundada&lt;/a&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;O Jaiku é um dos principais representantes do microblogging, low-effort mini-blog ou tumblelog. Nada mais é do que publicar em uma página web utilizando algum método ágil, por exemplo, mensageiros instantâneos ou SMS.&lt;br /&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;2006 (mar) - &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://twitter.com/help/aboutus"&gt;Twitter é fundada&lt;/a&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;O Twitter é o maior concorrente do Jaiku.&lt;br /&gt;&lt;/blockquote&gt;2006 (mai) - &lt;a href="http://www.robotinvaders.com/"&gt;Microsoft lança campeonato para avaliar melhores bots&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2006 (jun) - &lt;a href="http://biblebot.jabberstudio.org/"&gt;JD Biblebot é lançado&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2006 (jun) - &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://windowslivealerts.spaces.live.com/blog/cns%2179AC28579711CD2%21111.entry"&gt;Microsoft lança o Windows Live Alerts (antigo &lt;/a&gt;&lt;a style="font-weight: bold;" href="http://windowslivealerts.spaces.live.com/blog/cns%2179AC28579711CD2%21111.entry"&gt;.NET Alerts)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2006 (jul) - &lt;a href="http://www.emarket.ppg.br/index.asp?InCDMateria=4184"&gt;Bot Dado Spitze é lançado, pela Bavária&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="font-style: italic;"&gt;&lt;span&gt;Bavária contratou a empresa Euro RSCG 4D&lt;/span&gt;, que realizou &lt;span&gt;parceria entre Akonix e IM Interactive Corp para a criação do bot.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;2006 (jul) - &lt;a href="http://www.fanatic.net.nz/2006/08/12/conversagent-has-changed-its-name/"&gt;Conversagent muda de nome para Colloquis&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;A empresa Colloquis desenvolve bots que podem ser acessados por MSN. Utilizam técnicas de processamento de linguagem natural. Eles criaram o BuddyScript, linguagem de programação para bots.&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;2006 (set) - &lt;a href="http://www.robotinvaders.com/main/Entry.aspx?Value=aXMWNb4AlxKpIbgdB00xwkamiyA1hrKi8ysikzUu%252bIU%252f2QekDW3uOENsa6vo3dirPaZNt2PACD1HxJxT6flm3w%253d%253d"&gt;Ecration fica em terceiro lugar na competição de bots&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote style="font-style: italic;"&gt;O bot desenvolvido chama-se alice@worldofalice.com (MSN), é um dos mais completos que já vi. Ele dá o significado de palavras, faz contas, dá a temperatura, envia emails, conta piadas, informa sobre filmes, mostra vídeos do youtube, tem rádio, traduz palavras e tem joguinhos....ufa!&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;span style="font-weight: bold;"&gt;2006 (out) - &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://www.microsoft.com/presspass/press/2006/Oct06/10-12ColloquisAcquisitionPR.mspx"&gt;Microsoft compra a empresa Colloquis.&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;blockquote&gt;"&lt;span style="font-style: italic;"&gt;Microsoft plans to take advantage of Colloquis Internet bot technology in an application called W&lt;/span&gt;&lt;span style="font-style: italic;"&gt;indows Live Agents, a conversational application that users can interact with via Windows Live Messenger.&lt;/span&gt;"&lt;a href="http://www.robotinvaders.com/"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;/div&gt;2006 (___) - &lt;a href="http://anothr.com/"&gt;Anothr é fundada&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2006 (out) - &lt;a href="http://feedcrier.com/content/2007/05/03/one-million/"&gt;Feed Crier é fundada&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2007 (___) - &lt;a href="http://celeb.spleak.com/"&gt;Lançado o bot Spleak&lt;/a&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Bot em que os usuários cadastram fofocas sobre celebridades e estas são retransmitidas.&lt;br /&gt;&lt;/blockquote&gt;2007 (___) - &lt;a href="http://www.gozub.com/about"&gt;Gozub é lançado&lt;/a&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Versão brasileira do Twitter/Jaiku&lt;br /&gt;&lt;/blockquote&gt;2007 (fev) - &lt;a href="http://imified.com/"&gt;IMified é fundada&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2007 (mai) - &lt;a href="http://blog.imified.com/index.php/2007/05/14/imified-acquires-real-time-feed-alerts-leader-feedcriercom/"&gt;IMified compra a Feed Cried&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-weight: bold;"&gt;2007 (out) - &lt;/span&gt;&lt;a style="font-weight: bold;" href="http://info.abril.com.br/aberto/infonews/102007/09102007-11.shl"&gt;Google compra a Jaiku&lt;/a&gt;&lt;span style="font-weight: bold;"&gt; [&lt;a href="http://googleblog.blogspot.com/2007/10/reach-out-and-message-someone.html"&gt;anúncio&lt;/a&gt;&lt;/span&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;]&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;SITES RELACIONADOS:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="https://buddyscript.colloquis.com/"&gt;Site da Colloquis&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://windowsliveagents.spaces.live.com/"&gt;Site oficial do Windows Live Agents&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=1687&amp;amp;SiteID=1"&gt;Fórum do BuddyScript MSDN&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://alerts.live.com/Alerts/Default.aspx"&gt;Site do Windows Live Alerts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://windowslivealerts.spaces.live.com/blog/cns%2179AC28579711CD2%21111.entry"&gt;Blog do Windows Live Alerts&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.akonix.com/company/default.asp"&gt;Site da Akonix&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.iminteractivecorp.com/"&gt;Site da IM Interactive Corp.&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.ecreation.nl/"&gt;Site da Ecration&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://twitter.com/"&gt;Site do Twitter (microblog)&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://jaiku.com/"&gt;Site do Jaiku (microblog)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://pownce.com/"&gt;Site do Pownce (microblog)&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.gozub.com/"&gt;Site do Gozub (microblog brasileiro)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://yappd.com/"&gt;Site do Yappd (microblog)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.meemi.com/"&gt;Site do MeeMi (microblog italiano)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.beemood.com/"&gt;Site do BeeMood (microblog)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.tumblr.com/"&gt;Site do Tumblr (microblog)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://hellotxt.com/"&gt;Site do HelloTXT (publica em 6 microblogs diferentes)&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-1547401392084983461?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/1547401392084983461/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/10/histria-dos-bots.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1547401392084983461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1547401392084983461'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/10/histria-dos-bots.html' title='A História dos Bots'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2879155698353115813</id><published>2007-10-09T11:23:00.000-03:00</published><updated>2007-10-09T11:31:21.143-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>ASUS lança placa-mãe com linux embutido</title><content type='html'>Que tal ligar o PC e esperar apenas 5 segundos para ter o Firefox e Skype funcionando, prontinhos para vc usar na internet? Bom, compre a placa-mãe abaixo e isso será possível! (ela já vem com uma distribuição Linux embutida)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.asus.com/999/images/products/1872/1872_l.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.asus.com/999/images/products/1872/1872_l.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Fonte: &lt;a href="http://www.engadget.com/2007/10/08/asus-p5e3-deluxe-mobo-boots-in-five-seconds-with-embedded-linux/"&gt;Engadget&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2879155698353115813?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2879155698353115813/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/10/asus-lana-placa-me-com-linux-embutido.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2879155698353115813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2879155698353115813'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/10/asus-lana-placa-me-com-linux-embutido.html' title='ASUS lança placa-mãe com linux embutido'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-7258952701127896638</id><published>2007-10-09T11:15:00.000-03:00</published><updated>2007-10-09T11:19:53.141-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Unicamp criou um cluster de PlayStation 3</title><content type='html'>Olha só que bonito...pesquisadores da Unicamp criaram um cluster usando PS3. Detalhe: alegaram que tem melhor relação custo benefício do que as outras opções de compra....ah, rodam linux, claro... :)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://g1.globo.com/Noticias/Tecnologia/foto/0,,11710584,00.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px;" src="http://g1.globo.com/Noticias/Tecnologia/foto/0,,11710584,00.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Fonte: &lt;a href="http://g1.globo.com/Noticias/Ciencia/0,,MUL146410-5603,00.html"&gt;G1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-7258952701127896638?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/7258952701127896638/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/10/unicamp-criou-um-cluster-de-playstation.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7258952701127896638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7258952701127896638'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/10/unicamp-criou-um-cluster-de-playstation.html' title='Unicamp criou um cluster de PlayStation 3'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-5639149200714686452</id><published>2007-10-05T10:36:00.000-03:00</published><updated>2007-10-05T10:43:56.652-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Audacity: seletor de entrada sumiu!</title><content type='html'>&lt;span&gt;Após revirar o Audacity e não encontrar o seletor de entrada&lt;br /&gt;(aquele combobox aonde vc pode escolher se quer gravar o que&lt;br /&gt;vem do CD, Line In, Mic, etc) descobri que ele simplesmente não&lt;br /&gt;existe nessa versão devido a um misterioso bug...sumiu!&lt;br /&gt;&lt;br /&gt;Mas não ocorre em todos os SOs, já que o pessoal que usa Mepis&lt;br /&gt;&lt;a href="http://www.mepislovers.org/forums/showthread.php?t=6089"&gt;relatou&lt;/a&gt; que o pacote dessa versão já foi corrigido...&lt;br /&gt;&lt;br /&gt;Bom, chega de enrolação. Para resolver, volte da versão 1.2.6 para a 1.2.4b...&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1. Remova o audacity atual&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$ sudo apt-get remove audacity&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;2. Faça download do pacote antigo em  http://packages.ubuntu.com/dapper/allpackages&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$ wget http://mirrors.kernel.org/ubuntu/pool/universe/a/audacity/audacity_1.2.4b-2ubuntu2_i386.deb &lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;3. Pronto, agora é só instalar a versão antiga&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$ sudo dpkg -i audacity_1.2.4b-2ubuntu2_i386.deb&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;obs: testado no kubuntu 7.04&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 51, 0);"&gt;[se lhe foi útil, deixe um comentário... :)]&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-5639149200714686452?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/5639149200714686452/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/10/audacity-seletor-de-entrada-sumiu.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5639149200714686452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5639149200714686452'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/10/audacity-seletor-de-entrada-sumiu.html' title='Audacity: seletor de entrada sumiu!'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-5946446847808322974</id><published>2007-09-24T16:26:00.000-03:00</published><updated>2008-01-28T09:37:24.410-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='gtalk'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Gtalk: dicas de formatação</title><content type='html'>Dicas de formatação no Gtalk (Google Talk)&lt;br /&gt;&lt;br /&gt;Para deixar negrito: *&lt;span style="font-weight: bold;"&gt;texto negrito&lt;/span&gt;*&lt;br /&gt;Para deixar itálico: _&lt;span style="font-style: italic;"&gt;texto itálico&lt;/span&gt;_&lt;br /&gt;Para pular uma linha: shift+enter&lt;shift&gt;&lt;enter&gt;&lt;br /&gt;&lt;br /&gt;É interessante que podemos "simular" uma conversa...suponha que seu amigo chame João. Envie a seguinte mensagem para ele (de uma vez só):&lt;br /&gt;&lt;/enter&gt;&lt;/shift&gt;&lt;blockquote&gt;oi jao!&lt;br /&gt;*João:* td bom?&lt;br /&gt;*me:* td!&lt;br /&gt;*João:* tenho q ir...&lt;br /&gt;*me:* até...&lt;br /&gt;&lt;/blockquote&gt;Ficará assim:&lt;br /&gt;&lt;span style="display: block; padding-left: 6em; text-indent: -1em;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="display: block; padding-left: 6em; text-indent: -1em;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;me: &lt;/span&gt;oi jao!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;João:&lt;/span&gt; td bom?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;me:&lt;/span&gt; td!&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;João:&lt;/span&gt; tenho q ir...&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;me:&lt;/span&gt; até...&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;UPDATE (28/01/08): a formatação também funciona nos status do user.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-5946446847808322974?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/5946446847808322974/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/gtalk-dicas-de-formatao.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5946446847808322974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5946446847808322974'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/gtalk-dicas-de-formatao.html' title='Gtalk: dicas de formatação'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-7509133041364518921</id><published>2007-09-24T13:23:00.000-03:00</published><updated>2007-11-06T13:02:58.434-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='gtalk'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Fotos nos servidores do Google</title><content type='html'>Hoje queria relaxar na hora do almoço e decidi fuçar no sistema de fotos do Orkut e Gtalk, e por enquanto descobri o seguinte:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ORKUT&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;A foto da pessoa é acessada por URLs como a seguinte:&lt;br /&gt;&lt;blockquote&gt;http://img2.orkut.com/images/medium/0/85500000.jpg&lt;/blockquote&gt;Que tem a estrutura:&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;http://img&lt;span style="color: rgb(255, 0, 0);"&gt;SERVIDOR&lt;/span&gt;.orkut.com/images/&lt;span style="color: rgb(255, 0, 0);"&gt;TAMANHO&lt;/span&gt;/&lt;span style="color: rgb(255, 0, 0);"&gt;BLA&lt;/span&gt;/&lt;span style="color: rgb(255, 0, 0);"&gt;ID&lt;/span&gt;.jpg&lt;/blockquote&gt;Onde:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;SERVIDOR: número que varia de 1 a 4. Os pings mostram que realmente possuem IPs diferentes, exceto pelo 1 e 4, que são idênticos.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;TAMANHO: informa qual o tamanho da foto. Pode ser small ou medium (se vc descobrir outro me fala!).&lt;br /&gt;&lt;/li&gt;&lt;li&gt;BLA: não sei pra que serve...ponha qualquer número.&lt;/li&gt;&lt;li&gt;ID: o id da foto, isto é, seu número identificador. O número 1 é a foto do próprio criador do orkut. Pq será? :P .....e no momento, o maior número que funciona, está próximo de 105 milhões! (104.900.000)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;GTALK&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;A foto do usuário é acessada em URLs como a seguinte:&lt;br /&gt;&lt;blockquote&gt;http://mail.google.com/mail/photos/&lt;span style="color: rgb(255, 0, 0);"&gt;email@gmail.com&lt;/span&gt;&lt;/blockquote&gt;Vale notar que é preciso estar logado para receber a foto. Além disso,&lt;br /&gt;a pessoa deve ser estar cadastrada como amiga no seu Gtalk.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-7509133041364518921?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/7509133041364518921/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/fotos-nos-servidores-do-google.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7509133041364518921'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7509133041364518921'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/fotos-nos-servidores-do-google.html' title='Fotos nos servidores do Google'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6598850891279982515</id><published>2007-09-19T10:18:00.000-03:00</published><updated>2007-10-15T09:59:33.549-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><title type='text'>LaTeX: adicionando pacotes</title><content type='html'>&lt;span style="font-size:100%;"&gt;Estava tentando usar um modelinho da ACM para gerar um artigo no Kile e deu o seguinte erro:&lt;br /&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(255, 0, 0);"&gt;&lt;span style="font-size:100%;"&gt;../modelo/acm_proc_article-sp.cls:35:File `amssymb.sty' not found. \usepackage&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;Eu instalei o pacote "texlive" e tudo foi resolvido&lt;br /&gt;&lt;/span&gt;&lt;blockquote  style="color: rgb(102, 102, 102);font-family:courier new;"&gt;&lt;span style="font-size:100%;"&gt;$ sudo apt-get install texlive&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;obs1: ah, se mesmo assim algum pacote faltar, vá no site da &lt;a href="http://www.ctan.org/search.html#byName"&gt;CTAN&lt;/a&gt; e baixe manualmente. Basta deszipar o pacote, dar make e mover o arquivo .sty gerado para o diretório do .tex.&lt;br /&gt;&lt;br /&gt;obs2: alguns pacotes não tem makefile, então vc precisará criar o .sty no braço. Para isso, baixe o .dtx e o .ins. Para criar o .sty, faça:&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;$ tex pacote.ins&lt;/blockquote&gt;obs3: se vc se irritar e cansar de ficar criando um por um, vc pode instalar o pacote texlive-full, que irá instalar MUITA coisa! São 326 MB de download, mas provavelmente irá parar de dar pau :&lt;/span&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;$ sudo apt-get install texlive-full&lt;/blockquote&gt;&lt;br /&gt;obs4: se der pacote não encontrado, coloque os repositórios que estão &lt;a href="http://www.tug.org/texlive/debian.html"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;É isso.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6598850891279982515?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6598850891279982515/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/latex-adicionando-pacotes-bsicos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6598850891279982515'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6598850891279982515'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/latex-adicionando-pacotes-bsicos.html' title='LaTeX: adicionando pacotes'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2686876872745996289</id><published>2007-09-11T13:24:00.000-03:00</published><updated>2008-01-15T09:02:23.709-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='código-fonte'/><title type='text'>Snippet em Java: urlencode</title><content type='html'>&lt;pre&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(128, 128, 0);"&gt; java.net.URL;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(128, 128, 0);"&gt; java.net.URLEncoder;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;  &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;     * codifica valores para serem passados pela url&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;     */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;_urlEncode&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; valor) {&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; retorno = &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;try&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            retorno = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;URLEncoder&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;encode&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(valor, &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"UTF-8"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        } &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;catch&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;Exception&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; e){}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; retorno;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Se foi útil, deixe um comentário vai!&lt;br /&gt;(não precisa autenticar)&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2686876872745996289?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2686876872745996289/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/snippet-em-java-urlencode.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2686876872745996289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2686876872745996289'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/snippet-em-java-urlencode.html' title='Snippet em Java: urlencode'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-5921577282659776286</id><published>2007-09-10T13:44:00.000-03:00</published><updated>2007-09-10T14:10:05.525-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='código-fonte'/><title type='text'>Snippet em Java: lendo uma página web e colocando numa string</title><content type='html'>&lt;pre&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;&lt;span style="font-style: italic;"&gt;(obs: selecione o texto e dê copiar e colar, caso queira ler a parte cortada)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;import&lt;/span&gt;&lt;span style="color: rgb(128, 128, 0);"&gt; java.io.*;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(128, 128, 0);"&gt; java.net.URL;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;import&lt;/span&gt;&lt;span style="color: rgb(128, 128, 0);"&gt; java.io.DataInputStream;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;/*&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;     * Acessa uma URL e retorna uma string contendo a página&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(128, 128, 128);"&gt;     */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;static&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;getURL&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; endereco) {  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; retorno = &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;String&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; temp = &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;""&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;try&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;URL&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; url = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;URL&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(endereco);  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;BufferedReader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; pagina = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;BufferedReader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;InputStreamReader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(url.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;openStream&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;while&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;( (temp = pagina.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;readLine&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;()) != &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ) retorno = retorno + temp + &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(255, 0, 255);"&gt;\n&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;           &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            pagina.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        } &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;catch&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;IOException&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; e) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            e.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;printStackTrace&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; retorno;      &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;    }&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-5921577282659776286?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/5921577282659776286/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/snippet-em-java-lendo-uma-pgina-web-e.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5921577282659776286'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5921577282659776286'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/snippet-em-java-lendo-uma-pgina-web-e.html' title='Snippet em Java: lendo uma página web e colocando numa string'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-629234515295776367</id><published>2007-09-10T11:41:00.000-03:00</published><updated>2007-09-10T14:03:13.773-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='código-fonte'/><title type='text'>Snippet em Java: lendo a primeira linha de um arquivo</title><content type='html'>&lt;pre&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;try&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;BufferedReader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; in = &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;BufferedReader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;FileReader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);"&gt;"arquivo.txt"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;));&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-weight: bold; color: rgb(51, 204, 255);"&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;String&lt;/span&gt; &lt;/span&gt;linha = in.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;readLine&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;in.&lt;/span&gt;&lt;span style="color: rgb(0, 0, 128);"&gt;close&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;();&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;} &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);"&gt;catch&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;span style="color: rgb(51, 102, 255);"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(51, 102, 255);"&gt;IOException&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; e) {&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 149, 255);"&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(51, 102, 255);"&gt;&lt;span style="font-weight: bold;"&gt;System&lt;/span&gt;.out.println("Erro!");&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-629234515295776367?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/629234515295776367/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/snippet-em-java-lendo-primeira-linha-de.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/629234515295776367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/629234515295776367'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/snippet-em-java-lendo-primeira-linha-de.html' title='Snippet em Java: lendo a primeira linha de um arquivo'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-3704559452175421633</id><published>2007-09-07T17:38:00.000-03:00</published><updated>2007-09-10T14:02:49.965-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Reinstalando apache e php no kubuntu 7.04</title><content type='html'>Bom, antes de tudo: é uma reinstalação que &lt;span style="font-weight: bold;"&gt;apaga todas as configurações&lt;/span&gt; que você fez. Serve pra quando vc quer voltar ao apache que "vem de fábrica".&lt;br /&gt;&lt;br /&gt;Para remover:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$ sudo apt-get remove --purge apache2 apache2-common php5&lt;br /&gt;$ sudo apt-get clean&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(o --purge que irá apagar os arquivos de configuração)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt; &lt;/blockquote&gt;Para colocar tudo de novo:&lt;br /&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;&lt;blockquote&gt;$ sudo apt-get install apache2 php5&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Por fim, informamos o apache que ele deve processar os arquivos .php, ao invés de fazer a burrice de dar o nosso código-fonte php de bandeja pra quem visita o site, através do download de arquivos .phtml!&lt;br /&gt;&lt;blockquote style="color: rgb(153, 153, 153);"&gt;$ sudo ln /etc/apache2/mods-available/php5.* /etc/apache2/mods-enabled -s&lt;br /&gt;$ sudo /etc/init.d/apache2 restart&lt;br /&gt;&lt;/blockquote&gt;Ah, não esqueça de &lt;span style="font-weight: bold;"&gt;limpar&lt;span style="font-weight: bold;"&gt; o cache&lt;/span&gt;&lt;/span&gt; do firefox ao fazer os testes....o reload irá continuar te enviado o .php caso o cache não seja limpo.&lt;br /&gt;&lt;br /&gt;É isso.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-3704559452175421633?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/3704559452175421633/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/reinstalando-apache2-e-php5-no-kubuntu.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/3704559452175421633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/3704559452175421633'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/reinstalando-apache2-e-php5-no-kubuntu.html' title='Reinstalando apache e php no kubuntu 7.04'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-7144507365560267933</id><published>2007-09-07T16:30:00.000-03:00</published><updated>2007-12-03T13:32:14.809-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='bash'/><category scheme='http://www.blogger.com/atom/ns#' term='código-fonte'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Criando e matando um processo em background</title><content type='html'>&lt;span style="font-size:100%;"&gt;&lt;code  style="font-family:georgia;"&gt;&lt;span style="font-family:georgia;"&gt;Suponha que vc tenha um script que execute um programa e deixa-o em background, o que é muito comum quando se quer deixar um processo rodando eternamente em um servidor.&lt;br /&gt;&lt;br /&gt;Para executar o programa, crie um arquivo texto assim:&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;/span&gt;&lt;blockquote  style="color: rgb(102, 102, 102);font-family:georgia;"&gt;&lt;pre&gt;&lt;span style="color: rgb(192, 192, 192);font-size:100%;" &gt;1 &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;meu_programa&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);font-size:100%;" &gt;&amp;amp;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(136, 0, 136);font-size:100%;" &gt;&lt;span style="color: rgb(192, 192, 192);"&gt;2 &lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);font-size:100%;" &gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);font-size:100%;" &gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);font-size:100%;" &gt;$!&lt;/span&gt;&lt;span style="color: rgb(221, 0, 0);font-size:100%;" &gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(34, 51, 136);font-size:100%;" &gt;&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; pid.txt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;   &lt;/span&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;span style=";font-family:georgia;font-size:100%;"  &gt;Bom, a primeira linha executa o programa chamado "meu_programa" e libera o terminal, indicado pelo caracter "&amp;amp;". Sem esse símbolo, assim que vc fechar o terminal (ou ssh) o processo também morrerá.&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:100%;"  &gt;A segunda linha é mais interessante: o comando &lt;/span&gt;&lt;span style="font-weight: bold;font-family:georgia;font-size:100%;"  &gt;echo &lt;/span&gt;&lt;span style=";font-family:georgia;font-size:100%;"  &gt;irá criar um arquivo chamado "pid.txt" e &lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;code  style="font-family:georgia;"&gt;colocará &lt;/code&gt;&lt;code face="georgia"&gt;dentro dele o &lt;span style="font-style: italic;"&gt;pid do último processo que foi para o background&lt;/span&gt;. Isso é indicado pelos sinais "$!". Assim, temos armazenado qual o pid do processo que executamos na linha 1.&lt;br /&gt;&lt;br /&gt;Bom, agora basta criar um segundo script, que irá matar aquele processo específico, caso esteja rodando. Abra um novo arquivo em um editor de texto e ponha isso:&lt;/code&gt;&lt;/span&gt; &lt;blockquote  style="font-family:georgia;"&gt;&lt;pre&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="color: rgb(192, 192, 192);"&gt;1 &lt;/span&gt;if&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);font-size:100%;" &gt; [&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; -f pid.txt&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);font-size:100%;" &gt; ]&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);font-size:100%;" &gt;then&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="color: rgb(192, 192, 192);"&gt;2 &lt;/span&gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);font-size:100%;" &gt;echo&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; Matando processo com PID &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);font-size:100%;" &gt;$(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);font-size:100%;" &gt;cat&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; pid.txt&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);font-size:100%;" &gt;)&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;...&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 192, 192);font-size:100%;" &gt;3 &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(136, 0, 136);font-size:100%;" &gt;kill&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);font-size:100%;" &gt;$(&lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);font-size:100%;" &gt;cat&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; pid.txt&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);font-size:100%;" &gt;)&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 192, 192);font-size:100%;" &gt;4 &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(204, 0, 204);font-size:100%;" &gt;rm&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt; pid.txt&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(192, 192, 192);font-size:100%;" &gt;5 &lt;/span&gt;&lt;span style="font-weight: bold; color: rgb(0, 0, 0);font-size:100%;" &gt;fi&lt;/span&gt;&lt;span style="font-size:100%;"&gt;   &lt;/span&gt;&lt;/pre&gt; &lt;/blockquote&gt;&lt;span style="font-size:100%;"&gt;&lt;code style="font-family: georgia;" face="georgia"&gt;&lt;/code&gt;&lt;code style="font-family: georgia;"&gt;A linha 1 verifica se o arquivo "pid.txt" existe. Caso isso ocorra, significa que o processo deve estar rodando. O comando "$(cat pid.txt)" irá ler o conteúdo do arquivo, pelo comando &lt;span style="font-weight: bold;"&gt;cat&lt;/span&gt;. O resultado, que é o número do processo, é enviado para o "comando de fora", o &lt;span style="font-weight: bold;"&gt;kill&lt;/span&gt;, que irá encerrar o processo. Por fim, o &lt;span style="font-weight: bold;"&gt;rm&lt;/span&gt; apaga o arquivo, já que o processo foi encerrado.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:georgia;font-size:100%;"  &gt;É isso.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-7144507365560267933?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/7144507365560267933/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/criando-e-matando-um-processo-em.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7144507365560267933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7144507365560267933'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/criando-e-matando-um-processo-em.html' title='Criando e matando um processo em background'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2678480338375842638</id><published>2007-09-07T10:41:00.000-03:00</published><updated>2007-11-06T13:02:58.435-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='código-fonte'/><category scheme='http://www.blogger.com/atom/ns#' term='gtalk'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><category scheme='http://www.blogger.com/atom/ns#' term='bots'/><title type='text'>Bot para Gtalk, em java</title><content type='html'>Fala gente,&lt;br /&gt;&lt;br /&gt;Estou pesquisando sobre bots e precisei implementar um em java. Este programa conecta-se em um servidor do google talk e fica on-line eternamente, aguardando mensagens dos usuários. Para fins didáticos, ele apenas retorna o número informado, multiplicado por 2.&lt;br /&gt;&lt;br /&gt;O programa extra que vc precisa baixar pra tudo isso funcionar, é a API Smack (v. 3.0.4), que encontra-se &lt;a href="http://www.igniterealtime.org/downloads/index.jsp"&gt;aqui&lt;/a&gt;. (após descompactar, vamos precisar apenas do &lt;span style="font-weight: bold;"&gt;smack.jar&lt;/span&gt; e &lt;span style="font-weight: bold;"&gt;smackx.jar&lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;Ponha o código-fonte abaixo num arquivo chamado Botsd.java. Coloque os dois .jar e o .java na mesma pasta e compile e execute:&lt;br /&gt;&lt;blockquote&gt;$ javac -cp '.:smack.jar:smackx.jar' *.java&lt;br /&gt;$ java -cp '.:smack.jar:smackx.jar' Botsd&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Pronto! Vc já tem seu bot! Ah, obviamente mude o email e a senha que estão dentro do arquivo.&lt;br /&gt;&lt;br /&gt;Obs: se quer mais informações sobre como utilizar uma API que vem num &lt;span style="font-weight: bold;"&gt;.jar&lt;/span&gt; leia &lt;a href="http://blogdotopera.blogspot.com/2007/09/instanciando-uma-classe-que-est-num-jar.html"&gt;isso&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Código-fonte:&lt;span style="font-size:78%;"&gt;&lt;br /&gt;&lt;/span&gt;          &lt;style type="text/css"&gt;  &lt;!--   @page { margin: 2cm }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;     &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(63, 127, 95);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;/*&lt;br /&gt;* Mantém um bot para gtalk&lt;br /&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;            &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.*;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.packet.Presence;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.packet.Packet;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.packet.Message;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.PacketListener;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.filter.PacketFilter;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.filter.PacketTypeFilter;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.Chat;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.XMPPException;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.ConnectionConfiguration;&lt;/span&gt;&lt;br /&gt;&lt;b&gt;import&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; org.jivesoftware.smack.XMPPConnection;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Botsd {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;    static&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; XMPPConnection conexao; &lt;/span&gt;&lt;/span&gt; &lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;    public&lt;/b&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Botsd() {}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;    &lt;/span&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;    public&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; main(String args[]) {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(63, 127, 95);"&gt;        // strings&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        String servidor = &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"talk.google.com"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;        Integer porta = 5222;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        String servico = &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"gmail.com"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        String usuario = &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"meu_usuario_do_gmail_sem_arroba"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;   String senha = &lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"minha_senha"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;/span&gt;&lt;/span&gt;      &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;        // configs do gtalk&lt;/span&gt;&lt;br /&gt;   ConnectionConfiguration config = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; ConnectionConfiguration(servidor, porta, servico);&lt;br /&gt;   config.setSASLAuthenticationEnabled(&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;   config.setReconnectionAllowed(&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;   conexao = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; XMPPConnection(config);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        // tentando conectar&lt;br /&gt;   System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[ .... ] Tentando conectar&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;... "&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;        try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;br /&gt;       conexao.connect();&lt;br /&gt;       System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[  OK  ] Conectado."&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;   &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        &lt;span style="color: rgb(0, 102, 0);"&gt;    // tentando logar&lt;/span&gt;&lt;br /&gt;       System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[ .... ] Tentando logar..."&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;   &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;           try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;br /&gt;           conexao.login(usuario, senha);&lt;br /&gt;           System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[  OK  ] Logado."&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="font-size:100%;"&gt;    &lt;/span&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;  &lt;span style="color: rgb(0, 102, 0);"&gt;          // envia presenca&lt;/span&gt;&lt;br /&gt;           System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[ .... ] Atualizando presenca e status..."&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;           Presence presenca = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Presence(Presence.Type.available);&lt;br /&gt;           presenca.setStatus(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"Oi gente!"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;           conexao.sendPacket(presenca);&lt;br /&gt;           System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[  OK  ] Atualizado."&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;    &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                PacketFilter meuFiltro = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; PacketTypeFilter(Message.&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;class&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;                conexao.addPacketListener(criaListener(), meuFiltro);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;                try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;                    // loop infinito, aguardando mensagens...&lt;/span&gt;&lt;br /&gt;               System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[ .... ] Ouvindo..."&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;                      while&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;true&lt;/b&gt;&lt;/span&gt;) {&lt;br /&gt;                       Thread.sleep(1000);&lt;br /&gt;                   }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;                } &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (Exception e) {};     &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;   &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;            } &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (XMPPException e) {&lt;br /&gt;           System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[ ERRO ] Nao consegui logar!"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;);&lt;br /&gt;       }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;        } &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (XMPPException e) {&lt;br /&gt;       System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[ ERRO ] Nao consegui conectar no servidor!"&lt;/span&gt;);&lt;br /&gt;   }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="font-family:Monospace;"&gt;    }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; color: rgb(0, 102, 0);" align="left"&gt;&lt;span style="font-size:100%;"&gt;    &lt;/span&gt; &lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm; color: rgb(0, 102, 0);" align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Monospace;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;    &lt;span style="font-family:Monospace;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;      &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;    &lt;span style="font-family:Monospace;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;       &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="color: rgb(0, 102, 0);font-family:Monospace;" &gt;    /*&lt;br /&gt;* Aqui esta definido o metodo que ira manipular as mensagens recebidas...&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;    public&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt;&lt;span style="font-family:Monospace;"&gt; PacketListener criaListener() {&lt;br /&gt;   PacketListener meuListener = &lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt; PacketListener() {&lt;br /&gt;&lt;b&gt;        public&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(63, 127, 95);"&gt; &lt;span style="color: rgb(51, 51, 51);"&gt;processPacket(Packet pacote) {&lt;/span&gt;&lt;br /&gt;       // pega dados relevantes&lt;/span&gt;&lt;br /&gt;       String mensagem = ((Message)pacote).getBody();&lt;br /&gt;       String origem = pacote.getFrom();&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Monospace;"&gt;            Integer resultado = Integer.parseInt(mensagem) * 2;&lt;br /&gt;       String retorno = mensagem+&lt;span style="color: rgb(42, 0, 255);"&gt;" * 2 = "&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+resultado;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-family:Monospace;"&gt;            enviaMensagem(origem, retorno);&lt;br /&gt;   }};&lt;br /&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;        return&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; meuListener;&lt;/span&gt;&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt;              &lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style="font-size:100%;"&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:100%;" &gt;&lt;span style="color: rgb(0, 102, 0);font-family:Monospace;" &gt;/*&lt;br /&gt;* Envia mensagem para o destino especificado...&lt;br /&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=";font-family:Monospace;font-size:100%;"  &gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;    public&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;static&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; enviaMensagem(String destino, String mensagem) {&lt;br /&gt;   MessageListener meuMessageListener;&lt;br /&gt;   meuMessageListener = &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; MessageListener() {&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;public&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;void&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; processMessage(Chat chat, Message message) {}};&lt;br /&gt;   Chat chat = conexao.getChatManager().createChat(destino, meuMessageListener);&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;        try&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; {&lt;br /&gt;       chat.sendMessage(mensagem);&lt;br /&gt;   } &lt;/span&gt;&lt;span style="color: rgb(127, 0, 85);"&gt;&lt;b&gt;catch&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (XMPPException e) {&lt;br /&gt;       System.out.println(&lt;/span&gt;&lt;span style="color: rgb(42, 0, 255);"&gt;"[ ERRO ] Nao consegui enviar mensagem para "&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+destino);&lt;br /&gt;   }&lt;br /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="western" style="margin-bottom: 0cm;" align="left"&gt;&lt;span style=";font-family:Monospace;font-size:85%;"  &gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:100%;"&gt;}&lt;/span&gt; &lt;/span&gt; &lt;/span&gt;&lt;/p&gt; &lt;p class="western" style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;Obs: se lhe foi útil, deixe um comentário, por favor...&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Obs2: tentei identar o código, mas o blogger tirou tudo...&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2678480338375842638?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2678480338375842638/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/bot-para-gtalk-em-java.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2678480338375842638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2678480338375842638'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/bot-para-gtalk-em-java.html' title='Bot para Gtalk, em java'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-3815058199594027048</id><published>2007-09-05T18:11:00.000-03:00</published><updated>2007-09-10T14:00:49.432-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Instanciando uma classe que está num .jar</title><content type='html'>Mais uma dica que pode poupar-lhe algum tempo: suponha que vc tem um .jar, cheio de classes lá dentro e quer usá-las. O que fazer?&lt;br /&gt;&lt;br /&gt;Primeiro vc precisa saber o caminho das classes, então digite isso, na pasta do arquivo.jar&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;$ jar -tvf arquivo.jar&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(irá mostrar os caminhos para os .class)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Depois, vá no seu HelloWorld.java (seu código-fonte), e dê um import, tipo esse:&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;import org.jivesoftware.smack.*;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(coloque o caminho retornado pelo comando anterior, trocando as "/" por ".")&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Como nem tudo é perfeito nesse mundo, e vc não pode simplesmente dar include, como quem usa php, então vc deve falar sobre o .jar na hora de compilar e na hora de executar...&lt;br /&gt;&lt;br /&gt;Para isso compile, acrescentando o -cp (que sobrepõe o classpath atual)&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt; $ javac -cp ".:arquivo.jar" HelloWorld.java&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(neste caso, tudo deve estar na mesma pasta)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;E para rodar, faça isso:&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;$ java -cp ".:arquivo.jar"  HelloWorld&lt;/blockquote&gt;Importante notar: na hora do "-cp" não troque o ":" por ";"...vc perderá duas horas com os paths definidos de maneira errada...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-3815058199594027048?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/3815058199594027048/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/instanciando-uma-classe-que-est-num-jar.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/3815058199594027048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/3815058199594027048'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/instanciando-uma-classe-que-est-num-jar.html' title='Instanciando uma classe que está num .jar'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-823856034915893205</id><published>2007-09-05T15:39:00.000-03:00</published><updated>2007-09-10T14:00:14.157-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='java'/><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Instalando java no Kubuntu</title><content type='html'>Ok, vc quer programar em java, dá o famoso comando &lt;span style="font-weight: bold;"&gt;javac&lt;/span&gt; e aparece comando não encontrado? Antes de tudo, verifique se comando não está em alguma pasta escondida:&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$ sudo updatedb&lt;br /&gt;&lt;span style="font-style: italic;"&gt;(irá atualizar a lista de arquivos que existentes)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$ sudo locate javac | grep bin&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;(irá mostrar todos os arquivos chamados javac, que tenham "bin" no caminho)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Caso não exista, no kubuntu 7.04, basta digitar:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$ sudo apt-get install sun-java5-jre&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;(para executar os programas)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;$ sudo apt-get install sun-java5-jdk&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(102, 102, 102);"&gt;(para compilar os programas)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Ele irá baixar uns 50 MB e voa-lá! Tudo deve dar certo...&lt;br /&gt;&lt;br /&gt;Mas se a lei de Murphy estiver a todo vapor, na hora de executar, com o comando &lt;span style="font-weight: bold;"&gt;java&lt;/span&gt;, dará um erro parecido com:&lt;br /&gt;&lt;blockquote style="color: rgb(255, 102, 102);"&gt;Exception in thread "main" java.lang.UnsupportedClassVersionError: Programinha (Unsupported major.minor version 49.0)&lt;/blockquote&gt;Eu não estou com tempo pra ver o que é isso....mas se vc digitar&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;$ sudo update-alternatives --config java&lt;/blockquote&gt;Irão aparecer várias alternativas...bom, no meu caso apareceram 4 "javas" para serem utilizados. Vc pode chutar um por um e ver quando dá certo...eu escolhi o&lt;br /&gt;&lt;blockquote style="color: rgb(102, 102, 102);"&gt;/usr/lib/jvm/java-1.5.0-sun/jre/bin/java&lt;/blockquote&gt;E agora funfa!&lt;br /&gt;&lt;br /&gt;Obs1: se foi útil pra vc, me avise...&lt;br /&gt;Obs2: se falei besteira, me avise tbm...java não é meu forte...&lt;br /&gt;&lt;br /&gt;Aquele abraço!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-823856034915893205?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/823856034915893205/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/09/instalando-java-no-kubuntu.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/823856034915893205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/823856034915893205'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/09/instalando-java-no-kubuntu.html' title='Instalando java no Kubuntu'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-7932500378357198112</id><published>2007-08-17T14:05:00.001-03:00</published><updated>2007-11-06T13:06:28.700-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Sobre o TinyURL</title><content type='html'>Suponha que você deseje colocar uma URL no seu texto. E suponha que ela é muito grande e horrível. O que vc faz?&lt;br /&gt;&lt;br /&gt;Vai no &lt;a href="http://tinyurl.com/"&gt;http://tinyurl.com&lt;/a&gt; e cadastra sua URL lá.&lt;br /&gt;&lt;br /&gt;É super rápido, não precisa de login sem senha....é só dar control+C e control+v, num instante!&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;span class="on down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;Por exemplo:&lt;br /&gt;&lt;br /&gt;A grande e feiosa URL abaixo, sobre pitbulls:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://bichos.uol.com.br/guiasderacas/ult3994u67.jhtm"&gt;http://bichos.uol.com.br/guiasderacas/ult3994u67.jhtm&lt;/a&gt;&lt;/blockquote&gt;Vira a pequena e pouco feiosa URL:&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://tinyurl.com/2wkzlp"&gt;http://tinyurl.com/2wkzlp&lt;/a&gt;&lt;/blockquote&gt;É isso...&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-7932500378357198112?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/7932500378357198112/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/08/sobre-o-tinyurl.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7932500378357198112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7932500378357198112'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/08/sobre-o-tinyurl.html' title='Sobre o TinyURL'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-1633353813146884246</id><published>2007-08-17T13:52:00.000-03:00</published><updated>2007-09-10T13:56:25.981-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Converter pdf em jpg</title><content type='html'>O comando &lt;span style="font-weight: bold;"&gt;convert,&lt;/span&gt; do linux (ubuntu),  converte facilmente uma figura para outro formato.&lt;br /&gt;&lt;br /&gt;Ex: você quer que figura.pdf vire figura.jpg ? Faça isso:&lt;br /&gt;&lt;blockquote style="color: rgb(153, 153, 153);"&gt;$ convert figura.pdf figura.jpg&lt;/blockquote&gt;Fácil não?&lt;br /&gt;&lt;br /&gt;Outro exemplo: sua foto tá muito grande! Faça isso:&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="color: rgb(153, 153, 153);"&gt;$ convert eu.jpg -resize 50% eu_menor.jpg&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;br /&gt;Obs: se quiser baixar a versão pra windows vá em&lt;a href="http://tinyurl.com/2gxogu"&gt; http://tinyurl.com/2gxogu&lt;/a&gt; (mas eu não testei)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-1633353813146884246?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/1633353813146884246/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/08/converter-pdf-em-jpg.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1633353813146884246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1633353813146884246'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/08/converter-pdf-em-jpg.html' title='Converter pdf em jpg'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2657243967413330779</id><published>2007-08-01T14:08:00.000-03:00</published><updated>2007-12-20T18:10:13.161-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='gtalk'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Gtalk: lista de emoticons</title><content type='html'>Segue abaixo uma lista com 24 emoticons que podem ser utilizados no google talk do gmail. (se vc descobrir mais algum me avise!)&lt;br /&gt;&lt;span style="font-weight: bold;font-family:times new roman;" class="q" &gt;&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;:)&lt;/li&gt;&lt;li&gt;;)&lt;/li&gt;&lt;li&gt;&lt;span&gt;:-)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;;-)&lt;/li&gt;&lt;li&gt;:D&lt;/li&gt;&lt;li&gt;:-D&lt;/li&gt;&lt;li&gt;=D&lt;/li&gt;&lt;li&gt;=)&lt;/li&gt;&lt;li&gt;;^)&lt;/li&gt;&lt;li&gt;:P&lt;/li&gt;&lt;li&gt;:-|&lt;/li&gt;&lt;li&gt;:-/&lt;/li&gt;&lt;li&gt;:(&lt;/li&gt;&lt;li&gt;:'(&lt;/li&gt;&lt;li&gt;:-(&lt;/li&gt;&lt;li&gt;:-o&lt;/li&gt;&lt;li&gt;x-(&lt;/li&gt;&lt;li&gt;&gt;.&lt;&lt;/li&gt;&lt;li&gt;B-)&lt;/li&gt;&lt;li&gt;&lt;3&lt;/li&gt;&lt;li&gt;&lt;span&gt;}:)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;:(|)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;\m/&lt;/li&gt;&lt;li&gt;+/'\&lt;br /&gt;&lt;/li&gt;&lt;li&gt;:*&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2657243967413330779?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2657243967413330779/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/08/gtalk-lista-de-emoticons.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2657243967413330779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2657243967413330779'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/08/gtalk-lista-de-emoticons.html' title='Gtalk: lista de emoticons'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2237978376464952905</id><published>2007-08-01T10:28:00.000-03:00</published><updated>2007-11-06T13:03:23.013-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><category scheme='http://www.blogger.com/atom/ns#' term='gtalk'/><category scheme='http://www.blogger.com/atom/ns#' term='google'/><title type='text'>Gtalk: sobre o símbolo ♫</title><content type='html'>Algumas observações interessantes sobre o símbolo ♫, retiradas &lt;a href="http://code.google.com/support/bin/answer.py?answer=55715&amp;amp;topic=10379"&gt;daqui&lt;/a&gt;:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Para fazer esse símbolo aparecer no seu status do Google Talk, não tem mágica. Apenas copie e cole (assim como outros, como: ☺♥♣♂♀).&lt;/li&gt;&lt;li&gt;Aparentemente, é o único símbolo que é alinhado à esquerda, pelo Gmail.&lt;/li&gt;&lt;li&gt;É utilizado para indicar a música que vc está ouvindo no momento.&lt;/li&gt;&lt;li&gt;Os status que começam com esse símbolo não ficam no histórico.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;É isso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2237978376464952905?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2237978376464952905/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/08/gtalk-sobre-o-smbolo.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2237978376464952905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2237978376464952905'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/08/gtalk-sobre-o-smbolo.html' title='Gtalk: sobre o símbolo ♫'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-5863929420912730513</id><published>2007-07-30T10:51:00.000-03:00</published><updated>2007-09-19T10:23:10.294-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='latex'/><title type='text'>Dicas LaTeX</title><content type='html'>Okay, após perder 15 minutos descobri como se coloca barra diagonal no latex.&lt;br /&gt;&lt;br /&gt;Por mais óbvio que pareça, Use &lt;span style="font-weight: bold;"&gt;\slash.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Assim, para fazer "&lt;span style="font-weight: bold;"&gt;e/ou&lt;/span&gt;" utilize "&lt;span style="font-weight: bold;"&gt;e\slash ou&lt;/span&gt;"&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-5863929420912730513?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/5863929420912730513/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/07/dicas-latex.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5863929420912730513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/5863929420912730513'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/07/dicas-latex.html' title='Dicas LaTeX'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-1316748419946183088</id><published>2007-07-28T20:49:00.000-03:00</published><updated>2007-09-10T13:54:31.278-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Driver da nVidia no Kubuntu (linux)</title><content type='html'>Para instalar o driver da nVidia no braço, isto é, SEM usar o apt-get, faça:&lt;br /&gt;&lt;br /&gt;1. Descubra qual a sua placa de vídeo:&lt;br /&gt;&lt;br /&gt; &lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Iniciar -&gt; Informações do Sistema&lt;br /&gt; Centro de Informações do KDE -&gt; PCI (lado esquerdo)&lt;br /&gt;&lt;/span&gt;    (olhe na direita, lá embaixo..tipo "nVidia Corporation NV34 (GeForce FX 5200)"&lt;/blockquote&gt;&lt;br /&gt;2. Vá em http://www.nvidia.com e baixe o driver de acordo com seu hardware.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;Download drivers -&gt; Graphics Driver&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;GeForceFX Series -&gt; LinuxX86&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;3. Feche o X (modo gráfico).&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;&lt;span style="font-weight: normal;"&gt;(feche todas as janelas e dê Ctrl+Alt+F1 para abrir terminal)&lt;/span&gt;&lt;br /&gt;sudo killall kdm &lt;span style="font-weight: normal;"&gt;(para quem usa KDE)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;4. Vá para a pasta aonde vc baixou o driver execute-o como root.&lt;br /&gt;&lt;blockquote style="font-weight: bold;"&gt;chmod a+x NVIDIA-Linux-x86_64-100.14.11-pkg2.run&lt;br /&gt;sudo ./NVIDIA-Linux-x86_64-100.14.11-pkg2.run&lt;br /&gt;&lt;span style="font-weight: normal;"&gt;(Siga as instruções do programa, lendo ATENTAMENTE)&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;5.Reinicie e tá tudo blz.&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold;"&gt;sudo kdm&lt;/span&gt; &lt;span style="font-weight: normal;"&gt;(reinicia o KDE)&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: normal;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-1316748419946183088?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/1316748419946183088/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/07/driver-da-nvidia-no-kubuntu-linux.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1316748419946183088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/1316748419946183088'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/07/driver-da-nvidia-no-kubuntu-linux.html' title='Driver da nVidia no Kubuntu (linux)'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-8487300262181928974</id><published>2007-07-24T17:46:00.000-03:00</published><updated>2007-09-10T13:54:12.060-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Instalando discador iBest no linux (kubuntu)</title><content type='html'>Ok, suponha que vc queira instalar o discador do iBest em um pc linux que ainda &lt;span style="font-weight: bold;"&gt;não&lt;/span&gt; consegue acessar a internet.&lt;br /&gt;&lt;br /&gt;Bom, vá em um pc com acesso à net e faça o seguinte:&lt;br /&gt;&lt;br /&gt;1. Vá para uma pasta temporária&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    mkdir ~/Desktop/discador&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    cd ~/Desktop/discador&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. Baixe o discador oficial (formato .rpm)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    wget ftp://ftp.ibest.com.br/pub/discador/Discador_iBest.i586.rpm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Instale o programa alien, caso não o tenha&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    sudo apt-get update;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    sudo apt-get install alien&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;3. Converta-o o arquivo .rpm para o formato .deb, utilizando o alien&lt;br /&gt;&lt;span style="font-style: italic;"&gt; &lt;br /&gt;  sudo alien Discador_iBest.i586.rpm&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;4. Talvez vc precise da biblioteca libstdc++-libc6.2-2.so.3 (o erro que apareceria, ao instalar futuramente, seria &lt;span style="font-style: italic;"&gt;error while loading shared libraries: libstdc++-libc6.2-2.so.3&lt;/span&gt;). Baixe a biblioteca, pelo apt-get. Utilze o parâmetro &lt;span style="font-weight: bold;"&gt;-d&lt;/span&gt; para que o apt-get apenas faça download.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     sudo apt-get install libstdc++2.10-glibc2.2 -d&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold;"&gt;Pronto! &lt;/span&gt;Já temos os dois arquivos necessários. Grave-os num CD e vá até o pc que não tem acesso a net. Ah, os arquivos são:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    /var/cache/apt/archives/libstdc++2.10-glibc2.2_1%3a2.95.4-24_i386.deb&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    ~/Desktop/discador/discador-ibest_1.8.001-3_i386.deb&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;6. Ok. Copie-os para o /tmp e entre lá dentro.&lt;br /&gt;&lt;br /&gt;7. Instale os pacotes .deb&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    sudo dpkg -i discador-ibest_1.8.001-3_i386.deb&lt;br /&gt;  sudo &lt;/span&gt;&lt;span style="font-style: italic;"&gt;dpkg -i &lt;/span&gt;&lt;span style="font-style: italic;"&gt;libstdc++2.10-glibc2.2_1%3a2.95.4-24_i386.deb&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;8. Execute o setup do discador, que misteriosamente chama-se &lt;span style="font-weight: bold;"&gt;setup_Discador_iBest&lt;/span&gt; (cheio de letras em maiúsculas...o nominho infeliz...)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    sudo /tmp/setup_Discador_iBest&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Ok, agora é só ir clicando...após a instalação estar concluída, o ícone do programa aparece no seu Desktop. É isso.&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-8487300262181928974?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/8487300262181928974/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/07/instalando-discador-ibest-no-linux.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8487300262181928974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8487300262181928974'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/07/instalando-discador-ibest-no-linux.html' title='Instalando discador iBest no linux (kubuntu)'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-2454110495138023429</id><published>2007-07-20T13:49:00.000-03:00</published><updated>2007-11-06T13:09:35.214-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Histograma no Excel</title><content type='html'>Bom, lá vou eu com programas estatísticos...como estou com pressa e o &lt;span style="font-weight: bold;"&gt;programa R&lt;/span&gt;, do post abaixo, está me deixando doido, vou fazer no Excel mesmo. Aliás, excelente programa criado pela Microsoft, que eu não curto....&lt;br /&gt;&lt;br /&gt;[não há como negar, oras bolas!]&lt;br /&gt;&lt;br /&gt;Ok, para criar um histograma no Excel (testado no 2000) faça:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Vá no menu &lt;span style="font-weight: bold;"&gt;Ferramentas -&gt;  Suplementos&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Marque a opção &lt;span style="font-weight: bold;"&gt;Ferramentas de análise&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Vá em &lt;span style="font-weight: bold;"&gt;Ferramentas&lt;/span&gt; -&gt; &lt;span style="font-weight: bold;"&gt;Análise de dados&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Escolha &lt;span style="font-weight: bold;"&gt;histograma&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;Em &lt;span style="font-weight: bold;"&gt;intervalo de entrada&lt;/span&gt; indique a coluna que contém os dados.&lt;br /&gt;&lt;br /&gt;Em &lt;span style="font-weight: bold;"&gt;intervalo do bloco&lt;/span&gt; indique uma coluna, que vc deverá ter criada antes,&lt;br /&gt;que contém o tamanho de cada classe...tipo, para agrupar de 2 em 2, ponha&lt;br /&gt;os valores 2, 4, 6, 8, etc....&lt;br /&gt;&lt;br /&gt;Bom, aí vc dá ok e monta um gráfico em cima dos valores criados pelo Excel.&lt;br /&gt;(ah, não são atualizados dinamicamente, cuidado)&lt;br /&gt;&lt;br /&gt;É isso&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-2454110495138023429?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/2454110495138023429/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/07/histograma-no-excel.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2454110495138023429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/2454110495138023429'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/07/histograma-no-excel.html' title='Histograma no Excel'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6241742217394829895</id><published>2007-07-19T11:20:00.001-03:00</published><updated>2007-11-06T13:04:30.847-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><title type='text'>Programa Estatístico R</title><content type='html'>Comecei a usar este programa hoje, então algumas dicas básicas, de quem não sabe nada...&lt;br /&gt;&lt;br /&gt;Pra instalar, para quem usa o Debian ou Ubuntu ou Kubuntu ou etc:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    sudo apt-get install r-base r-base-core r-base-latex r-cran-rcmdr r-cran-zelig r-gnome&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Para executar o programa em um terminal:&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-style: italic;"&gt;R&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;(isso mesmo, o programa chama 'R', em maiúsculo....cada uma que encontro viu....)&lt;br /&gt;&lt;br /&gt;(Para sair do programa  digite &lt;span style="font-style: italic;"&gt;q() &lt;/span&gt;)&lt;br /&gt;&lt;br /&gt;Bom, aí vc vai no site abaixo e vê como criar os gráficos:&lt;br /&gt;&lt;br /&gt;   &lt;span style="font-style: italic;"&gt;http://bg9.imslab.co.jp/Rhelp/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6241742217394829895?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6241742217394829895/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2007/07/programa-estatstico-r.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6241742217394829895'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6241742217394829895'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2007/07/programa-estatstico-r.html' title='Programa Estatístico R'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-8474716366693563765</id><published>2006-11-14T17:41:00.000-02:00</published><updated>2007-09-10T13:52:55.673-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='instalação'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Firefox2 no linux</title><content type='html'>Algumas dicas para quem pretende instalar o firefox 2 no linux:&lt;br /&gt;&lt;br /&gt;1. Se aparecer o erro&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;error while loading shared libraries: libmozjs.so: cannot open shared object file: No such file or directory&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;faça o seguinte:&lt;br /&gt;&lt;br /&gt;Crie um script que irá alterar a variável de ambiente LD_LIBRARY_PATH e depois irá executar o firefox-bin (o executável que você baixou da net)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        export LD_LIBRARY_PATH="/onde_baixei/firefox"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;        /onde_baixei/firefox/firefox-bin&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. A pasta aonde devem ser criados os links para os plugins é&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;~/.mozilla/plugins&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3. Se você conseguiu instalá-lo, talvez queira mudar algumas coisas. Vá na barra de endereços e digite&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;about:config&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;E aí é só mudar os valores (clique duplo), usando a busca para filtrar esse monte de coisa.&lt;br /&gt;&lt;br /&gt;Para fazer o botão de fechar tabs ficar que nem era no firefox 1.x:&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    browser.tabs.closeButtons = 3&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para desabilitar a restauração de sessão&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;browser.sessionstore.enabled = false&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Obs1: A variável &lt;span style="font-weight: bold;"&gt;browser.sessionstore.enabled&lt;/span&gt; não existe...vc tem que criá-la dando clique com botão direito -&gt; new -&gt; boolean. (Cuidado, se errar não tem como apagar facilmente! Aliás, se vc souber como, por favor, me avise)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(se foi útil pra vc, deixe um comentário...preciso saber se alguém está lendo isso!!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-8474716366693563765?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/8474716366693563765/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2006/11/firefox2-no-linux.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8474716366693563765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8474716366693563765'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2006/11/firefox2-no-linux.html' title='Firefox2 no linux'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-8938103642376548026</id><published>2006-06-09T14:19:00.000-03:00</published><updated>2007-09-10T13:52:32.984-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Usando o microtorrent no linux</title><content type='html'>[Testado no Mepis (Debian)]&lt;div class="bText"&gt;  &lt;p&gt;Para quem acha que o utorrent (microtorrent) é o melhor programa para baixar torrents que existe,&lt;br /&gt;e quer continuar usando no linux, siga os seguintes passos:&lt;/p&gt;  &lt;p&gt;1) Baixe o microtorrent  &lt;a href="http://www.utorrent.com/download.php"&gt;http://www.utorrent.com/download.php&lt;/a&gt; (menos de 200KB!!! incrível)&lt;/p&gt;  &lt;p&gt;(baixe a versão stand alone)&lt;/p&gt;  &lt;p&gt;2) Baixe o wine, se não tiver (o wine serve para rodar programas do windows no linux)&lt;/p&gt;  &lt;p&gt;apt-get install wine&lt;/p&gt;  &lt;p&gt;3) Execute o utorrent.exe NORMALMENTE (duplo clique nele ou ./utorrent, em algum terminal)&lt;/p&gt;  &lt;p&gt;Pronto, se tudo der certo, o programa estará rodando.....&lt;/p&gt;  &lt;p&gt;Para testar, faça o download de alguma coisa......&lt;br /&gt;(Vá em &lt;a href="http://www.mininova.org/"&gt;http://www.mininova.org/&lt;/a&gt; e procure algo)&lt;/p&gt;  &lt;p&gt;--&lt;br /&gt;Tops &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-8938103642376548026?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/8938103642376548026/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2006/06/usando-o-microtorrent-no-linux.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8938103642376548026'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/8938103642376548026'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2006/06/usando-o-microtorrent-no-linux.html' title='Usando o microtorrent no linux'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-6675149070689781376</id><published>2006-06-01T14:18:00.000-03:00</published><updated>2007-11-06T13:07:32.414-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='curiosidades'/><title type='text'>Interface via voz, daqui alguns anos</title><content type='html'>Eu: "ahhhhh.....PC, bom dia, o que temos para hoje ?"&lt;br /&gt;Pc: "BOM DIA.....BOM, VOCÊ POR VER EMAILS, IR NO ORKUT...COMO SEMPRE"&lt;br /&gt;Eu: "tá.....PC, entre no orkut"&lt;br /&gt;Pc: "OK, ENTREI"&lt;br /&gt;Eu: "Que legaaaal! Me mandaram um cartãozinho...que fofo....PC, instale esse programa aí, o voxcard.exe"&lt;br /&gt;Pc: "OK, INSTALADO"&lt;br /&gt;Eu: "PC, hummmmm.......por que ficou tudo preto...e o que são esses círculos vermelhos piscando freneticamente?!"&lt;br /&gt;Pc: "POR QUE ACABEI DE SER INFECTADO"&lt;br /&gt;Eu: "PC, por que não me avisou do vírus ?"&lt;br /&gt;Pc: "POR QUE VOCÊ NÃO PEDIU!"&lt;br /&gt;Eu: "Rrrrr! Droga! PC, remova o vírus!"&lt;br /&gt;Pc: "NÃO QUERO, O VÍRUS AFETOU MEU SENSOR DE VONTADE"&lt;br /&gt;Eu: "PC, por favor"&lt;br /&gt;Pc: "PARA ESSE VÍRUS SER REMOVIDO VOCÊ PRECISA CANTAR ATIREI O PAU NO GATO"&lt;br /&gt;Eu: "PC, Tem certeza disso?"&lt;br /&gt;Pc: "CLARO, QUEM ESTÁ INFECTADO SOU EU, NÃO VOCÊ! SÃO AS EXIGÊNCIAS DO CRACKER"&lt;br /&gt;Eu: "Tá bom......aaaaaa-tirei o pau no ga-to-to....."&lt;br /&gt;Pc: "TÁ HORRÍVEL, DISCO RÍGIDO SENDO DELETADO"&lt;br /&gt;Eu: "Nãaaaaaaaao!"&lt;div class="bText"&gt;  &lt;p&gt;--&lt;br /&gt;Tops&lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-6675149070689781376?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/6675149070689781376/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2006/06/interface-via-voz-daqui-alguns-anos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6675149070689781376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/6675149070689781376'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2006/06/interface-via-voz-daqui-alguns-anos.html' title='Interface via voz, daqui alguns anos'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-7587476095659494987</id><published>2006-06-01T14:14:00.000-03:00</published><updated>2007-09-10T13:52:18.863-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Fazendo seu computador receber comandos de voz no Linux</title><content type='html'>Antes de tudo saiba que esse tutorial só funciona para Linux baseados no Debian (Ubuntu, Kubuntu, Mepis, Kurumin)&lt;div class="bText"&gt;  &lt;p&gt;1. Instale o PerlBox ( &lt;a href="http://perlbox.sourceforge.net/%29"&gt;http://perlbox.sourceforge.net/)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;https://sourceforge.net/project/showfiles.php?group_id=44421&lt;br /&gt;(baixe o .deb e instale clicando nele ou use o dpkg -i)&lt;/p&gt;  &lt;p&gt;2. Instale o Sphinx-2 ( &lt;a href="http://cmusphinx.sourceforge.net%29/"&gt;http://cmusphinx.sourceforge.net)&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;apt-get install sphinx2-bin&lt;/p&gt;  &lt;p&gt;3. Instale o Festival&lt;/p&gt;  &lt;p&gt;apt-get install festival&lt;/p&gt;  &lt;p&gt;Pronto!&lt;/p&gt;  &lt;p&gt;Agora vá em um terminal e execute o perlbox, e clique em iniciar (não lembro o nome do botão, já desistalei tudo!...bom, quando aparecer listening, na janela aberta, é só falar)&lt;/p&gt;  &lt;p&gt;Comigo funcionou os seguintes comandos:&lt;/p&gt;  &lt;p&gt;Diga "home" (no microfone, é claro), e o konqueror irá abrir!&lt;br /&gt;Diga "music", e o XMMS irá abrir.&lt;br /&gt;Diga "terminal" e o xterm irá abrir.&lt;/p&gt;  &lt;p&gt;Se não está funcionando faça duas coisas:&lt;/p&gt;  &lt;p&gt;1) Regule melhor o microfone...pode estar muito baixo ou muito alto (gerando ruído)&lt;/p&gt;  &lt;p&gt;2) Arraste uma barrinha para esquerda (que está nas opções dessa janela)...assim, o computador&lt;br /&gt;fica menos "fresco" ao que está sendo dito, e entende mais facilmente.....o único problema é&lt;br /&gt;que se ficar muito tolerante, qualquer conversa no microfone irá abrir algum aplicativo...(isso aconteceu comigo! O kate abriu do nada!)&lt;/p&gt;  &lt;p&gt;Bom, na verdade eu já desistalei tudo isso por que encheu minha paciência ficar falando quatro vezes até ele me obedecer.....mas é uma boa experiência....dá pra ter uma noção do que nos aguarda no futuro......postarei aqui futuramente um possível diálogo&lt;/p&gt;  &lt;p&gt;--&lt;br /&gt;Tops &lt;/p&gt;      &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-7587476095659494987?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/7587476095659494987/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2006/06/fazendo-seu-computador-receber-comandos.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7587476095659494987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7587476095659494987'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2006/06/fazendo-seu-computador-receber-comandos.html' title='Fazendo seu computador receber comandos de voz no Linux'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2649804423398004033.post-7059257595290117283</id><published>2006-05-30T13:38:00.000-03:00</published><updated>2007-09-10T13:47:29.122-03:00</updated><title type='text'>Início</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;Bom, deixa eu me apresentar.&lt;br /&gt;&lt;br /&gt;Sou o Rafael, mas normalmente me chamam de topera, tooper ou tops.&lt;br /&gt;&lt;br /&gt;Pretendo colaborar botando as coisas loucas da minha cabeça para fora dela, despejando-as aqui.&lt;br /&gt;&lt;br /&gt;Nos próximos 2 anos pretendo estudar sobre wikis e outras formas de publicação de conteúdo.&lt;br /&gt;&lt;br /&gt;É isso!&lt;br /&gt;&lt;br /&gt;Tops&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 102);"&gt;[há mais duas cópias desse site espalhados pela net....essa é a fonte mais atual!]&lt;br /&gt;&lt;br /&gt;Atualizado em 10/11/07&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2649804423398004033-7059257595290117283?l=girole.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://girole.blogspot.com/feeds/7059257595290117283/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://girole.blogspot.com/2006/10/incio.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7059257595290117283'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2649804423398004033/posts/default/7059257595290117283'/><link rel='alternate' type='text/html' href='http://girole.blogspot.com/2006/10/incio.html' title='Início'/><author><name>Topera</name><uri>http://www.blogger.com/profile/04238591261002135529</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://1.bp.blogspot.com/-gfIXZemm4QQ/TbGXGoFDFJI/AAAAAAAAASk/jAmoj6YADeI/s220/teclado2006.jpg'/></author><thr:total>0</thr:total></entry></feed>
