<?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-1938273234242264240</id><updated>2011-11-27T21:18:55.588-02:00</updated><category term='Slackware'/><category term='Eventos'/><category term='Receita de Bolo'/><category term='Programação'/><category term='Ubuntu'/><category term='Compiladores'/><category term='Software Livre'/><category term='Linux'/><category term='Piadas'/><title type='text'>IT Life</title><subtitle type='html'>Um blog sobre hobbies e opiniões de Felipe Tanus, um estudante de Ciência da Computação da UFRGS. Geek por opção. Nadador por natureza.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1938273234242264240.post-4223756868922254280</id><published>2009-09-30T14:57:00.005-03:00</published><updated>2009-09-30T14:58:55.209-03:00</updated><title type='text'></title><content type='html'>Esse blog mudou de endereço! &lt;a href="http://www.fotanus.com/"&gt;http://www.fotanus.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-4223756868922254280?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/4223756868922254280/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=4223756868922254280' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/4223756868922254280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/4223756868922254280'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2009/09/esse-blog-mudou-de-endereco-httpwww.html' title=''/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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-1938273234242264240.post-5965695869122897586</id><published>2009-04-09T15:50:00.002-03:00</published><updated>2009-04-09T15:56:53.324-03:00</updated><title type='text'>Atualização do kernel sem rebootar a máquina</title><content type='html'>Um grande problemas dos servidores linux hoje em dia é que precisam ser reinicializados quando há uma atualização de kernel. Que tal isso: e se o kernel da máquina fosse atualizado SEM o reboot? Não, não é bruxaria. Acabei de descobrir o &lt;a href="http://www.ksplice.com/"&gt;ksplice&lt;/a&gt;, que promete atulizar o kernel on the fly. Místico. Bem alfa ainda, mas em breve isso será normal, assim como todo software; tudo o que faltava para o seu servidor favorito ficar com uptime 100%&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-5965695869122897586?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/5965695869122897586/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=5965695869122897586' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/5965695869122897586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/5965695869122897586'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2009/04/atualizacao-do-kernel-sem-rebootar.html' title='Atualização do kernel sem rebootar a máquina'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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-1938273234242264240.post-4640878471030375064</id><published>2009-04-08T22:55:00.005-03:00</published><updated>2009-04-09T15:11:39.093-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Piadas'/><title type='text'>Comentário Bovino</title><content type='html'>Por acaso, enquanto você trabalha, após consultar seus colegas ou ser consultado a primeira reação é um "hummm", seja por algum IM ou mesmo ao vivo? Parabéns,  você também é um praticante do mais famoso tipo de comentário, o comentário bovino! Meu colega de trabalho criou um site especial para esses momentos, digno de post no blog: &lt;a href="http://comentariobovino.com/"&gt;Comentário bovino!&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-4640878471030375064?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/4640878471030375064/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=4640878471030375064' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/4640878471030375064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/4640878471030375064'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2009/04/comentario-bovino.html' title='Comentário Bovino'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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-1938273234242264240.post-5173770449755090231</id><published>2009-03-04T19:12:00.004-03:00</published><updated>2009-03-04T19:23:49.922-03:00</updated><title type='text'>Procura de imagens</title><content type='html'>O site &lt;a href="http://tineye.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;tineye&lt;/span&gt;&lt;/a&gt; propõe um novo tipo de busca por imagens muito interessante: utilizando outras imagens. Você pode tanto dar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;upload&lt;/span&gt; de uma imagem para o site fazer a procura ou então prover o link de uma imagem que já esteja na &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;internet&lt;/span&gt;. Obviamente funciona muito melhor que a busca por palavras-chave, e é essa sua qualidade e seu defeito;  você acha praticamente apenas montagens de uma imagem. Mesmo assim, é interessante a iniciativa deles. Se eles melhorarem o &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;algoritmo&lt;/span&gt; de procura aposto que o google vai acabar comprando. Como tudo.&lt;br /&gt;&lt;br /&gt;Falando em google, vocês se lembram de um site de busca feito por ex-engenheiros do google, o &lt;a href="http://www.cuil.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;cuil&lt;/span&gt;&lt;/a&gt;? Ele continua &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;online&lt;/span&gt;, firme(??) e forte(!?!).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-5173770449755090231?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/5173770449755090231/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=5173770449755090231' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/5173770449755090231'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/5173770449755090231'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2009/03/procura-de-imagens.html' title='Procura de imagens'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1938273234242264240.post-224607377774258079</id><published>2009-02-17T19:44:00.002-03:00</published><updated>2009-02-17T20:04:17.695-03:00</updated><title type='text'>Alternativa de gerenciador gráfico</title><content type='html'>Não tem como não pensar em KDM, GDM ou XDM quando se fala em gerenciador de logins gráfico. Porém, quando não se está usando KDE, gnome ou Xfce, eles exigem algumas depenências não muito simpáticas, o que acaba gerando um download muito maior do que realmente seria necessário para um gerenciador de logins; Sem contar no monte de pacotes que terão atualizações e que provavelmente você vai querer atualizar para deixar seu sistema redondinho. E acreditem, muitas pessoas usam outros WM ou DE; eu, por exemplo, uso o fluxbox , que é muito bonitinho, prático, e customizável.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GkWY2pGZDwU/SZtCIIRuFqI/AAAAAAAAAAo/YDjK7NrIWPI/s1600-h/slim01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 256px;" src="http://4.bp.blogspot.com/_GkWY2pGZDwU/SZtCIIRuFqI/AAAAAAAAAAo/YDjK7NrIWPI/s320/slim01.jpg" alt="" id="BLOGGER_PHOTO_ID_5303905693587084962" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:78%;"&gt;Slim em ação, com seu tema padrão (rimou!!)&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Para essas pessoas existe o &lt;a href="http://slim.berlios.de/"&gt;SLIM&lt;/a&gt; ( Simple LogIn Manager), que é muito simpático e que possui muitos temas bonitos. No archlinux, você pode instalar ele com um simples "pacman -Sy slim" , e alguns temas são encontrados nos pacotes slim-themes e archlinux-themes-slim. Para configurar, basta editar o arquivo /etc/slim.conf , e os temas baixados podem ser conferidos no caminho /usr/share/slim/themes ; para completar, um preview do tema pode ser obtido rodando o comando "slim -P caminho_do_tema"; simples, do jeito que eu gosto :)&lt;br /&gt;&lt;div style="text-align: left;" id="result_box" dir="ltr"&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/1938273234242264240-224607377774258079?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/224607377774258079/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=224607377774258079' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/224607377774258079'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/224607377774258079'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2009/02/alternativa-de-gerenciador-grafico.html' title='Alternativa de gerenciador gráfico'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_GkWY2pGZDwU/SZtCIIRuFqI/AAAAAAAAAAo/YDjK7NrIWPI/s72-c/slim01.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1938273234242264240.post-4003935990878755398</id><published>2009-02-03T17:11:00.002-02:00</published><updated>2009-02-03T17:19:56.693-02:00</updated><title type='text'>Editor de text/código código</title><content type='html'>Após uma quase interminável busca por editores de código, cheguei a conclusão que o &lt;a href="http://mooedit.sourceforge.net/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;medit&lt;/span&gt;&lt;/a&gt; é o que mais se aproxima do que eu procuro: altamente &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;customizável&lt;/span&gt; apesar de leve, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;multiplataforma&lt;/span&gt;, com até mais recursos do que eu uso, conta com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;highlight&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;customizável&lt;/span&gt;, busca recursiva em pastas, contador de linha na lateral, um menu lateral que reconhece as funções escritas, entre muitos outros. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Plugins&lt;/span&gt; podem ser escritos facilmente em C ou &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Python&lt;/span&gt;, e ferramentas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;customizáveis&lt;/span&gt; que podem ser escritas em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;python&lt;/span&gt;, lua ou mesmo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;shellscript&lt;/span&gt;.&lt;br /&gt;Uma boa alternativa para linguagens de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Script&lt;/span&gt;, com certeza. Fica a dica!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-4003935990878755398?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/4003935990878755398/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=4003935990878755398' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/4003935990878755398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/4003935990878755398'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2009/02/editor-de-textcodigo-codigo.html' title='Editor de text/código código'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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-1938273234242264240.post-6143432094176134912</id><published>2008-12-10T00:20:00.006-02:00</published><updated>2008-12-10T01:01:35.817-02:00</updated><title type='text'>Slackware no more - Arch linux from now!</title><content type='html'>Troquei de distro de novo! Motivo: o slackware é muito estável, muito bonito, muito simpático, mas não tem um gerenciador de pacotes (oficial) decente!! acho que esse detalhe atrapalha muito a vida de pessoas que instalam e desinstalam pacotes frequentemente como eu, seja para trabalho ou para estudo, sentem muita falta dessa comodidade. Procurei um pouco mais e achei uma distribuição que parece ser muito agradável: Archlinux.&lt;br /&gt;&lt;br /&gt;Mais customizável que o slackware, essa distribuição me cativou bastante; relativamente nova, ela pode assustar um pouco usuários menos experientes, pois após a instalação ela te deixa no terminal; felizmente ela tem um &lt;a href="http://wiki.archlinux.org/index.php/Beginners_Guide"&gt;beginners guide&lt;/a&gt; oficial muito bom, que recomendo a leitura mesmo para quem não usa, pois muita coisa de linux geral é abordada no meio, e algumas explicações valem para muitas distribuições. Logo começarei a postar aqui muitas dicas para archlinux, assim que eu usar um pouco mais. Agora vou falar apenas um pouco sobre a distribuição...&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_GkWY2pGZDwU/ST8woC3hRrI/AAAAAAAAAAg/W9aXEH0LYIA/s1600-h/archlinux.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 196px; height: 163px;" src="http://3.bp.blogspot.com/_GkWY2pGZDwU/ST8woC3hRrI/AAAAAAAAAAg/W9aXEH0LYIA/s400/archlinux.png" alt="" id="BLOGGER_PHOTO_ID_5277990752824149682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Archlinux é uma distribuição que visa a simplicidade; essa simplicidade, ao contrário do que pode parecer, significa que ela permite o usuário o moldar seu próprio sistema, sem nada que ele não queira; a instalação básica, por exemplo, não vem com nenhum gerenciador de janelas; você deve escolher o seu próprio, baixar e instalar. Felizmente todo o processo de instalação está muito bem documentado no guia que linkei a pouco, o que facilita muito a vida de iniciantes. Ele possui um gerenciador de pacotes muito bom, o pacman, que resolve dependências e tem muitas opções úteis. Eu nunca achei que poderia atualizar a lista de mirrors, o sistema todo e ainda baixar pacotes com uma unica linha. E o melhor: uma linha extremamente simples! o pacman realmente é um dos pontos altos do archlinux. prova disso é que ele é uma distribuição  "rolling release", isso é, ele não tem ¨versões¨, é só atualizar o sistema com uma linha e tudo é atualizado.&lt;br /&gt;&lt;br /&gt; Eu acredito que usar o archlinux é uma boa oportunidade de aprender ainda mais sobre linux e criar um sistema com a minha cara ao mesmo tempo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-6143432094176134912?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/6143432094176134912/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=6143432094176134912' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/6143432094176134912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/6143432094176134912'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2008/12/slackware-no-more-arch-linux-from-now.html' title='Slackware no more - Arch linux from now!'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_GkWY2pGZDwU/ST8woC3hRrI/AAAAAAAAAAg/W9aXEH0LYIA/s72-c/archlinux.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1938273234242264240.post-4013240787675761635</id><published>2008-11-15T01:45:00.002-02:00</published><updated>2008-11-15T01:49:52.856-02:00</updated><title type='text'>SPAM</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_GkWY2pGZDwU/SR5GtLlXJcI/AAAAAAAAAAY/zkgbD7Png1Y/s1600-h/message4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 341px;" src="http://4.bp.blogspot.com/_GkWY2pGZDwU/SR5GtLlXJcI/AAAAAAAAAAY/zkgbD7Png1Y/s400/message4.png" alt="" id="BLOGGER_PHOTO_ID_5268726356087612866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-size:78%;"&gt;fonte: http://www.explosm.net/comics/1444/&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/1938273234242264240-4013240787675761635?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/4013240787675761635/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=4013240787675761635' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/4013240787675761635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/4013240787675761635'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2008/11/spam.html' title='SPAM'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_GkWY2pGZDwU/SR5GtLlXJcI/AAAAAAAAAAY/zkgbD7Png1Y/s72-c/message4.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1938273234242264240.post-9062037886489872788</id><published>2008-11-10T23:24:00.007-02:00</published><updated>2008-11-11T00:09:47.921-02:00</updated><title type='text'>5 Dicas (básicas) para desenvolvedores</title><content type='html'>&lt;span style="font-weight: bold;"&gt;1. Nomear coerentemente as variáveis&lt;/span&gt;&lt;br /&gt;Pode parecer o mais batido de todos, mas é um dos menos seguidos; as variáveis temporárias geralmente tem os piores nomes possíveis, pois ou são muito compridos ou então muito genéricos; nomear essas variáveis é uma arte. Vale lembrar que usar as mesmas variáveis temporárias pode melhorar o desempenho, mas deixa o código menos legível, então deve-se analisar o que é melhor em dado caso. Pode-se colocar um indicativo do tipo de variável em linguagens fortemente &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;tipadas&lt;/span&gt;&lt;/span&gt;, por exemplo, o inteiro ponto poderia ser &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;iPonto&lt;/span&gt;&lt;/span&gt;, e se fosse um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;float&lt;/span&gt;&lt;/span&gt; poderia ser &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;fPonto&lt;/span&gt;&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Identar&lt;/span&gt;&lt;/span&gt; o código&lt;/span&gt;&lt;br /&gt;A &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;identação&lt;/span&gt;&lt;/span&gt; de um código pode ser feita com espaços em branco ou com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;tabs&lt;/span&gt;&lt;/span&gt;; a grande maioria dos programadores preferem com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;tabs&lt;/span&gt;&lt;/span&gt;, portanto tente sempre usá-las. Algumas aplicações &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;transformam&lt;/span&gt; todos os seus &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;tabs&lt;/span&gt;&lt;/span&gt; em espaço em branco, como o &lt;a href="http://fotanus.blogspot.com/2008/11/gcc-no-windows.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Dev&lt;/span&gt;&lt;/span&gt;-C++&lt;/a&gt;; evite usá-las. Uma das grandes vantagens de se usar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;tabs&lt;/span&gt;&lt;/span&gt; é que cada programador pode gostar de diferentes &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;níveis&lt;/span&gt; de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;identação&lt;/span&gt;&lt;/span&gt;, isso é, com mais ou menos espaços, e boa parte das ferramentas de programação permitem você decidir quantos espaços você quer ver no lugar de um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;TAB&lt;/span&gt;&lt;/span&gt;, dando mais flexibilidade para a visualização do código. Quanto menos níveis de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;identação&lt;/span&gt;&lt;/span&gt; tem um programa, mais ele se torna legível; veja a próxima dica&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Module o seu código&lt;/span&gt;&lt;br /&gt;Uma grande invenção na programação foram as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;subrotinas&lt;/span&gt;&lt;/span&gt;, então use-as! Elas servem para muitas coisas, como para a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;abstração&lt;/span&gt;&lt;/span&gt; de partes do código irrelevantes para o programador em dado momento. Por exemplo, se o seu programa abre um arquivo para pegar os dados, aplica uma função e retorna um resultado, e o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;objetivo&lt;/span&gt;&lt;/span&gt; do programador é modificar a função, pode ser interessante apenas assumir que os dados já foram &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;pegos&lt;/span&gt;&lt;/span&gt; posteriormente, sem se importar como eles foram &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;pegos&lt;/span&gt;; Se for necessário saber o formato em que os dados são retornados, deve-se olhar a documentação da função (que deve existir, olhe a dica 5). Outra grande utilidade das &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;subrotinas&lt;/span&gt;&lt;/span&gt; é a capacidade de tirar vários níveis de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;identação&lt;/span&gt;&lt;/span&gt;, pois na &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;subrotina&lt;/span&gt;&lt;/span&gt; a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;identação&lt;/span&gt;&lt;/span&gt; começa novamente do primeiro &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;nível&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Use constantes&lt;/span&gt;&lt;br /&gt;Muito importante para a portabilidade e o &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_26"&gt;possível&lt;/span&gt; reaproveitamento do código que muitos programadores &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_27"&gt;simplesmente&lt;/span&gt; esquecem. Declarar constantes o bastante pode magicamente poupar uma tarde de trabalho e vários &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;ctrl&lt;/span&gt;&lt;/span&gt;+f em um código. Note que constantes do tipo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;TRES&lt;/span&gt;&lt;/span&gt; para o numero 3 são inúteis, já constantes do tipo NUM_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;THREADS&lt;/span&gt;&lt;/span&gt; para um programa multi&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;thread&lt;/span&gt;&lt;/span&gt; é muito útil.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5. Comente e documente&lt;/span&gt;&lt;br /&gt;Quanto maior/mais complexo for ficando o código, maior deve ser o cuidado com a documentação. Ela ajuda a relembrar como foi programado, a entender o que uma determinada função faz, ou ainda onde se muda algumas constantes do programa. Um exemplo negativo dessa vez: quando não temos uma documentação de como os dados são tratados por certa função, o único modo de descobrir é olhando o código da função, trabalho que pode levar muito tempo e que poderia ser resumido a 5 minutos, lendo um parágrafo de documentação. Acredite, mesmo que seja você quem tenha escrito a função, pode acabar esquecendo como formatou dos dados.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-9062037886489872788?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/9062037886489872788/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=9062037886489872788' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/9062037886489872788'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/9062037886489872788'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2008/11/5-dicas-bsicas-para-desenvolvedores.html' title='5 Dicas (básicas) para desenvolvedores'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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-1938273234242264240.post-5427063375331639982</id><published>2008-11-08T22:25:00.002-02:00</published><updated>2008-11-09T00:22:12.702-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Software Livre'/><category scheme='http://www.blogger.com/atom/ns#' term='Eventos'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Acabou o dia de Tchê Linux...</title><content type='html'>Passei hoje no evento Tchê Linux (http://tchelinux.org/blog/), para quem não conhece, um evento relativamente jovem sobre, bem, linux, que passa por várias cidades do Rio Grande do Sul (só esse ano foram 8 eventos!!); apesar de ser o terceiro ano de vida desse evento, pela organização parecer ter muitos; incrivel como a comunidade cresceu rápido.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_GkWY2pGZDwU/SRY769LlNpI/AAAAAAAAAAM/u1jbCcO-iBU/s1600-h/tche_linux.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 112px; height: 148px;" src="http://1.bp.blogspot.com/_GkWY2pGZDwU/SRY769LlNpI/AAAAAAAAAAM/u1jbCcO-iBU/s320/tche_linux.png" alt="" id="BLOGGER_PHOTO_ID_5266462698297964178" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Engraçado(na realidade, nem tanto), depois desse Tchê Linux me deu uma vontade de montar um datacenter pessoal. Mas falta dinheiro E tempo, e conforme o Fernando Massen, que deu uma palestra, só falta eu não ter espaço para estar tudo contra mim agora.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-5427063375331639982?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/5427063375331639982/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=5427063375331639982' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/5427063375331639982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/5427063375331639982'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2008/11/acabou-o-dia-de-tch-linux.html' title='Acabou o dia de Tchê Linux...'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_GkWY2pGZDwU/SRY769LlNpI/AAAAAAAAAAM/u1jbCcO-iBU/s72-c/tche_linux.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1938273234242264240.post-612613006274682497</id><published>2008-11-08T01:16:00.003-02:00</published><updated>2008-11-13T16:38:33.608-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Compiladores'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>GCC no Windows</title><content type='html'>&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Tem alguma coisa que dá mais raiva do que programar em C/C++ no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;dev&lt;/span&gt;-C++, desenvolvido pela &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Bloodshed&lt;/span&gt;? Ou então procurar outro compilador de C e só conseguir achar as mesmas &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;referências&lt;/span&gt; para o mesmo programa? Por que esse programa é tão idolatrado assim? quer dizer, obviamente não é pela &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;identação&lt;/span&gt;; a propósito, preferia que não tivesse. O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;highlight&lt;/span&gt; de sintaxe é &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;simplesmente&lt;/span&gt; horrível. É praticamente &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;impossível&lt;/span&gt; desenvolver um código bonito no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;dev&lt;/span&gt;. Eu sempre fazia o código no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;notepad&lt;/span&gt; e passava para o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;dev&lt;/span&gt; apenas para compilar; apesar de nenhum &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;highlight&lt;/span&gt;, ao menos ele ficava bem formatado e eu não perdia preciosos minutos arrumando a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;identação&lt;/span&gt; quando resolvia colocar um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;if&lt;/span&gt; a mais no meio do código.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;Então minha vida mudou. Foi então que achei o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;minGW&lt;/span&gt;: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;minimalist&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;GNU&lt;/span&gt; for &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;Windows&lt;/span&gt;, no site &lt;a href="http://www.mingw.org/"&gt;http://www.mingw.org/&lt;/a&gt;. Apesar de não ter modo gráfico, o que pode ser &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;incômodo&lt;/span&gt; para os &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;desenvolvedores&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;Windows&lt;/span&gt;, é uma boa chance de seu código ficar legível / &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;debugável &lt;/span&gt;/ modificável. Em conjunto com o editor de código certo, como o clássico &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;SciTE&lt;/span&gt; ( &lt;a href="http://www.scintilla.org/SciTE.html"&gt;http://www.scintilla.org/SciTE.html&lt;/a&gt; ), ou o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;notepad&lt;/span&gt;++ ( &lt;a href="http://notepad-plus.sourceforge.net/br/site.htm"&gt;http://notepad-plus.sourceforge.net/br/site.htm&lt;/a&gt; ), torna-se, na minha opinião, o conjunto perfeito para programadores C no Windows. Se você ficou empolgado e decidiu testar, então aí vai um tutorial rápido para sair colocando a mão na massa:&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="font-weight: bold;"&gt;Instalando e configurando o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;MinGW&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; 1.   Baixe e instale o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;MinGW&lt;/span&gt; do link acima; como todo bom instalador de &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;Windows&lt;/span&gt;, pode ser apenas&lt;br /&gt;     um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;NNF&lt;/span&gt;.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;2.  Configure a variável de ambiente &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;PATH&lt;/span&gt; para poder rodar ele de qualquer pasta; Para fazer isso,&lt;br /&gt;     vá em Iniciar-&gt;Painel de Controle-&gt;Sistema-&gt;Avançado, em Variáveis do Sistema &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Selecione&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;PATH&lt;/span&gt;&lt;br /&gt;    e clique em editar, e acrescente &lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;;caminho-do-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;MinGW&lt;/span&gt;/bin", sem aspas. Caso o terminal esteja&lt;br /&gt;    aberto será necessário fechar e abrir &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;de novo&lt;/span&gt; para ter efeito;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;3.   &lt;/span&gt;Baixe um dos editores e dê mais um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;NNF&lt;/span&gt;; utilizando eles para escrever seu código&lt;br /&gt;     ele ficará mais bonitinho :)&lt;br /&gt;&lt;/span&gt;4 &lt;span class="Apple-style-span" style="white-space: pre;"&gt;   Abra o terminal e vá para a pasta onde salvou seu primeiro código (provavelmente&lt;br /&gt;     um &lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;hello&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;world&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;), e digite &lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;gcc&lt;/span&gt; nome-do-arquivo&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; para compilar; o arquivo compilado&lt;br /&gt;     terá o nome de a.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;exe&lt;/span&gt; ; se você quiser compilar com um nome específico pode usar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;direto&lt;/span&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;gcc&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;codigo&lt;/span&gt;.c -o nome_da_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;saida&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;exe&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;"&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;.&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: justify;"&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;Boa diversão, e adeus &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;DEV&lt;/span&gt;-C++!!&lt;br /&gt;&lt;/span&gt;&lt;/div&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/1938273234242264240-612613006274682497?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/612613006274682497/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=612613006274682497' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/612613006274682497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/612613006274682497'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2008/11/gcc-no-windows.html' title='GCC no Windows'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1938273234242264240.post-117068230619367211</id><published>2008-11-06T23:50:00.001-02:00</published><updated>2008-11-09T00:23:42.173-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Receita de Bolo'/><category scheme='http://www.blogger.com/atom/ns#' term='Slackware'/><title type='text'>Instalando o Slackware 12.1 no Acer Aspire 5520 - 5912</title><content type='html'>Como narrado no meu ultimo post, decidi instalar o slackware no meu pc. Dei uma pesquisada na internet e tudo, e como levou algum tempo, eu resolvi blogar para alguém que possa querer instalar (talvez até pelo mesmo motivo :D ). Pois bem, vamos lá:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Passo 1: Baixar a imagem do Slackware e bootando&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;  Para comecar precisamos baixar a imagem do slackware, disponível no site http://www.slackware.org/getslack/. A duas opcões para baixar, via torrent ou direto de página. Eu baixei o DVD direto de página, mas você baixa o que/de onde quiser :) Após baixar, é necessário gravar a imagem em um DVD / alguns CDs e usar eles para bootar. Para bootar com o CD não esqueca de setar a ordem de boot no setup caso necessário. Durante o boot ele vai perguntar qual o kernel que você quer usar; como você está usando um computador "moderninho" é só dar enter; logue com o root sem senha e vamos para o próximo passo&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Passo 2: Particionando o disco&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;      Para particionar o disco pode-se usar o fdisk ou o cfdisk; com o cfdisk é mais facil. Inicie o cfdisk digitando "cfdisk /dev/sdx", onde x corresponde a letra do HD que você quer instalar (tipicamente "a"); o particionador é simples, apesar de não ser gráfico, e acredito que você vai se dar bem com ele :) Vamos precisar de duas particões: Um sistema de arquivos linux e uma particao de swap, idealmente com o dobro da memoria RAM, pois mais seria inutil já que o computador teria entrado em trashing. Não esqueca de setar a particão do linux como bootável; quando terminar, escreva no disco a nova tabela de particões; caso você tenha windows instalado, o particionador irá lhe avisar que o loader do windows não vai conseguir mais bootar, pois a duas particões bootáveis, apenas ignore; caso desista do slackware apenas não se esqueca de dar o boot e deixar apenas sua particao windows com a flag de bootavel (ou reparticionar mais um pouco :)&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Passo 3: Instalando&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;      Saindo do particionador, digite setup para a instalacao comecar. Se quiser, de uma lida do help, senão entre direto no passo dois, que é a configuracão do teclado; depois disso os passos vao ser feitos automáticamente, então será somente responder as perguntas que forem feitas; o instalador é bem explicativo. Só vai uma dica: escolher full install é uma boa idéia... Uma vez instalado ele vai lhe pedir para reiniciar o computador, então reinicie e vá embora.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Passo 4: Comandos Básicos e Internet&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;      Finalmente temos nosso lindo sisteminha instalado  :) agora podemos comecar a configurar. A placa de rede será reconhecida automaticamente. agora alguns comandos básicos: startx inicia o modo gráfico, xwmconfig seleciona a interface gráfica que você vai querer usar (se não sabe qual usar, aconcelho comecar com KDE). Você pode usar o comando dhclient para se conectar caso use IP dinamico, ou então "ifconfig eth0 up x.x.x.x" para usar um ip fixo; nesse caso, para acesso a internet você também precisará configurar o seu gateway com o comando "route add default gw x.x.x.x", sendo x.x.x.x o IP do seu modem.&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Passo 5: Configuracoes&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;        Placa de video:&lt;/span&gt; Acesse o site http://www.nvidia.com/Download/index.aspx?lang=en-us, escolha a placa de video (dica: a série da placa de video 7000M, que é a que tem nesse modelo de Acer, é GeForce 7 series). quando baixar o driver, saia do modo gráfico e vá para o terminal. entre na pasta em que está o driver da placa de video e digite "chmod +x nome-do-arquivo" para tornar ele executável; logo em seguida digite "./nome-do-arquivo" para executar o script de instalacão. Apenas siga o script; ele provavelmente terá que recompilar o kernel, apenas aceite. No final, escolha sobreescrever o arquivo xorg.conf com as novas configuracões. Entre no modo grafico para ver se funcionou; deve aparecer uma splash screen da nVidia.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    Mouse com scroll ("rodinha") e Resolução:&lt;/span&gt; No modo texto, digite xorgsetup; reponda as perguntas e no final sobreescreva o xorg.conf (dica: escolha a opcao de internacionalizacão (dead keys) para acentuar normalmente depois. Ao iniciar a interface gráfica tudo deve estar certo já.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    Modem wireless:&lt;/span&gt; Para instalar o modem wireless usaremos um site muito bom, o http://slackbuilds.org/. procure por  ndiswrapper, que é um programa que utilizando um driver de windows gera um modulo para o slackware. baixe os dois pacotes, o slackbuild tar.gz e o cdigo fonte. Não precisamos do .asc. pode ser no modo gráfico mesmo, mas precisamos de um terminal; sinta-se a vontade para sair do modo gráfico quando quiser, ou para emular um terminal no modo gráfico. No terminal, na pasta onde baixou os pacotes, digite "tar -xvvf pacote-do-slackbuild.tar.gz"; isso vai criar uma pasta ndiswrapper. digite "cp arquivo-codigo-fonte.tar.gz ndiswrapper/", para copiar o código fonte para dentro da pasta. entre na pasta e use o mesmo comando que usamos na placa de video, o chmod, com a linha "chmod +x ndiswrapper.SlackBuild" para dar permissão de execucão para o arquivo; logo em seguida, execute ele com "./ndiswrapper.SlackBuild". Ele vai compilar o codigo fonte e no final ele vai gerar um arquivo (ele vai lhe informar o nome no terminal) na pasta /tmp; esse arquivo é o pacote compilado do programa. Digite "installpkg /tmp/nomedoarquivo.tgz" para instalar o pacote. pronto, agora você está com o programa que gera o módulo da palca wireless compilado. Pegue o arquivo .inf do driver (que deve estar no CD que veio junto com o notebook, ou então pode pegar na internet). Vá até a pasta dele e escreva "ndiswrapper -i nomedoarquivo.inf". logo em seguida escreva "ndiswrapper -m", "ndiswrapper -ma" e "ndiswrapper -mi". Reinicie o computador para carregar o módulo e utilize o comando iwconfig para verificar se foi bem sucedido.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;    ACPI: &lt;/span&gt;Abra o arquivo /etc/rc.d/rc.modules e descomente as linhas que incluem "/sbin/modprobe ac" , "/sbin/modprobe battery", "/sbin/modprobe thermal" e "/sbin/modprobe processor".&lt;br /&gt;&lt;br /&gt;        Pronto, as configuracões básicas estão feitas! divirta-se :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-117068230619367211?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/117068230619367211/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=117068230619367211' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/117068230619367211'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/117068230619367211'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2008/11/instalando-o-slackware-121-no-acer.html' title='Instalando o Slackware 12.1 no Acer Aspire 5520 - 5912'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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-1938273234242264240.post-379314959933854451</id><published>2008-11-06T23:33:00.002-02:00</published><updated>2008-11-09T00:24:09.578-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Decepção com Ubuntu 8.10</title><content type='html'>Nessa semana tive uma grande decepção, que me incentivou a abrir esse blog de uma vez por todas. uso &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Ubuntu&lt;/span&gt; desde a edição 6 (eu acho), e sempre fiquei muito feliz com ele; ele nunca foi a distribuição mais estável, mas como é extremamente simples de configurar e de usar no dia-a-dia eu comecei a usar, até mesmo porque não tinha tempo para instalar outra &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;distro&lt;/span&gt;. Eu estava &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;atualmente&lt;/span&gt; usando a versão 8.04, e quando saiu a 8.10 resolvi formatar o meu PC e instalar do zero ao invés de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;atualizar&lt;/span&gt;. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Ok&lt;/span&gt;, tudo tranquilo, a instalação ficou (ainda) mais bonita. So far so good.&lt;br /&gt;&lt;br /&gt;   Reiniciei o PC e entrei no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Ubuntu&lt;/span&gt; para começar a configurar ele. Passei a minha &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;home&lt;/span&gt; para ele, e então fui verificar os drivers restritos. Para minha surpresa, O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Ubuntu&lt;/span&gt; reconheceu meu driver de rede &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;wireless&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;atheros&lt;/span&gt; e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;ativou&lt;/span&gt; o driver restrito; fiquei impressionado e feliz ao mesmo tempo, faltava apenas o da placa de vídeo. Quando tentei &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;ativar&lt;/span&gt;, ele pediu a senha. Digitei, e começou a baixar o driver. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Ok&lt;/span&gt;, fui fazer outras coisas na minha nova &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;instalação&lt;/span&gt; e quando voltei no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;gerenciador&lt;/span&gt; de driver restrito, ele ainda estava em 0%! Fui conferir a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;Internet&lt;/span&gt; e estava conectado, fiz alguns testes e a velocidade da minha &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_16"&gt;Internet&lt;/span&gt; estava boa. "Vou entrar em uma rede &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;wireless&lt;/span&gt; pra ver se é a rede &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;cabeada&lt;/span&gt;" , pensei; só se fosse em sonho. Apesar de ele reconhecer a minha placa de rede e acusar o driver restrito estar funcional, ele não me dava a opção para conectar em uma rede &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;wireless&lt;/span&gt; como ele normalmente dava! &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;fucei&lt;/span&gt; e não achei como conectar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;wireless&lt;/span&gt;. Com toda a boa vontade e acostumado com &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_22"&gt;Windows&lt;/span&gt; da vida, tentei reiniciar o computador pra ver se "pegava no tranco"; infelizmente o mesmo problema continuou. Passei a noite toda em cima e não consegui resolver.  Resultado: Fiquei de cara e instalei o Slackware 12.1.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-379314959933854451?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/379314959933854451/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=379314959933854451' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/379314959933854451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/379314959933854451'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2008/11/decepo-com-ubuntu-810.html' title='Decepção com Ubuntu 8.10'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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-1938273234242264240.post-2407401257724509455</id><published>2008-11-06T23:31:00.000-02:00</published><updated>2008-11-06T23:33:05.077-02:00</updated><title type='text'>Primeiro post</title><content type='html'>&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Oi&lt;/span&gt;, me chamo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Felipe&lt;/span&gt; e esse vai ser o meu blog. Aqui pretendo falar sobre coisas que gosto e/ou acho úteis. Esse é o primeiro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;post&lt;/span&gt;, então não tem nada de útil :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1938273234242264240-2407401257724509455?l=fotanus.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://fotanus.blogspot.com/feeds/2407401257724509455/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1938273234242264240&amp;postID=2407401257724509455' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/2407401257724509455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1938273234242264240/posts/default/2407401257724509455'/><link rel='alternate' type='text/html' href='http://fotanus.blogspot.com/2008/11/primeiro-post.html' title='Primeiro post'/><author><name>Felipe</name><uri>http://www.blogger.com/profile/01835856794659904602</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></feed>
