<?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-1139801925851701197</id><updated>2011-07-07T16:22:24.436-07:00</updated><title type='text'>Blog do Gilles</title><subtitle type='html'>Mais um Blog.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blogdogilles.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1139801925851701197/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blogdogilles.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gilles</name><uri>http://www.blogger.com/profile/05104668457502227540</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_i-BCSNvMRwM/StUoRaeGCLI/AAAAAAAAACI/NDFKoSgW3i8/s1600-R/OgAAAOOSG1SQ_TR_eOo4-8kaIT_mNQVlR2-fLZDURHnGaZuCBvl0EL-2Zbz9ECtDhSMQK9xG3zH6cIPiQZogY1ex7_8Am1T1UIBO10m6NKP_G6-ADbkjSsiM9sgP.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>3</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1139801925851701197.post-5467116730289712395</id><published>2009-10-23T13:00:00.000-07:00</published><updated>2009-10-23T13:59:23.281-07:00</updated><title type='text'>Novo mouse da Apple: O "Mouse Magico"</title><content type='html'>Magic Mouse. Assim foi batizado o novo mouse da Apple que apresenta um sistema multi-touch, isto significa que os comandos serão dados através de toques (ou vários toques ao mesmo tempo) no próprio mouse, e não através de cliques. Apesar de muito bonito, não acho que o novo conceito de mouse va se encaixar nos rigorosos padrões do consumidor. Através de vídeos, parece um pouco desconfortável para os acostumados com o velho mouse de três botões.&lt;br /&gt;&lt;br /&gt;Os comandos podem ser dados em qualquer parte da superfície do mouse. O fato de não ter botões, ao meu ver, aumenta drásticamente a durabilidade do Magic Mouse, porém, perde o foco do próprio mouse em sí. O touch é um sistema utilizado normalmente para evitar o mouse, e mouse + touch não parece fazer muito sentido.&lt;br /&gt;&lt;br /&gt;Será o Magic Mouse um conceito tão inovador a ponto de mudar um dos periféricos que menos mudaram desde a chegada dos desktops modernos que conhecemos? ou mais uma daquelas funcionalidades à la Windows Vista?&lt;br /&gt;&lt;br /&gt;Veja você mesmo.&lt;br /&gt;&lt;object width="560" height="340"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pgraF477ieU&amp;hl=pt-br&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pgraF477ieU&amp;hl=pt-br&amp;fs=1&amp;color1=0x3a3a3a&amp;color2=0x999999" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1139801925851701197-5467116730289712395?l=blogdogilles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdogilles.blogspot.com/feeds/5467116730289712395/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1139801925851701197&amp;postID=5467116730289712395' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1139801925851701197/posts/default/5467116730289712395'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1139801925851701197/posts/default/5467116730289712395'/><link rel='alternate' type='text/html' href='http://blogdogilles.blogspot.com/2009/10/novo-mouse-da-apple-o-mouse-magico.html' title='Novo mouse da Apple: O &quot;Mouse Magico&quot;'/><author><name>Gilles</name><uri>http://www.blogger.com/profile/05104668457502227540</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_i-BCSNvMRwM/StUoRaeGCLI/AAAAAAAAACI/NDFKoSgW3i8/s1600-R/OgAAAOOSG1SQ_TR_eOo4-8kaIT_mNQVlR2-fLZDURHnGaZuCBvl0EL-2Zbz9ECtDhSMQK9xG3zH6cIPiQZogY1ex7_8Am1T1UIBO10m6NKP_G6-ADbkjSsiM9sgP.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1139801925851701197.post-3979696727530461660</id><published>2009-10-18T20:51:00.000-07:00</published><updated>2009-10-18T21:27:15.033-07:00</updated><title type='text'>Utilizando Python no dia-a-dia</title><content type='html'>Bem, não vou repetir o que todo mundo já sabe sobre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;python&lt;/span&gt;. O que eu pretendo é passar pra vocês uma maneira de melhorar o dia-a-dia de um iniciante no mundo Linux como eu.&lt;br /&gt;&lt;br /&gt;Todo mundo conhece o terminal do Linux e os &lt;s&gt;intimidadores&lt;/s&gt; &lt;strong&gt;shell &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;scripts&lt;/span&gt;&lt;/strong&gt;. Muita gente ao ver um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;script&lt;/span&gt; no terminal &lt;s&gt; ou qualquer outra coisa&lt;/s&gt; se intimida somente pelo fato de estar no mesmo. A verdade que todo iniciante conhece com o tempo, é que o terminal é &lt;s&gt;a maioria das vezes&lt;/s&gt; um atalho pra qualquer coisa que você deseje fazer. Normalmente, quando você ganha prática, tarefas que necessitariam 6 cliques e alguma espera para que as janelas abram, e mais toda a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;poluição visual&lt;/span&gt; que o ambiente gráfico nos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;proporciona&lt;/span&gt;, se resumiriam em uma única &lt;strong&gt;linha de comando&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Unindo esta facilidade ao &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;python&lt;/span&gt;, pode-se criar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;scripts&lt;/span&gt; que acabariam com aquelas tarefas repetitivas como: testar programas, criar usuários, ou seja la o que for. Utilizando os comandos do terminal dentro do seu &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;script&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;python&lt;/span&gt;, da seguinte forma:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;import&lt;/span&gt; os&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;import&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;sys&lt;/span&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;from&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;sys&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;import&lt;/span&gt; *&lt;br /&gt;&lt;br /&gt;os.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;system&lt;/span&gt;('&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;ls&lt;/span&gt; -l | &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;grep&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;argv&lt;/span&gt;[1]')&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Na primeira linha, adicionamos o &lt;strong&gt;módulo os&lt;/strong&gt;, que contém muitos &lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;submódulos&lt;/span&gt;&lt;/strong&gt;, porém nós só vamos utilizar o &lt;i&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;system&lt;/span&gt;&lt;/i&gt;, para introduzir comandos ao terminal. Na segunda linha, adicionamos o módulo &lt;i&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;sys&lt;/span&gt;&lt;/i&gt;, e depois todos os &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;submódulos&lt;/span&gt;, para utilizarmos o &lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;argv&lt;/span&gt;&lt;/strong&gt;. &lt;strong&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Argv&lt;/span&gt;&lt;/strong&gt; é um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;vetor&lt;/span&gt; de strings, que funciona assim: quando você executa um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;script&lt;/span&gt; em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;python&lt;/span&gt;, você vai escrever no terminal ./nome_do_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;script&lt;/span&gt;. Essa string nome_do_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;script&lt;/span&gt; vai ser a primeira posição do nosso &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;vetor&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;argv&lt;/span&gt;. Caso eu passe algum parâmetro ao executar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;script&lt;/span&gt; &lt;strong&gt;./nome_do_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;script&lt;/span&gt; argumento1 argumento2 argumento3&lt;/strong&gt;, cada argumento vai estar numa posição &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;subseqüente&lt;/span&gt;, ou seja:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;print&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;argv&lt;/span&gt;[0]&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;print&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;argv&lt;/span&gt;[1]&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;print&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;argv&lt;/span&gt;[2]&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;print&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;argv&lt;/span&gt;[3]&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;iria me retornar:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;nome_do_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;script&lt;/span&gt;&lt;br /&gt;argumento1&lt;br /&gt;argumento2&lt;br /&gt;argumento3&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Após criar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;script&lt;/span&gt;, salve como &lt;i&gt;teste.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;py&lt;/span&gt;&lt;/i&gt; por exemplo, e digite o comando&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;chmod&lt;/span&gt; +x teste.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;py&lt;/span&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;para torná-lo executável. fim!&lt;br /&gt;&lt;br /&gt;Você pode utilizar qualquer comando e toda a estrutura da linguagem para auxiliar no seu dia-a-dia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1139801925851701197-3979696727530461660?l=blogdogilles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdogilles.blogspot.com/feeds/3979696727530461660/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1139801925851701197&amp;postID=3979696727530461660' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1139801925851701197/posts/default/3979696727530461660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1139801925851701197/posts/default/3979696727530461660'/><link rel='alternate' type='text/html' href='http://blogdogilles.blogspot.com/2009/10/utilizando-python-no-dia-dia.html' title='Utilizando Python no dia-a-dia'/><author><name>Gilles</name><uri>http://www.blogger.com/profile/05104668457502227540</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_i-BCSNvMRwM/StUoRaeGCLI/AAAAAAAAACI/NDFKoSgW3i8/s1600-R/OgAAAOOSG1SQ_TR_eOo4-8kaIT_mNQVlR2-fLZDURHnGaZuCBvl0EL-2Zbz9ECtDhSMQK9xG3zH6cIPiQZogY1ex7_8Am1T1UIBO10m6NKP_G6-ADbkjSsiM9sgP.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1139801925851701197.post-4889449721273056467</id><published>2009-10-13T18:27:00.001-07:00</published><updated>2009-10-13T21:36:17.913-07:00</updated><title type='text'>Finalmente!</title><content type='html'>Aha! Finalmente decidi abrir um &lt;strong&gt;blog!&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Nesse blog, eu pretendo postar tudo o que eu aprender e tiver tempo de "documentar" pra cá. Nada mais justo do que repassar o que se aprende na Internet através de um blog.&lt;br /&gt;&lt;br /&gt;Pra não começar com um post tão sem graça, vou contar como eu resolvi um daqueles probleminhas que surgem do nada. Seguinte:&lt;br /&gt;&lt;br /&gt;Estou testando o &lt;b&gt;Ubuntu 9.10, Karmic Koala&lt;/b&gt;, muito bom por sinal. Mas em uma das atualizações, um maldito &lt;i&gt;beep&lt;/i&gt;, aquele mesmo que vem da placa-mãe, apareceu do nada. Não podia fazer nada no notebook que &lt;i&gt;beep! beep!&lt;/i&gt; Pensei se não havia alguma configuração para desliga-lo ou algo do tipo, fui em &lt;strong&gt;Sistema&gt;Preferências&gt;Som&lt;/strong&gt; e achei uma configuração bem simples, mas infelizmente não mudou nada. Logo lembrei de um &lt;a href="http://www.justfuckinggoogleit.com/"&gt;site&lt;/a&gt; da Internet e fui pesquisar.&lt;br /&gt;&lt;br /&gt;Cai no &lt;a href="http://sg.answers.yahoo.com/question/index?qid=20070821142228AAt38h8"&gt;Yahoo respostas&lt;/a&gt;... tsc tsc tsc. O cara manda remover o &lt;i&gt;Buzzer&lt;/i&gt;! Ah vai, o &lt;i&gt;beep&lt;/i&gt; e chato mas não é pra tanto.&lt;br /&gt;&lt;br /&gt;Pesquisando mais um pouco, axei um comando chamado &lt;b&gt;modprobe&lt;/b&gt; que serve pra &lt;i&gt;add and remove modules from Linux Kernel&lt;/i&gt; segundo o manual. Então, vamos a solução:&lt;br /&gt;&lt;br /&gt;No terminal, digite:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;sudo modprobe pcsprk&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;e tecle enter.&lt;br /&gt;&lt;br /&gt;Pronto! Os malditos &lt;i&gt;beep'&lt;/i&gt;s devem ser sido desativados. Por Enquando.&lt;br /&gt;&lt;br /&gt;Os &lt;i&gt;beep'&lt;/i&gt;s continuam após reiniciar/desligar o computador. Ao que me parece, ele carrega o módulo ao iniciar.  Estaca zero. Pesquisando mais sobre o modprobe, achei posts de pessoas que resolveram apenas adicionando o módulo na &lt;i&gt;blacklist&lt;/i&gt;. Vamos voltar ao terminal:&lt;br /&gt;&lt;br /&gt;Como &lt;i&gt;root&lt;/i&gt; digite&lt;br /&gt;&lt;br /&gt;&lt;code&gt;echo "blacklist pcspkr" &gt;&gt; /etc/modprobe.d/blacklist.conf&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;e tecle enter. Este comando vai inserir no final do arquivo a seguinte frase "blacklist pcspkr". Agora ele está na lista negra. Por enquanto deve parar. Mas o &lt;i&gt;beep&lt;/i&gt; desgraçado além de irritante, ele é &lt;strong&gt;persistente&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;Vamos ao que interessa, como eu resolvi. Sinceramente, eu estava ficando maluco com os &lt;i&gt;beep'&lt;/i&gt;s insuportáveis. Então, desesperado, criei um arquivo &lt;i&gt;.bash_profile&lt;/i&gt; no diretório ~/, e adicionei a ele e a outros dois arquivos, .bashrc e .profile, as seguintes linhas:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;xset b 0&lt;/code&gt;&lt;br /&gt;&lt;code&gt;setterm -blength 0&lt;/code&gt;&lt;br /&gt;&lt;code&gt;set bell-style none&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;os três comandos no final das contas fazem a mesma coisa. Reiniciei. Até agora nenhum &lt;i&gt;beep&lt;/i&gt; ou fiquei surdo.&lt;br /&gt;&lt;br /&gt;Então é isso. Sei que não foi grande coisa, mas pretendo postar coisas mais interessantes mais pra frente. Em andamento: um mini-tutorial da &lt;strong&gt;liguagem C para programadores OCaml&lt;/strong&gt;, tópicos sobre &lt;strong&gt;SDL&lt;/strong&gt; e &lt;strong&gt;Sockets&lt;/strong&gt;, e outras coisas. Até breve.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1139801925851701197-4889449721273056467?l=blogdogilles.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blogdogilles.blogspot.com/feeds/4889449721273056467/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1139801925851701197&amp;postID=4889449721273056467' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1139801925851701197/posts/default/4889449721273056467'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1139801925851701197/posts/default/4889449721273056467'/><link rel='alternate' type='text/html' href='http://blogdogilles.blogspot.com/2009/10/aha-finalmente-decidi-abrir-um-blog.html' title='Finalmente!'/><author><name>Gilles</name><uri>http://www.blogger.com/profile/05104668457502227540</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://3.bp.blogspot.com/_i-BCSNvMRwM/StUoRaeGCLI/AAAAAAAAACI/NDFKoSgW3i8/s1600-R/OgAAAOOSG1SQ_TR_eOo4-8kaIT_mNQVlR2-fLZDURHnGaZuCBvl0EL-2Zbz9ECtDhSMQK9xG3zH6cIPiQZogY1ex7_8Am1T1UIBO10m6NKP_G6-ADbkjSsiM9sgP.jpg'/></author><thr:total>0</thr:total></entry></feed>
