<?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-38610382</id><updated>2011-11-27T22:41:20.137-02:00</updated><category term='App Engine'/><category term='Carreira'/><category term='Programação'/><category term='Ruby'/><category term='Linux'/><category term='Geral'/><category term='Acadêmico'/><category term='Rails'/><category term='e-Karros'/><category term='Idéias'/><category term='Hardware'/><category term='Segurança'/><category term='Windows'/><category term='TI'/><category term='JavaScript'/><category term='Java'/><category term='JME'/><category term='Econodin'/><category term='Mercado'/><category term='CFP'/><category term='Web'/><category term='Telecomunicações'/><title type='text'>Per Ludum: Informática e tecnologia em geral</title><subtitle type='html'>Informações variadas sobre o mundo da informática e tecnologia.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>91</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-38610382.post-3193286579708100149</id><published>2011-08-31T00:35:00.001-03:00</published><updated>2011-08-31T00:35:15.995-03:00</updated><title type='text'>Enquete</title><content type='html'>Esse ano tem sido um pouco conturbado para mim. Tentei iniciar projetos próprios que foram por água abaixo, tentei ressuscitar um projeto antigo, tentei uma parceria que não deu certo, um que está dando certo, aprendi Ruby e Rails (a meta de aprender uma linguagem por ano está dando certo), abandonei Java por uns meses, voltei a programar em Java e finalmente encontrei um emprego em uma boa empresa (essa &lt;a href="http://www.ernet.com.br/"&gt;aqui&lt;/a&gt;). Nem tudo exatamente nessa mesma ordem...&lt;br /&gt;&lt;br /&gt;Depois de tudo isso cheguei a conclusão de que deve dar um tempo em projetos pessoais, principalmente por não ver mais sentido neles. Mas pretendo voltar a desenvolver um projeto pessoal e mantê-lo como um passatempo e base para aprendizado, para tanto decidi fazer uma enquete aqui no blog sobre qual sistema web seria mais interessante/útil para as pessoas. Irei trabalhar no sistema mais votado dessa enquete.&lt;br /&gt;&lt;br /&gt;As opções são (com mais detalhes):&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Um sistema de controle de manutenção para veículos - É o &lt;a href="http://e-karros.appspot.com/"&gt;e-Karros&lt;/a&gt; que já apresentei aqui, mas será reescrito e melhorado caso seja escolhido;&lt;/li&gt;&lt;li&gt;Um sistema de controle financeiro para casais (conta conjunta) - Seria uma evolução do &lt;a href="http://econodin.appspot.com/"&gt;Econodin&lt;/a&gt;, preparado para facilitar a vida dos casais que querem controlar cada um seu dinheiro, mas querem também controlar juntos as finanças do casal;&lt;/li&gt;&lt;li&gt;Uma rádio online com playlists pessoais e recursos sociais - Cansado de ouvir rádios que só tocam as músicas da moda? Quer ouvir novos sons, músicas recomendadas por outras pessoas? Quer criar playlists facilmente e mantê-la em sua conta para ouvir a hora que quiser? Tentaremos resolver esses problemas com uma nova rádio online;&lt;/li&gt;&lt;li&gt;Um sistema onde você pode registrar suas viagens pelo smartphone - Você registra suas viagens traçando uma rota através do GPS do smartphone, adiciona fotos (e talvez vídeos curtos) dos lugares que você visitou diretamente do smartphone com a geolocalização da foto e com os devidos comentários, e poderá compartilhar a viagem com os amigos através de um sistema web. &lt;/li&gt;&lt;/ul&gt;Todos com opções de contas gratuitas para utilização. Votem ai ao lado. Sugestões e perguntas são sempre benvindas.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-3193286579708100149?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/3193286579708100149/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=3193286579708100149' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3193286579708100149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3193286579708100149'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/08/enquete.html' title='Enquete'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7863918283834521585</id><published>2011-04-14T19:15:00.001-03:00</published><updated>2011-04-14T19:19:45.356-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Rails - Formatando data para exibição</title><content type='html'>Dica para formatar data e hora para exibição no Rails.&lt;br /&gt;&lt;br /&gt;No arquivo &lt;i&gt;/config/environment.rb&lt;/i&gt; crie entradas de acordo com a formatação que você precisa, como por exemplo;&lt;br /&gt;&lt;pre class="Ruby" name="code"&gt;Time::DATE_FORMATS[:data_br] = "%d/%m/%Y"&lt;br /&gt;Time::DATE_FORMATS[:dia_semana] = "%A"&lt;br /&gt;Time::DATE_FORMATS[:hora] = "%H:%M horas"&lt;br /&gt;&lt;/pre&gt;Feito isso, agora podemos utilizar a formatação chamando o método &lt;i&gt;to_s&lt;/i&gt; para a data em questão passando como parâmetro o símbolo definido, como por exemplo:&lt;br /&gt;&lt;pre class="Ruby" name="code"&gt;&amp;lt;%= @objeto.data.to_s(:dia_semana) %&amp;gt;&amp;nbsp;&lt;/pre&gt;O resultado é o dia da semana escrito por extenso.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-7863918283834521585?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7863918283834521585/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7863918283834521585' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7863918283834521585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7863918283834521585'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/04/rails-formatando-data-para-exibicao.html' title='Rails - Formatando data para exibição'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-6640131834444164840</id><published>2011-04-14T18:58:00.000-03:00</published><updated>2011-04-14T18:58:14.171-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Rails - Exibindo conteúdo HTML gravado no banco de dados</title><content type='html'>As vezes precisamos salvar algum conteúdo HTML (gerado por um editor HTML por exemplo) no banco de dados e depois recuperá-lo e exibir em uma página web. Nos projetos Rails que tenho trabalhado ultimamente tenho essa necessidade, porém quando ia exibir esse conteúdo, o mesmo era exibido como texto puro mostrando todas as tags HTML.&lt;br /&gt;&lt;br /&gt;A solução para isso foi utilizar o helper "raw" do Rails, o qual faz com que as tags HTML sejam corretamente interpretadas. Para utilizar pasta fazer o seguinte:&lt;br /&gt;&lt;br /&gt;&lt;pre class="Ruby" name="code"&gt;&amp;lt;%= raw @objeto.texto_html %&amp;gt;&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/38610382-6640131834444164840?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/6640131834444164840/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=6640131834444164840' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6640131834444164840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6640131834444164840'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/04/rails-exibindo-conteudo-html-gravado-no.html' title='Rails - Exibindo conteúdo HTML gravado no banco de dados'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4008479198291274035</id><published>2011-04-14T18:45:00.000-03:00</published><updated>2011-04-14T18:45:08.590-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='JavaScript'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>Trabalhando com SVG e JavaScript</title><content type='html'>No projeto que estou trabalhando atualmente tenho a necessidade de criar um editor de capas para livros online. Como não encontrei nada que me servisse já pronto, acabei por criando um editor simples do zero.&lt;br /&gt;&lt;br /&gt;Pelas características do editor, cheguei a conclusão de que o melhor seria criá-lo utilizando SVG, e optei pela biblioteca &lt;a href="http://raphaeljs.com/"&gt;Raphaël JS&lt;/a&gt; para trabalhar com SVG via JavaScript.&lt;br /&gt;&lt;br /&gt;Utilizar a biblioteca é simples, tem bastante recursos, e o que não está descrito na documentação pode ser encontrado com uma pesquisa no Google e uma boa lida na &lt;a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/"&gt;especificação do SVG&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Uma coisa muito interessante no Raphaël JS é a possibilidade de se utilizar plugins, e um plugin muito interessante que precisei utilizar é o &lt;a href="https://github.com/jspies/raphael.serialize"&gt;raphael.serialize&lt;/a&gt;, que tem a função de exportar para json os dados SVG do trabalho feito com a biblioteca, e também de importar os dados em formato json novamente para a biblioteca Raphaël JS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4008479198291274035?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4008479198291274035/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4008479198291274035' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4008479198291274035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4008479198291274035'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/04/trabalhando-com-svg-e-javascript.html' title='Trabalhando com SVG e JavaScript'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-3212934224121769660</id><published>2011-03-31T15:09:00.001-03:00</published><updated>2011-03-31T15:11:19.924-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Devise: Atualizando dados do usuário sem informar a senha</title><content type='html'>No projeto Rails que estou trabalhando estou utilizando o &lt;a href="https://github.com/plataformatec/devise/"&gt;Devise&lt;/a&gt; para autenticação, e tive a necessidade de deixar o usuário alterar seus dados sem precisar informar sua senha.&lt;br /&gt;&lt;br /&gt;Após testar algumas opções do &lt;a href="https://github.com/plataformatec/devise/wiki/How-To:-Allow-users-to-edit-their-account-without-providing-a-password%20"&gt;how-to&lt;/a&gt; do Devise, a melhor forma de fazer isso foi sobrescrever o método update_with_password, adicionando ao model o seguinte método:&lt;br /&gt;&lt;br /&gt;&lt;pre class="Ruby" name="code"&gt;  def update_with_password(params={}) &lt;br /&gt;    if params[:password].blank? &lt;br /&gt;      params.delete(:password) &lt;br /&gt;      params.delete(:password_confirmation) if params[:password_confirmation].blank? &lt;br /&gt;    end &lt;br /&gt;    update_attributes(params) &lt;br /&gt;  end&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Feito isso, está pronto. Agora os usuário poderão alterar seus dados sem precisar informar a senha, e para alterar a senha basta informar a nova senha e a confirmação da nova senha.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-3212934224121769660?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/3212934224121769660/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=3212934224121769660' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3212934224121769660'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3212934224121769660'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/03/devise-atualizando-dados-do-usuario-sem.html' title='Devise: Atualizando dados do usuário sem informar a senha'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7233246949446033944</id><published>2011-03-22T20:45:00.000-03:00</published><updated>2011-03-22T20:45:57.981-03:00</updated><title type='text'>Utilizando o form Select do Ruby on Rails - dica1</title><content type='html'>Ótima dica de como se utilizar o form Select do Rails com preenchimento manual das opções.&lt;br /&gt;&lt;a href="http://www.dica1.com.br/utilizando-o-form-select-do-ruby-on-rails/"&gt;Utilizando o form Select do Ruby on Rails - dica1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-7233246949446033944?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.dica1.com.br/utilizando-o-form-select-do-ruby-on-rails/' title='Utilizando o form Select do Ruby on Rails - dica1'/><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7233246949446033944/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7233246949446033944' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7233246949446033944'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7233246949446033944'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/03/utilizando-o-form-select-do-ruby-on.html' title='Utilizando o form Select do Ruby on Rails - dica1'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8985861315520987063</id><published>2011-03-22T18:59:00.000-03:00</published><updated>2011-03-22T18:59:59.548-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Jquery-rails - Problema ao cancelar uma confirmação</title><content type='html'>No projeto que estou desenvolvendo agora me deparei com o seguinte problema: ao clicar em um link para excluir um registro, clicando em cancelar no diálogo de confirmação a exclusão era executada.&lt;br /&gt;&lt;br /&gt;Solução: Substituir o arquivo rails.js pelo arquivo mais recente &lt;a href="https://github.com/rails/jquery-ujs/blob/master/src/rails.js"&gt;https://github.com/rails/jquery-ujs/blob/master/src/rails.js&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-8985861315520987063?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8985861315520987063/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8985861315520987063' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8985861315520987063'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8985861315520987063'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/03/jquery-rails-problema-ao-cancelar-uma.html' title='Jquery-rails - Problema ao cancelar uma confirmação'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2071765684250897422</id><published>2011-03-01T21:29:00.000-03:00</published><updated>2011-03-01T21:29:54.092-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Brazilian Rails</title><content type='html'>Acabo de encontrar um projeto muito interessante para programadores Ruby brasileiros. O projeto &lt;a href="https://github.com/tapajos/brazilian-rails"&gt;Brazilian Rails &lt;/a&gt;"é um conjunto de gems para serem usadas com Ruby e com o Ruby on Rails e  tem como objetivo unir alguns recursos úteis para os desenvolvedores  brasileiros".&lt;br /&gt;&lt;br /&gt;Muito útil.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-2071765684250897422?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2071765684250897422/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2071765684250897422' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2071765684250897422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2071765684250897422'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/03/brazilian-rails.html' title='Brazilian Rails'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4321158215768940656</id><published>2011-03-01T17:08:00.000-03:00</published><updated>2011-03-01T17:08:15.570-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Traduzindo o will_paginate</title><content type='html'>Continuando com as dicas so Ruby on Rails, segue o link com a dica de como fazer a tradução do will_paginate utilizando o suporte a i18n.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.areacriacoes.com.br/2008/12/1/dica-traduzindo-will_paginate"&gt;http://blog.areacriacoes.com.br/2008/12/1/dica-traduzindo-will_paginate&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4321158215768940656?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4321158215768940656/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4321158215768940656' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4321158215768940656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4321158215768940656'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/03/traduzindo-o-willpaginate.html' title='Traduzindo o will_paginate'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4367574759967994963</id><published>2011-02-24T20:34:00.000-03:00</published><updated>2011-02-24T20:34:21.623-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ruby'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Rails'/><title type='text'>Aplicando localização pt-BR no Ruby on Rails</title><content type='html'>Desde pouco mais de um mês para cá decidi aprender Ruby on Rails. Ainda estou no início da aprendizagem, mas já pude notar que a diferença de produtividade frente a Java é gritante. Outra coisa que posso dizer é que é muito gostoso desenvolver com RoR.&lt;br /&gt;&lt;br /&gt;Estou desenvolvendo uma pequena aplicação para aprender melhor, e a ideia é postar aqui algumas coisas que vou aprendendo sobre a linguagem e o framework. A primeira dica é sobre a localização da aplicação Rails para pt-BR, que contém a tradução das mensagens e rótulos das interfaces também (definição simplista).&lt;br /&gt;&lt;br /&gt;O primeiro passo é pegar o arquivo de localização pt-BR.yml em &lt;a href="https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale"&gt;https://github.com/svenfuchs/rails-i18n/tree/master/rails/locale&lt;/a&gt; e colocá-lo no diretório &lt;i&gt;config/locales&lt;/i&gt; de sua aplicação.&lt;br /&gt;&lt;br /&gt;Em seguida deve-se definir qual a localização padrão da aplicação. Para isso, no arquivo &lt;i&gt;config/application.rb&lt;/i&gt; deve-se adicionar a linha&lt;br /&gt;&lt;br /&gt;config.i18n.default_locale = "pt-BR"&lt;br /&gt;&lt;br /&gt;Pronto! Agora é só conferir. Caso queria alguma personalização, é só editar o arquivo &lt;i&gt;config/locales/pt-BR.yml&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Para outras localizações é a mesma coisa.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4367574759967994963?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4367574759967994963/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4367574759967994963' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4367574759967994963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4367574759967994963'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/02/aplicando-localizacao-pt-br-no-ruby-on.html' title='Aplicando localização pt-BR no Ruby on Rails'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2391265927218102664</id><published>2011-01-11T11:08:00.000-02:00</published><updated>2011-01-11T11:08:25.874-02:00</updated><title type='text'>As 10 perguntas que você precisa se fazer todo mês</title><content type='html'>&lt;a href="http://www.saiadolugar.com.br/2011/01/11/as-10-perguntas-que-voce-precisa-se-fazer-todo-mes/"&gt;As 10 perguntas que você precisa se fazer todo mês&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-2391265927218102664?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.saiadolugar.com.br/2011/01/11/as-10-perguntas-que-voce-precisa-se-fazer-todo-mes/' title='As 10 perguntas que você precisa se fazer todo mês'/><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2391265927218102664/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2391265927218102664' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2391265927218102664'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2391265927218102664'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2011/01/as-10-perguntas-que-voce-precisa-se.html' title='As 10 perguntas que você precisa se fazer todo mês'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-6530994626209669399</id><published>2010-12-07T21:18:00.000-02:00</published><updated>2010-12-07T21:18:19.833-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='e-Karros'/><title type='text'>e-Karros - Sistema de manutenção automotiva</title><content type='html'>&lt;div style="text-align: justify;"&gt;No início do ano dei a notícia que iria iniciar um novo projeto e que em 1 mês daria mais detalhes. Bom, acontece que tive muita correria e acabei abandonando um pouco o blog, nem postei do que se tratava.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Esse projeto é o &lt;a href="http://e-karros.appspot.com/"&gt;e-Karros&lt;/a&gt;, que já comentei sobre ele um pouco &lt;a href="http://perludum.blogspot.com/2010/11/appengine-armazenando-arquivos-no.html"&gt;aqui&lt;/a&gt;. Nesse post falarei melhor sobre ele.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Quem tem carro e tenta manter sua manutenção em dia sabe que é bem complicado. Qualquer distração é suficiente para que esqueçamos de trocar o óleo do motor com a quilometragem certa. E aqueles adesivos que é colado no para-brisa do carro com as informações sobre a última manutenção e da futura manutenção? Pelo menos comigo eles sempre acabam esquecidos, isso quando não descolam e são perdidos.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Tendo essa dificuldade procurei uma opção de programa que me ajudasse com isso, porém não encontrei nada satisfatório, somente um online que peca por ter um gerenciamento fraco, e alguns para desktop, que são muito completos visando ser um controle de frota para empresas, e exatamente por isso são complexos demais.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;A ideia era ter um sistema simples, que pudesse ter um gerenciamento das manutenções do carro de forma fácil, podendo adicionar, alterar e excluir qualquer manutenção que eu quisesse, e que fosse online. Assim nasceu o &lt;a href="http://e-karros.appspot.com/"&gt;e-Karros&lt;/a&gt;.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nos últimos meses venho trabalhando nele. O "lançamento" do sistema foi a pouco menos de 3 meses. Coloquei lançamento entre aspas pois não fiz muita divulgação do sistema, limitando-se a um tópico no fórum do &lt;a href="http://www.corsaclube.com.br/"&gt;Corsa Clube&lt;/a&gt;, o que levou ao cadastro de pouco mais de 100 usuários. É pouco, mas até que anima pelo fato de ver que as pessoas ao menos tem interesse no sistema.&lt;/div&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;div style="text-align: left;"&gt; As funcionalidades atuais do sistema são:&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;Cadastro de carros&lt;/b&gt; - é possível cadastrar até 3 carros. Além dos itens mais comuns encontrado nos carros, é possível adicionar acessórios ao carro, além de uma imagem para o carro;&lt;/li&gt;&lt;li&gt;&lt;b&gt;Agendamento de manutenções&lt;/b&gt; - agenda os serviços de manutenção para o carro. Se um serviço já foi previamente realizado o sistema busca a última ocorrência. É possível também que o sistema calcule a data do próximo serviço de manutenção de com base na última realização do serviço, e nos dados do carro. O sistema envia um e-mail informando da proximidade de um serviço 3 dias antes da data agendada.&lt;/li&gt;&lt;/ul&gt;&lt;div style="text-align: justify;"&gt; Como disse, é um sistema simples. Mas ainda não está nem perto do que gostaria que o sistema fosse. Mas estou trabalhando para chegar lá ;-).&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Conforme for adicionando novas funcionalidades no sistema informarei aqui.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-6530994626209669399?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/6530994626209669399/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=6530994626209669399' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6530994626209669399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6530994626209669399'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2010/12/e-karros-sistema-de-manutencao.html' title='e-Karros - Sistema de manutenção automotiva'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-1373844366486443939</id><published>2010-11-25T22:01:00.000-02:00</published><updated>2010-11-25T22:01:13.234-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>Adicionar SyntaxHighlighter no Blogger</title><content type='html'>&lt;div style="text-align: justify;"&gt;Ao iniciar o último posta, com a necessidade de postar trechos de código java, fui procurar uma forma de inserir caixas de código aqui no blogguer e acabei encontrando o SyntaxHighlighter.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;O link para um tutorial de como instalá-lo no blogger é encontrado aqui: &lt;a href="http://explicacaodanet.blogspot.com/2010/03/adicionar-syntaxhighlighter-no-blogger.html"&gt;http://explicacaodanet.blogspot.com/2010/03/adicionar-syntaxhighlighter-no-blogger.html&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-1373844366486443939?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/1373844366486443939/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=1373844366486443939' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1373844366486443939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1373844366486443939'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2010/11/adicionar-syntaxhighlighter-no-blogger.html' title='Adicionar SyntaxHighlighter no Blogger'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-9135572887449478350</id><published>2010-11-25T21:53:00.004-02:00</published><updated>2010-11-25T21:57:18.764-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='App Engine'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='e-Karros'/><title type='text'>Appengine - Armazenando arquivos no Datastore</title><content type='html'>&lt;div style="text-align: justify;"&gt;Já faz algum tempo em que eu tenho utilizado o Google App Engine para desenvolver meus projetos pessoais em Java, que atualmente o maior é o &lt;a href="http://e-karros.appspot.com/"&gt;e-Karros&lt;/a&gt;. Apesar dos vários benefícios da plataforma, existem alguns pontos que trazem dificuldades ao desenvolvimento. A dificuldade mais recente que encontrei foi o armazenamento de arquivos no Datastore do App Engine. No meu caso específico foi o armazenamento de imagens. Após um bom tempo de pesquisa na net encontrei a solução abaixo.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Para podermos armazenar arquivos precisamos utilizar o tipo de dado Blob, através da &lt;a href="http://code.google.com/intl/en/appengine/docs/java/blobstore/"&gt;API Blobstore&lt;/a&gt;. Bom, em primeiro lugar temos que criar nossa classe que irá armazenar o arquivo, que neste caso pode ser uma imagem:&lt;/div&gt;&lt;pre class="Java" name="code"&gt;import javax.jdo.annotations.IdGeneratorStrategy;&lt;br /&gt;import javax.jdo.annotations.IdentityType;&lt;br /&gt;import javax.jdo.annotations.PersistenceCapable;&lt;br /&gt;import javax.jdo.annotations.Persistent;&lt;br /&gt;import javax.jdo.annotations.PrimaryKey;&lt;br /&gt;import com.google.appengine.api.datastore.Blob;&lt;br /&gt;&lt;br /&gt;@PersistenceCapable(identityType = IdentityType.APPLICATION)&lt;br /&gt;public class Imagem {&lt;br /&gt;    @PrimaryKey&lt;br /&gt;    @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)&lt;br /&gt;    private Long id;&lt;br /&gt;&lt;br /&gt;    @Persistent&lt;br /&gt;    private Blob imagem;&lt;br /&gt;&lt;br /&gt;    public Long getId() {&lt;br /&gt;        return id;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setId(Long id) {&lt;br /&gt;        this.id = id;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public void setImagem(Blob imagem) {&lt;br /&gt;        this.imagem = imagem;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public Blob getImagem() {&lt;br /&gt;        return imagem;&lt;br /&gt;    }&lt;br /&gt;       &lt;br /&gt;    public void adiciona() throws Exception {&lt;br /&gt;        new ImagemDAO().adiciona(this);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    public ImagemCarro buscaImagem(Long id) {&lt;br /&gt;        return new ImagemDAO().buscaImagem(id);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Vamos supor que nossa classe ImagemDAO já esteja implementada.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Após isso temos nossa classe Servlet que irá receber o arquivo que foi feito upload, tratá-lo e chamar o método de gravação. Para se "caputrar" o arquivo e converter para o formato da classe Blob (array de bytes), precisando da biblioteca &lt;a href="http://commons.apache.org/io/"&gt;Commons IOUtils&lt;/a&gt;, da Apache.&lt;/div&gt;&lt;br /&gt;&lt;pre class="Java" name="code"&gt;import org.apache.commons.io.IOUtils;&lt;br /&gt;&lt;br /&gt;public class ArmazenaImagem extends HttpServlet {&lt;br /&gt; &lt;br /&gt;    public void doPost(HttpServletRequest req, HttpServletResponse resp) {&lt;br /&gt;        try {&lt;br /&gt;            InputStream imgStream = req.getInputStream();&lt;br /&gt;            Blob imageBlob = new Blob(IOUtils.toByteArray(imgStream));&lt;br /&gt;&lt;br /&gt;            Imagem img = new Imagem();&lt;br /&gt;            img.setImagem(imageBlob);&lt;br /&gt;&lt;br /&gt;            img.adiciona();&lt;br /&gt;&lt;br /&gt;            resp.setStatus(HttpServletResponse.SC_OK);&lt;br /&gt;            resp.setContentType("text/plain");&lt;br /&gt;            resp.getWriter().println( "{success: true}" );&lt;br /&gt;&lt;br /&gt;        } catch (Exception e {&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;            resp.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);&lt;br /&gt;            resp.setContentType("text/plain");&lt;br /&gt;            resp.getWriter().println( "{success: false}" );&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;Como podemos ver, é bem simples gravar um arquivo no Datastore.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Aqui uma pausa para explicar a linha resp.getWriter().println( "{success: true}" ); e seu equivalente no bloco catch. É um requerimento da plugin JavaScript &lt;a href="http://valums.com/ajax-upload/"&gt;Ajax Upload&lt;/a&gt;, o melhor que encontrei para esse trabalho ;-). A utilização de um plugin para upload foi a única forma que eu encontrei para enviar o arquivo ao servidor utilizando AJAX, porém ainda estou a procura de uma outra forma.&lt;/div&gt;&lt;br /&gt;A recuperação da imagem é igualmente simples. Abaixo segue o servlet:&lt;br /&gt;&lt;pre class="Java" name="code"&gt;public class BuscaIMagemServlet extends HttpServlet {&lt;br /&gt;    public void doGet(HttpServletRequest req, HttpServletResponse resp) {&lt;br /&gt;        try {&lt;br /&gt;            resp.setContentType("image/jpeg");&lt;br /&gt;            resp.setHeader("Content-Disposition","inline");&lt;br /&gt;   &lt;br /&gt;            Long id = Long.parseLong( req.getParameter( "id" ) );&lt;br /&gt;            Imagem imagem = new Imagem().buscaImagem(ido);&lt;br /&gt;   &lt;br /&gt;            Blob blobImagem = imagem.getImagem();&lt;br /&gt;            byte[] btImg = blobImagem.getBytes();&lt;br /&gt;   &lt;br /&gt;            resp.getOutputStream().write(btImg);&lt;br /&gt;   &lt;br /&gt;        } catch (Exception e) {&lt;br /&gt;            e.printStackTrace();&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div style="text-align: justify;"&gt;É somente isso. Ao recuperarmos a imagem do Datastore precisamos transformá-la em um array de bytes.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Nesse caso usei o campo id para recuperar uma imagem específica. Para exibir a imagem na página precisamos inserir a tag img em nossa página:&lt;/div&gt;&lt;pre class="Java" name="code"&gt;&lt;img alt="Sem Imagem" src="/buscaImagem?id=1" /&gt;&lt;br /&gt;&lt;/pre&gt;Onde '/buscaImagem?id=1' é o nosso servlet que recupera a imagem, e id=1 é o parâmetro para buscarmos uma imagem específica (o número 1 q coloquei é só um exemplo).&lt;br /&gt;&lt;br /&gt;Espero que este breve tutorial sirva para que outras pessoas não fiquem batendo tanta cabeça quanto eu ;-).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-9135572887449478350?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/9135572887449478350/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=9135572887449478350' title='5 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/9135572887449478350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/9135572887449478350'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2010/11/appengine-armazenando-arquivos-no.html' title='Appengine - Armazenando arquivos no Datastore'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5620406081640963025</id><published>2010-10-19T17:30:00.000-02:00</published><updated>2010-10-19T17:30:35.805-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><category scheme='http://www.blogger.com/atom/ns#' term='Mercado'/><category scheme='http://www.blogger.com/atom/ns#' term='Carreira'/><title type='text'>Início de nova fase</title><content type='html'>&lt;div style="text-align: justify;"&gt;Já faz algum tempo que venho notando que a quantidade de micro empresas, principalmente pequenos estabelecimentos comerciais vem aumentando bastante. Com isso fica em evidencia uma área bem interessante para atuar como técnico ou consultor de informática.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Bom, geralmente essas empresas, por seu porte, não tem necessidade de um profissional de TI trabalhando 100% dedicado para atende-la, e isso nem seria praticável. Mas com isso aparece um problema: algumas dessas empresas não veem o benefício que a orientação de um profissional de TI pode trazer para a empresa. Dessa forma costumamos ver muitas empresas subutilizando recursos de informática ou mesmo não utilizando nem mesmo um computador.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Vendo este cenário conclui que uma boa opção para direcionar minha carreira é focando essas empresas, oferecendo-lhes serviços na área de informática com qualidade, que vão desde a simples manutenção de computadores até desenvolvimento de sistemas, passando pela orientação de qual tecnologia a empresa deve adquirir.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Esse é o novo foco que estou dando para minha carreira, e acredito que posso ter sucesso nesse caminho ajudando essas empresas a também alcançar o sucesso.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-5620406081640963025?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5620406081640963025/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5620406081640963025' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5620406081640963025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5620406081640963025'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2010/10/inicio-de-nova-fase.html' title='Início de nova fase'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8872125769590746115</id><published>2010-05-26T11:05:00.000-03:00</published><updated>2010-05-26T11:05:03.743-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Alterar nome da interface de rede no Linux</title><content type='html'>Acabo de precisar alterar alterar o nome das interfaces de rede do servidor que estou preparando. Como não sabia, uma pesquisa rápida me levou a essa pequena dica &lt;a href="http://www.vivaolinux.com.br/dica/Alterar-nome-de-interface-de-rede-eth0-para-eth1-e-vice-versa/"&gt;http://www.vivaolinux.com.br/dica/Alterar-nome-de-interface-de-rede-eth0-para-eth1-e-vice-versa/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Muito fácil.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-8872125769590746115?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8872125769590746115/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8872125769590746115' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8872125769590746115'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8872125769590746115'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2010/05/alterar-nome-da-interface-de-rede-no.html' title='Alterar nome da interface de rede no Linux'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2119540060656774974</id><published>2010-01-08T13:37:00.000-02:00</published><updated>2010-01-08T13:37:27.293-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Econodin'/><title type='text'>Mudança na hospedagem do Econodin</title><content type='html'>&lt;div style="text-align: justify;"&gt;Depois de algum tempo sem postar nada, aqui estou eu novamente. &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;Depois do fim das aulas me dediquei a mudança de hospedagem do &lt;a href="http://econodin.appspot.com/"&gt;Econodin&lt;/a&gt; já que tive alguns problema técnicos com a antiga hospedagem. E a hospedagem que escolhi foi o Google Appengine. Os motivos principais foram 2: gratuidade do serviço enquanto é pouco utilizado e estabilidade do serviço. Apesar de haverem restrições quanto a recursos do Java que podem ser utilizados (como descrito &lt;a href="http://blog.caelum.com.br/2009/11/17/escrevendo-e-migrando-aplicacoes-para-o-google-app-engine/"&gt;neste post&lt;/a&gt; no blog da Caelum), só o fato de não precisar se preocupar com infra estrutura de produção e escalabilidade para rodar um sistema já compensa todo o trabalho de migração, ainda mais se você trabalha sozinho ;-). E por falar em migração, sim, foi trabalhosa. Tive que alterar muitas coisas, principalmente relacionada a persistência de dados, mas valeu a pena, e ainda aproveitei para revisar e melhorar o 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;Agora sobre o &lt;a href="http://econodin.appspot.com/"&gt;Econodin&lt;/a&gt;, as principais mudanças para usuários é que agora para utilizar o sistema basta ter uma conta Google, não é necessário fazer mais um cadastro. Essa é uma das grandes vantagens de se utilizar a plataforma da Google. A outra novidade é a implementação de lançamentos automáticos, isto é, você cadastra os lançamentos que você quer que sejam feitos mensalmente ou anualmente e, para adicioná-los a um mês, basta apenas clicar em um botão. Acredito que essa facilidade seja fundamental para a utilização do sistema.&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;Por hora essas são as novidades. Para o próximo mês espero já ter mais uma novidade para vocês, um novo projeto que pretendo iniciar nas próximas semanas.&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/38610382-2119540060656774974?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2119540060656774974/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2119540060656774974' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2119540060656774974'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2119540060656774974'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2010/01/mudanca-na-hospedagem-do-econodin.html' title='Mudança na hospedagem do Econodin'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-3410930279027073176</id><published>2009-12-03T09:04:00.001-02:00</published><updated>2009-12-03T09:04:33.594-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><title type='text'>Efeitos interessantes no buscador do Google</title><content type='html'>&lt;div style="text-align: justify;"&gt;Não sei quando foi alterado, mas hoje quando acessei pela primeira vez o buscador do Google me deparei com a seguinte tela:&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: justify;"&gt;&lt;a href="http://2.bp.blogspot.com/_9_XuePBH79c/SxeZ-7ps1mI/AAAAAAAAAH8/aAiP5LiftQ4/s1600/google.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="387" src="http://2.bp.blogspot.com/_9_XuePBH79c/SxeZ-7ps1mI/AAAAAAAAAH8/aAiP5LiftQ4/s640/google.JPG" width="640" /&gt;&lt;/a&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: justify;"&gt;Nunca havia visto essa página mais limpa... Porém as demais informações aparecem após algum evento, como a movimentação do mouse, a utilização do Tab ou Enter. Bem interessante, e vem da política da Google de manter suas páginas o mais simples possível e, claro, destacar ainda mais sua marca.&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/38610382-3410930279027073176?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/3410930279027073176/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=3410930279027073176' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3410930279027073176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3410930279027073176'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/12/efeitos-interessantes-no-buscador-do.html' title='Efeitos interessantes no buscador do Google'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_9_XuePBH79c/SxeZ-7ps1mI/AAAAAAAAAH8/aAiP5LiftQ4/s72-c/google.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2594732235090387412</id><published>2009-11-10T09:19:00.001-02:00</published><updated>2009-11-10T10:26:03.042-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Problemas na atualização para o Kubuntu 9.10</title><content type='html'>&lt;div style="text-align: justify;"&gt;Atualizei o computador de minha casa com o Kubuntu 9.10 e vou postar minhas impressões sobre alguns pontos dessa nova versão e relatar alguns problemas que tive e que mais pessoas podem ter.&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: justify;"&gt;Como instalar o sistema do zero é algo muito trabalhoso, demorado, tem que se configurar tudo novamente, optei por fazer a atualização automática do sistema, mais prática e rápida... pelo menos era assim que eu pensava. Bom, já esperava uma demora para baixar as centenas de megabytes necessários, e depois de algumas horas de download finalmente o sistema começou a ser atualizado de fato, e alguns minutos depois, e somente um questionamento se eu queria ou não manter o antigo arquivo de configuração do MySQL e o aviso de que a versão instalada do gcc não era compatível com a nova versão do sistema, o sistema de atualização automática terminou o seu trabalho sem nenhum problema, ou quase nenhum. No geral o processo de atualização é fácil e rápido, sistema muito bem desenvolvido.&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;Após reiniciar o computador notei dois grandes problemas: o som estava mudo e a interface gráfica apresentava inconsistência, chegando a deixar a tela toda preta, algumas vezes nem mostrava a tela de login. Sobre o som eu procurei alguma solução na internet, mas como não tive sucesso com as dicas resolvi partir para resolução do problema de vídeo.&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;Tentei reinstalar o driver da nvidia, porém quando o sistema tentou compilar o módulo pro kernel atual deu uma mensagem de erro dizendo que a versão do compilador era incompatível com a versão do kernel atual. Achei muito estranho a mensagem e fui conferir a versão do kernel q estava rodando, e era a versão 2.6.28, porém a versão do kernel instalada no Kubuntu 9.10 é a 2.6.31. Foi ai que percebi que o grub não havia sido atualizado para dar boot pela versão mais nova do kernel, tarefa que era para ser realizada automaticamente pelo sistema de atualização. Bom, eu atualizei o arquivo \boot\grub\menu.lst adicionando uma entrada para o novo kernel e reiniciei o sistema. Antes de acessar o KDE eu reinstalei o driver da nvidia, dessa vez sem erro nenhum, depois voltei para a interface gráfica e fiz login no KDE... E olha só, todos os problemas resolvidos. Não sei se o que ocorreu comigo ocorreu com mais alguém exatamente da mesma forma, mas fica a dica para quem tiver um problema parecido.&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;Fora esse contratempo o sistema está ótimo. O visual mudou, saiu de um tema escuro para um tema mais claro, bem agradável. Mas o que me impressionou mesmo foi o tempo de inicialização do sistema. Em meu modesto computador (Athlon 64 de 2 GHz e 1 GB de RAM, quase quatro anos de uso) antes da atualização levava mais de um minuto desde o grub até a tela de login, agora o sistema inicializa num tempo entre 40 e 45 segundos!! Uma melhoria bem notável. Não utilizei muito o sistema desde a atualização, porém tive uma leve impressão que o sistema como um todo está mais rápido. Outro ponto interessante desta versão é a integração como o serviço Ubuntu One, que é um sistema de armazenamento de arquivos na internet (falarei mais dele num próximo post).&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/38610382-2594732235090387412?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2594732235090387412/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2594732235090387412' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2594732235090387412'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2594732235090387412'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/11/problemas-na-atualizacao-para-o-kubuntu.html' title='Problemas na atualização para o Kubuntu 9.10'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-3660677926844761966</id><published>2009-10-16T09:41:00.000-03:00</published><updated>2009-10-16T09:41:29.477-03:00</updated><title type='text'>Blog "A Vez do Brasil"</title><content type='html'>Acabo de criar o blog "A Vez do Brasil". Este novo blog tem motivação política, e tem como objetivo a conscientização política dos brasileiros. Segue abaixo o link para o blog:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: large;"&gt;&lt;b&gt;&lt;a href="http://avezdobrasil.blogspot.com/"&gt;http://avezdobrasil.blogspot.com&lt;/a&gt;&lt;/b&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-3660677926844761966?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/3660677926844761966/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=3660677926844761966' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3660677926844761966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3660677926844761966'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/10/blog-vez-do-brasil.html' title='Blog &quot;A Vez do Brasil&quot;'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7688627478368427049</id><published>2009-10-01T11:10:00.002-03:00</published><updated>2009-10-01T11:27:54.086-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><category scheme='http://www.blogger.com/atom/ns#' term='Mercado'/><category scheme='http://www.blogger.com/atom/ns#' term='Carreira'/><title type='text'>Porque o mercado de TI brasileiro não decola?</title><content type='html'>&lt;div style="text-align: justify;"&gt;Porque no Brasil não existem muitas empresas de TI que se destacam? Esse assunto vem me chamando atenção já faz algum tempo e essa semana tive duas oportunidades de discutir sobre isso, &lt;a href="http://www.guj.com.br/posts/list/139688.java"&gt;uma discussão no fórum do GUJ&lt;/a&gt; (não diretamente relacionado) e uma conversa com alguns amigos da faculdade.&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;Sim, eu acredito que o mercado de TI brasileiro está muito carente de empresas de destaque, e isso é notado facilmente se contarmos quantos softwares e sites (excluindo-se os de notícia) que usamos diariamente são mantidos por empresas nacionais. A maioria que fez essa conta deve ter descoberto que somente poucos são nacionais, isso se tiver um pelo menos. Outro ponto que é fácil notar é a pequena quantidade de empresas que desenvolvem software desktop e sistemas web visando como público alvo os usuários em geral, ou seja, sem mirar somente o meio corporativo ou nichos específicos de usuários. E ainda podemos notar que 80% das vagas&amp;nbsp; do mercado de trabalho para profíssionais de TI está concentrado em vagas para indústrias, comércio e em consultorias que prestam serviços para indústria e comércio (essa é minha estimativa e opinião pessoal, não me apoio em pesquisa nenhuma).&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;E qual a causa disso? Eu acredito que seja a cultura brasileira, uma cultura de comodismo, de buscar os caminhos mais fáceis, que é pregada na cabeça de cada um de nós desde que somos crianças. A maioria dos brasileiros estuda para poder encontrar um bom emprego que pague bem, ou que pelo menos tenha uma certa estabilidade no emprego. Casos mais graves são os que estudam exclusivamente para passar em concursos públicos e ficar "tranquilo" o resto da vida. O problema é que essas vagas não existem para todos do Brasil!! E qual a solução adotada? Simples, ficamos em empregos que não gostamos e que pagam pouco.&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;O parágrafo anterior pode ser adotado para todas as áreas de trabalho, mas vou me concentrar em TI.&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;Na discussão no fórum o autor do tópico fez uma pergunta "porque ainda existe a idéia de "operário" entre desenvolvedores de software?". Minha resposta: "Porque eles deixam, e querem isso", e essa resposta eu justifico no parágrafo acima.&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;E o que isso tem a ver com a carência do mercado de TI brasileiro? Oras, junte empresas que somente olham para o mercado empresarial e nichos específicos com profissionais que se acomodam como simples "operários" e temos a estagnação de um mercado que poderia ser bem maior em nosso país.&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;Não sei se estou sendo claro o suficiente, mas o que eu quero expor é que muitos profissionais de TI reclamam de seus salários e das empresas onde trabalham, porém o máximo que fazem é distribuir currículos para procurar outro emprego que pode ter as mesmas condições, isso quando não permanecem acomodados, porém não pensam em alguma iniciativa própria. E agora eu pergunto: como um povo que é considerado tão criativo permanece em tamanha acomodação tendo tantas oportunidades a explorar?&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;Vou dar exemplo da minha região, Vale do Paraíba no estado de São Paulo. Essa região eu considero com um potencial enorme por ficarmos no meio do eixo Rio-São Paulo, temos uma boa quantidade de indústrias, comércio e várias universidades, porém a região não deslancha, principalmente a área de TI. As vagas de TI aqui na região se concentram nas industrias, existem poucas vagas no comércio, e a maioria das empresas relacionadas a TI são lojas de informática que prestam serviços de manutenção e redes, também existem boas consultorias, mas são poucas. Além disso o mercado de trabalho de TI está saturado, com poucas vagas e as que existem em geral não são muito boas. E a conversa que tive com meus colegas da faculdade era exatamente sobre isso: falta de vagas, o baixo salário, os maus empregos, a falta de competência de alguns "profissionais" das prestadoras de serviços da região e a falta de empresas de TI especializadas em alguns assuntos, sendo necessário vir empresas de outras regiões para realizar alguns serviços.&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;Diante disso tudo cheguei a conclusão de que existem 4 opções para quem quer seguir uma carreira em TI aqui na região: 1- lutar (e esperar) por uma das raras vagas em alguma das boas empresas da região; 2- acomodar-se em qualquer emprego razoável que conseguir; 3- buscar uma oportunidade e mudar-se pra São Paulo (capital); 4- partir para uma iniciativa própria abrindo uma empresa.&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;A maioria das pessoas optam pela opção 2 e 3, justamente por serem as opções mais fáceis. A opção 1 é boa, porém em um mercado saturado por mais que uma pessoa se dedique, estude, seja bom, tem muita chance de somente se frustrar e partir para a opção 2. Já a opção 4, principalmente numa região com o potencial e a carência de boas empresas e vagas de trabalho que temos aqui, seria a melhor opção para quem quer um trabalho melhor e com um ganho financeiro maior, porém é a menos escolhida, e isso graças a questão cultural que abordei no 3º parágrafo.&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;Vamos fazer uma comparação: porque nos EUA de tempos em tempos se vê a notícia de uma nova startup de tecnologia abrindo e se dando bem? Ora, pois lá eles não suportam a ideia de serem simples operários de software (isso eles deixam para os estrangeiros, principalmente os indianos) e utilizam seus conhecimentos para criarem algo para si próprios e não somente para conseguir um bom emprego. Tudo bem que lá a política econômica e tributária ajuda o surgimento de novas empresas, totalmente ao contrário do Brasil, mas aqui não se vê quase ninguém nem mesmo tentando. Acredito que se houvesse mais iniciativa, mais ideias sendo postas em prática, e sobretudo mais ousadia teríamos mais empresas de software sendo criadas e se dando bem em nosso país. O problema é que o brasileiro está acostumado a reclamar, se indignar, e 10 minutos depois ignorar sua própria indignação e voltar ao velho comodismo.&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&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: justify;"&gt;Seria tão difícil assim olharmos a nossa volta, analisarmos a necessidades existentes e tentarmos resolver? Voltando ao exemplo de minha região, qual o motivos das pessoas verem as carências de bons prestadores de serviços na região e não investirem em cobrirem a carência?&amp;nbsp; E também temos que considerar que uma empresa que oferece serviços web pode ultrapassar facilmente as fronteiras de sua região e cobrir carências que existem no país inteiro, mas poucos investem nisso. O Brasil como um todo necessita de iniciativas para crescer. E essa falta de iniciativa alimentada pela cultura dos brasileiros em relação a trabalho está nos fazendo perder muito.&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;Está na hora de nós brasileiros olharmos com mais atenção para essa situação em que nos encontramos e começarmos a agir em vez de reclamar e depois voltarmos ao comodismo. &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/38610382-7688627478368427049?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7688627478368427049/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7688627478368427049' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7688627478368427049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7688627478368427049'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/10/porque-o-mercado-de-ti-brasileiro-nao.html' title='Porque o mercado de TI brasileiro não decola?'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-34457090352022476</id><published>2009-08-25T21:48:00.003-03:00</published><updated>2009-08-25T22:03:38.453-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='JME'/><title type='text'>Lista de Compras Móvel</title><content type='html'>&lt;div style="text-align: justify;"&gt;Certo dia fazendo compras com minha noiva, levando uma folha de papel e caneta nas mãos e vendo outros fazendo o mesmo pensei: por que não fazer um programa de lista de compras para celular?&lt;br /&gt;&lt;br /&gt;Pois bem, nas 2 ultima semanas decidi relembrar como é programar para dispositivos móveis com Java Micro Edition (JME), e o resultado foi um pequeno e simples programa de lista de compras. Para quem quiser utilizar o programa é só acessar &lt;a href="http://www.perludum.com.br"&gt;www.perludum.com.br&lt;/a&gt;, baixar e instalar em seu aparelho.&lt;br /&gt;&lt;br /&gt;Confesso que só tive oportunidade de testar em meu N95 e no emulador, não foi testado em nenhum outro aparelho.&lt;br /&gt;&lt;br /&gt;Aos que testarem, ficarei grato aos que derem retorno sobre problemas e dicas de possíveis melhorias no programa.&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/38610382-34457090352022476?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/34457090352022476/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=34457090352022476' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/34457090352022476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/34457090352022476'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/08/lista-de-compras-movel.html' title='Lista de Compras Móvel'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8254612068549173888</id><published>2009-08-09T19:00:00.004-03:00</published><updated>2010-01-08T09:48:34.890-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Econodin'/><title type='text'>Econodin - Suas finanças em dia</title><content type='html'>&lt;div style="text-align: justify;"&gt;Depois de meses de desenvolvimento, de trocar alguns &lt;span id="SPELLING_ERROR_0"&gt;frameworks&lt;/span&gt;, de voltar a usar alguns &lt;span id="SPELLING_ERROR_1"&gt;frameworks&lt;/span&gt; depois de tê-los abandonados, de trocar o visual do sistemas umas 3 vezes e, principalmente, depois de muito aprendizado sobre desenvolvimento web, posso dizer que o &lt;a href="http://econodin.appspot.com/"&gt;&lt;span id="SPELLING_ERROR_2"&gt;Econodin&lt;/span&gt;&lt;/a&gt; está pronto para uso, já que o sistema agora apresenta um mínimo de funcionalidades que creio serem as mínimas para seu uso. Isso me animou a iniciar uma divulgação maior do sistema.&lt;br /&gt;&lt;br /&gt;Todas as funcionalidades presentes hoje no sistema são de uso &lt;span id="SPELLING_ERROR_3"&gt;gratuito&lt;/span&gt; e continuarão sendo &lt;span id="SPELLING_ERROR_4"&gt;gratuitas&lt;/span&gt; enquanto o sistema estiver no ar, e também não há nem haverá limitação para a utilização dessas funcionalidades. Já estou trabalhando em melhorias do que já existe e na implantação de novas funcionalidades, portanto minha &lt;span id="SPELLING_ERROR_5"&gt;pretensão&lt;/span&gt; é de que o sistema cresça.&lt;br /&gt;&lt;br /&gt;A medida em que os trabalhos evoluam postarei novidades.&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/38610382-8254612068549173888?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8254612068549173888/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8254612068549173888' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8254612068549173888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8254612068549173888'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/08/econodin-suas-financas-em-dia.html' title='Econodin - Suas finanças em dia'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-78395973153567824</id><published>2009-06-29T13:23:00.003-03:00</published><updated>2009-06-29T13:55:06.522-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>Erro HTTP 411</title><content type='html'>Desde algum tempo atrás quando comecei a testar o &lt;a href="http://www.perludum.com.br/econodin"&gt;Econodin&lt;/a&gt; no Windows, já acessando o site hospedado na internet, percebi que ocorria um erro quando acessava o sistema onde trabalho. A particularidade é que somente ocorria o erro utilizando o Firefox no Windows (o Internet Explorer não tem esse problema, e não testei outros), e somente no trabalho, no computador de minha casa funciona perfeitamente. O erro apresentado em um alert do JavaScript era "411: Length Required", e sempre ocorria quando eu acessava 2 funções JavaScript que fazem um request no servidor.&lt;br /&gt;&lt;br /&gt;Sem idéia alguma do que poderia estar ocorrendo, fiz uma pesquisa na internet e encontrei essa pequena discussão no fórum do &lt;a href="http://www.mentaframework.org"&gt;Mentawai&lt;/a&gt;: &lt;a href="http://forum.mentaframework.org/posts/list/2271.page"&gt;http://forum.mentaframework.org/posts/list/2271.page&lt;/a&gt;. Resumindo, o problema ocorre por estar acessando o sistema através de um proxy, sendo que alguns proxys necessitam que sejam passados parâmetros no request caso contrário retornam o erro 411, e no caso dessas 2 funções que estavam dando problema nenhum parâmetro erra passado.&lt;br /&gt;&lt;br /&gt;A solução desse caso é inserir um parâmetro qualquer para o request, por exemplo,&lt;br /&gt;&lt;blockquote&gt;req.addParameter("qualquercoisa", "qualquercoisa");&lt;/blockquote&gt;Pronto, isso é o bastante para resolver o problema.&lt;br /&gt;&lt;br /&gt;Porém ainda ficou uma coisa no ar: por que o IE não apresenta esse problema? Essa resposta eu não consegui ainda.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="postbody"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-78395973153567824?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/78395973153567824/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=78395973153567824' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/78395973153567824'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/78395973153567824'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/06/erro-http-411.html' title='Erro HTTP 411'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-6957274148143225391</id><published>2009-06-29T13:22:00.004-03:00</published><updated>2009-07-14T15:17:31.334-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>De volta ao JQuery</title><content type='html'>Conforme postei &lt;a href="http://perludum.blogspot.com/2009/03/voltando-postar.html"&gt;aqui&lt;/a&gt; passei a utilizar o &lt;a href="http://developer.yahoo.com/yui/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;YUI&lt;/span&gt;&lt;/a&gt; no &lt;a href="http://www.perludum.com.br/econodin"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Econodin&lt;/span&gt;&lt;/a&gt;. Porém, após algum tempo desenvolvendo com Yahoo UI cheguei a conclusão de que para mim a melhor opção é mesmo o &lt;a href="http://jquery.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;JQuery&lt;/span&gt;&lt;/a&gt;. O trabalho de portar o sistema para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;YUI&lt;/span&gt; e depois portar novamente para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;JQuery&lt;/span&gt; foi grande, porém valeu muito pela experiência e aprendizado.&lt;br /&gt;&lt;br /&gt;O motivo que me levou a utilizar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;YUI&lt;/span&gt; foi o que muitos consideram o grande diferencial do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;JQuery&lt;/span&gt;: a grande quantidade de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;plugins&lt;/span&gt;. Porém eu não achava esse diferencial do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;JQuery&lt;/span&gt; tão bom assim, já que essa grande quantidade acaba por confundir quem não tem experiência, e foi isso que aconteceu comigo. Comecei a utilizar vários &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;plugins&lt;/span&gt; do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;JQuery&lt;/span&gt;, muitos eu realmente precisava e outros não tinha necessidade nenhuma, e isso acabou me complicando um pouco. Decidi utilizar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;YUI&lt;/span&gt; pois ele já traz uma grande quantidade de componentes oficiais, com vasta documentação e seu estilo padrão é bem agradável, sendo que eu não precisaria mexer com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;CSS&lt;/span&gt; dos componentes.&lt;br /&gt;&lt;br /&gt;Porém algo que não me agradava desde a primeira vez que o testei o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;YUI&lt;/span&gt; é sua complexidade e curva de aprendizado alta. Umas das coisas chatas que percebi é que a ordem das funções importam para ele, ou seja, se a função X chama a função Y então a função Y deve ficar antes da função X, caso contrário a função X não reconhece a função Y. Também não consegui para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;YUI&lt;/span&gt; nada que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;substituísse&lt;/span&gt; alguns &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;plugins&lt;/span&gt; do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;JQuery&lt;/span&gt;, então tentei sanar isso utilizando os dois &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;frameworks&lt;/span&gt; ao mesmo tempo, o que achei bem complexo. Com isso tudo, resolvi voltar de vez para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;JQuery&lt;/span&gt;, após ter pesquisado um pouco sobre outros &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;frameworks&lt;/span&gt; JavaScript.&lt;br /&gt;&lt;br /&gt;Algo que aprendi com esse retorno ao &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;JQuery&lt;/span&gt; é que, apesar de haverem &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;plugins&lt;/span&gt; para quase tudo o que se possa imaginar, algumas coisas é melhor fazer sem utilizar um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;plugin&lt;/span&gt;. Na primeira versão do sistema utilizando o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;JQuery&lt;/span&gt; eu utilizava um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;plugin&lt;/span&gt; para tabelas que funcionava bem, porém eu não estava totalmente satisfeito com ele já que o mesmo tinha várias funções que não utilizava e algumas outras que eu gostaria não estavam presentes, então desta vez procurei algum outro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;plugin&lt;/span&gt;, sem sucesso. Com isso escolhi controlar as tabelas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;diretamente&lt;/span&gt;, se a ajuda de um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;plugin&lt;/span&gt; específico e isso me deu mais flexibilidade para controlar a tabela.&lt;br /&gt;&lt;br /&gt;Bom, continuo &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_29"&gt;desenvolvendo&lt;/span&gt; o sistema &lt;a href="http://www.perludum.com.br/econodin"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;Econodin&lt;/span&gt; &lt;/a&gt;agora utilizando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;JQuery&lt;/span&gt; de uma forma mais racional, graças a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_32"&gt;experiência&lt;/span&gt; de ter trocado duas vezes de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;fremework&lt;/span&gt; JavaScript.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-6957274148143225391?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/6957274148143225391/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=6957274148143225391' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6957274148143225391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6957274148143225391'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/06/de-volta-ao-jquery.html' title='De volta ao JQuery'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5208793217236720819</id><published>2009-06-03T12:27:00.005-03:00</published><updated>2010-01-08T09:49:41.939-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><title type='text'>Mudança de nome e disponibilização</title><content type='html'>&lt;div style="text-align: justify;"&gt;Mudei o nome do sistema Controle Financeiro Pessoal para um nome mais simples. O novo nome é &lt;span id="gtbmisp_1" style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: transparent none repeat scroll 0% 0%; border: 0pt none; color: red; cursor: pointer; font-family: serif; font-size-adjust: none; font-size: 100%; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin: 0pt; padding: 0pt; position: static; text-align: left; text-decoration: underline; text-indent: 0pt; text-transform: none;"&gt;Econodin&lt;/span&gt;. Nunca achei que um nome tão grande quanto Controle Financeiro Pessoal fosse um bom nome, então dediquei algum tempo para a criação de um novo nome.&lt;br /&gt;&lt;br /&gt;Além do novo nome outra novidade é que o sistema está disponível novamente na &lt;span id="gtbmisp_2" style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: transparent none repeat scroll 0% 0%; border: 0pt none; color: red; cursor: pointer; font-family: serif; font-size-adjust: none; font-size: 100%; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin: 0pt; padding: 0pt; position: static; text-align: left; text-decoration: underline; text-indent: 0pt; text-transform: none;"&gt;internet&lt;/span&gt;, junto com o site &lt;span id="gtbmisp_3" style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: transparent none repeat scroll 0% 0%; border: 0pt none; color: red; cursor: pointer; font-family: serif; font-size-adjust: none; font-size: 100%; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin: 0pt; padding: 0pt; position: static; text-align: left; text-decoration: underline; text-indent: 0pt; text-transform: none;"&gt;Perludum&lt;/span&gt;, ainda não numa versão final do sistema mas as funções principais do sistema estão funcionando &lt;span id="gtbmisp_4" style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: transparent none repeat scroll 0% 0%; border: 0pt none; color: red; cursor: pointer; font-family: serif; font-size-adjust: none; font-size: 100%; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin: 0pt; padding: 0pt; position: static; text-align: left; text-decoration: underline; text-indent: 0pt; text-transform: none;"&gt;corretamente&lt;/span&gt;, além de um visual novo.&lt;br /&gt;&lt;br /&gt;Os endereços são:&lt;br /&gt;&lt;blockquote&gt;Site: &lt;a href="http://www.perludum.com.br/"&gt;www.perludum.com.br &lt;br /&gt;&lt;/a&gt;&lt;br /&gt;Sistema: &lt;a href="http://econodin.appspot.com/"&gt;http://econodin.appspot.com/&lt;/a&gt;&lt;br /&gt;&lt;/blockquote&gt;Aos interessados em testar e utilizar o sistema basta fazer um cadastro simples no site e começar a utiliza-lo.&lt;br /&gt;&lt;br /&gt;Como disse acima, o sistema  não está em uma versão final, faltando muito trabalho ainda para realizar melhorias e adicionar algumas outras funcionalidades &lt;span id="gtbmisp_5" style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: transparent none repeat scroll 0% 0%; border: 0pt none; color: green; cursor: pointer; font-family: serif; font-size-adjust: none; font-size: 100%; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin: 0pt; padding: 0pt; position: static; text-align: left; text-decoration: underline; text-indent: 0pt; text-transform: none;"&gt;básicas&lt;/span&gt;, como relatórios. Mas aproveitarei as férias da faculdade para adiantar esse trabalho, e assim espero que até o final de &lt;span id="gtbmisp_6" style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: transparent none repeat scroll 0% 0%; border: 0pt none; color: green; cursor: pointer; font-family: serif; font-size-adjust: none; font-size: 100%; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin: 0pt; padding: 0pt; position: static; text-align: left; text-decoration: underline; text-indent: 0pt; text-transform: none;"&gt;Julho&lt;/span&gt; de 2009 eu consiga fazer as melhorias necessárias. Mas as funções &lt;span id="gtbmisp_7" style="-moz-background-clip: border; -moz-background-inline-policy: continuous; -moz-background-origin: padding; background: transparent none repeat scroll 0% 0%; border: 0pt none; color: red; cursor: pointer; font-family: serif; font-size-adjust: none; font-size: 100%; font-stretch: normal; font-style: normal; font-variant: normal; font-weight: bold; line-height: normal; margin: 0pt; padding: 0pt; position: static; text-align: left; text-decoration: underline; text-indent: 0pt; text-transform: none;"&gt;atuais&lt;/span&gt; estão funcionando, sendo que eu já a utilizo fazem uns 3 meses.&lt;br /&gt;&lt;br /&gt;Nas próxima semanas eu trarei mais novidades.&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/38610382-5208793217236720819?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5208793217236720819/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5208793217236720819' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5208793217236720819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5208793217236720819'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/06/mudanca-de-nome-e-disponibilizacao.html' title='Mudança de nome e disponibilização'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-1104355251830465498</id><published>2009-04-20T21:25:00.002-03:00</published><updated>2009-04-20T21:46:18.654-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Mercado'/><title type='text'>E a Oracle compra a SUN</title><content type='html'>Acabei de ver no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;GUJ&lt;/span&gt; que após a tentativa da IBM comprar a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;SUN&lt;/span&gt; quem levou mesmo foi a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Oracle&lt;/span&gt;. Bom, não chega a ser tão surpreendente pois já era noticiado que caso não &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;houvesse&lt;/span&gt; acordo com a IBM, a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;SUN&lt;/span&gt; poderia negociar com outras empresas, entres elas a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Oracle&lt;/span&gt;. A notícia já está disponível no site das duas empresas (&lt;a href="http://www.sun.com/third-party/global/oracle/index.jsp"&gt;http://www.sun.com/third-party/global/oracle/index.jsp&lt;/a&gt; e &lt;a href="http://www.oracle.com/sun/index.html"&gt;http://www.oracle.com/sun/index.html&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;Em minha &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;opinião&lt;/span&gt; gostei mais desta notícia do que se fosse a IBM que fizesse a aquisição, apesar de nem saber direito o motivo, mas acredito que os produtos da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;SUN&lt;/span&gt; tem mais chances de terem continuidade nas mãos da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Oracle&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Algumas pessoas já se demonstraram preocupadas com o futuro do Java, do MySQL, do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Open&lt;/span&gt; Solaris, etc. mas eu acredito que não haverão mudanças &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;drásticas&lt;/span&gt; nesses produtos. O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;JDK&lt;/span&gt; da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;SUN&lt;/span&gt; pode se fundir como o da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Oracle&lt;/span&gt;, aproveitando os melhores recursos de cada um. O Solaris pode ser uma boa plataforma para que a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Oracle&lt;/span&gt; ofereça seus produtos. Já o MySQL acredito que não tenha quase nenhuma mudança em relação ao modelo de negócios que a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;SUN&lt;/span&gt; usa para esse produto. Com o MySQL a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Oracle&lt;/span&gt; pode chegar a mercados onde é &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;difícil&lt;/span&gt; de chegar com o seu BD mais famoso.&lt;br /&gt;&lt;br /&gt;Agora é esperar para ver o que acontecerá a médio e longo prazo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-1104355251830465498?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/1104355251830465498/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=1104355251830465498' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1104355251830465498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1104355251830465498'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/04/e-oracle-compra-sun.html' title='E a Oracle compra a SUN'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2416467820647309528</id><published>2009-04-12T23:11:00.012-03:00</published><updated>2009-04-13T23:56:21.414-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><category scheme='http://www.blogger.com/atom/ns#' term='Telecomunicações'/><category scheme='http://www.blogger.com/atom/ns#' term='Geral'/><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><title type='text'>GPS no celular - Nokia Maps x Google Maps Mobile</title><content type='html'>&lt;div style="text-align: justify; color: rgb(192, 192, 192);"&gt;Quando comprei o N95 em dezembro do ano passado, a função que mais me atraiu para a compra foi o GPS. Na verdade, após duas viagem onde tive desvios de rotas involuntários, achei que seria uma boa coisa a compra de um aparelho GPS, e como estava querendo trocar o celular uni o útil e o agradável e optei pelo N95. Ainda na compra do aparelho fiquei sabendo que a&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; Nokia oferecia 6 meses gratuitos de navegação com assistência por voz.&lt;br /&gt;&lt;br /&gt;Não fiz grandes viagens após a compra do aparelho, porém fiz alguns pequenos testes com o GPS e o aplicativo Nokia Maps 2.0 em rotas já conhecidas, na região do Vale do Paraíba - SP, principalmente nas cidades de Caçapava, Taubaté e São José dos Campos. Só que nesses pequenos testes não tive sucesso, pois o programa, apesar de apresentar mapas completos, nunca calculava as rotas, logo o software somente servia para consultas. Em uma pesquisa na net &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;descobri que na região do Vale do Paraíba apenas existem mapas não navegáveis. Na verdade até versão 2&lt;span style="text-decoration: underline;"&gt;&lt;/span&gt; do Nokia Maps poucas cidades do Brasil possuem mapas navegáveis. Isso me desmotivou um pouco em relação ao aplicativo e, por falta de tempo e sobra de preguiça, deixei a função GPS do aparelho um pouco esquecida.&lt;br /&gt;&lt;br /&gt;Porém nessas últimas semanas resolvi procurar um novo software para celular para navegação GPS. Entre os que encontrei somente o &lt;a href="http://www.google.com/mobile/default/maps.html"&gt;Google Google Mobile&lt;/a&gt; possui mapas navegáveis para praticamente todo o Brasil (pelo menos é isso que aparenta).&lt;br /&gt;&lt;br /&gt;Para testar o Google Maps Mobile o trecho escolhido foi a partir da cidade de Aparecida  até Campos do Jordão, passando por dentro de Pindaminhangaba. O software da Google trabalha somente online baixando os mapas a medida em que vamos precisando deles, logo uma conexão à internet é necessária. O primeiro teste foi o de localizar os locais e calcular a rota, o que foi realizado sem maiores problemas, mas opções como a de evitar rodovias e pedágios presentes no site do Google Maps foi sentida. Porém 2 problemas apareceram com a utilização.&lt;br /&gt;&lt;br /&gt;O primeiro a aparecer foi o da falta de precisão dos mapas. Enquanto estava rodando na Via Dutra o software me mostrava em uma avenida marginal a rodovia, coisa que o software da Nokia apresentava precisão quase perfeita, mesmo não tendo mapas navegáveis. Só que o pior problema do software da Google se apresentou pouco mais a frente. Ao sairmos da Via Dutra e pegarmos um acesso para Pindamonhangaba, andamos pouco mais de 1 Km e o celular deu um bipe avisando de que não avia mais sinal de celular e que o programa não poderia funcionar sem uma conexão de celular, mesmo eu tendo baixado previamente os mapas da região. Ainda bem que estávamos em um trecho conhecido, senão a viagem teria se complicado um pouco.&lt;br /&gt;&lt;br /&gt;Após essa experiência com o Google Maps para celulares, voltei a procura de um software de navegação para celulares. Estava quase perdendo a esperança de encontrar um bom  programa quando me lembrei que faz algum tempo vi uma notícia do lançamento do primeiro beta do Nokia Maps 3, que trazia melhorias visuais e de desempenho, novos recursos e, o mais importante para mim, mapas atualizados porém na época da notícia só havia sido liberado o beta para aparelhos Symbian S60 3° Edition FP2, mas os N95 possuem somente o FP1. Como já havia se passado um bom tempo resolvi verificar se tinham liberado alguma versão para sistemas com FP1. Constatado a liberação, baixei os  softwares necessários, atualizei o Nokia Maps para a versão 3 e baixei os novos mapas e os arquivos de áudio. Site do Nokia Maps 3 com instruções para baixar os softwares necessários e para instalação &lt;a href="http://betalabs.nokia.com/betas/view/nokia-maps-30-ovi-maps"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A grata surpresa veio ao calcular perfeitamente uma rota de teste entre  Caçapava e Campos do Jordão, percurso que nem tinha conseguido calcular a rota na versão 2. Testei outras rotas aqui da região e tudo funcionou perfeitamente. Para finalizar o teste, resolvi testar o software em campo, ou seja, escolhi minha posição atual, escolhi minha posição final e entrei no modo de direção (novamente no trecho de Caçapava - Campos do Jordão). O sistema desta vez funcionou perfeitamente, informando cada acesso que deveria pegar com precisão.&lt;br /&gt;&lt;br /&gt;Conclusão: O Google Maps Mobile possui uma falta de precisão que pode atrapalhar bastante, e principalmente a incapacidade de trabalhar offiline dificulta muito sua adoção. Mas para quem não tem outra opção de software de navegação ele pode ser bem útil, desde que uma conexão pelo celular esteja disponível.&lt;br /&gt;&lt;br /&gt;Já o Nokia Maps 3 está muito bom, tendo como principal vantagem sobre o software da Google o funcionamento offiline, já que os mapas são baixados no cartão de memória do celular. A desvantagem é que ele só está disponível para alguns modelos de celulares da Nokia.&lt;br /&gt;&lt;br /&gt;É bom salientar que o modo de direção do Nokia Maps que utilizei é um serviço pago (somente esse modo, a utilização do programa em si é gratuito), que só estou tendo a oportunidade de utilizar pois peguei uma promoção de uso gratuito de 6 meses quando comprei o N95. Quando expirar o prazo só poderei usar o software para simulação de rotas, função igual ao Google Maps. Sobre o preço do serviço, digamos que é alto o suficiente para desmotivar a contratação por quem não o utiliza com frequência.&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/38610382-2416467820647309528?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2416467820647309528/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2416467820647309528' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2416467820647309528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2416467820647309528'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/04/gps-no-celular-nokia-maps-x-google-maps.html' title='GPS no celular - Nokia Maps x Google Maps Mobile'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7811283235197350399</id><published>2009-03-18T21:39:00.003-03:00</published><updated>2009-03-18T23:05:18.631-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Integrando Apache HTTP Server com Apache Tomcat</title><content type='html'>&lt;div style="text-align: justify;"&gt;Com o objetivo de ter um ambiente aqui em casa mais parecido com o ambiente que encontramos num serviço de hospedagem java, decidi integrar o Apache HPPT Server com o Apache Tomcat.&lt;br /&gt;&lt;br /&gt;O objetivo mais comum para essa integração é a transparência obtida no acesso aos sistemas, ou seja, permitir que se acesse os sistemas que estejam rodando no Tomcat pela porta 80 em vez da porta 8080 que é utilizada por padrão pelo Tomcat. Um exemplo prático para isso é caso você precise rodar sistemas PHP com sistemas JEE no mesmo servidor utilizando a porta 80 para os dois casos.&lt;br /&gt;&lt;br /&gt;Existem vários artigos explicando como se fazer essa integração utilizando-se do mod_jk para isso, porém existe um módulo do apache http que torna essa configuração mais simples, o mod_proxy_ajp. Esse módulo já vem incluso no apache http server,  bastando apenas ativá-lo. Aqui estou utilizando o Ubuntu 8.10, mas acredito que não deva haver diferenças para outras distribuições linux.&lt;br /&gt;&lt;br /&gt;Partindo do princípio de que ambos os servidores estão instalados, a primeira configuração a se fazer é no arquivo $TOMCAT_HOME/conf/server.xml. A alteração é  para habilitar o conector do AJP 1.3, que deve ficar da seguinte forma:&lt;br /&gt;&lt;span style="font-family: monospace;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-family: monospace;"&gt;&lt; port="8009" style="font-weight: bold;"&gt;enableLookups="false"&lt;/span&gt; protocol="AJP/1.3" redirectPort="8443" /&gt;&lt;/span&gt;&lt;/blockquote&gt;Após isso precisamos configurar o Apache HTTP Server. A maneira como fiz aqui foi criar um host virtual para direcionar as requisições para o tomcat. Para isso adicionei no arquivo /etc/hosts mais uma entrada, ficando da seguinte forma:&lt;br /&gt;&lt;blockquote&gt;127.0.0.1               localhost&lt;br /&gt;127.0.0.1               servidorvirtual&lt;/blockquote&gt;Após configurar os hosts vamos habilitar o módulo mod_proxy_ajp:&lt;br /&gt;&lt;blockquote&gt;# cd /etc/apache2/mods-enabled&lt;br /&gt;# ln -s ../mods-available/proxy_ajp.load proxy_ajp.load&lt;/blockquote&gt;E caso não esteja habilitado, fazemos o mesmo procedimento para o módulo proxy, que é uma dependência do mod_proxy.ajp:&lt;br /&gt;&lt;blockquote&gt;# ln -s ../mods-available/proxy.load proxy.load&lt;br /&gt;# ln -s ../mods-available/proxy.conf proxy.conf&lt;/blockquote&gt;Habilitado os módulos, vamos configurar o servidor virtual que redirecionará as requisições ao Tomcat acrescentando ao arquivo /etc/apache2/sites-available/default a seguinte configuração:&lt;br /&gt;&lt;blockquote&gt;&lt;virtualhost&gt;&lt;br /&gt;    ServerName servidorvirtual&lt;br /&gt;    ErrorLog /var/log/apache2/ajp.error.log&lt;br /&gt;    CustomLog /var/log/apache2/ajp.log combined&lt;br /&gt;&lt;br /&gt;    &lt;proxy&gt;&lt;br /&gt;        AddDefaultCharset Off&lt;br /&gt;        Order deny,allow&lt;br /&gt;        Allow from all&lt;br /&gt;    &lt;/proxy&gt;&lt;br /&gt;&lt;br /&gt;    ProxyPass / ajp://localhost:8009/&lt;br /&gt;    ProxyPassReverse / ajp://localhost:8009/&lt;br /&gt;&lt;/virtualhost&gt;&lt;/blockquote&gt;Pronto, agora é só reiniciar o Apache HTTP Server e o Tomcat. O resultado é que ao acessar http://localhost você estará acessando o servidor HTTP diretamente, e ao acessar http://servidorvirtual o HTTP Server redirecionará a requisição paro o Tomcat.&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/38610382-7811283235197350399?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7811283235197350399/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7811283235197350399' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7811283235197350399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7811283235197350399'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/03/integrando-apache-http-server-com.html' title='Integrando Apache HTTP Server com Apache Tomcat'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-1135710517800089749</id><published>2009-03-17T10:30:00.005-03:00</published><updated>2009-03-17T10:58:05.473-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>Voltando a postar</title><content type='html'>Após o primeiro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;post&lt;/span&gt; deste ano deixei o blog juntando teias de aranha novamente. Mas agora pretendo cumprir mais um dos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;objetivos&lt;/span&gt; que citei no blog anterior: escrever mais no blog - o que seria o terceiro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;objetivo&lt;/span&gt; a ser buscado, já que iniciei o curso de inglês e implementei algumas coisas novas no Controle Financeiro Pessoal (preciso escolher um nome melhor pra ele).&lt;br /&gt;&lt;br /&gt;Quanto ao Controle Financeiro, estou repensando algumas coisas sobre ele, principalmente sobre sua interface que devo trocar o &lt;a href="http://www.jquery.com"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;JQuery&lt;/span&gt;&lt;/a&gt; pelo &lt;a href="http://developer.yahoo.com/yui/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;YUI&lt;/span&gt;&lt;/a&gt;. O certo mesmo é que iniciarei agora uma fase de ajustes no sistema e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;refatoração&lt;/span&gt; do código fonte para que possa deixá-lo estável o suficiente para disponibilizá-lo novamente. As metas principais são:&lt;br /&gt;&lt;blockquote&gt;- Implementar segurança no sistema - na pressa de ter algo "usável" não me preocupei com isso, então agora é a hora;&lt;br /&gt;&lt;br /&gt;- Melhorar a interface como usuário quanto a aparência e a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;usabilidade&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;- Criar uma pequena página de introdução ao uso do sistema;&lt;br /&gt;&lt;br /&gt;- &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Refatorar&lt;/span&gt; o código fonte que está muito mal escrito, eu admito.&lt;/blockquote&gt;Para acertar esses pontos levarei algum bom tempo ainda, mas tão logo termine esses trabalhos irei disponibilizar novamente o sistema para uso na &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;internet&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-1135710517800089749?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/1135710517800089749/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=1135710517800089749' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1135710517800089749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1135710517800089749'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/03/voltando-postar.html' title='Voltando a postar'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4368545728161743326</id><published>2009-01-05T10:35:00.004-02:00</published><updated>2009-01-05T16:49:00.357-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Geral'/><category scheme='http://www.blogger.com/atom/ns#' term='Carreira'/><title type='text'>2009</title><content type='html'>Bom, mais um ano que começou. Mais um ano que temos pela frente para corrermos atrás de nossos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;objetivos&lt;/span&gt;. E por falar em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;objetivos&lt;/span&gt;, vou expor aqui meus &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;objetivos&lt;/span&gt; &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;profissionais&lt;/span&gt; para este ano:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Iniciar novamente um curso de inglês. Na verdade já era para ter iniciado, mas ainda esta em tempo;&lt;/li&gt;&lt;li&gt;Acelerar o desenvolvimento do Controle Financeiro Pessoal, que deixei parado mês passado para descansar um pouco;&lt;/li&gt;&lt;li&gt;Me dedicar mais na faculdade. Esse ano parece que as matérias serão mais interessantes, resta ver se os professores irão ajudar;&lt;/li&gt;&lt;li&gt;Iniciar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;TCC&lt;/span&gt; da faculdade o quanto antes. No &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;TCC&lt;/span&gt; pretendo levar adiante a ideia do programa de backup, que já mencionei aqui no blog;&lt;/li&gt;&lt;li&gt;Ler mais livros técnicos;&lt;/li&gt;&lt;li&gt;Escrever mais neste blog;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Aprimorar conhecimentos sobre controle de versão;&lt;/li&gt;&lt;li&gt;Aprender &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Ruby&lt;/span&gt; ou &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;JRuby&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;Iniciar os estudos sobre desenvolvimento ágil.&lt;/li&gt;&lt;/ul&gt;Bom, essa é uma lista básica das coisas mais importantes que pretendo fazer esse ano, e em relação ao Controle Financeiro Pessoal pretendo der um foco grande para ele.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4368545728161743326?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4368545728161743326/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4368545728161743326' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4368545728161743326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4368545728161743326'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2009/01/2009.html' title='2009'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-174413865906525738</id><published>2008-12-17T22:25:00.003-02:00</published><updated>2008-12-17T22:31:46.251-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><category scheme='http://www.blogger.com/atom/ns#' term='Carreira'/><title type='text'>Como se aperfeiçoar como programador</title><content type='html'>Encontrei faz um tempo atrás em &lt;a href="http://www.akitaonrails.com/"&gt;um blog&lt;/a&gt; que acompanhava dois postes muito interessantes sobre como ser aperfeiçoar como programador. O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;primeiro&lt;/span&gt; apontava pra um &lt;a href="http://binstock.blogspot.com/2008/04/perfecting-oos-small-classes-and-short.html"&gt;outro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;post&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;  (em inglês) que sugere exercícios para se aperfeiçoar em programação Orientada a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Objetos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;. O &lt;a href="http://www.akitaonrails.com/2008/6/14/machucando-c-digo-por-divers-o-e-lucro"&gt;outro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;post&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt; fala um pouco sobre como melhorar seu código e muito sobre como se melhorar como programador. Aqui eu vou falar um pouco sobre esses dois &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;posts&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, das coisas que mais me chamaram a atenção e que eu achei mais interessante. Porém eu recomendo que leiam os &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;posts&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; originais, pois ambos são muito bons, além de encontrarem mais referencias sobre o assunto.&lt;br /&gt;&lt;br /&gt;O primeiro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;post&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; é como se fosse um manual com 9 exercícios a serem praticados para se aperfeiçoar com programador &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;OO&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, que por sua vez é um resumo de um capítulo de um livro (mais detalhes no &lt;a href="http://binstock.blogspot.com/2008/04/perfecting-oos-small-classes-and-short.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;post&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; original&lt;/a&gt;). O título traduzido deste &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;post&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; seria &lt;span style="font-weight: bold;"&gt;Aperfeiçoando Pequenas Classes e Métodos Curtos Orientados a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Objetos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;. &lt;/span&gt;A proposta é que se escreva um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;programa&lt;/span&gt; de 1000 linhas com as restrições listadas, restrições que devem ser seguidas a risca. Abaixo uma pequena tradução das regras (me perdoem erros na tradução):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;1. Use somente um nível de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;identação&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; por método. Se você precisar mais do que um nível, você precisa criar um segundo método e chamá-lo a partir do primeiro. Esta é uma das mais importantes das restrições no exercício;&lt;br /&gt;&lt;br /&gt;2. Não use a palavra reservada '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;'. Teste a condição com o '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;' e saia da rotina se não for satisfeito. Isto previne um encadeamento '&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;'; e nenhuma rotina merece esta coisa;&lt;br /&gt;&lt;br /&gt;3. Encapsule todas as primitivas e strings. Isto &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;direciona&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;diretamente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; para "obsessões primitivas". Se você quer usar um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;integer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, você primeiro tem que criar uma classe (até mesmo uma classe interna) para identificação do verdadeiro papel. Portanto o endereço é um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;objeto&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; e não um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;integer&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, por exemplo. Isto produz códigos mais claros e testáveis;&lt;br /&gt;&lt;br /&gt;4. Use somente um ponto por linha. Este passo impede você de atingir profundamente em outros &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;objetos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; para pegar campos ou &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;metodos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;conceitualmente&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; quebrar o encapsulamento. Exemplificando, não faça isso:&lt;br /&gt;&lt;blockquote&gt;&lt;pre class="csharpcode"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Order&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;order&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; = &lt;span class="kwrd"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Order&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;(&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;orderId&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;);&lt;br /&gt;&lt;span class="kwrd"&gt;string&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;stateId&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; = &lt;span style="font-weight: bold;"&gt;order.Customer.Address.StateId&lt;/span&gt;;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;5. Não abrevie nomes. Isto evita a verbosidade processual que é criado por certas formas de redundância - se que você tem que digitar o nome completo de um método ou variável, é provável que você passa mais tempo pensando em seu nome. E você vai evitar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;objetos&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; chamados Ordem com métodos intitulado &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;shipOrder&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;(). Em vez disso, seu código terá mais chamadas, como &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Order&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;.&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;ship&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;().&lt;br /&gt;&lt;br /&gt;6. Mantenha as entidades pequenas. Não escreva mais do que 50 linhas por classe e não mais do que 10 classes por pacote. A regra 50 linhas por classe é crucial. Isto não somente força a concisão e mantém o foco da classe, mas também mantém a maioria das classes visíveis em somente uma tela do editor/IDE.&lt;br /&gt;&lt;br /&gt;7. Não use nenhuma classe em mais do que 2 variáveis instanciadas. Mais de duas instâncias de variáveis de uma mesma classe é certamente a razão para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;-agrupar essas variáveis em uma classe separada.&lt;br /&gt;&lt;br /&gt;8. Use primeiramente classes de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;coleções&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;. Em outras palavras, qualquer classe que contém uma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;coleção&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; não deveria conter qualquer outra variável membro. A ideia é uma extensão da obsessão primitiva. Se você precisar que uma classe agrupe &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;coleções&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, então a escreva desta forma.&lt;br /&gt;&lt;br /&gt;9. Não use &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;setters&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;getters&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;or&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; propriedades. Esta é uma abordagem radical para fazer cumprir o encapsulamento. Isto requer a implementação da abordagem  de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;injeção&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; de dependência e adesão máxima ao "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;Teel&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;don&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;'t &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;ask&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;" (definido em alguns lugares por "Mande, não peça").&lt;/blockquote&gt;Já o segundo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;post&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; é uma apresentação de &lt;a href="http://blog.zenspider.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;Ryan&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; Davis&lt;/a&gt;, e eu acho interessante dividi-lo em 2 partes.&lt;br /&gt;&lt;br /&gt;Na primeira o autor fala sobre machucar código, mas o que seria machucar código? Bom, basicamente seria modificar totalmente um código legado que tenha sido mau escrito. Imagine aquele código onde quem codificou gosta de complicar as coisas, escreve um código que somente ele entende, cria rotinas desnecessárias... Imagine agora que você passe a ter que cuidar desse código.&lt;br /&gt;&lt;br /&gt;É nesse caso que autor prega que devemos machucar o código, reescrever tudo o que não está bem feito, mudar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;design&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; se preciso, em fim, melhorar o sistema de uma forma geral. Eu gostei desta filosofia, e a apoio. Pena existirem lugares onde você não tem liberdade para tal.&lt;br /&gt;&lt;br /&gt;Já a segunda parte da apresentação fala sobre como se melhorar como programador, pregando basicamente a auto-disciplina para se manter focando no que é necessário fazer e abstenção de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;distrações&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; que possam atrapalhar seu trabalho. Levando-se isso em conta, isso serve não só para programadores como para qualquer profissional.&lt;br /&gt;&lt;br /&gt;Uma coisa muito importante que é mencionado nessa apresentação é que é necessário "entender a sim mesmo tão bem quanto se entender o código" para se chegar a um auto nível como &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;desenvolvedor&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;, e sugere que você se faça constantemente as seguintes perguntas:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Como eu faço melhor?&lt;/li&gt;&lt;li&gt;Como eu não vi aquele bug?&lt;/li&gt;&lt;li&gt;Onde eu estou perdendo em clareza?&lt;/li&gt;&lt;li&gt;Como eu posso usar melhor minhas ferramentas?&lt;/li&gt;&lt;li&gt;Onde eu &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_51"&gt;desperdiço&lt;/span&gt; meu tempo?&lt;/li&gt;&lt;li&gt;Como eu me foco melhor?&lt;/li&gt;&lt;li&gt;Onde eu estou me segurando?&lt;/li&gt;&lt;li&gt;Onde eu estou errando?&lt;/li&gt;&lt;/ul&gt;Bom, existe muitas coisas importantes nessa apresentação, aqui a intenção foi dar somente um gostinho para vocês sentirem, e se gostarem não deixem de ver a apresentação.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-174413865906525738?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/174413865906525738/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=174413865906525738' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/174413865906525738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/174413865906525738'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/12/como-se-aperfeioar-como-programador.html' title='Como se aperfeiçoar como programador'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7631445305515928962</id><published>2008-10-22T15:56:00.004-02:00</published><updated>2009-06-03T12:09:01.086-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><title type='text'>Nova versão do Controle Financeiro</title><content type='html'>&lt;div style="text-align: justify;"&gt;Após quase 1 mês e meio, volto aqui para informar que a nova versão do Controle Financeiro Pessoal já está disponível. O sistema é praticamente o mesmo, porém com uma interface diferente , na minha humilde &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;opinião&lt;/span&gt; melhor que a versão anterior, mas ainda tem que melhorar muito. As mudanças nas funcionalidades são:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;- Inicialmente são mostrados somente os lançamentos do mês &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;atual&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;- Abaixo da &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;tabela&lt;/span&gt; de lançamentos há um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;seletor&lt;/span&gt; de mês que, ao ser alterado, busca os lançamentos do mês &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;selecionado&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;- Um filtro melhorado, mais prático de se usar e de desabilita.&lt;/li&gt;&lt;/ul&gt;Bom, como disse, as funcionalidades quase não se alteraram, ficando a novidade maior por parte da aparência nova. O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;objetivo&lt;/span&gt; agora é acertar uns pequenos detalhes que estão faltando, criar um pequeno &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;help&lt;/span&gt; para explicar o funcionamento do sistema, e após isso acrescentar novas funcionalidades. Também tentarei refinar um pouco mais a interface, só que ainda to brigando um bocado com HTML e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;CSS&lt;/span&gt;...&lt;br /&gt;&lt;br /&gt;Aos que tiverem interesse em visualizar como está o sistema, é só utilizar o usuário "convidado" e a senha "convite01".  E aos que quiserem utilizar o sistema (ta certo, não esta muito "usável" ainda, mas já quebra um galho) é só enviar e-mail para &lt;span style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;tiago&lt;/span&gt;_&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;stos&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;at&lt;/span&gt; yahoo.com.br&lt;/span&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/38610382-7631445305515928962?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7631445305515928962/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7631445305515928962' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7631445305515928962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7631445305515928962'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/10/nova-verso-do-controle-financeiro.html' title='Nova versão do Controle Financeiro'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-323435301829924870</id><published>2008-09-09T10:25:00.004-03:00</published><updated>2009-06-03T11:33:12.694-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>Mudança de arquitetura</title><content type='html'>Algumas notícias sobre o sistema Controle Financeiro Pessoal. Primeiro, agora temos um domínio próprio, &lt;a href="http://www.blogger.com/www.perludum.com.br"&gt;www.perludum.com.br&lt;/a&gt;, o sistema podendo ser &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;acessado&lt;/span&gt; no link www.perludum.com.br/cfp, o link anterior ainda esta &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;ativo&lt;/span&gt;. A outra notícia é mais técnica, relacionado a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;arquitetura&lt;/span&gt; utilizada.&lt;br /&gt;&lt;br /&gt;Sim, estou mudando totalmente a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;arquitetura&lt;/span&gt; do sistema, e com isso também toda a parte visual. Os motivos que me levaram a troca de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;arquitetura&lt;/span&gt; são:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;- o modo de desenvolver páginas web com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;GWT&lt;/span&gt; acaba gerando bastante trabalho para mudanças, tendo que compilar mesmo para alterações minúsculas na interface, já que tudo é código &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;Java&lt;/span&gt;; &lt;/li&gt;&lt;li&gt;- não é muito fácil encontrar informações para resolver algumas dúvidas sobre desenvolvimento com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;GWT&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;- estava procurando uma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;arquitetura&lt;/span&gt; onde &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;pudesse&lt;/span&gt; ter uma produtividade melhor e fosse mais simples.&lt;/li&gt;&lt;/ul&gt;Com base nisso e em algumas pesquisas, a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;arquitetura&lt;/span&gt; escolhida foi o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;framework&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;MVC&lt;/span&gt; &lt;a href="http://www.mentaframework.org/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;Mentawa&lt;/span&gt;&lt;/a&gt;i e a biblioteca JavaScript/&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Ajax&lt;/span&gt; &lt;a href="http://jquery.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;JQuery&lt;/span&gt;&lt;/a&gt;. Com base com o que desenvolvi até agora com essa nova &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;arquitetura&lt;/span&gt;, acredito que acertei na escolha.&lt;br /&gt;&lt;br /&gt;O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Mentawai&lt;/span&gt; se propõe ser um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;framework&lt;/span&gt; bem &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;simples&lt;/span&gt; e fácil de se utilizar, sem a necessidade de muita configuração para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;faze&lt;/span&gt;-lo rodar, e nesse ponto ele cumpre muito bem o que promete. Porém, apesar de ter uma configuração simples, ele me parece ser um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;framework&lt;/span&gt; robusto e maduro. Não tenho &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_22"&gt;parâmetros&lt;/span&gt; para compará-lo com outro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;framework&lt;/span&gt;, mas pelo que já vi dele estou adorando ;-)&lt;br /&gt;&lt;br /&gt;O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;JQuery&lt;/span&gt; é a biblioteca JS que, segundo o que dizem, é a mais prática de se utilizar, por usar uma sintaxe mais limpa, além de ser bem leve. Porém por ser bem leve também é uma biblioteca básica, o que pode ser rapidamente resolvido utilizando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;plugins&lt;/span&gt; para as mais variadas finalidades.&lt;br /&gt;&lt;br /&gt;O único problema dessa mudança de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;arquitetura&lt;/span&gt; é que os conceitos entre programar utilizando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;GWT&lt;/span&gt; e utilizando essa nova &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;arquitetura&lt;/span&gt; (mais de acordo com o padrão de programação para web, acredito eu) é que, para quem só começou a se aventurar agora em desenvolvimento web, são completamente diferentes. Com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;GWT&lt;/span&gt; o desenvolvimento é bem mais parecido com a programação para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;desktop&lt;/span&gt;, talvez isso explique ele ter sido minha primeira opção quando resolvi desenvolver para web. Mas foi muito bom ter iniciado com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;GTW&lt;/span&gt;, assim pude assimilar alguns conceitos de programação para web mais facilmente.&lt;br /&gt;&lt;br /&gt;Por hora estou desenvolvendo essa nova versão do sistema. Acredito que até o final da semana que vem devo ter algo para mostrar.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-323435301829924870?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/323435301829924870/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=323435301829924870' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/323435301829924870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/323435301829924870'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/09/mudana-de-arquitetura.html' title='Mudança de arquitetura'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7523172301332379029</id><published>2008-08-22T12:37:00.003-03:00</published><updated>2008-08-22T12:52:08.601-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><title type='text'>Disponibilização do sistema Controle Financeiro Pessoal</title><content type='html'>Este &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;post&lt;/span&gt; é para informar que o Controle Financeiro Pessoal esta disponível em &lt;a href="http://tiagosantos.nasua.net/cfp/"&gt;http://tiagosantos.nasua.net/cfp/&lt;/a&gt; para quem quiser ver como esta. O usuário disponível é "testando" e a senha é "1234" (sem aspas, claro :). Porém essa localização é temporária, e por hora o sistema é só para testes mesmo, mas se alguém tiver interesse em testar mais a fundo, é só se manifestar nos comentários.&lt;br /&gt;&lt;br /&gt;Ainda existem muitas melhorias a serem feitas para que o sistema fique "usável", e seria bem interessante receber &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;feedback&lt;/span&gt; sobre o que já esta pronto, sobre melhorias necessárias e sobre recursos desejáveis.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-7523172301332379029?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7523172301332379029/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7523172301332379029' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7523172301332379029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7523172301332379029'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/08/disponibilizao-do-sistema-controle.html' title='Disponibilização do sistema Controle Financeiro Pessoal'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-6212962500164998699</id><published>2008-08-01T13:29:00.003-03:00</published><updated>2008-08-01T14:15:47.473-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>Controle Financeiro Pessoal</title><content type='html'>Conforme postei a algum tempo (&lt;a href="http://perludum.blogspot.com/2008/03/novo-projeto.html"&gt;aqui&lt;/a&gt; e &lt;a href="http://perludum.blogspot.com/2008/05/projeto-criado.html"&gt;aqui&lt;/a&gt;), dei início a um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;projeto&lt;/span&gt; chamado Controle Financeiro Pessoal, que visa ser um sistema para controle de finanças pessoais, como se fosse um simples fluxo de caixa. Já existe alguma coisa pronta, bem básico mas utilizável.&lt;br /&gt;&lt;br /&gt;Como dito, é um sistema Web, porém das ferramentas e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;frameworks&lt;/span&gt; que pretendia utilizar inicialmente só restou o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Hibernate&lt;/span&gt;. Estou utilizando basicamente o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;GWT&lt;/span&gt; com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Hibernate&lt;/span&gt; no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;projeto&lt;/span&gt;, já que foi a forma mais simples para mim, que nunca havia programado para Web, começar o desenvolvimento deste pequeno &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;projeto&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;O que esta pronto no sistema &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;atualmente&lt;/span&gt; é o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;login&lt;/span&gt; e adição/alteração/exclusão de lançamentos. Tudo bem básico ainda, porém pretendo melhorar bem mais o sistema. Os próximos passos serão:&lt;br /&gt;&lt;br /&gt;- Melhoria na interface principal do programa;&lt;br /&gt;- Desenvolvimento de consultas para visualização na tela;&lt;br /&gt;- Repetição de &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;lançamentos&lt;/span&gt;, para despesas/receitas que existentes em vários meses;&lt;br /&gt;- Cadastro de usuário (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;atualmente&lt;/span&gt; é feito &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;diretamente&lt;/span&gt; na base de dados).&lt;br /&gt;&lt;br /&gt;Essas são as melhorias que, acredito eu, sejam as mais urgentes a serem feitas, mas tenho planos maiores para o sistema.&lt;br /&gt;&lt;br /&gt;Um problema que estou tendo é o de encontrar uma hospedagem que seja barata e boa. Tentei a www.hosted.com.br que oferece hospedagem &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;JSP&lt;/span&gt; por pouco mais de R$ 13,00, porém não se demonstrou muito útil já que não consegui colocar o sistema para rodar lá, e também o suporte da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;hosted&lt;/span&gt; se negou a me dar qualquer ajuda sobre o assunto. Ainda não cancelei o plano da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;hosted&lt;/span&gt;, ficarei até o final do mês, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;já&lt;/span&gt; q esta pago... Até lá pretendo fazer ainda algumas tentativas para rodar o sistema na &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;hosted&lt;/span&gt;. Se alguém tiver alguma informação sobre como colocar o sistema para rodar na &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;hosted&lt;/span&gt;, ficarei grato se fosse me passado.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-6212962500164998699?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/6212962500164998699/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=6212962500164998699' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6212962500164998699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6212962500164998699'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/08/controle-financeiro-pessoal.html' title='Controle Financeiro Pessoal'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-579943880953026753</id><published>2008-06-26T08:36:00.001-03:00</published><updated>2008-06-26T08:38:52.650-03:00</updated><title type='text'>Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!</title><content type='html'>&lt;div style="text-align: justify;"&gt;…e também a pen drives, card drives, camisetas geeks, livros e mais! O &lt;a href="http://br-linux.org/"&gt;BR-Linux&lt;/a&gt; e o &lt;a href="http://efetividade.net/"&gt;Efetividade&lt;/a&gt; lançaram uma &lt;a href="http://br-linux.org/2008/campanha-wikipedia/"&gt;campanha&lt;/a&gt; para ajudar a Wikimedia Foundation e outros mantenedores de projetos que usamos no dia-a-dia on-line. Se você puder doar diretamente, ou contribuir de outra forma, são sempre melhores opções. Mas se não puder, veja as regras da promoção e &lt;a href="http://br-linux.org/2008/campanha-wikipedia/"&gt;participe&lt;/a&gt; - quanto mais divulgação, maior será a doação do BR-Linux e do Efetividade, e você ainda concorre a diversos brindes! &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-579943880953026753?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/579943880953026753/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=579943880953026753' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/579943880953026753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/579943880953026753'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/06/ajude-sustentar-wikipdia-e-outros.html' title='Ajude a sustentar a Wikipédia e outros projetos, sem colocar a mão no bolso, e concorra a um Eee PC!'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8506216003719568700</id><published>2008-05-29T13:20:00.002-03:00</published><updated>2008-05-29T13:24:50.781-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acadêmico'/><title type='text'>Ensino e mercado de trabalho</title><content type='html'>O link abaixo é sobre uma pesquisa realizada sobre demanda de mão de obra e qualidade ensino. Algumas das coisas que a pesquisa fala eu &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;já&lt;/span&gt; comentei aqui, outras completam o assunto. Leitura muito interessante.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=pesquisa-mostra-que--apagao-de-engenheiros--e-iminente"&gt;http://www.inovacaotecnologica.com.br/noticias/noticia.php?artigo=pesquisa-mostra-que--apagao-de-engenheiros--e-iminente&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-8506216003719568700?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8506216003719568700/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8506216003719568700' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8506216003719568700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8506216003719568700'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/05/ensino-e-mercado-de-trabalho.html' title='Ensino e mercado de trabalho'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4770293792870371166</id><published>2008-05-27T00:18:00.002-03:00</published><updated>2008-05-27T01:45:16.651-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><category scheme='http://www.blogger.com/atom/ns#' term='Idéias'/><category scheme='http://www.blogger.com/atom/ns#' term='Acadêmico'/><title type='text'>Rede Social Acadêmica</title><content type='html'>&lt;div style="text-align: justify;"&gt;Hoje acabei tendo uma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;id&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;eia&lt;/span&gt;&lt;/span&gt; um tanto quanto interessante. Depois de uma conversa com minha namorada sobre a faculdade &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;EAD&lt;/span&gt; que ela cursa, juntando a experiência (não muito boa) que estou tendo na faculdade presencial e o &lt;a href="http://perludum.blogspot.com/2008/04/educao-precisa-de-inovao.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;post&lt;/span&gt; que escrevi sobre inovação na educação&lt;/a&gt; pensei: "Por que não fazer uma rede social voltada para fins &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;acadêmicos&lt;/span&gt;?". Hoje em dia existem redes sociais para quase todas as finalidades, desde redes para pessoas que se gostam muito até para pessoas que se odeiam.  A maioria dessas redes são utilizadas para fins inúteis, somente perda de tempo.&lt;br /&gt;&lt;br /&gt;A princípio havia pensado apenas em um sistema para ensino que possibilitasse a iteração remota entre alunos e professores, isso totalmente em tempo real. Seria algo para vencer as barreiras das distâncias geográficas, sem ser aquela chatice que se vê em alguns cursos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;EAD&lt;/span&gt;, onde o professor fica em um telão explicando a matéria e a única iteração se da na forma de um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;chat&lt;/span&gt;, nada prático quando se esta em curso. Acho que se pode ir além. O ideal seria essa iteração ser por voz. Uma vídeo conferência com voz seria o ideal, onde os alunos pudessem conversar em tempo real com o professor e também com demais alunos. Tecnologia para isso existe... Você pode pensar "isso seria &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ótimo&lt;/span&gt; mesmo para cursos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;EAD&lt;/span&gt;", mas eu digo que cursos presenciais podem se beneficiar muito disso.&lt;br /&gt;&lt;br /&gt;Imagine o seguinte cenário, pegando como exemplo o curso de ciência da computação: existem matérias que todo aluno deve cursar, porém algumas matérias são mais específicas, matérias que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;direcionam&lt;/span&gt; os alunos para certas áreas da informática (desenvolvimento, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;infra&lt;/span&gt;-estrutura, banco de dados, gestão...). Na minha opinião deveríamos poder escolher quais matérias cursar, porém para uma universidade dar essa escolha para o aluno ficaria inviável. E é aqui que  entra o sistema citado acima. A universidade matéria cada matéria centrada em uma unidade (caso a universidade em questão tenha várias unidades), transferindo as aulas via vídeo conferencia. Sim, teria um gasto com isso, porém menor do que manter professores extras.&lt;br /&gt;&lt;br /&gt;Essa foi a primeira parte da ideia que tive. Talvez ela não seja tão boa quanto pensei que fosse, e talvez eu não tenha conseguido descrever ela tão bem quanto a forma com a qual eu desenvolvi ela em minha cabeça. Porém a ideia evoluiu, e junto com ela evoluiu a complexidade. E aqui entra a parte de rede social &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;acadêmica&lt;/span&gt;. E aqui novamente eu talvez não consiga detalhar tão bem como a forma que imaginei.&lt;br /&gt;&lt;br /&gt;Do início desse século até agora vimos a tecnologia evoluir e se transformar muito, e muito rapidamente, e notamos isso principalmente quando olhamos para a Internet. Redes sociais foram criadas e se multiplicaram como coelhos, apareceu a Web 2.0 e as novas formas de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;compartilhamento&lt;/span&gt; da informação, a cada dia aumenta o número de pessoas que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;acessam&lt;/span&gt; a Internet... Enfim, aparentemente tudo gira em torno da Internet hoje em dia, porém a educação, algo tão importante, esta ficando de fora dessa evolução. Apesar da Internet ser um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;ótimo&lt;/span&gt; meio de pesquisa, quase todo conhecimento humano estar disponibilizado espalhado por sites, a evolução da tecnologia e da Internet ainda não atingiu a educação de forma satisfatória. Sei que existem empresas empenhadas em informatizar a educação, criar meios transmissão de conhecimento, aperfeiçoar aulas a distâncias, mas ainda não vi nada que use toda essa tecnologia apresentada hoje na Internet.&lt;br /&gt;&lt;br /&gt;&lt;meta equiv="CONTENT-TYPE" content="text/html; charset=utf-8"&gt;&lt;title&gt;&lt;/title&gt;&lt;meta name="GENERATOR" content="BrOffice.org 2.3  (Linux)"&gt;A minha imagem de uma rede social &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;acadêmica&lt;/span&gt; englobaria (basicamente):    	 	 	 	&lt;style type="text/css"&gt; 	&lt;!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 	--&gt; 	&lt;/style&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;p class="western" style="margin-bottom: 0in;"&gt;Aulas em vídeo 	conferência;&lt;/p&gt;&lt;/li&gt;&lt;li&gt;Iteração 	&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;direta&lt;/span&gt; entre aluno, professor e demais alunos;&lt;/li&gt;&lt;li&gt;Aulas armazenadas 	para consulta posterior em uma área de vídeos;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;Podcasts&lt;/span&gt; sobre 	aulas, matérias, assuntos disponibilizados tanto pelos professores quanto por alunos;&lt;/li&gt;&lt;li&gt;Listas de 	discussão e fóruns;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt; E o que temos disponível, em se tratando de tecnologia, par se construir tal rede social?  Bom, vejamos:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Redes sociais por si só são iguais a mato, todo lugar tem;&lt;/li&gt;&lt;li&gt;Para aulas em vídeo conferência poderia ser utilizado algo como o &lt;a href="http://live.yahoo.com/"&gt;Yahoo! &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Live&lt;/span&gt;&lt;/a&gt;;&lt;/li&gt;&lt;li&gt;Armazenamento de vídeos: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;You&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Tube&lt;/span&gt;;&lt;/li&gt;&lt;li&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Podcast&lt;/span&gt;: se vídeo não é problema, som também não é problema;&lt;/li&gt;&lt;li&gt;Lista de discussão e fórum: Google &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;Groups&lt;/span&gt;, Yahoo Grupos;&lt;/li&gt;&lt;/ul&gt;Bom, esse é só um pequeno exemplo para mostrar que tecnologia par tal rede existe. Talvez algumas coisas precisem ser melhoradas em muito, como vídeo conferencia, mas acredito que o maior desafio esteja mesmo em integrar todas essas tecnologias.&lt;br /&gt;&lt;br /&gt;Como disse, não consegui descrever tudo o que imaginei sobre o assunto. Na verdade o que escrevi é somente uma pequena &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;fração&lt;/span&gt;, e a cada linha que escrevo a ideia cresce mais. Mas por hora eu fico por aqui.&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/38610382-4770293792870371166?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4770293792870371166/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4770293792870371166' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4770293792870371166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4770293792870371166'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/05/rede-social-acadmica.html' title='Rede Social Acadêmica'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4090812602458151704</id><published>2008-05-26T21:39:00.003-03:00</published><updated>2008-05-26T21:47:07.869-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='CFP'/><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>Projeto criado</title><content type='html'>Acabei de disponibilizar os fontes do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;projeto&lt;/span&gt; pessoal que criei. A página do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;projeto&lt;/span&gt; é &lt;a href="http://code.google.com/p/controlefinanceiropessoal/"&gt;http://code.google.com/p/controlefinanceiropessoal/&lt;/a&gt;, não existe muitas coisas lá ainda, somente uma descrição do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;projeto&lt;/span&gt;, algumas das futuras &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;features&lt;/span&gt; que pretendo adicionar ao &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;projeto&lt;/span&gt; e, é claro, os fontes.&lt;br /&gt;&lt;br /&gt;Caso alguém se interesse, fiquem a vontade para comentar.&lt;span style="display: block;" id="formatbar_Buttons"&gt;&lt;/span&gt;&lt;br /&gt;Criei uma nova &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;tag&lt;/span&gt; no blog para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;post&lt;/span&gt; sobre o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;projeto&lt;/span&gt;, a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;tag&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;CFP&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4090812602458151704?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4090812602458151704/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4090812602458151704' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4090812602458151704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4090812602458151704'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/05/projeto-criado.html' title='Projeto criado'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2410065127200332783</id><published>2008-05-26T09:55:00.004-03:00</published><updated>2008-05-26T12:01:20.022-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>GWT</title><content type='html'>&lt;div style="text-align: justify;"&gt;&lt;a href="http://perludum.blogspot.com/2008/03/novo-projeto.html"&gt;Neste &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;post&lt;/span&gt;&lt;/a&gt; informei que estava começando um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;projeto&lt;/span&gt; particular e que utilizaria as seguintes tecnologias: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;JSP&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Servlet&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Struts&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;Hibernate&lt;/span&gt;. Bom, após uma tentativa frustrada de utilizar o &lt;a href="http://developer.yahoo.com/yui/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;YUI&lt;/span&gt;&lt;/a&gt; (Yahoo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;User&lt;/span&gt; Interface) &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;diretamente&lt;/span&gt; com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Struts&lt;/span&gt;, decidi tentar aprender somente o que precisava saber sobre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Struts&lt;/span&gt; primeiro, antes de utilizar alguma coisa diferente no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;projeto&lt;/span&gt;, como &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;interface&lt;/span&gt; com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;AJAX&lt;/span&gt; que é o caso do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;YUI&lt;/span&gt;. Novamente fiquei frustrado. Bom, aprendi os conceitos do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;Struts&lt;/span&gt;, fiz alguns testes que funcionaram perfeitamente, inclusive com acesso ao banco de dados utilizando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Hibernate&lt;/span&gt;. Mas o que me frustrou foi em relação justamente à interface.&lt;br /&gt;&lt;br /&gt;O motivo dessa frustração foi por que não existe uma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;padronização&lt;/span&gt; que todos todos concordem para integrar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Struts&lt;/span&gt; com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;JSP&lt;/span&gt;. Pesquisando, alguns diziam que o melhor era utilizar as &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;JSTL&lt;/span&gt; padronizadas, já para alguns casos a maioria dos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;desenvolvedores&lt;/span&gt; recomendavam a utilização das &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;taglibs&lt;/span&gt; do próprio &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Struts&lt;/span&gt;... Não encontrando um censo comum, nem uma forma fácil de integrar o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Struts&lt;/span&gt; com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;JSP&lt;/span&gt; (deixo claro que essa é minha &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_26"&gt;opinião&lt;/span&gt; que formei com algumas horas estudando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Struts&lt;/span&gt;), decidir abandonar os estudos desse &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;framework&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Procurando alternativas optei por me dedicar ao &lt;a href="http://code.google.com/webtoolkit/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;GWT&lt;/span&gt;&lt;/a&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;Googlel&lt;/span&gt; Web &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Tookit&lt;/span&gt;), que é um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;framework&lt;/span&gt; para criação de interface web baseado em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;Ajax&lt;/span&gt;. O funcionamento dessa ferramenta, que era de uso interno do Google mas foi disponibilizado como código aberto para quem quiser utilizar, é bem simples. A &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_34"&gt;ideia&lt;/span&gt; central é a de gerar código JavaScript através de código Java... Você desenvolve a interface com código &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_35"&gt;Java&lt;/span&gt;, mais ou menos parecido com a forma como você desenvolve utilizando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;Swing&lt;/span&gt;, porém você só pode utilizar componentes do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;GWT&lt;/span&gt;. A partir desse código, o compilador do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;GWT&lt;/span&gt; o compila para código JavaScript, gerando assim a interface.&lt;br /&gt;&lt;br /&gt;Porém o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;GWT&lt;/span&gt; somente utiliza poucos recursos do &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_40"&gt;Java&lt;/span&gt; e, principalmente, ele não suporta recursos que sejam do Java 5 ou mais recentes, ou seja, só suporta até o Java 1.4. Mas isso não chega a ser problema, pois o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;GWT&lt;/span&gt; é uma ferramenta voltada para criação de interfaces gráficas, logo não são necessários muitos recursos a mais do que o próprio &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;GWT&lt;/span&gt; disponibiliza. Bom, não são necessários muitos recursos extras, mas algumas vezes são necessários alguns recursos, como por exemplo para se utilizar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;Hibernate&lt;/span&gt; com anotações eu seu &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;projeto&lt;/span&gt;. Não vou entrar nesse assunto agora, porém no próximo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;post&lt;/span&gt; pretendo dar uma &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_46"&gt;esclarecida&lt;/span&gt; nisso.&lt;br /&gt;&lt;br /&gt;Outro detalhe importante sobre o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_47"&gt;GWT&lt;/span&gt; é que, sendo ele somente uma ferramenta para a criação de interfaces gráficas para web baseado em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;Ajax&lt;/span&gt;, todo o código que não esta relacionado à interface deve ficar no que é chamado de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;Server&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;side&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;Code&lt;/span&gt;, ou seja, a lógica de negócio fica nessa área do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;projeto&lt;/span&gt;. Basicamente o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;Server&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;side&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_55"&gt;Code&lt;/span&gt; é um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_56"&gt;servlet&lt;/span&gt; que é &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_57"&gt;acessado&lt;/span&gt; pela interface como serviço, e é aqui que podemos utilizar todos os recursos do Java.&lt;br /&gt;&lt;br /&gt;Não vou me aprofundar sobre esse assunto, porém segue alguns &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_58"&gt;links&lt;/span&gt; que falam sobre isso de uma maneira melhor do que eu poderia explicar (e que me ajudaram muito a entender sobre o funcionamento da ferramenta):&lt;br /&gt;&lt;br /&gt;&lt;a href="http://loogica.wordpress.com/2006/11/30/gwt-voce-entendeu/"&gt;http://loogica.wordpress.com/2006/11/30/gwt-voce-entendeu/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pbjug.org/jugs/documentos/google_web_toolkit"&gt;http://www.pbjug.org/jugs/documentos/google_web_toolkit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Após essa breve introdução sobre o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_59"&gt;GWT&lt;/span&gt; eu paro por aqui. Quem chegou a meu &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_60"&gt;post&lt;/span&gt; aprender sobre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_61"&gt;GWT&lt;/span&gt;, recomendo que leiam os dois artigos dos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_62"&gt;links&lt;/span&gt; acima. Nos próximo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_63"&gt;posts&lt;/span&gt; irei colocar exemplos de utilização do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_64"&gt;GWT&lt;/span&gt;, inclusive de como passar a limitação sobre recursos do Java 5 e mais recentes.&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/38610382-2410065127200332783?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2410065127200332783/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2410065127200332783' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2410065127200332783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2410065127200332783'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/05/gwt.html' title='GWT'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5869179879154523419</id><published>2008-04-22T21:08:00.001-03:00</published><updated>2008-04-22T21:09:30.093-03:00</updated><title type='text'>Link rápido</title><content type='html'>Esse é somente um link rápido sobre a lei que quer regulamentar a área de informática...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kumpera.net/blog/index.php/2008/04/16/vamos-todos-impedir-a-regulamentacao-da-profissao-de-analista-de-sistema/"&gt;http://www.kumpera.net/blog/index.php/2008/04/16/vamos-todos-impedir-a-regulamentacao-da-profissao-de-analista-de-sistema/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-5869179879154523419?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5869179879154523419/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5869179879154523419' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5869179879154523419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5869179879154523419'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/04/link-rpido.html' title='Link rápido'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4862883353827399237</id><published>2008-04-06T23:39:00.003-03:00</published><updated>2008-04-07T00:35:59.025-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Idéias'/><title type='text'>Apenas uma idéia</title><content type='html'>&lt;div style="text-align: justify;"&gt;Estava mexendo com o Google &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Desktop&lt;/span&gt;, mais necessariamente nos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;gadgets&lt;/span&gt;, buscando algum que fosse útil ao meu  dia-a-dia. Encontrei dois em especial, o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Tasks&lt;/span&gt; e uma interface com o Google &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Calendar&lt;/span&gt;, bem simples mas interessante.&lt;br /&gt;&lt;br /&gt;E vendo o funcionamento dessa interface do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;gadget&lt;/span&gt; com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;google&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;calendar&lt;/span&gt; fiquei pensando, não seria &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ótimo&lt;/span&gt; uma gama de aplicativos onde os dados e o processamento fiquem em sites web e tenhas interfaces com aplicativos residentes em nossos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PCs&lt;/span&gt;?? Eu penso que sim.&lt;br /&gt;&lt;br /&gt;Claro que aplicativos com interface web são muito bem vindos e úteis, porém algumas coisas podem ser melhores aproveitadas tendo uma integração com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;desktop&lt;/span&gt;, integração essa que navegadores não oferecem (pelo menos eu desconheço).&lt;br /&gt;&lt;br /&gt;Por exemplo, o próprio &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;google&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;desktop&lt;/span&gt; oferece recurso onde a barra pode ficar na lateral em modo sempre visível, o que é &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;ótimo&lt;/span&gt; quando usamos o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;gadget&lt;/span&gt; do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;calendar&lt;/span&gt; deixando-o sempre a vista e sendo avisados de qualquer evento adicionado ao &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;google&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;calendar&lt;/span&gt;. O mesmo recurso poderia ser utilizado no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;gadget&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;tasks&lt;/span&gt;, transformando ele num &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;gerenciador&lt;/span&gt; de tarefas bem mais interessante. Eu acredito que alguns aplicativos fariam um casamento perfeito ao aliar o melhor dos recursos da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;internet&lt;/span&gt; com o melhor dos recursos do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;desktop&lt;/span&gt;. Pena essa não ser uma tendência.&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/38610382-4862883353827399237?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4862883353827399237/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4862883353827399237' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4862883353827399237'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4862883353827399237'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/04/apenas-uma-idia.html' title='Apenas uma idéia'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2166227497033733019</id><published>2008-04-04T14:04:00.002-03:00</published><updated>2008-04-04T14:06:29.381-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acadêmico'/><title type='text'>Ainda sobre educação</title><content type='html'>Leitura muito interessante:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/notebook/public/17079753499295322861/BDRTrSgoQpsyKyd4i"&gt;http://www.google.com/notebook/public/17079753499295322861/BDRTrSgoQpsyKyd4i&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Basicamente fala que a melhor forma de melhorar a qualidade de ensino é investindo nos professores.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-2166227497033733019?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2166227497033733019/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2166227497033733019' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2166227497033733019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2166227497033733019'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/04/ainda-sobre-educao.html' title='Ainda sobre educação'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-3753897624356056161</id><published>2008-04-01T22:40:00.002-03:00</published><updated>2008-04-02T00:39:33.390-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acadêmico'/><title type='text'>A educação precisa de inovação</title><content type='html'>&lt;div style="text-align: justify;"&gt;Volto a tocar novamente no assunto metodologia de ensino. Por mais que eu tente me acostumar não consigo me conformar com a maneira com que as aulas são ministradas. Estamos num mundo  onde tudo se modifica, tudo evolui e ao que parece somente as escolas não mudam, e quando digo "escolas" me refiro desde o ensino fundamental até os cursos de graduação.&lt;br /&gt;&lt;br /&gt;Vamos aos fatos:&lt;br /&gt;&lt;blockquote&gt;- desde quando entramos na primeira série do ensino fundamental até quando nos formamos na faculdade temos a presença do professor como a figura principal dentro da sala de aula;&lt;br /&gt;&lt;br /&gt;- os recursos mais utilizados são livros, papel, lápis, caneta e borracha;&lt;br /&gt;&lt;br /&gt;- geralmente o professor comporta-se como em um monólogo, ou então com uma mínima participação dos alunos;&lt;br /&gt;&lt;br /&gt;- a participação dos alunos muitas vezes é forçada por perguntas que geralmente ninguém sabe responder ou não tem interesse em responder;&lt;br /&gt;&lt;br /&gt;- o modo mais utilizado para estimular os alunos a estudarem é "quem não estudar vai tirar nota baixa";&lt;br /&gt;&lt;br /&gt;- os alunos ficam, de certa forma, dependentes dos professores para lhes tirarem as dúvidas, mostrarem materiais novos e lhes mandarem estudar.&lt;/blockquote&gt;Esses são os &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;fatores&lt;/span&gt; que mais denunciam a necessidade de mudança de metodologia de ensino. E não apenas mudar, é preciso inovar. Hoje em dia vemos tecnologia em todos os lugares que vamos, e é preciso utilizar toda essa tecnologia na educação.&lt;br /&gt;&lt;br /&gt;Cursos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;EAD&lt;/span&gt; (Ensino A Distância, injustamente descriminados por muitos) são bons exemplos de uso da tecnologia na educação, inclusive com o uso &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;massivo&lt;/span&gt; da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;internet&lt;/span&gt;, e também são bons exemplos de quebra de paradigma e inovação. A maior parte do material para consulta, a entrega de exercícios e as próprias aulas ministradas são via &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;internet&lt;/span&gt;. A parte de inovação no estudo vai de encontro com o que escrevi &lt;a href="http://perludum.blogspot.com/2007/09/metodologia-de-ensino.html"&gt;neste &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;post&lt;/span&gt;&lt;/a&gt;, onde após assistirem a aula os exercícios são resolvidos e debatidos em grupo, bem diferente do modelo cada-um-por-si praticado na maioria dos cursos presenciais. Um bom começo para mudarmos a metodologia de ensino talvez seja utilizar o que há de bom no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;EAD&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Outro exemplo de uso da tecnologia na educação são os &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;notebooks&lt;/span&gt; educacionais de baixo custo. Eu enxergo essas iniciativas como uma luz no fim do túnel da decadente educação fundamental brasileira. Mas como nem tudo são flores, existem pesquisas que indicam que o mau uso desses &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;notebooks&lt;/span&gt; pelas crianças podem diminuir o desempenho nas aulas. E isso me leva ao ponto onde eu queria chegar. De nada adianta o uso de toda tecnologia disponível se a aula não é interessante. E não se enganem, qualquer matéria pode ser a mais interessante do mundo, ou uma tortura inimaginável, vai depender muito de como essas aulas são ministradas. E posso dizer seguramente que o maior motivo pelo qual as salas de aula ficam vazias é a falta de interesse dos alunos pelas matérias.&lt;br /&gt;&lt;br /&gt;É necessário inovação para fazer os alunos se interessarem pelas aulas, estudarem e realmente aprenderem. Um começo para realizar essa inovação é abusar de trabalhos em equipe dentro de sala de aula (só fica estranho escrever que uma metodologia tão antiga pode ser considerada inovação, mas...). A realização de trabalhos em grupos durante as aulas tiraria parte da responsabilidade do professor de transmitir todo o conhecimento para os alunos, que passariam a compartilhar mais conhecimento e buscariam informações em outras fontes (livros, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;internet&lt;/span&gt;...), tirando a dependência que os alunos tem do professor, que teria um papel mais de coordenação. Só fica a dúvida se alguns professores iriam aceitar perder parte de sua importância dentro da sala de aula.&lt;br /&gt;&lt;br /&gt;Uma outra ideia que poderia dar certo é em relação ao foco do que é ensinado em algumas matérias. Em todos os cursos temos matérias que não estão &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;diretamente&lt;/span&gt; relacionadas com o curso. Essas matérias não precisam ser estudadas em seus detalhes, logo o foco das aulas poderia ser estudos de casos onde são utilizados esses conhecimentos.&lt;br /&gt;&lt;br /&gt;Bom, estou ainda organizando essas ideias, as quais pretendo apresentar na universidade onde estudo. Acho que mudanças assim só acontecem quando os maiores interessados tomam a iniciativa nesse sentido, que no caso são os alunos. Caso eu tenha mais alguma novidade sobre o assunto postarei aqui.&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/38610382-3753897624356056161?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/3753897624356056161/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=3753897624356056161' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3753897624356056161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3753897624356056161'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/04/educao-precisa-de-inovao.html' title='A educação precisa de inovação'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5857319437347428109</id><published>2008-03-10T09:13:00.005-03:00</published><updated>2008-03-10T11:42:38.645-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programação'/><title type='text'>Utilização das linguagens de programação</title><content type='html'>&lt;div style="text-align: justify;"&gt;Novamente lendo o blog do &lt;a href="http://www.ibm.com/developerworks/blogs/page/ctaurion"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Cezar&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Taurion&lt;/span&gt;&lt;/a&gt; me deparei com um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;post&lt;/span&gt; bem interessante falando sobre o debate que temos visto ultimamente sobre a substituição do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;java&lt;/span&gt; por linguagens de programação dinâmicas, mais &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;especificamente&lt;/span&gt; Perl, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;PHP&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Python&lt;/span&gt; e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Ruby&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_8"&gt;Já&lt;/span&gt; faz algumas semanas que esse debate (em alguns casos são brigas) vem acontecendo principalmente em &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_9"&gt;fóruns&lt;/span&gt;, lista de &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_10"&gt;discussão&lt;/span&gt; e blogs. Muitas vezes intitulado como o "fim do &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;Java&lt;/span&gt;" ou "a morte do &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;Java&lt;/span&gt;", esse debate teve início, se não me engano, em uma matéria de um site de noticias norte-americano que não sei qual foi, somente li &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;posts&lt;/span&gt; brasileiros comentando sobre o assunto, mas ele falava justamente que o &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;Java&lt;/span&gt;, em pouco tempo, seria &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;substituído&lt;/span&gt; por linguagens dinâmicas e pela plataforma .&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;Net&lt;/span&gt; da &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_17"&gt;Microsoft&lt;/span&gt;. No &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;post&lt;/span&gt; do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Cezar&lt;/span&gt; não foi mencionado o .&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Net&lt;/span&gt;, mas foi bem comentado sobre as linguagem dinâmicas, e foi mencionado também o site da &lt;a href="http://www.tiobe.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Tiobe&lt;/span&gt; Software&lt;/a&gt; que é conhecido por disponibilizar uma espécie de &lt;a href="http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;ranking&lt;/span&gt; das linguagens de programação&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Resolvi dar uma passada no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;Tiobe&lt;/span&gt; para ver como anda o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;ranking&lt;/span&gt; das linguagem de programação e &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;analisar&lt;/span&gt; principalmente as linguagens citadas no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;post&lt;/span&gt;. Neste mês temos: Java aumento de 2,61%; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;PHP&lt;/span&gt; queda de 0,68%; Perl queda de 0,64%; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Python&lt;/span&gt; aumento de 0,70%; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;Ruby&lt;/span&gt; queda de 0,11%. Analisando assim podemos dizer que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_30"&gt;Java&lt;/span&gt; é a linguagem que tem crescido mais dentre as mencionadas.&lt;br /&gt;&lt;br /&gt;Mas essa análise não mostra a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;tendência&lt;/span&gt; de utilização das linguagens, que pode ser constatada olhando-se o gráfico, que mostra o período de 2002 à 2008, onde podemos ver que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_33"&gt;Java&lt;/span&gt; já passou por um período de queda muito maior, mas agora esta mais estável, e que as linguagens dinâmicas tem sim uma curva de utilização com forte subida, a não ser Perl que esta em queda. Porém se observarmos com atenção vemos que a maior parte do mercado que essas linguagens dinâmicas tem tirado é da dupla C/C++, e não do Java.&lt;br /&gt;&lt;br /&gt;Levando somente esses dados em consideração, não acredito que seja possível dizer, nesse momento, que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_34"&gt;Java&lt;/span&gt; vai morrer (até mesmo por que linguagens de programação não morrem, somente &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_35"&gt;diminuem&lt;/span&gt; a utilização), nem mesmo que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_36"&gt;Java&lt;/span&gt; será &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_37"&gt;substituída&lt;/span&gt; por outras linguagens ficando sua utilização restrita a alguns nichos e a sistemas legados. Aliando isso aos argumentos que &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;Cezar&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;Taurion&lt;/span&gt; colocou, podemos acreditar que, nas palavras de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;Cezar&lt;/span&gt;, "Aprender e ser proficiente em Java ainda é e será por muito tempo uma boa opção profissional."&lt;br /&gt;&lt;br /&gt;Só para terminar, outras observações interessantes que podemos fazer &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_41"&gt;analisando&lt;/span&gt; o gráfico do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_42"&gt;Tiobe&lt;/span&gt;: &lt;blockquote&gt;- C# não tem crescido tanto quanto a Microsoft gostaria, ficando apenas com 4,143% de utilização;&lt;br /&gt;   - Visual &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;Basic&lt;/span&gt; tem crescido &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_44"&gt;bastante&lt;/span&gt;, será que isso é por causa do Visual &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_45"&gt;Basic&lt;/span&gt; .&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_46"&gt;Net&lt;/span&gt; ter se transformado em uma linguagem realmente boa para desenvolvimento, ou o pessoal gosta mesmo é da &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_47"&gt;facilidades&lt;/span&gt; de criar "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_48"&gt;telinhas&lt;/span&gt;" somente utilizando o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_49"&gt;mouse&lt;/span&gt;?&lt;/blockquote&gt;Bom, a respeito do Visual &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_50"&gt;Basic&lt;/span&gt;, eu não sei se realmente a versão .&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_51"&gt;Net&lt;/span&gt; esta boa, mas até a versão 6 que eu conheço a única vantagem que essa linguagem tem em cima de várias outras é a facilidade de se criar telas, fora isso não vejo nenhum motivo para um crescimento tão grande dessa linguagem. Eu particularmente acho o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_52"&gt;VB&lt;/span&gt; uma linguagem péssima para se criar sistemas grandes, talvez seja melhor para criar pequenos aplicativos, e mesmo assim costuma dar muito problemas na hora do desenvolvimento. Mas eu não conheço o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_53"&gt;VB&lt;/span&gt; .&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_54"&gt;Net&lt;/span&gt;, talvez por ter melhorado muito nessa versão esse seja o motivo desse crescimento. Preciso &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_55"&gt;conferir&lt;/span&gt; isso.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-5857319437347428109?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5857319437347428109/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5857319437347428109' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5857319437347428109'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5857319437347428109'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/03/utilizao-das-linguagens-de-programao.html' title='Utilização das linguagens de programação'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-1739642004241398998</id><published>2008-03-06T19:48:00.006-03:00</published><updated>2008-03-06T20:33:41.048-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Java'/><title type='text'>Novo projeto</title><content type='html'>&lt;div align="justify"&gt;Conforme disse no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;post&lt;/span&gt; anterior, estou iniciando um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;projeto&lt;/span&gt; para estudo de &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_2"&gt;Java&lt;/span&gt;. Bom, não é só para estudo, é também uma necessidade pessoal que tenho. Vou falar um pouco deste &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;projeto&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Eu costumo controlar meu orçamento pessoal em uma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;planilha&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;eletrônica&lt;/span&gt;, que até funciona &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;satisfatoriamente&lt;/span&gt;, porém todo o trabalho é feito manualmente, o que gera muito trabalho. Mas a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_7"&gt;ideia&lt;/span&gt; de desenvolver um pequeno sistema para controle financeiro não é nova, já vem de uns 3 anos atrás, quando eu comprei um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;PDA&lt;/span&gt; (um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Palm&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Zire&lt;/span&gt; 21) visando procurar algum software para essa finalidade que eu pudesse instalar nesse &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;PDA&lt;/span&gt;. Mas como não encontrei nenhum que me atendesse, resolvi eu mesmo desenvolver um sistema, pensando inicialmente usar o J2ME, mas como não existia &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;JVM&lt;/span&gt; para aquele modelo de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;palm&lt;/span&gt; acabei conhecendo o &lt;a href="http://www.superwaba.com.br/pt/default.asp"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;SuperWaba&lt;/span&gt;&lt;/a&gt; que poderia ser considerado, a grosso modo, como uma "cópia" do &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;Java&lt;/span&gt; especializada para rodar em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;PDAs&lt;/span&gt; (não é isso, mas não achei nesse momento uma explicação melhor).&lt;br /&gt;&lt;br /&gt;Cheguei a desenvolver duas versões de um aplicativo de controle de orçamento para o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;PDA&lt;/span&gt; utilizando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;SuperWaba&lt;/span&gt;. A primeira ficou &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;horrível&lt;/span&gt;, já a segunda ficou bem melhor, porém ainda não estava em um nível no qual poderia ser utilizado no dia-a-dia, sem falar de alguns pequenos bugs. Mas apesar do pequeno sucesso que tive, acabei desviando minha atenção desse software e acabei deixando-o de lado... para começar utilizar a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;planilha&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Após um bom tempo utilizando a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;planilha&lt;/span&gt;, comecei a pensar se não seria melhor desenvolver um pequeno sistema para substituir a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;planilha&lt;/span&gt;, logicamente adicionando mais recursos. Juntei isso com a vontade de aprender a desenvolver para a web com &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_23"&gt;Java&lt;/span&gt;, então criei o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;projeto&lt;/span&gt; no Google &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;Code&lt;/span&gt; chamando &lt;a href="http://code.google.com/p/controlefinanceiropessoal/"&gt;Controle Financeiro Pessoal&lt;/a&gt;. Bom, sobre o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;projeto&lt;/span&gt; posso dizer que será um sistema web, utilizará &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;JSP&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;Servlet&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;Struts&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;Hibernate&lt;/span&gt;... e tudo mais que eu tiver direito ;-)&lt;br /&gt;&lt;br /&gt;Qual critério usei para escolher essas ferramentas? Bom, praticamente to tentando aprender o que é mais pedido pelo mercado de trabalho. &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;Principalmente&lt;/span&gt; sobre o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;Struts&lt;/span&gt;, já vi em vários lugares que ele nem de longe é o melhor o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;framework&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;MVC&lt;/span&gt; que temos, mas ainda é o mais pedido nas vagas, por isso vou utiliza-lo no aprendizado.&lt;br /&gt;&lt;br /&gt;E o motivo de fazer um sistema web é por que poderei utiliza-lo em qualquer lugar onde tenha um &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_35"&gt;computador&lt;/span&gt; com acesso a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;internet&lt;/span&gt;, além do mais como a tendência de cada vez mais podermos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;acessar&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;internet&lt;/span&gt; através de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_39"&gt;PDAs&lt;/span&gt;, celulares e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_40"&gt;smartphones&lt;/span&gt;, a intenção é, se o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_41"&gt;projeto&lt;/span&gt; der certo, desenvolver uma interface para dispositivos &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_42"&gt;portáteis&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_43"&gt;acessarem&lt;/span&gt;. Vamos ver no que vai dar.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-1739642004241398998?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/1739642004241398998/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=1739642004241398998' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1739642004241398998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1739642004241398998'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/03/novo-projeto.html' title='Novo projeto'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-463765275857101714</id><published>2008-02-28T21:09:00.004-03:00</published><updated>2008-02-28T21:53:35.057-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geral'/><title type='text'>Tirando as teias de aranha...</title><content type='html'>&lt;div align="justify"&gt;Depois de muito tempo sem postar nada no blog, volto aqui para começar mais uma temporada de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;posts&lt;/span&gt;...&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;No ultimo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;post&lt;/span&gt; disse que estaria iniciando um novo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;projeto&lt;/span&gt; (sistema de backup), porém algumas coisas mudaram e desisti desse &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;projeto&lt;/span&gt;, pelo menos por hora (pode ser que algum dia eu ainda possa inicia-lo).&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;E se eu não iniciei esse &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;projeto&lt;/span&gt;, então o que eu andei fazendo???? Bom, primeiro me empolguei com a possibilidade de ingressar em um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;projeto&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;open&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;source&lt;/span&gt; de grande porte, o &lt;a href="http://www.openbravo.org/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Openbravo&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;ERP&lt;/span&gt;&lt;/a&gt;. &lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Partindo &lt;a href="http://www.ibm.com/developerworks/blogs/page/ctaurion?entry=novas_fronteiras_para_o_open"&gt;deste &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;post&lt;/span&gt;&lt;/a&gt; do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Cezar&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Taurion&lt;/span&gt; onde ele fala sobre possíveis &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;projetos&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;open&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;source&lt;/span&gt; que terão um bom crescimento, cheguei a conclusão de que talvez fosse muito bom para mim participar de um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;projeto&lt;/span&gt; de localização de um software &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;ERP&lt;/span&gt; de boa visibilidade. Em primeiro lugar iria me aprofundar no conhecimento de sistemas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;ERP&lt;/span&gt;, em segundo lugar eu iria me aprofundar nos estudos de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;java&lt;/span&gt;, além de poder colocar em meu currículo como experiência ;-). Mas não foi bem assim...&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Primeiro não havia nenhuma comunidade aberta que estivesse trabalhando nessa localização em que eu poderia entrar, então eu me empenhei em agitar algumas pessoas para criar essa comunidade. E consegui... Mas nem tudo são flores. No inicio com a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;empolgação&lt;/span&gt; em que muitos estavam com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;projeto&lt;/span&gt; (inclusive eu) as coisas andaram um pouco. Criamos um grupo de discussão e um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;projeto&lt;/span&gt; no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;google&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;code&lt;/span&gt; para trabalhar com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;projeto&lt;/span&gt;. Foi traduzido algumas páginas de manuais no wiki oficial do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;projeto&lt;/span&gt; e também uma melhoria nos arquivos de tradução do sistema logo nas primeiras semanas. Mas acho que a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;empolgação&lt;/span&gt; durou pouco, inclusive para mim. Em poucas semanas o grupo de discussão parou de receber mensagens, a tradução aparentemente parou de ser feita e o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;projeto&lt;/span&gt; acabou largado as traças. O que aconteceu? Pelo que percebi, era necessário um líder de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;projeto&lt;/span&gt;, alguém que controlasse as coisas e incentivasse a continuidade do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;projeto&lt;/span&gt;, porém acho que não havia ninguém com esse perfil para um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;projeto&lt;/span&gt; do tamanho que esse iria se tornar. E não, eu também não tenho esse perfil, apesar de eu praticamente ter possibilitado a criação desse &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;projeto&lt;/span&gt;.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Uma outra conclusão a que cheguei é que eu não estou pronto para participar de um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;projeto&lt;/span&gt; muito grande, ou seja, não tenho conhecimento técnico suficiente para isso. Um motivo pelo qual resolvi não participar mais do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;projeto&lt;/span&gt; de localização.&lt;/div&gt;&lt;div align="justify"&gt; &lt;/div&gt;&lt;div align="justify"&gt;Levando tudo isso em conta resolvi criar um pequeno &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;projeto&lt;/span&gt; para melhorar meu conhecimento em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;java&lt;/span&gt;. Mas sobre isso falo no próximo &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;post&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/38610382-463765275857101714?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/463765275857101714/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=463765275857101714' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/463765275857101714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/463765275857101714'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2008/02/tirando-as-teias-de-aranha.html' title='Tirando as teias de aranha...'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-3397662567025922714</id><published>2007-12-17T11:08:00.000-02:00</published><updated>2007-12-17T11:57:16.665-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geral'/><title type='text'>Voltando a blogar e início de novo projeto</title><content type='html'>&lt;div style="text-align: justify;"&gt;Depois de um bom tempo sem postar nada aqui graças a um período de trabalhos e provas na faculdade, entre outras coisas, estou voltando a postar no blog.&lt;br /&gt;&lt;br /&gt;Como disse no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;post&lt;/span&gt; anterior, estou em um novo emprego e, também, um novo foco na carreira. Com o cargo de analista de sistemas meu trabalho será muito mais voltado a desenvolvimento do que a administração e suporte a sistemas. Por conta disso o foco do blog também irá mudar. Podem esperar um grande aumento na quantidade de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;posts&lt;/span&gt; a respeito de Java e de desenvolvimento em geral.&lt;br /&gt;&lt;br /&gt;Embora esteja trabalhando na área de informática que mais goste (desenvolvimento), a tecnologia que irei utilizar aqui não me deixa nada contente. O sistema &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;ERP&lt;/span&gt; aqui utiliza ainda o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;VisualBasic&lt;/span&gt; 5. Apesar disso, estou tive tempo para desenvolver um pequeno  &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;programinha&lt;/span&gt; em Java aqui na empresa, e pretendo começar um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;projeto&lt;/span&gt; pessoal em casa utilizando Java, aproveitando as férias da faculdade e que possivelmente será a base do meu &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;TCC&lt;/span&gt; (sim, já estou pensando nisso).&lt;br /&gt;&lt;br /&gt;O &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;projeto&lt;/span&gt; que pretendo desenvolver é um sistema de backup em Java. Dois motivos principais me levaram a pensar nesse &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;projeto&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;1 - Com a experiência adquirida com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Bacula&lt;/span&gt;, percebi que ainda não existe uma ferramenta de backup realmente eficaz de código aberto (sim, será um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;projeto&lt;/span&gt; de código aberto ;-), levando-se em conta facilidade de instalação, facilidade de configuração e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;praticidade&lt;/span&gt; de uso, além do que existem muitos pontos que poderiam ser alterados no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Bacula&lt;/span&gt;;&lt;br /&gt;&lt;br /&gt;2 - O segundo motivo é que, apesar de ter um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;contato&lt;/span&gt; um pouco grande com a tecnologia Java, eu não tenho experiência com a linguagem, nem mesmo conheço a fundo tudo o que ela pode oferecer, então um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;projeto&lt;/span&gt; como esse poderia me trazer uma experiência muito boa com a linguagem.&lt;br /&gt;&lt;br /&gt;Não sei se Java seria a melhor tecnologia para se desenvolver um sistema de backup, principalmente se levarmos em conta que pretendo desenvolver um sistema multi-plataforma (entenda-se Linux e Windows). Java, até por onde eu sei, tem muitas limitações em acesso a hardware, sendo necessário a utilização de bibliotecas que provêem acesso a API do sistema operacional, que nem sempre são fáceis de usar. Por esse e outros &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_15"&gt;motivos&lt;/span&gt; pode ser que o desenvolvimento desse &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;projeto&lt;/span&gt; seja bem complicado, ou até mesmo inviável, porém nada melhor que um bom desafio para estimular o aprendizado.&lt;br /&gt;&lt;br /&gt;Durante o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;projeto&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;&lt;/span&gt;entrarei em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;contato&lt;/span&gt; com muitas tecnologias e bibliotecas interessantes do mundo Java, como &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_20"&gt;já&lt;/span&gt; entrei em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;contato&lt;/span&gt; com o &lt;a href="http://hsqldb.org/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;HSQLDB&lt;/span&gt;&lt;/a&gt;, o &lt;a href="http://www.toedter.com/en/jcalendar/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;JCalendar&lt;/span&gt;&lt;/a&gt;, o &lt;a href="http://www.jgoodies.com/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;JGoodies&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.jgoodies.com/"&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;Forms&lt;/span&gt; e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;Looks&lt;/span&gt;&lt;/a&gt; e o &lt;a href="http://www.jfree.org/jfreereport/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;JFreeReport&lt;/span&gt;&lt;/a&gt; que utilizei em pequenos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;projetos&lt;/span&gt; desenvolvidos nesses &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_29"&gt;últimos&lt;/span&gt; meses. A medida do possível irei postar pequenos tutoriais sobre essas utilidades, e o que mais for entrando em contato.&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/38610382-3397662567025922714?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/3397662567025922714/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=3397662567025922714' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3397662567025922714'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3397662567025922714'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/12/voltando-blogar-e-incio-de-novo-projeto.html' title='Voltando a blogar e início de novo projeto'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-3526130767711297590</id><published>2007-10-16T21:35:00.000-02:00</published><updated>2007-10-19T01:27:22.703-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Carreira'/><title type='text'>Um novo desafio</title><content type='html'>&lt;div style="text-align: justify;"&gt;Após aproximadamente 6 anos e meio trabalhando em uma empresa onde comecei como auxiliar de informática e aprendi 50% do que sei relacionado a informática (e muita coisa sobre outras áreas profissionais), pedi demissão e estou indo trabalhar em outra empresa onde pretendo passar mais alguns anos.&lt;br /&gt;&lt;br /&gt;Ao contrário do que muitos podem pensar o motivo dessa mudança é mais profissional do que financeira, já que a diferença de salário não é tão grande para justificar a saída de uma empresa para a outra. Mas profissionalmente estou tendo uma grande mudança.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar, não é fácil sair de um lugar onde se tem uma certa estabilidade (não, eu não era funcionário público), conhece bem o sistema da empresa, conhece bem a empresa, etc, e ir para um lugar totalmente novo (ou seja, sair do comodismo), principalmente quando é a primeira vez que você faz isso. Só isso já é uma grande experiência, e um dos motivos de minha mudança foi para viver essa experiência.&lt;br /&gt;&lt;br /&gt;Um outro motivo para a mudança é a possibilidade de aprendizado. Por mais que eu ainda pudesse aprender coisas novas onde eu estava, essa possibilidade é ampliada em uma nova empresa. Tudo é novo, as pessoas são novas, as políticas da empresa são novas, a mentalidade das pessoas na empresa é nova. Enfim, com tantas novidades o natural é assimilar tudo isso e unir com os conhecimentos anteriormente adquiridos e formar novas ideias. Isso é ou não é bom?&lt;br /&gt;&lt;br /&gt;O desafio de ir para uma empresa que esta começando suas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;atividades&lt;/span&gt; sempre me atraiu, e esse é o caso agora. É muito bom ver a empresa se erguendo (as vezes literalmente), é uma fase onde se tem muito trabalho e se pode aprender muito com a experiência.&lt;br /&gt;&lt;br /&gt;Enfim, mudar de emprego, mudar de ambiente, pode ser muito bom, principalmente se é uma decisão que nós mesmo tomamos. Acredito também que permanência em um mesmo posto de trabalho por muito tempo (entenda-se mais de 10 ou 15 anos) pode ter consequências ruins como, por exemplo, um grande comodismo com sua situação na empresa e com a situação da própria empresa, ou seja, não procuram inovar nada achando que tudo esta bom do jeito que esta. Imagine agora uma empresa onde várias pessoas tem essa mentalidade... Acho que não preciso dizer mais nada.&lt;br /&gt;&lt;br /&gt;Então é isso, estou partindo para uma nova empresa, um novo desafio. Esperto ser tão bem &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;sucedido&lt;/span&gt; no novo trabalho quanto fui no anterior. E até a próxima.&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/38610382-3526130767711297590?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/3526130767711297590/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=3526130767711297590' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3526130767711297590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3526130767711297590'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/10/um-novo-desafio.html' title='Um novo desafio'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-505644442055116275</id><published>2007-10-15T19:43:00.000-02:00</published><updated>2007-10-15T20:01:04.119-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>De volta ao Slackware</title><content type='html'>&lt;div style="text-align: justify;"&gt;Bom, depois de passar por distribuições mais "amigáveis" como as ultima versões do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;KUbuntu&lt;/span&gt; e o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Kurumin&lt;/span&gt;, resolvi voltar ao Slackware, desta vez a versão 12.&lt;br /&gt;&lt;br /&gt;Sai do Slackware para buscar &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;fascilidade&lt;/span&gt; de administração, mas as travas que outros &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;gerenciadores&lt;/span&gt; de pacotes impõem são bem mais difíceis de acertar do que a falta de verificação de dependência do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;tgz&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Isso não significa que deixei de achar que o Slackware precisa de um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;gereciador&lt;/span&gt; de dependências, só acho que um bom &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;gerenciador&lt;/span&gt; de dependências deveria ter flexibilidade e deixar escolher se o usuário quer realizar a operação ou não quando uma dependência não for satisfeita.&lt;br /&gt;&lt;br /&gt;Outra coisa que acho é que a distribuição deveria escolher apenas um pacote de cada categoria, evitando de instalar vários pacotes que nunca serão utilizados pois existem outros iguais que são utilizados.&lt;br /&gt;&lt;br /&gt;Mais um ponto que gosto de ressaltar: por que colocar vários &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;softwares&lt;/span&gt; num mesmo pacote? Peguemos o pacote &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;kdenetwork&lt;/span&gt;, existem vários aplicativos dentro dele, porém nem sempre utilizamos todos, mas se queremos instalar somente um dos aplicativos somos obrigados a instalar o pacote todo, ou seja, instalar vários &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;softwares&lt;/span&gt; que não queremos. Deveria ser feita uma distribuição mais racional desses aplicativos, mesmo  que seja para criar um pacote para cada aplicativo.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Agora deixe-me voltar a personalizar o Slackware.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-505644442055116275?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/505644442055116275/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=505644442055116275' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/505644442055116275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/505644442055116275'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/10/de-volta-ao-slackware.html' title='De volta ao Slackware'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5329262468836002784</id><published>2007-10-12T01:25:00.000-03:00</published><updated>2007-10-15T08:59:39.906-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><category scheme='http://www.blogger.com/atom/ns#' term='Telecomunicações'/><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><title type='text'>Tim Web</title><content type='html'>&lt;div style="text-align: justify;"&gt;Bom, depois de ter dito que iria postar com mais &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_0"&gt;frequência&lt;/span&gt; e não cumprir, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_1"&gt;cá&lt;/span&gt; estou eu depois de um bom tempo para um pequeno &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;post&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_3"&gt;Adquiri&lt;/span&gt;  o Tim Web, plano de dados da Tim. Como em minha casa não chega nenhum serviço de banda larga, a não ser por rádio mas o preço  é absurdamente caro, resolvi pegar o serviço da Tim, por casa do acesso discado aqui ser &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_4"&gt;sofrível&lt;/span&gt;, tanto em velocidade quanto em dificuldade para conexão. Além do mais, é meu &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_5"&gt;primeiro&lt;/span&gt; passo para me livrar de &lt;a href="http://www.telefonica.com.br/"&gt;uma certa empresa&lt;/a&gt; picareta (acredito que muitos concordem comigo), o próximo passo será a telefonia fixa. Estou a poucos dias com o serviço, mas já posso dar uma pequena avaliação.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar, o &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_6"&gt;próprio&lt;/span&gt; aparelho, fisicamente falando. Seu tamanho, praticamente o mesmo de um celular básico, bem fino, é fácil de ser transportado, cabendo até mesmo no bolso. Traz 2 cabos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;USB&lt;/span&gt;, o primeiro é mais voltado para ser usado com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;notebook&lt;/span&gt;, sendo bem curto, cerca de uns 20 cm de comprimento. Já o segundo tem cerca de 80 cm de comprimento e uma particularidade: 2 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;plugs&lt;/span&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;USB&lt;/span&gt; para serem ligados no computador. Não sei &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;exatamente&lt;/span&gt; para que isso serve,  mas é no mínimo curioso.&lt;br /&gt;&lt;br /&gt;A instalação do modem é muito simples, tanto em ambiente &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;Windows&lt;/span&gt; quanto &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_13"&gt;Linux&lt;/span&gt;. No &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;Windows&lt;/span&gt;, basta &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;plugar&lt;/span&gt; o modem no  computador e em segundos irá aparecer automaticamente o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;progama&lt;/span&gt; de instalação do modem e do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;discador&lt;/span&gt;, ao melhor estilo Next...Next...Finish. No &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_18"&gt;Linux&lt;/span&gt; é um pouco diferente, mas não chegar a ser menos fácil, basta seguir &lt;a href="http://wiki.ubuntu-br.org/TimWeb"&gt;esse pequeno tutorial&lt;/a&gt; que tudo irá funcionar. Acredito que funcione na maioria das distribuições, no Slackware 12 foi sem problemas, mas no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Kurumin&lt;/span&gt; 7 reclamou da versão de uma biblioteca que não me recordo agora qual é. Só uma dica, quem usa &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;KDE&lt;/span&gt; pode ser u&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;sado&lt;/span&gt; o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;Knemo&lt;/span&gt; para &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;monitoramento&lt;/span&gt; dos dados. Acredito que a maioria das distribuições distribuam esse aplicativo.&lt;br /&gt;&lt;br /&gt;Quanto a conexão, bom, não é &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;exatamente&lt;/span&gt; a coisa mais rápida que já via, mas para quem vivia de conexão discada já é o suficiente. Explicando melhor, na minha cidade a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_25"&gt;única&lt;/span&gt; tecnologia para conexão é a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;GPRS&lt;/span&gt;, que chega ao máximo de 60 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Kbps&lt;/span&gt;, se estivesse disponível o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;EDGE&lt;/span&gt; poderia chegar a 200 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;Kbps&lt;/span&gt;, mas como eu disse, pra quem esta saindo da conexão discada... Só resta esperar que a rede &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;EDGE&lt;/span&gt; chegue aqui ;-) Em relação a estabilidade da conexão, sem problemas, é bem estável. Pode até cair hora ou outra, mas a conexão é feita em 3 ou 4 segundos, nada que &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;aborreça&lt;/span&gt; muito.&lt;br /&gt;&lt;br /&gt;Conclusão: é um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;ótimo&lt;/span&gt; serviço para quem ainda sofre com conexão discada, embora o preço seja meio salgado para quem só consiga conexão com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;GPRS&lt;/span&gt;. Não é, ainda, uma opção de banda larga para concorrer com os serviços tradicionais, embora 200 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;Kbps&lt;/span&gt; da conexão &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;EDGE&lt;/span&gt; possa concorrer com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;speedy&lt;/span&gt; mais básico. Eu disse "ainda" pois tem uma previsão de chegada da tecnologia 3G para celulares para meados de 2008 (isso se o leilão for realizado ainda esse ano) e o modem fornecido pela Tim parece estar preparado para 3G. Resta esperar que a politicagem não atrapalhe muito mais e que a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;atualização&lt;/span&gt; tecnológica não fique só nos grandes centros.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-5329262468836002784?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5329262468836002784/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5329262468836002784' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5329262468836002784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5329262468836002784'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/10/tim-web.html' title='Tim Web'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7916929506325935427</id><published>2007-09-16T23:54:00.001-03:00</published><updated>2008-04-01T23:55:20.128-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Acadêmico'/><title type='text'>Metodologia de ensino</title><content type='html'>&lt;div style="text-align: justify;"&gt;Depois de um bom tempo sem postar nada, estou eu aqui de volta... Nas ultimas semanas estive sem tempo e principalmente sem inspiração para postar alguma coisa aqui. Mas agora pretendo voltar a escrever mais regularmente.&lt;br /&gt;&lt;br /&gt;Bom, pra recomeçar vou falar um pouco sobre a experiência de voltar para uma sala de aula de um curso de grande duração (faculdade) depois de 6 anos, nesse período o curso mais longo que fiz foi o de preparação para certificação Conectiva Linux, com duração de 8 meses. Estou no segundo semestre do curso de Ciência da Computação na Faculdade Comunitária do grupo Anhanguera Educacional que fica na cidade de Taubaté - SP.&lt;br /&gt;&lt;br /&gt;Pessoalmente, acho a instituição boa, com ótimos professores (claro que sempre tem alguns não tão bom assim) e a infra-estrutura também é boa. Enfim, está no nível de qualquer outra universidade da região (exceto o ITA, mas o ITA é outra história).&lt;br /&gt;&lt;br /&gt;A minha conclusão foi: por que diachos a metodologia de ensino não mudou desde que eu entrei pra o 1º ano do primário, ou seja, professor passa matéria, explica, passa exercícios, corrige e cobra tudo isso numa prova, muitas vezes sem consulta???? Vocês não acham que esta na hora disso mudar? Bom, eu acho que sim. E não estou falando somente da univesidade onde estudo, mas da maioria da universidades.&lt;br /&gt;&lt;br /&gt;Pra começar, como trabalho com TI já faz mais de 6 anos (fora o tempo que "mexia" antes de trabalhar), assim como outros colegas, boa parte das coisas que estamos vendo na faculdade já são conhecidas, e outra boa parte é desinteressante, fazendo com que o interesse pelo curso vá a limites muito baixos. Tudo bem que ser dessa forma no começo é normal, pois existem alunos que nem sabem usar o computador direito, então é necessário passar a base para esses alunos.  Mas o que desanima mesmo são as formas com que as aulas são dadas. O professor passar a matéria, explicar, passar exercícios, corrigir e cobrar numa prova não está de acordo com o ambiente de trabalho de qualquer empresa. E não adianta dizer que na universidade as coisas devem ser diferentes do ambiente de trabalho, afinal a faculdade é uma preparação para o mercado de trabalho.&lt;br /&gt;&lt;br /&gt;Na minha opnião as aulas deveriam ser inspiradas no que os profissionais encontram no ambiente de trabalho, ou seja, nada de professor passando e explicando matéria e alunos só copiando e ouvindo o professor, e sim o professor dando uma introdução sobre o assunto, propondo um trabalho, e os alunos, em grupos que podem cooperar entre si, pesquisando sobre o assunto na biblioteca ou internet, dentro da sala de aula, e, claro, o professor de prontidão para tirar qualquer dúvida. Seria bem mais parecido com um ambinte de trabalho, e seriam aulas bem mais dinâmicas e bem mais aproveitadas, onde os alunos com certeza aprenderiam mais.&lt;br /&gt;&lt;br /&gt;Esse é só um exemplo de como se poderia mudar a metodologia de ensino. Pode ser que isso não funcione na pratica, mas seria pelo menos um caminho para se começar a mudar.&lt;br /&gt;&lt;br /&gt;Outro ponto que precisa ser melhor avaliado é o sistema de avaliação. Prova não prova nada, até mesmo por que é muito fácil de ser burlado (quem nunca colou que atire a primeira pedra:-). Seguindo a mesma linha que escrevi acima, poderiam ser dado trabalhos em grupos, com consulta mas sem ajuda do professor. Meu professor de lógica matemática se utiliza dessa metodologia, e funciona muito bem, apesar de ser apenas em dupla. Isso serve como prova, pelo menos para mim, de que esse método funciona.&lt;br /&gt;&lt;br /&gt;Para terminar, mesmo cursando uma faculdade de tecnologia, o mais próximo que chegamos de tecnologia é o laboratório de informática, uma vez por semana na aula de programação. Eu acredito que a tecnologia deveria ser melhor utilizada em sala de aula, mesmo para cursos não ligados a tecnologia. Começando por recursos multemídia, chegando até a Web 2.0 (haha, achei que nunca iria achar um bom motivo para citar a tal da web 2.0 no blog), a tecnologia deveria ser melhor usada em todos os cantos onde se pudesse utilisa-la. Claro que isso não é fácil, mas deveriam ter incentivos das instituições para que os professores começassem a utilizar esses recursos em sala de aula, nem que seja para colocar um computador em cada mesa das salas de aula (isso teria um custo bem alto, mas também seria uma boa desculpa para subir o preço das mensalidades, interessante para as instituições).&lt;br /&gt;&lt;br /&gt;Acredito que se cada um começar a cobrar um pouco isso dos professores e instituições poderia ser levantada a oportunidade de mudança... É ou não um assunto a ser debatido???&lt;br /&gt;&lt;br /&gt;Só mais uma coisa, quem ainda não leu, leia &lt;a href="http://nerdson.com/blog/nota-dez-e-meio/"&gt;este post&lt;/a&gt; do Nerdson, é muito interessante, principalmente os comentérios.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-7916929506325935427?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7916929506325935427/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7916929506325935427' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7916929506325935427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7916929506325935427'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/09/metodologia-de-ensino.html' title='Metodologia de ensino'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4648578979838404381</id><published>2007-07-31T23:26:00.000-03:00</published><updated>2007-10-15T09:02:50.785-02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Desempenho do Slackware</title><content type='html'>&lt;div style="text-align: justify;"&gt;Mais uma vez troquei a distribuição que uso. Sai da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Zenwalk&lt;/span&gt; para o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Kubuntu&lt;/span&gt;... Mas agora pretendo permanecer com essa distribuição, até mesmo por que a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;facul&lt;/span&gt; esta começando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;denovo&lt;/span&gt; e não terei tempo para outras trocas.&lt;br /&gt;&lt;br /&gt;O motivo pelo qual troquei de distribuição foi relacionado com a simplicidade de se manter um sistema baseado no Debian &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;atualizado&lt;/span&gt;, e a facilidade de instalar novos pacotes. Mas isso não vem ao caso agora.&lt;br /&gt;&lt;br /&gt;O motivo deste &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;post&lt;/span&gt; é que umas das primeiras coisas que notei quando inicializei o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;Kubuntu&lt;/span&gt; foi a diferença de performance em relação ao &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;Slakware&lt;/span&gt; e demais distribuições baseadas nele. A diferença é gritante se comparada com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;Zenwalk&lt;/span&gt;, ultima distribuição que utilizei antes do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;Kubuntu&lt;/span&gt;, principalmente na inicialização do sistema. Só para constar, os serviços inicializados nas duas distribuições são os mesmos.&lt;br /&gt;&lt;br /&gt;Bom, acho que essa diferença de performance não é novidade para ninguém que conheça &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;linux&lt;/span&gt;. A questão que eu queria levantar é, por que não existe uma distribuição grande baseada no Slackware????? Não é só por causa do desempenho que eu digo isso, mas Slackware é uma distribuição bastante madura, &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_11"&gt;estável&lt;/span&gt; e simples, a &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;única&lt;/span&gt; coisa que eu acho de errado no Slackware é o sistema de pacotes padrão, o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;tgz&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Já dei minha &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_14"&gt;opinião&lt;/span&gt; sobre os &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;gerenciadores&lt;/span&gt; de pacotes, acho que são necessárias algumas melhorias, mas isso era mais específico sobre o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;rpm&lt;/span&gt; e o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;deb&lt;/span&gt;, já o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;tgz&lt;/span&gt; precisa melhorar para ficar mais parecido com os outros dois citados, e sobretudo precisa ser adicionadas &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_19"&gt;características&lt;/span&gt; melhoradas em relação a eles.&lt;br /&gt;&lt;br /&gt;Mas deixando os pacotes de lado, imagine uma distribuição com as facilidades do (K)&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;Ubuntu&lt;/span&gt; e o desempenho, simplicidade e flexibilidade do Slackware?? Alias, o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;Zenwalk&lt;/span&gt; chega perto, mas ainda falta o lance do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;gerenciamento&lt;/span&gt; de pacotes melhorado, o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;gerenciador&lt;/span&gt; de pacotes incorporado nele não é capaz de resolver &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_24"&gt;dependências&lt;/span&gt;. Alguns puristas usuários do Slackware podem me xingar, mas meu sonho é ter um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;Slakware&lt;/span&gt; com essas características, mas é claro que poupando as características mais fostes do Slackware. Quem sabe um dia eu crie uma distribuição assim, quando me sobrar tempo... mas &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_26"&gt;enquanto&lt;/span&gt; isso vou continuar com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;Kubuntu&lt;/span&gt;, que me atente no momento.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4648578979838404381?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4648578979838404381/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4648578979838404381' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4648578979838404381'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4648578979838404381'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/07/desempenho-do-slackware.html' title='Desempenho do Slackware'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-6682171164694743769</id><published>2007-07-11T09:17:00.000-03:00</published><updated>2007-07-11T16:31:00.634-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Sobre pacotes e gerenciadores de pacotes</title><content type='html'>&lt;div style="text-align: justify;"&gt;Estou fazendo outro teste com outra distribuição Linux, a distribuição &lt;a href="http://www.zenwalk.org/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Zenwalk&lt;/span&gt;&lt;/a&gt;. Esta distribuição é baseada no &lt;a href="http://www.slackware.org/"&gt;Slackware&lt;/a&gt; mas bem personalizada. Entre as principais personalizações, posso destacar o&lt;a href="http://www.xfce.org/"&gt; &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;XFCE&lt;/span&gt;&lt;/a&gt; como &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;gerenciador&lt;/span&gt; de janelas padrão, montagem automática de dispositivos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;USB&lt;/span&gt; (pelo menos no &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Slackwware&lt;/span&gt; 11 isso não existia), programa para detecção de redes &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;wirelles&lt;/span&gt;, vários pacotes &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;atualizados&lt;/span&gt; e muito mais. Mas a principal característica é que sua imagem "&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;iso&lt;/span&gt;" tem pouco mais que 400 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;MB&lt;/span&gt; de tamanho, ou seja, um sistema completo que cabe em 1 CD, e sobra espaço. Mas meu &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;objetivo&lt;/span&gt; não é falar sobre o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;Zenwalk&lt;/span&gt;, mas sim sobre sistemas de pacotes para Linux.&lt;br /&gt;&lt;br /&gt;Instalei o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;Zenwalk&lt;/span&gt; por 2 motivos principais: é baseado no Slackware e é um sistema completo em um só CD. Mas como sempre, preciso personalizar a distribuição para que eu possa utilizar com mais comodidade, e faço isso instalando alguns pacotes e &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_12"&gt;desinstalando&lt;/span&gt; outros. Nesse processo eu venho encontrado algumas coisas que poderiam ser melhorados no Linux em relação a instalação e desinstalação de programas.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1 - &lt;/span&gt;Para deixar o sistema do jeito que gosto instalei o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;KDE&lt;/span&gt;, onde os principais pacotes são: &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;kdebase&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;kdeutils&lt;/span&gt;, &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;kdelibs&lt;/span&gt; e o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;qt&lt;/span&gt;. Como ainda uso conexão discada, preciso de um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;discador&lt;/span&gt; (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Zenwalk&lt;/span&gt; não traz nenhum), e o qual eu gosto é o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;KPPP&lt;/span&gt;. Para instalá-lo é preciso instalar o pacote &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;kdenetwork&lt;/span&gt;, mas esse pacote traz vários outros programas que eu não uso. Conclusão, instalei vários programas que não preciso só por causa do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;KPPP&lt;/span&gt;. Sim, eu poderia instalar outro &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;discador&lt;/span&gt;, mas gosto do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;KPPP&lt;/span&gt; ;-). Não é uma reclamação que estou fazendo aqui, mas acho que seria muito interessante se &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;pudéssemos&lt;/span&gt; escolher quais programas dentro de um determinado pacote nós queremos instalar. Citei o pacote &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;kdenetwork&lt;/span&gt; pois esse é um caso recente, mas existem vários outros casos onde isso ocorre.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2 - &lt;/span&gt;A maioria das distribuições Linux trazem aplicativos para facilitar a instalação e &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_27"&gt;desinstalação&lt;/span&gt; de pacotes, como por exemplo o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;apt&lt;/span&gt;-&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;get&lt;/span&gt; e seus derivados e similares. A principal função desses programas, como todos sabem, é buscar em repositórios os pacotes dos programas que você queira instalar, e resolver os problemas de dependências instalando os pacotes necessários quando for preciso. Isso funciona muito bem quando tudo esta dentro dos repositórios, mas quando o pacote e suas dependências não estiverem nos repositórios? A situação que imaginei é a seguinte:&lt;br /&gt;&lt;br /&gt;Você quer instalar um software que esta empacotado e pronto para instalar, mas nem ele nem suas dependências são encontrados nos repositórios. Para instalar esse software você teria que procurar na &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;internet&lt;/span&gt; as &lt;span class="blsp-spelling-corrected" id="SPELLING_ERROR_31"&gt;dependências&lt;/span&gt; dele, o que iria consumir bastante tempo. Mas o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;desenvolvedor&lt;/span&gt; saber onde encontrar essas dependências.&lt;br /&gt;&lt;br /&gt;Com isso, imaginei que as informações de onde estão as dependências são colocadas dentro de cada pacote, e os &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;gerenciadores&lt;/span&gt; de pacotes pegam essas informações e buscam esses pacotes automaticamente, seja lá onde eles estiverem, desde que se tenha uma conexão com a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;internet&lt;/span&gt;, claro. Isso eliminaria a necessidade de se manter repositórios cadastrados em nossos computadores e acrescentar mais um a cada vez que temos que instalar um pacote que não está nos repositórios cadastrados. Sei que isso não é uma idéia original, se não me engano no FreeBSD é assim, mas seria &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;ótimo&lt;/span&gt; se isso fosse portado para o Linux, utilizando os formatos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_36"&gt;atuais&lt;/span&gt; de pacotes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3 - &lt;/span&gt;Quando instalamos um pacote utilizando um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_37"&gt;gerenciador&lt;/span&gt; de pacotes, caso exista uma dependência não satisfeita, o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_38"&gt;gerenciador&lt;/span&gt; resolve essa dependência e as instala automaticamente. Mas o processo contrário não é feito, ou seja, ao desinstalar um pacote as dependências dele não são desinstaladas automaticamente, somente os pacotes que dependem dele. O ideal seria que todas as dependências do pacote que será desinstalado fossem desinstaladas também, desde que estas não sejam utilizadas por mais nenhum outro pacote, isso evitaria que ficassem pacotes que não são utilizados pelo sistema. Devo salientar que essas são conclusões a que eu cheguei, segundo o que eu pude perceber no meu uso diário, posso muito bem estar enganado, sendo assim, ignorem isso.&lt;br /&gt;&lt;br /&gt;Mas para fazer tudo isso seria necessário criar um formato novo de pacotes, ou alterar os existentes hoje, que acredito que seja a melhor opção. Eu iria adorar desenvolver essas melhorias, mas infelizmente não tenho tempo para isso, me restando tempo somente de expor minhas idéias ;-). Mas também acredito que se fosse desenvolvido por um desenvolvedor ou grupo de desenvolvedores isolados, ou seja, que não fizessem parte do desenvolvimento de alguma distribuição, esse trabalho não seria facilmente notado, mesmo que se demonstre um excelente trabalho. Então a idéia seria também manter uma distribuição própria, poderia ser algo parecido com o Zenwalk, bem básico porém funcional.&lt;br /&gt;&lt;br /&gt;Um dia quem sabe eu chego lá...&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/38610382-6682171164694743769?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/6682171164694743769/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=6682171164694743769' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6682171164694743769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6682171164694743769'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/07/sobre-pacotes-e-gerenciadores-de.html' title='Sobre pacotes e gerenciadores de pacotes'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-1112000039407538928</id><published>2007-07-11T00:00:00.001-03:00</published><updated>2007-07-11T09:10:06.766-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><title type='text'>Técnicos????</title><content type='html'>&lt;div style="text-align: justify;"&gt;Recentemente ocorreu um fato, no mínimo, bem curioso. Minha namorada recomendou a um amigo dela que comprasse o computador com Linux em vez de comprar com Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Starter&lt;/span&gt; (nem preciso dizer aqui o motivo, certo?).&lt;br /&gt;&lt;br /&gt;Quando conversei com ele pela primeira vez ele elogiou a interface (&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;KDE&lt;/span&gt;) do Linux, e disse que estava um pouco complicado para fazer algumas coisas rotineiras, como instalar uma impressora, mas que de maneira geral estava gostando do sistema. Até ai tudo certo, pois os sistemas são realmente diferentes, e no Linux chega a ser mais complicado para iniciantes. O problema começou quando ele contratou o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Speedy&lt;/span&gt; da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;Telefônica&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Em primeiro lugar, como a maioria dos produtos e serviços relacionados à informática, vem com 1 CD para a instalação em Windows, que infelizmente não procurei saber se havia algo para Linux no CD, o que, de certa forma, tira um pouco da credibilidade deste &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;post&lt;/span&gt;, apesar que não havia nenhuma inscrição na capa em relação a outros sistemas operacionais. Fui na casa do amigo de minha namorada para ver se eu conseguia acertar a conexão para ele. Verifiquei que o Linux estava recebendo o endereço IP &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;corretamente&lt;/span&gt; do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;DHCP&lt;/span&gt; do modem, e que o sistema conseguia "enxergar" o modem fazendo um teste simples com o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;ping&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Depois disso fui ler o manual do modem, que dava a instrução de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;acessar&lt;/span&gt; o modem com o navegador web, colocar a senha do administrador na página de administração do modem, e depois &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;acessar&lt;/span&gt; o menu &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;LOGIN&lt;/span&gt; e colocar o usuário e a senha fornecido pelo provedor de acesso. Quando &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;acessei&lt;/span&gt; o menu &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;login&lt;/span&gt;, simplesmente não existia campo nenhum onde digitar tal informação. Tentei então entrar em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_13"&gt;contato&lt;/span&gt; com o suporte do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_14"&gt;Speedy&lt;/span&gt;, e quando passei qual era o problema a primeira coisa que a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_15"&gt;atendente&lt;/span&gt; me perguntou foi: "Qual a versão do Windows que o senhor esta usando?". Respondi que não estava usando Windows e sim Linux, então ela me passou um telefone do "Suporte avançado". Pedi então que ele (o amigo de minha namorada) entrasse em &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_16"&gt;contato&lt;/span&gt; com o tal suporte e dissesse que não estava conseguindo fazer a configuração do nome de usuário e senha no modem.&lt;br /&gt;&lt;br /&gt;Como não tenho &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_17"&gt;contato&lt;/span&gt; com a pessoa, perguntei para minha namorada se ela estava sabendo como foi o desenrolar da história, a principio fiquei sabendo que o "técnico" do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_18"&gt;Speedy&lt;/span&gt; foi na casa dele e não conseguiu resolver o problema. Mais para o final da semana passada perguntei novamente para minha namorada sobre o caso, ela então ligou para o amigo dela e ele respondeu, um tanto frustrado, que o "técnico" recomendou que ele trocasse o computador por um que tivesse o Windows instalado alegando que assim o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_19"&gt;Speedy&lt;/span&gt; funcionaria. E foi o que ele fez.&lt;br /&gt;&lt;br /&gt;Mas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_20"&gt;perai&lt;/span&gt;, trocar de computador só por causa que a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_21"&gt;internet&lt;/span&gt; não estava conectando, mesmo sendo visível que o problema era a configuração do modem, e ainda mandando comprar um com Windows instalado???? Não sei se todos concordam comigo, mas para mim isso não é coisa de um técnico dizer. E isso é um problema sério.&lt;br /&gt;&lt;br /&gt;Quando fiquei sabendo da recomendação que o "técnico" fez, além de achar um absurdo, fiquei imaginando qual é a formação e a orientação desses ditos "técnicos". Para mim, que tenho a formação de técnico em processamento de dados, o conceito de técnico é de um profissional que esta sempre se &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_22"&gt;atualizando&lt;/span&gt; e gosta de resolver problemas, principalmente se esses problemas lhe trazem mais informações úteis, mesmo que não seja &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_23"&gt;exatamente&lt;/span&gt; da área dele. A maioria dos técnicos de verdade que eu conheço nunca iriam sugerir um absurdo desses.&lt;br /&gt;&lt;br /&gt;Só consigo pensar em duas possibilidades para uma atitude dessa: 1 - esses profissionais não são bem técnicos, apenas fazem cursos para saberem fazer o trabalho básico deles e o executam; 2 - as empresas (já que não são somente os técnicos da &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_24"&gt;Telefônica&lt;/span&gt; que fazem esse tipo de recomendação sem sentido) passam ordens para que seja sempre &lt;span style="font-style: italic;"&gt;jogado a responsabilidade para os usuários&lt;/span&gt; e que os problemas sejam resolvido da maneira mais fácil. Dentre essas duas possibilidades, fico com a segunda, mas a primeira também é bem provável de acontecer. E o mais importante, qualquer das duas opções sempre prejudicará uma pessoa em comum: o usuário.&lt;br /&gt;&lt;br /&gt;Nesse caso, o problema é que o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_25"&gt;Seedy&lt;/span&gt; é desenvolvido para o Windows (padrão de marcado) mas pode facilmente ser configurado em outros sistemas operacionais, desde que o modem utilizado esteja &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_26"&gt;corretamente&lt;/span&gt; configurado. Como o "técnico" somente é treinado para fazer a instalação em Windows, quando ele se depara com um sistema operacional diferente ele fica sem saber o que fazer, e acaba indo para a solução mais fácil para ele, que nesse caso específico é pedir para o usuário trocar o sistema operacional. Como nem todo mundo tem o conhecimento necessário (e nenhum usuário é obrigado a ter, mas um técnico deveria ter) para dizer onde esta &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_27"&gt;exatamente&lt;/span&gt; o problema, ele acaba aceitando o recomendação desse "técnico".&lt;br /&gt;&lt;br /&gt;Isso acaba criando um circulo vicioso onde as empresas empurram seus produtos voltados para os sistemas padrões, e os usuários por não saberem que o produto/serviço que ele contratou deve funcionar perfeitamente em qualquer sistema (no caso da conexão com a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_28"&gt;internet&lt;/span&gt;), acaba aceitando a sugestão do "técnico". Cada vez que um usuário aceita a sugestão (que as vezes soa como uma ordem) a empresa que oferece o produto/serviço tem um motivo a mais para não treinar seus funcionários em novos sistemas. E vale lembrar que a realidade hoje no Brasil é que cada vez mais usuários comuns estão comprando computadores com Linux, e empresas que prestam serviços que envolvam informática deveriam ter percebido isso e treinado seus "técnicos" nesse sistema.&lt;br /&gt;&lt;br /&gt;O que eu quero dizer com tudo isso é que as empresas prestadoras de serviços, como a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_29"&gt;Telefônica&lt;/span&gt;, não estão realmente interessadas na qualidade de seus serviços e no bom atendimento aos clientes. Isso as fazem chamar de "técnicos" pessoas que não estão totalmente qualificadas para a realidade &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_30"&gt;atual&lt;/span&gt;, e por isso acabam passando informações erradas aos usuários/clientes.&lt;br /&gt;&lt;br /&gt;A decisão de comprar um computador com Linux não é errada, como também não é errada a decisão de comprar um computador com Windows, desde que não seja o Windows &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_31"&gt;Starter&lt;/span&gt;, mesmo pagando bem mais por isso. O errado é admitir que as empresas continuem nos empurrando serviços e produtos que não nos dão opções de escolha, como nesse caso onde chegaram a dizer que o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_32"&gt;Speedy&lt;/span&gt; só funcionaria com o Windows. Precisamos ficar atentos, principalmente nós que somos da área de TI, para que esse tipo de situação não aconteça, ou pelo menos diminua.&lt;br /&gt;&lt;br /&gt;Nota 1: É bem provável que com o Windows o &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_33"&gt;Speedy&lt;/span&gt; conecte sem maiores problemas, pois, como disse, ele vem com um CD com o software para Windows. Acredito que esse software tenha alguma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_34"&gt;atualização&lt;/span&gt; do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_35"&gt;firmware&lt;/span&gt; do modem que é feita ao instalá-lo. Sendo assim, a melhor forma de resolver esse problema seria instalar o software em um computador com Windows instalado e o modem ligado nesse computador, após isso conectar o modem novamente no computador com Linux.&lt;br /&gt;&lt;br /&gt;Nota 2: Não soube se o problema foi realmente resolvido só trocando o computador e sistema operacional, creio que sim.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-1112000039407538928?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/1112000039407538928/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=1112000039407538928' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1112000039407538928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1112000039407538928'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/07/tcnicos.html' title='Técnicos????'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8139010158708648575</id><published>2007-07-02T15:25:00.000-03:00</published><updated>2007-07-11T09:10:22.562-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TI'/><title type='text'>TI x Informática</title><content type='html'>&lt;div style="text-align: justify;"&gt;Tenho visto muitos casos onde empresas não sabem lidar com TI, geralmente empresas pequenas e médias. Quando eu digo lidar com TI, quero dizer que não sabem de tudo o que a tecnologia pode lhes oferecer para melhorar, principalmente, a eficiência e a qualidade de produtos e serviços da empresa.&lt;br /&gt;&lt;br /&gt;Essas empresas, ou mais especificamente seus administradores, conhecem somente a Informática e não conhecem nada de Tecnologia da Informação. Por quê estou diferenciando esses termos? Bom, para mim, informática é somente um punhado de hardware e software utilizados para realizar tarefas rotineiras, são ferramentas de trabalho somente. Já a Tecnologia da Informação podemos definir como sendo a ciência de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;otimizar&lt;/span&gt; o uso de hardware e software para aumentar a eficiência e a qualidade de produtos e serviços, e não estou falando somente de produtos e serviços tecnológicos, todas as áreas (inclusive &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;manufaturas&lt;/span&gt;) podem se beneficiar com TI. Essa é a minha opinião, alguém discorda??&lt;br /&gt;&lt;br /&gt;O fato que melhor demonstra como cheguei à conclusão de que muitas empresas não sabem lidar com TI é a preocupação em investir em TI. É comum ver em pequenas e médias empresas equipamentos de informática totalmente obsoletos, tanto  hardware como software. Geralmente a mentalidade dos administradores dessa empresa é de que os equipamentos devem ser usados enquanto estiverem funcionando, mesmo que seja um &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;Pentium&lt;/span&gt; 100 &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;MHz&lt;/span&gt; com Windows 98 instalado (sim, isso ainda existe, conheço casos &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;atuais&lt;/span&gt;). Como devem imaginar, um computador nessas condições é o que chamamos de uma verdadeira "carroça", podendo ser considerado uma ferramenta de castigo para quem o utiliza. E o que leva uma uma empresa a manter computadores nessas "qualidades" em pleno funcionamento? Eu ainda não consigo entender, mas acredito que seja uma completa ignorância dos administradores nessa área, que os levam a pensar que informática é somente uma ferramenta de trabalho. Computadores antigos em empresas só geram prejuízos, e computadores no nível do acima citado não existem mais, hoje no Brasil,  nem nos lares mais humildes, sendo inaceitável a permanência em empresas. Só como nota, não é recomendado utilizar os computadores por mais de 3 anos em uma empresa.&lt;br /&gt;&lt;br /&gt;Como disse, computadores antigos só geram prejuízos. Como? Bom, em primeiro lugar, computadores antigos não têm capacidade de processamento suficiente para executar de forma &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;cômoda&lt;/span&gt; os aplicativos mais &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_6"&gt;atuais&lt;/span&gt;, sendo desaconselhado não fazê-lo. Como nem sempre esse conselho é seguido, o usuário de um computador desses é obrigado a trabalhar com aplicativos cada vez mais pesados, e as vezes não só 1, mas vários (já vi coisas bizarras nesse sentido). O computador fica facilmente sobrecarregado, levando vários minutos para executar uma tarefa simples. Enquanto o usuário fica apenas esperando essa tarefa ser executada , ele vê mais trabalho chegando para ele e recebe cobranças por seu trabalho ser demorado. Só aqui temos 2 prejuízos: lentidão na realização das tarefas e &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_7"&gt;stress&lt;/span&gt; para o usuário, o que pode leva-lo ao afastamento temporário de suas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_8"&gt;atividades&lt;/span&gt; por problemas de saúde.&lt;br /&gt;&lt;br /&gt;Outro grave problema gerado por manter computadores muito velhos em empresas é que o pessoal de suporte (isso se houver alguém dedicado a suporte na empresa) irá dedicar muito de seu tempo tentando resolver os problemas gerados por esses computadores, que tendem a apresentar mais problemas &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_9"&gt;exatamente&lt;/span&gt; por terem muito tempo de uso. Além disso, sempre serão necessárias peças de reposição para resolver alguns problemas, que nem sempre são encontradas. Juntando tudo isso temos um alto custo em manter computadores antigos funcionando, que é muito mais alto do que a aquisição de novos equipamentos.&lt;br /&gt;&lt;br /&gt;O problema é que não existe uma maneira fácil (se é que existe alguma maneira) de contabilizar esses gastos. Isso dificulta muito o trabalho de demonstrar que é inviável a manutenção desses equipamentos, e que comprar equipamentos novos é muito mais barato. Mas até hoje não entendi o por que é tão difícil mostrar isso a alguns administradores, mesmo quando falamos que podemos economizar dinheiro eles não dão ouvidos. Sendo assim, nesses casos temos que insistir muito até conseguir fazê-los compreender.&lt;br /&gt;&lt;br /&gt;Como podemos ver, apenas em relação a &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_10"&gt;atualização&lt;/span&gt; de computadores, já temos um grande problema caso os administradores não tenham noção sobre TI.&lt;br /&gt;&lt;br /&gt;Mas será que a culpa de se ter equipamentos tão velhos numa empresa é somente dos administradores? A resposta é um sonoro NÃO. Os responsáveis pela informática na empresa têm grande parte da culpa, já que não correram atrás dos administradores em busca de investimentos. Mesmo que convencer algumas pessoas a investir seja uma tarefa árdua, temos que ser persistentes, caso contrário seremos um dos culpados pelo parque de computadores terem ficado &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_11"&gt;desatualizados&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Mas isso é muito básico. &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_12"&gt;Atualização&lt;/span&gt; de equipamentos são atitudes primarias a se tomar quando se utiliza informática para se trabalhar. Precisamos buscar sempre novas formas de utilizar os recursos de informática para melhorar  o trabalho, produtos e serviços de uma maneira geral, se possível, até mesmo criando novas tecnologias. Precisamos ter a mentalidade de que tudo pode ser melhorado, e a TI possibilita isso.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-8139010158708648575?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8139010158708648575/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8139010158708648575' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8139010158708648575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8139010158708648575'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/07/ti-x-informtica.html' title='TI x Informática'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-378720483233245755</id><published>2007-07-02T14:28:00.000-03:00</published><updated>2007-07-11T09:10:40.950-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geral'/><title type='text'>Conclusões</title><content type='html'>&lt;div style="text-align: justify;"&gt;Depois de terminar o tutorial sobre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0"&gt;Bacula&lt;/span&gt;, cheguei a uma conclusão: Não da para manter tutoriais em um blog, a menos que eles sejam pequenos, rápidos e fáceis.&lt;br /&gt;&lt;br /&gt;O primeiro problema, um tutorial sobre um assunto complexo como o do &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1"&gt;Bacula&lt;/span&gt; toma muito tempo. Levei horas para escrever cada &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2"&gt;post&lt;/span&gt; do tutorial, tempo que poderia falar de assuntos mais interessantes, mais rápidos.&lt;br /&gt;&lt;br /&gt;Outro problema é em relação ao conteúdo do blog. Creio que muitos acharam o assunto desinteressante, e como praticamente não escrevi nada além disso, para muitos o blog deve ter ficado chato.&lt;br /&gt;&lt;br /&gt;O terceiro problema é estético. Com &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_3"&gt;posts&lt;/span&gt; tão grandes fica complicado achar alguma coisa entre eles. O blog fica parecendo maior do que realmente é, porém o torna difícil de ler, e para quem não esta interessado no tutorial, vai desistir logo do blog.&lt;br /&gt;&lt;br /&gt;Conclusão: não me arrependo de ter escrito este tutorial sobre &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_4"&gt;Bacula&lt;/span&gt;, será &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_5"&gt;últil&lt;/span&gt; para mim mesmo quando precisar instalar outro servidor de backup,  mas não repetirei isso aqui. Quando eu for escrever algum outro tutorial colocarei em algum site onde tenha uma área específica para tutoriais. Mas não sei se escreverei outro tão cedo, consome muito tempo, e tempo tem sido escasso ultimamente.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-378720483233245755?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/378720483233245755/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=378720483233245755' title='7 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/378720483233245755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/378720483233245755'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/07/concluses.html' title='Conclusões'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4294290811210595934</id><published>2007-06-28T13:26:00.000-03:00</published><updated>2007-06-28T16:57:10.478-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Tutorial Bacula: Iniciando o serviço e operando o sistema</title><content type='html'>Chegamos a última parte do tutorial. Aqui vou falar sobre como iniciar o serviço e operar o servidor Bacula. Não veremos tudo, mas somente o essencial para que, a partir deste ponto, quem leu o tutorial possa configurar e operar o sistema, mesmo que basicamente. Então, mãos-à-obra.&lt;br /&gt;&lt;br /&gt;Para iniciarmos o sistema, os comando são:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# bacula-dir&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# bacula-fd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# bacula-sd&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;que iniciam o Director Daemon, o File Daemon e o Storage Daemon respectivamente. Caso exista algum erro no arquivo de configuração, irá aparecer uma mensagem apontando qual o erro e o serviço não irá subir. Se for esse o caso, corrija os erros e execute o comando novamente. Se não exibiu mensagem de erro alguma, então o sistema deve estar no ar. Caso queira confirmar, digite o comando:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# ps aux | grep bacula&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esse comando exibirá todos os processos que estejam rodando e que contenham a sequência "bacula". Se tudo deu certo, vamos operar o sistema.&lt;br /&gt;&lt;br /&gt;Para operar o sistema, utilizamos o console do Bacula, no caso o bconsole. Digite o comando:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# bconsole&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Feito isso já estará no console do Bacula. A partir de agora, os comando com * na frente são referentes ao bconsole. A primeira ação a ser feita é nomear os volumes que serão utilizados. Para isso, digite o comando&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* label&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Esse comando irá pedir um nome que você queira dar ao volume. Logo depois irá pedir para que você indique em qual Pool você quer adicionar esse volume, será exibido os Pools que foram configurados no arquivo de configuração do Director. Escolhendo o Pool, ele irá gravar o nome do volume no banco de dados e, pelo menos no caso de fitas, eu não sei como o bacula trata outros dispositivos, também gravará o nome na própria fita. Você deve fazer isso com todos os volumes que irá utilizar no seu ciclo de backup. Se seguir o modelo deste tutorial, terá que nomear 1 volume para os backups incrementais e 2 volumes para os backups semanais, além de 1 volume todo mês para o backup mensal.&lt;br /&gt;&lt;br /&gt;Se você estiver utilizando fitas para fazer backup, caso precise renomear alguma fita, o comando label não irá funcionar. Para isso terá que utilizar o utilitário &lt;span style="font-weight: bold;"&gt;btape&lt;/span&gt; do próprio bacula. Não vou entrar em detalhes sobre o btape, a unica dica que irei passar é que é preciso parar o serviço do bacula, em especial o bacula-sd, para poder utiliza-lo. A sintaxe é:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;# btape /dev/nts0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Caso utiliza outro dispositivo que não o /dev/nts0, substitua-o pelo qual utilizar. Depois deste comando você irá entrar em um console igual ao bconsole, mas com opções diferentes.&lt;br /&gt;&lt;br /&gt;Depois de nomear os volumes com o comando label, praticamente só será necessário trocar os dispositivos, caso sejam dispositivos removíveis, quando necesário.&lt;br /&gt;&lt;br /&gt;Temos também o comando &lt;span style="font-weight: bold;"&gt;mount&lt;/span&gt;, que tem funcionalidade de montar o dispositivo. Caso você esteja usando somente fitas, simplesmente execute o comando no console e irá montar a fita que estiver dentro da unidade. Caso multiplos dispositivos de armazenamento, pode ser necesário usar a sintaxe:&lt;br /&gt;&lt;br /&gt;* mount &lt;label&gt;&lt;br /&gt;&lt;br /&gt;Para desmontar um volume montado, utilize o comando &lt;span style="font-weight: bold;"&gt;umount&lt;/span&gt;. A utilização é igual ao comando mount.&lt;br /&gt;&lt;br /&gt;Em alguns casos, quando for necessário apagar os dados do volume (por exemplo, quando o volume ficar com o status de used), ou quando, por algum motivo, o volume ficar com status de erro, será necessário executar o comando &lt;span style="font-weight: bold;"&gt;purge&lt;/span&gt;. Esse comando também serve para outras funções, mas só vi necessidade de utiliza-lo para apagar dados do volume. Digitando o camando purge no console, serão apresentadas 3  opções: 1: files; 2: jobs; 3: volume. Escolha a opção 3, então serão apresentados os Pools que você configurou. Escolha o Pool onde esta cadastrado o volume que voçê quer executar o purge. Após isso, será apresentado a lista com os volumes daquele Pool, bastando voçê escolher o volume que você quer executar o purge. Pronto, se o volume estiver montado, desmonte-o e monte-o novamente para que o status do volume seja alterado e se possa utilizar o volume novamente.&lt;br /&gt;&lt;br /&gt;Os próximos 3 comandos que irei passar são apenas para visualização de informações.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* list jobs&lt;/span&gt; - lista os trabalhos que estão em execução ou já executados e seus status&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* list volumes&lt;/span&gt; - lista informações sobre todos os volumes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;* status&lt;/span&gt; - mostra o status do sistema bacula, eu costumo consultar somenente o status do Director e do Storage&lt;br /&gt;&lt;br /&gt;Um comando muito util é o &lt;span style="font-weight: bold;"&gt;help&lt;/span&gt;, que te mostra todos os comandos. Sempre consulte o help para descobrir mais funcionalidades ;-)&lt;br /&gt;&lt;br /&gt;Finalmente, temos o comando &lt;span style="font-weight: bold;"&gt;restore&lt;/span&gt;, que serve para recuperar dados do backup. Sua utilização é bem simples. Executando o comando restore no console, lhe será apresentado uma grande lista de opções. Utilise a opção 3 para recuperação de dados. Será pedido agora o número do Job do qual você quer recuperar alguma informação, tenha-o em mãos e informe-o. O bacula irá recuperar a estrutura de diretórios para que se possa navegar por ela e buscar os arquivos que precisem ser recuperados. depois de algum tempo ele irá te apresentar um pronpt ($). Os comandos de navegação por pastas são os mesmos utilizados no linux, lembrando que o comando help tem opções próprias para o prompt de recuperação. Navegue pelas pastas, quando encontrar o arquivo que quer, utilize o comando&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ mark &lt;nome&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Isso marcará o arquivo para recuperação. Caso marque o arquivo errado, utilize&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ unmark &lt;nome&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;para desmarcar. Caso queira marcar diretórios, utilize&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ markdir &lt;nome&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;e para desmarcar&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ unmarkdir &lt;nome&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Para finalizar, de o comando&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;$ done&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;que indicará qual o volume que deverá estar montado para a recuperação, e também exibirá todos os Jobs de restauração para que você escolha qual deles deve utilizar. Escolha o Job certo. Depois será exibido os clientes cadastrados, escolha o cliente.  Após isso serão apresentadas  algumas informações, onde a que você deve observar é onde será gravado o arquivo a ser recuperado (Where). Marque esse local, pois é lá que você deverá ir para buscar o arquivo. Confirme a ação digitando yes e pronto, os arquivos serão recuperados.&lt;br /&gt;&lt;br /&gt;Só mais um comando, o comando &lt;span style="font-weight: bold;"&gt;run&lt;/span&gt;, que serve para executar um Job em um horário em que ele não está agendado. Basicamente você digita run no console, é apresentado a lista de Jobs que você tem cadastrado, escolha o qual você quer executar e pronto, o Job é executado (claro que deve ser observado se o volume certo esta montado).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Só mais uma dica importante&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Conforme foi apontado, em um dos comentários &lt;a href="http://perludum.blogspot.com/2007/05/tutorial-bacula-infra-estrutura-e.html"&gt;deste post&lt;/a&gt;, existe a possibilidade de perda total do HD onde estão os dados e também o banco de dados. Caso isso ocorra teriamos um problema, pois o bacula utiliza informação do banco de dados para a recuperação, logo, sem o banco de dados complicaria a recuperação dos dados, isso no caso de usarmos fitas, em caso de DVD ou unidades de disco creio que não teria esse problema.&lt;br /&gt;&lt;br /&gt;Para evitar essa dor de cabeça existem duas soluções bem simples (a primeira nem tanto).&lt;br /&gt;&lt;br /&gt;A primeira solução seria não manter o banco de dados no mesmo servidor em que se tem algum dado sendo feito backup pelo bacula, utilizando um servidor "neutro", assim, se der problema no servidor de arquivos o banco de dados estará salvo, e se der problema no servidor onde esta o banco de dados, os dados estarão sem perigo.&lt;br /&gt;&lt;br /&gt;A segunda solução, que eu considero melhor, é fazer o backup do banco de dados em um local seguro, que seja de fácil recuperação, como em um outro servidor, ou em CD ou DVD.&lt;br /&gt;&lt;br /&gt;Teria uma terceira opção, que seria recuperar o conteúdo da fita através do prompt do linux, com alguns comandos do próprio linux que controlam a fita. Mas isso eu não tive tempo de verificar a possibilidade (e acho que eu não quero gastar tempo com isso :-\ ), então recomendo a utilização da segunda solução.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Para finalizar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Finalizando esta série de posts, me coloco a disposição para exclarecimento de dúvidas, aceito criticas construtivas e conselhos para melhorias do artigo.&lt;br /&gt;&lt;br /&gt;Eu tinha a idéia de organizar esses posts e criar um artigo contínuo, mas acho que não terei paciência para isso. Caso alguém tenha tempo/coragem/paciência/vontade de fazer isso, fique a vontade. Só gostaria que eu fosse avisado sobre isso, que os créditos fossem devidamente apontados e que me avisassem de onde ficaria o artigo.&lt;br /&gt;&lt;br /&gt;E termino por aqui.&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/38610382-4294290811210595934?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4294290811210595934/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4294290811210595934' title='13 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4294290811210595934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4294290811210595934'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/06/tutorial-bacula-iniciando-o-servio-e.html' title='Tutorial Bacula: Iniciando o serviço e operando o sistema'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-3506481112535596029</id><published>2007-06-25T22:33:00.000-03:00</published><updated>2007-06-26T22:47:04.650-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Tutorial Bacula: Configurando Director Daemon</title><content type='html'>Voltei para postar mais uma parte do tutorial sobre Bacula, desta vez explicarei sobre a configuração do Director Daemon. Como já havia dito, é a configuração mais complexa do Bacula, e, como irão perceber, o arquivo de configuração é bem extenso. Eu modifique toda a disposição do arquivo de configuração em relação ao padrão, dividindo-o em seções que, na minha opinião, fica bem mais fácil de ser entendido.&lt;br /&gt;&lt;br /&gt;Coloquei algumas observações em forma de comentário no meio das configurações. Basicamente todos os pontos importantes estão comentados. Os motivos para os pontos que não estão comentados são: a) não havia necessidade de comentar, é auto-explicativo; b) a configuração do item logo acima é igual e já esta comentado (devemos evitar redundância); c) eu realmente esqueci de comentar ;-), nesse caso me avisem para que possa corrigir.&lt;br /&gt;&lt;br /&gt;Vamos ver as configurações:        &lt;style&gt;  &lt;!--   @page { margin: 0.79in }   P { margin-bottom: 0.08in }  --&gt;  &lt;/style&gt;    &lt;blockquote&gt;&lt;p class="western" style="margin-bottom: 0in;"&gt;#&lt;br /&gt;# Configuracoes globais do servidor bacula&lt;br /&gt;#&lt;/p&gt;                 &lt;p class="western" style="margin-bottom: 0in;"&gt;Director {&lt;/p&gt;&lt;blockquote&gt;# Nome do Director Daemon – Servidor Bacula que estamos configurando agora&lt;br /&gt;Name = sf1-dir&lt;br /&gt;# Porta pela qual o servidor Bacula será acessado (normalmente pelo console)&lt;br /&gt;DIRport = 9101&lt;br /&gt;# Arquivo contendo as instruções SQL usadas para acessar o banco de dados&lt;br /&gt;QueryFile = "/etc/bacula/query.sql"&lt;br /&gt;# Diretório de trabalho do Director&lt;br /&gt;WorkingDirectory = "/var/lib/bacula/working"&lt;br /&gt;PidDirectory = "/var/run"&lt;br /&gt;# Numero máximo de trabalhos ao mesmo tempo&lt;br /&gt;Maximum Concurrent Jobs = 1&lt;br /&gt;# Senha necessaria para acessar o servidor bacula pelo console&lt;br /&gt;Password = "senha"&lt;br /&gt;# Configuração de mensagens utilizadas pelo Director&lt;br /&gt;Messages = Mensagens&lt;br /&gt;&lt;/blockquote&gt;}             &lt;p class="western" style="margin-bottom: 0in;"&gt;##################################################################################&lt;br /&gt;## Banco de dados a ser usado para armazenar as informações dos backups&lt;br /&gt;##################################################################################&lt;br /&gt;Catalog {&lt;/p&gt;&lt;blockquote&gt;# Nome do catálogo&lt;br /&gt;Name = MyCatalog&lt;br /&gt;# Nome do banco de dados, usuário e senha para ser acessado pelo Bacula&lt;br /&gt;# Por padrão a senha do banco de dados esta em branco, caso você altere a senha&lt;br /&gt;# no banco de dados, deve colocar a nova senha aqui&lt;br /&gt;dbname = bacula; user = bacula; password = ""&lt;br /&gt;&lt;/blockquote&gt;}                              &lt;p class="western" style="margin-bottom: 0in;"&gt;##################################################################################&lt;br /&gt;# Seção clientes&lt;br /&gt;# Configura os clientes onde estão os dados a serem armazenados em backup&lt;br /&gt;##################################################################################&lt;br /&gt;###################&lt;br /&gt;## Servidor ServArq&lt;br /&gt;###################&lt;br /&gt;Client {&lt;/p&gt;&lt;blockquote&gt;Name = ServArq&lt;br /&gt;# Nome ou endereço IP do cliente&lt;br /&gt;Address = servarq&lt;br /&gt;# Porta de acesso ao cliente, configurada no arquivo de configuração do cliente&lt;br /&gt;FDPort = 9102&lt;br /&gt;# Catalogo a ser utilizado no banco de dados&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;# Senha para se acessar o cliente, configurada no arquivo de configuração do cliente&lt;br /&gt;Password = "senha"&lt;br /&gt;# Tempo em que o backup do cliente sera armazenado no banco de dados&lt;br /&gt;# Passado esse tempo o registro desse arquivo sera excluído&lt;br /&gt;# Isso não afeta o backup que esta armazenado&lt;br /&gt;File Retention = 30 days&lt;br /&gt;# Tempo em que os trabalhos do cliente serão armazenados no baco de dados&lt;br /&gt;# Passado esse tempo o registro desse arquivo sera excluído&lt;br /&gt;# Isso não afeta o backup que esta armazenado&lt;br /&gt;Job Retention = 30 days&lt;br /&gt;# Este comando irá apagar os registros dos arquivos e jobs,&lt;br /&gt;# citados acima, automaticamente&lt;br /&gt;AutoPrune = yes&lt;/blockquote&gt;}&lt;br /&gt;             &lt;p class="western" style="margin-bottom: 0in;"&gt;# Este cliente é praticamente igual ao cliente acima, somente muda&lt;br /&gt;# o tempo de retenção dos arquivos e dos jobs&lt;br /&gt;# Fiz dessa forma pois os backups mensais devem ser guardados por&lt;br /&gt;# um tempo muito maior que os backups diários e semanais&lt;br /&gt;Client {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServArqMensal&lt;br /&gt;Address = servarq&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "senha"&lt;br /&gt;# Estou deixando para 20 anos pois o backup mensal terá retenção de 20 anos&lt;br /&gt;File Retention = 20 years&lt;br /&gt;Job Retention = 20 years&lt;br /&gt;AutoPrune = yes&lt;/blockquote&gt;}&lt;br /&gt;              &lt;p class="western" style="margin-bottom: 0in;"&gt;#############################################&lt;br /&gt;## ServApl – servidor de aplicações&lt;br /&gt;## Basicamente é repetida a configuração do ServArq&lt;br /&gt;## inclusive uma configuração distinta para o backup&lt;br /&gt;## mensal&lt;br /&gt;#############################################&lt;br /&gt;Client {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServApl&lt;br /&gt;Address = servapl&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "senha"&lt;br /&gt;File Retention = 30 days&lt;br /&gt;Job Retention = 30 days&lt;br /&gt;AutoPrune = yes&lt;br /&gt;&lt;/blockquote&gt;}           &lt;p class="western" style="margin-bottom: 0in;"&gt;Client {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServAplMensal&lt;br /&gt;Address = servapl&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "senha"&lt;br /&gt;File Retention = 20 years&lt;br /&gt;Job Retention = 20 years&lt;br /&gt;AutoPrune = yes&lt;/blockquote&gt;}&lt;br /&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;###############&lt;br /&gt;## ServBD – servidor de banco de dados&lt;br /&gt;###############&lt;br /&gt;Client {&lt;/p&gt;&lt;blockquote&gt;Name = ServBD&lt;br /&gt;Address = servbd&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "senha"&lt;br /&gt;File Retention = 30 days&lt;br /&gt;Job Retention = 30 days&lt;br /&gt;AutoPrune = yes&lt;/blockquote&gt;}&lt;br /&gt;         &lt;p class="western" style="margin-bottom: 0in;"&gt;Client {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServBDMensal&lt;br /&gt;Address = servbd&lt;br /&gt;FDPort = 9102&lt;br /&gt;Catalog = MyCatalog&lt;br /&gt;Password = "senha"&lt;br /&gt;File Retention = 20 years&lt;br /&gt;Job Retention = 20 years&lt;br /&gt;AutoPrune = yes&lt;/blockquote&gt;}  &lt;p class="western" style="margin-bottom: 0in;"&gt;##################################################################################&lt;br /&gt;# Seção Pool&lt;br /&gt;##################################################################################&lt;/p&gt;                       &lt;p class="western" style="margin-bottom: 0in;"&gt;Pool {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;# Define o Pool para o backup semanal completo&lt;br /&gt;Name = Semanal&lt;br /&gt;Pool Type = Backup&lt;br /&gt;# As 2 opções abaixo são utilizada para que a fita sera auto reciclada,&lt;br /&gt;# ou seja, eh como se dissesse que os dados da fita podem ser apagados&lt;br /&gt;# e gravados novos dados em seu lugar&lt;br /&gt;Recycle = yes&lt;br /&gt;AutoPrune = yes&lt;br /&gt;# Define quanto tempo os dados ficarão na fita sem poderem ser apagados.&lt;br /&gt;# Somente a depois desse tempo a fita sera reciclada&lt;br /&gt;Volume Retention = 13 days&lt;br /&gt;# Define a quantidade máxima de trabalhos que podem ser armazenados em uma fita&lt;br /&gt;# sem que ela precise ser reciclada&lt;br /&gt;Maximum Volume Jobs = 3&lt;br /&gt;# Define o numero máximo de fitas que sera utilizada pelo Pool&lt;br /&gt;Maximum Volumes = 2&lt;/blockquote&gt;}&lt;br /&gt;         &lt;p class="western" style="margin-bottom: 0in;"&gt;Pool {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;# Define o Pool para o backup diário incremental.&lt;br /&gt;# As opções abaixo são as mesmas do Pool Semanal.&lt;br /&gt;Name = Diario&lt;br /&gt;Pool Type = Backup&lt;br /&gt;Recycle = yes&lt;br /&gt;AutoPrune = yes&lt;br /&gt;Volume Retention = 7 days&lt;br /&gt;Maximum Volume Jobs = 12&lt;br /&gt;Maximum Volumes = 1&lt;/blockquote&gt;}&lt;br /&gt;          &lt;p class="western" style="margin-bottom: 0in;"&gt;Pool {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;# Define o Pool para o backup Mensal completo.&lt;br /&gt;# As opções abaixo são as mesmas das anteriores.&lt;br /&gt;# Aqui não definiremos um máximo de volumes, isso faz com que&lt;br /&gt;# possa ser usado quantos volumes forem necessários.&lt;br /&gt;Name = Mensal&lt;br /&gt;Pool Type = Backup&lt;br /&gt;Recycle = yes&lt;br /&gt;AutoPrune = yes&lt;br /&gt;Volume Retention = 20 years&lt;br /&gt;Maximum Volume Jobs = 3&lt;/blockquote&gt;}&lt;br /&gt;         &lt;p class="western" style="margin-bottom: 0in;"&gt;# O Pool Defaul deve ser criado pois os jobs exigem que seja&lt;br /&gt;# definido o parâmetro Pool, e como não é bom utilizar um dos Pools&lt;br /&gt;# acima, criamos um default. Ele nunca será usado de fato.&lt;br /&gt;Pool {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = Default&lt;br /&gt;Pool Type = Backup&lt;br /&gt;Recycle = yes&lt;br /&gt;AutoPrune = yes&lt;br /&gt;Volume Retention = 365 days&lt;/blockquote&gt;}                &lt;p class="western" style="margin-bottom: 0in;"&gt;##################################################################################&lt;br /&gt;# Seção Schedule&lt;br /&gt;# Agenda  o nível , a data e a hora do backup para os jobs&lt;br /&gt;##################################################################################&lt;br /&gt;# É necessário criar um agendamento para cada cliente, pois não é&lt;br /&gt;# possível fazer backup de vários clientes com o mesmo trabalho de backup&lt;br /&gt;##########&lt;br /&gt;# ServArq&lt;br /&gt;##########&lt;br /&gt;Schedule {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class="western" style="margin-bottom: 0in;"&gt;# Agenda o backup completo para a segunda, terceira, quarta e quinta (caso haja)&lt;br /&gt;# segunda-feiras de cada mês, e também os backup diários incrementais.&lt;br /&gt;# Se o mês não tiver 5 segunda-feiras, a quinta segunda-feira será ignorada.&lt;br /&gt;# O backup sera sempre as 22:00 horas.&lt;br /&gt;# Foram passados dois parâmetros Run pois um mesmo agendamento pode&lt;br /&gt;# agendar datas e horários diferentes para o mesmo backup.&lt;/p&gt;       &lt;p class="western" style="margin-bottom: 0in;"&gt;  # Nome do agendamento&lt;br /&gt;Name = ServArq&lt;br /&gt;# Indica o nível, o dia e a hora do backup&lt;br /&gt;Run = Full 2nd-5th Monday at 10:00pm&lt;br /&gt;Run = Incremental tue-sun at 10:00pm&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;&lt;/blockquote&gt;      &lt;p class="western" style="margin-bottom: 0in;"&gt;# Agenda o backup mensal para o servidor ServArq&lt;br /&gt;Schedule {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServArqMensal&lt;br /&gt;Run = Full 1st Monday at 10:00pm&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;############&lt;br /&gt;# ServApl&lt;br /&gt;############&lt;br /&gt;# Agenda o backup completo e incremental para o servidor ServApl&lt;br /&gt;# O backup sera sempre as 22:10 horas&lt;br /&gt;Schedule {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServApl&lt;br /&gt;Run = Full 2nd-5th Monday at 10:10pm&lt;br /&gt;Run = Incremental tue-sun at 10:10pm&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;      &lt;p class="western" style="margin-bottom: 0in;"&gt;# Agenda o backup mensal para o servidor ServApl&lt;br /&gt;Schedule {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = "ServAplMensal"&lt;br /&gt;Run = Full 1st Monday at 10:10pm&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;############&lt;br /&gt;# ServBD&lt;br /&gt;############&lt;br /&gt;# Agenda o backup completo e incremental para o servidor ServBD&lt;br /&gt;# O backup sera sempre as 22:20 horas&lt;br /&gt;Schedule {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServBD&lt;br /&gt;Run = Full 2nd-5th Monday at 10:20pm&lt;br /&gt;Run = Incremental tue-sun at 10:20pm&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;      &lt;p class="western" style="margin-bottom: 0in;"&gt;# Agenda o backup mensal para o servidor ServBD&lt;br /&gt;Schedule {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServBDMensal&lt;br /&gt;Run = Full 1st Monday at 10:20pm&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;                           &lt;p class="western" style="margin-bottom: 0in;"&gt;##################################################################################&lt;br /&gt;# Seção FileSet&lt;br /&gt;# Determina quais arquivos devem ser feitos backup e quais ficarão fora dos backups&lt;br /&gt;##################################################################################&lt;br /&gt;FileSet {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServArq&lt;br /&gt;# Define quais arquivos ou diretórios farão parte do backup&lt;br /&gt;Include {&lt;br /&gt;&lt;blockquote&gt;# Define algumas opções para o backup&lt;br /&gt;Options {&lt;br /&gt;&lt;blockquote&gt;# Opção de segurança&lt;br /&gt;signature = MD5&lt;br /&gt;# Compressão dos dados usando GZIP&lt;br /&gt;# O número 9 indica o taxa de compressão, quanto mais alto&lt;br /&gt;# mais compressão. Vai de 1 a 9&lt;br /&gt;compression=GZIP9&lt;br /&gt;# Exclui do backup os arquivos com extensão tmp&lt;br /&gt;wildfile = "*.tmp"&lt;br /&gt;# Diz que os arquivos indicados em wildfile não farão parte do backup&lt;br /&gt;Exclude = yes&lt;/blockquote&gt;}&lt;br /&gt;# Define quais diretórios farão parte do backup&lt;br /&gt;File = /arquivos/dados&lt;br /&gt;File = /etc&lt;/blockquote&gt;}&lt;br /&gt;&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;                &lt;p class="western" style="margin-bottom: 0in;"&gt;FileSet {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = "ServApl"&lt;br /&gt;Include {&lt;br /&gt;&lt;blockquote&gt;Options {&lt;br /&gt;&lt;blockquote&gt;signature = MD5&lt;br /&gt;IgnoreCase = yes&lt;br /&gt;compression=GZIP9&lt;br /&gt;wildfile = "*.tmp"&lt;br /&gt;Exclude = yes&lt;/blockquote&gt;}&lt;br /&gt;# Por ser sistema de arquivos Windows é necessário indicar a letra da unidade&lt;br /&gt;# A barra (/) não esta errada, por ser em Linux é essa mesmo que temos de usar&lt;br /&gt;File = "F:/Aplicacoes"&lt;/blockquote&gt;}&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;            &lt;p class="western" style="margin-bottom: 0in;"&gt;FileSet {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = "ServBD"&lt;br /&gt;Include {&lt;br /&gt;&lt;blockquote&gt;Options {&lt;br /&gt;&lt;blockquote&gt;signature = MD5&lt;br /&gt;IgnoreCase = yes&lt;br /&gt;compression=GZIP9&lt;/blockquote&gt;}&lt;br /&gt;File = "G:/BKPBancos"&lt;/blockquote&gt;}&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;                 &lt;p class="western" style="margin-bottom: 0in;"&gt;##################################################################################&lt;br /&gt;# Seção Storage&lt;br /&gt;# Configura qual servidor esta com a unidade de fita, qual unidade de fita usar&lt;br /&gt;##################################################################################&lt;br /&gt;Storage {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;# Nome do dispositivo a ser usado no Director&lt;br /&gt;Name = AIT-1&lt;br /&gt;# Endereço do servidor, pode ser o nome ou o endereço IP&lt;br /&gt;Address = ServArq&lt;br /&gt;# Porta pela qual o servidor de Storage será acessada&lt;br /&gt;SDPort = 9103&lt;br /&gt;# Senha com a qual o Director acessará o Storage Daemon&lt;br /&gt;Password = "senha"&lt;br /&gt;# Dispositivo configurado no Storage Daemos que iremos utilizar&lt;br /&gt;Device = AIT-1&lt;br /&gt;&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;                                                 &lt;p class="western" style="margin-bottom: 0in;"&gt;##################################################################################&lt;br /&gt;# Seção Job&lt;br /&gt;# Configura os trabalhos de backup&lt;br /&gt;##################################################################################&lt;br /&gt;# Para que se possa fazer um backup completo na segunda-feira  e incremental&lt;br /&gt;# nos demais dias da semana, é necessário que os dois tipos de backup sejam&lt;br /&gt;# controlados por este mesmo job. É necessário que o Client e o FileSet também&lt;br /&gt;# sejam os mesmo nos dois tipos de backup. Analisando a configuração veremos isso.&lt;br /&gt;# Uma observação que deve ser feita é que, mesmo quando estiver agendado para&lt;br /&gt;# executar o backup incremental, o Bacula poderá executar o backup Full. Dois motivos&lt;br /&gt;# para que isso aconteça é: 1 – Nunca ter sido feito um backup full desses arquivos antes;&lt;br /&gt;# 2 – ter sido feito alguma mudança no FileSet.&lt;br /&gt;############&lt;br /&gt;# ServArq&lt;br /&gt;############&lt;br /&gt;# Define o trabalho para o backup semanal e diário do ServArq&lt;br /&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;# Nome do trabalho&lt;br /&gt;Name = ServArq&lt;br /&gt;# Tipo do trabalho, pode ser Backup ou Restore&lt;br /&gt;Type = Backup&lt;br /&gt;# Cliente que foi configurado acima&lt;br /&gt;Client = ServArq&lt;br /&gt;# File set do servidor ServArq configurado acima&lt;br /&gt;FileSet = ServArq&lt;br /&gt;# O storage configurado acima&lt;br /&gt;Storage = AIT-1&lt;br /&gt;# O agendamento para o backup do ServArq configurado acima&lt;br /&gt;Schedule = ServArq&lt;br /&gt;# O Pool configurado, mas que será indicado aqui apenas por que o Bacula&lt;br /&gt;# exige esse parâmetro, não será utilizado&lt;br /&gt;Pool = Default&lt;br /&gt;# &lt;span style=""&gt;Os dois parâmetros abaixo serão os utilizados para indicar o Pool.&lt;/span&gt;&lt;br /&gt;# Um indica o Pool o Pool para o backup Full e o outro para o Incremental.&lt;br /&gt;# O Bacula que indica qual Pool será utilizado, conforme agendamento.&lt;br /&gt;Full Backup Pool = Semanal&lt;br /&gt;Incremental Backup Pool = Diario&lt;br /&gt;# Configuração de mensagem utilizada por este Job&lt;br /&gt;Messages = Mensagens&lt;br /&gt;# Script que será executado antes da execução do backup. No caso, esse script&lt;br /&gt;# montará o dispositivo (caso não esteja montado) antes de ser feito o backup.&lt;br /&gt;# Mostrarei esse script no final  dessa parte do artigo.&lt;br /&gt;RunBeforeJob = "/usr/sbin/monta_tape.sh"&lt;br /&gt;# Define a prioridade do Job, quanto menor o valor, a prioridade é maior&lt;br /&gt;# O padrão é 10. É uma opção importante pois, caso os backups atrasem, a execução&lt;br /&gt;# será pela prioridade e não mais pelo horário.&lt;br /&gt;Priority = 10&lt;br /&gt;&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;                &lt;p class="western" style="margin-bottom: 0in;"&gt;# Define o trabalho para o backup mensal do servidor ServArq&lt;br /&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServArqMensal&lt;br /&gt;Type = Backup&lt;br /&gt;Client = ServArqMensal&lt;br /&gt;FileSet = ServArq&lt;br /&gt;Storage = AIT-1&lt;br /&gt;# Neste caso informamos somente um Pool, pois o backup mensal&lt;br /&gt;# será sempre completo&lt;br /&gt;Pool = Mensal&lt;br /&gt;Schedule = ServArqMensal&lt;br /&gt;Messages = Mensagens&lt;br /&gt;RunBeforeJob = "/usr/sbin/monta_tape.sh"&lt;br /&gt;Priority = 10&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;              &lt;p class="western" style="margin-bottom: 0in;"&gt;# Define o trabalho de Restore o backup semanal do servidor ServArq&lt;br /&gt;# O Job Restore é importante para restaurarmos um backup&lt;br /&gt;# As opções são as mesmas dos Jobs de backup&lt;br /&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServArqSemanal&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServArq&lt;br /&gt;FileSet = ServArq&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Semanal&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServArqDiario&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServArq&lt;br /&gt;FileSet = ServArq&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Diario&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServArqMensal&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServArqMensal&lt;br /&gt;FileSet = ServArq&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Mensal&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;                   &lt;p class="western" style="margin-bottom: 0in;"&gt;###############&lt;br /&gt;# ServApl&lt;br /&gt;###############&lt;br /&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;# Define o trabalho para o backup semanal do servidor ServApl&lt;br /&gt;Name = ServApl&lt;br /&gt;Type = Backup&lt;br /&gt;Client = ServApl&lt;br /&gt;FileSet = ServApl&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Schedule = ServApl&lt;br /&gt;Pool = Default&lt;br /&gt;Full Backup Pool = Semanal&lt;br /&gt;Incremental Backup Pool = Diario&lt;br /&gt;Messages = Mensagens&lt;br /&gt;RunBeforeJob = "/usr/sbin/monta_tape.sh"&lt;br /&gt;Priority = 11&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;              &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServAplMensal&lt;br /&gt;Type = Backup&lt;br /&gt;Level = Full&lt;br /&gt;Client = ServAplMensal&lt;br /&gt;FileSet = ServAplMensal&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Pool = Mensal&lt;br /&gt;Schedule = ServAplMensal&lt;br /&gt;Messages = Mensagens&lt;br /&gt;RunBeforeJob = "/usr/sbin/monta_tape.sh"&lt;br /&gt;Priority = 11&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServAplSemanal-sapp&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServApl&lt;br /&gt;FileSet = ServApl&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Semanal&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServAplDiario&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServApl&lt;br /&gt;FileSet = ServApl&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Diario&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;            &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServAplMensal&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServApl&lt;br /&gt;FileSet = ServApl&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Mensal&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;p&gt;&lt;/p&gt;                   &lt;p class="western" style="margin-bottom: 0in;"&gt;###############&lt;br /&gt;# ServBD&lt;br /&gt;###############&lt;br /&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;# Define o trabalho para o backup semanal&lt;br /&gt;Name = ServBD"&lt;br /&gt;Type = Backup&lt;br /&gt;Client = ServBD&lt;br /&gt;FileSet = ServBD&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Schedule = ServBD&lt;br /&gt;Pool = Default&lt;br /&gt;Full Backup Pool = Semanal&lt;br /&gt;Incremental Backup Pool = Diario&lt;br /&gt;Messages = Mensagens&lt;br /&gt;RunBeforeJob = "/usr/sbin/monta_tape.sh"&lt;br /&gt;Priority = 12&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;              &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = ServBDMensal&lt;br /&gt;Type = Backup&lt;br /&gt;Level = Full&lt;br /&gt;Client = ServBDMensal&lt;br /&gt;FileSet = ServBDMensal&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Pool = Mensal&lt;br /&gt;Schedule = ServBDMensal&lt;br /&gt;Messages = Mensagens&lt;br /&gt;RunBeforeJob = "/usr/sbin/monta_tape.sh"&lt;br /&gt;Priority = 12&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServBDSemanal&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServBD&lt;br /&gt;FileSet = ServBD&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Semanal&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServBDDiario&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServBD&lt;br /&gt;FileSet = ServBD&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Diario&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;           &lt;p class="western" style="margin-bottom: 0in;"&gt;Job {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = RestoreServBDMensal&lt;br /&gt;Type = Restore&lt;br /&gt;Client = ServBD&lt;br /&gt;FileSet = ServBD&lt;br /&gt;Storage = AIT-1&lt;br /&gt;Messages = Mensagens&lt;br /&gt;Pool = Mensal&lt;br /&gt;Where = /tmp/bacula-restores&lt;/blockquote&gt;}&lt;br /&gt;&lt;p&gt;&lt;/p&gt;   &lt;p class="western" style="margin-bottom: 0in;"&gt;##################################################################################&lt;br /&gt;# Seção Mensagens&lt;br /&gt;##################################################################################&lt;/p&gt;      &lt;p class="western" style="margin-bottom: 0in;"&gt;Messages {&lt;br /&gt;&lt;/p&gt;&lt;blockquote&gt;Name = Mensagens&lt;br /&gt;# Envia todas as mensagens geradas pelo Bacula para o arquivo&lt;br /&gt;# /var/log/messages&lt;br /&gt;syslog = all, !skipped, !saved&lt;/blockquote&gt;}&lt;p&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="western" style="margin-bottom: 0in;"&gt;&lt;/p&gt;Esse é o script que será executado antes do primeiro Job do dia para montar a fita no Bacula:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9_XuePBH79c/RoHBQabb4eI/AAAAAAAAABE/5kGfVknCjEY/s1600-h/ScriptBacula.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_9_XuePBH79c/RoHBQabb4eI/AAAAAAAAABE/5kGfVknCjEY/s400/ScriptBacula.jpg" alt="" id="BLOGGER_PHOTO_ID_5080554342367093218" border="0" /&gt;&lt;/a&gt;Depois de criado o script, é só dar as permissões adequadas e estará pronto.&lt;br /&gt;&lt;br /&gt;Eu sei que esteticamente essa listagem do arquivo de configuração não ficou nada boa, mas espero que todos tenham conseguido entende-lo. Não é mesmo complexo? Mas o grande problema é que, talvez, para deixar as configurações mais simples tenha uma grande perda na flexibilidade do sistema. O ideal seria um sistema menos complexo de se configurar e com toda flexibilidade que o Bacula tem. Acho que vou fazer disso o meu projeto de TCC da faculdade ;-).&lt;br /&gt;&lt;br /&gt;Um ponto que gostaria de comentar é sobre redundância, que falei no começo do post, que nesse arquivo de configuração é abundante (pelo menos a meu ver). Uma mesmas configuração pode ser encontrada em vários pontos diferentes da configuração. Acredito que isso seja uma coisa que gera dificuldade para a maioria das pessoas entenderem como o Bacula funciona.&lt;br /&gt;&lt;br /&gt;Como de praxe, peço para que comentem principalmente se o artigo precisar de alguma melhoria para que fique mais fácil de entende-lo.&lt;br /&gt;&lt;br /&gt;A próxima parte, a última (felizmente, não aguento mais escrever sobre Bacula :-\ ), trará a explicação de como operar o sistema. Será um manual básico sobre as principais funções necessárias para operação do sistema, sem se aprofundar muito. Pretendo faze-lo até a próxima semana.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-3506481112535596029?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/3506481112535596029/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=3506481112535596029' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3506481112535596029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/3506481112535596029'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/06/tutorial-bacula-configurando-director.html' title='Tutorial Bacula: Configurando Director Daemon'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9_XuePBH79c/RoHBQabb4eI/AAAAAAAAABE/5kGfVknCjEY/s72-c/ScriptBacula.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5971532646464826586</id><published>2007-06-19T22:52:00.001-03:00</published><updated>2007-06-25T18:46:36.162-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Tutorial Bacula: Configurando Storage Daemon, File Daemon e Console</title><content type='html'>Depois de algum tempo enrolado com provas da faculdade, estou eu aqui para mais uma parte do tutorial sobre Bacula. Aqui vamos ver como configurar os serviços Storage Daemon, File Daemon e Console. O Director Daemon será configurado a parte por possuir uma grande complexibilidade e, por isso, ser um assunto muito extenso.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Arquivo /etc/bacula/bacula-sd.conf (Storage Daemon)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vamos começar pelo Storage Daemon. Segue abaixo o arquivo de configuração /etc/bacula/bacula-sd.conf:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;# Configuração para o Servidor de Armazenamento.&lt;br /&gt;# Esse é o servidor no qual está instalada fisicamente a mídia de armazenamento&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Aqui são definidas as configurações do próprio servidor de armazenamento&lt;br /&gt;#&lt;br /&gt;Storage {&lt;br /&gt;&lt;blockquote&gt;    # Nome do Storage Daemon, esse é o nome utilizado pelo bacula,&lt;br /&gt;  # não necessariamente precisa ser o hostname&lt;br /&gt;  Name = sf1-sd&lt;br /&gt;  # Porta utilizada pelo Director Daemon para acessar o Sotorage Daemon&lt;br /&gt;  SDPort = 9103  Daemon&lt;br /&gt;  # Diretório de trabalho (temporário) do Storage Daemon&lt;br /&gt;  WorkingDirectory = "/var/lib/bacula/working"&lt;br /&gt;  # Diretório onde é armazenado informação sobre o processo rodando&lt;br /&gt;  Pid Directory = "/var/run"&lt;br /&gt;  # Númro de trabalhos rodando ao mesmo tempo&lt;br /&gt;  # Se você irá fazer mais de 1 backup ao mesmo tempo, indique o número aqui&lt;br /&gt;  # No meu caso será somente 1 trabalho mesmo&lt;br /&gt;  Maximum Concurrent Jobs = 1&lt;/blockquote&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Aqui é listado a configuração para conexão com o Director Daemon&lt;br /&gt;#&lt;br /&gt;Director {&lt;br /&gt;&lt;blockquote&gt;    # Nome do Director Daemon (cadastrado no /etc/bacula/bacula-dir.conf)&lt;br /&gt;  Name = sf1-dir&lt;br /&gt;  # Senha que o Director irá usar para acessar o Storage&lt;br /&gt;  Password = "senha"&lt;/blockquote&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Define as configurações da unidade de fita&lt;br /&gt;#&lt;br /&gt;Device {&lt;br /&gt;&lt;blockquote&gt;    # Nome do dispositivo&lt;br /&gt;  Name = AIT-1&lt;br /&gt;# Tipo do dispositivo, pode ser File (arquivos, partições), Tape (fitas), Fifo (sistemas de acesso sequencial) ou DVD&lt;br /&gt;Device Type = Tape&lt;br /&gt;  # Nome do dispositivo pelo qual o linux irá acessar a unidade de fita&lt;br /&gt;  Archive Device = /dev/nst0&lt;br /&gt;  # Diz se a fita ira receber um nome pelo Bacula&lt;br /&gt;  LabelMedia = yes;&lt;br /&gt;  # As opções abaixo não tive tempo de procurar saber para que servem,&lt;br /&gt;  # mas ficando no padrão já funcionan&lt;br /&gt;  Random Access = Yes;&lt;br /&gt;  AutomaticMount = yes;&lt;br /&gt;  RemovableMedia = no;&lt;br /&gt;  AlwaysOpen = no;&lt;/blockquote&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Essa opção envia as possíveis mensagens geraradas para o Director&lt;br /&gt;#&lt;br /&gt;Messages {&lt;br /&gt;&lt;blockquote&gt;    # Nome da configuração de mensagens&lt;br /&gt;  Name = Standard&lt;br /&gt;  # Nome do Director Daemon&lt;br /&gt;  # all significa que todas mensagens serão enviadas&lt;br /&gt;  director = sf1-dir = all&lt;/blockquote&gt;}&lt;/blockquote&gt;Obs.: Os comentários originais do arquivo de configuração foram tirados para uma melhor visualização, e nem todas as opções possíveis para configuração do Storage Daemon são tratadas aqui, somente as necessárias para o correto funcionamento do sistema estão tratadas aqui. Isso também vale para todos os outros arquivos de configuração.&lt;br /&gt;&lt;br /&gt;As configurações acima servem para disponibilizar um dispositivo de backup (que no meu caso é uma unidade AIT-1 Turbo, mas pode ser qualquer outra unidade de fita, além de gravadores de DVDs e CDs, partições de HDs, etc) para o Director, que irá acessa-lo no momento do backup ou da recuperação dos dados. Os nomes dados é você quem escolhe, não é necessário ser o nome correto do dispositivo&lt;br /&gt;&lt;br /&gt;Acredito que com os comentários nas configurações já seja possível entender a configuração do Storage Daemon. Qualquer duvida ou opinião será bem-vinda para melhoria do artigo.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Arquivo /etc/bacula/bacula-fd.conf (File Daemon)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;#&lt;br /&gt;# Esse é o arquivo responsável pelas configurações do cliente,&lt;br /&gt;# ou seja, o local onde estão os dados a serem incluidos no backup&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Aqui é listado a configuração para conexão com o servidor principal do bacula&lt;br /&gt;#&lt;br /&gt;Director {&lt;br /&gt;&lt;blockquote&gt;# Nome do Director Daemon que irá acessar este File Daemon&lt;br /&gt;Name = sf1-dir&lt;br /&gt;# Senha que o Director usará para acessar este cliente&lt;br /&gt;Password = "senha"&lt;/blockquote&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Especificação das configurações globais do cliente&lt;br /&gt;#&lt;br /&gt;FileDaemon {&lt;br /&gt;&lt;blockquote&gt;# Nome deste cliente, pode ser qualquer nome que o identifique melhor&lt;br /&gt;Name = sf1-fd&lt;br /&gt;# Porta pela qual o servidor bacula ira acessar o cliente&lt;br /&gt;FDport = 9102&lt;br /&gt;# As opções abaixo são indenticas as do Storage Daemon&lt;br /&gt;WorkingDirectory = /var/lib/bacula/working&lt;br /&gt;Pid Directory = /var/run&lt;br /&gt;Maximum Concurrent Jobs = 1&lt;/blockquote&gt;}&lt;br /&gt;&lt;br /&gt;#&lt;br /&gt;# Essa opção envia as possíveis mensagens geradas para o Director&lt;br /&gt;#&lt;br /&gt;Messages {&lt;br /&gt;&lt;blockquote&gt;    # Nome da configuração de mensagens&lt;br /&gt;Name = Standard&lt;br /&gt;  # Nome do Director Daemon&lt;br /&gt;  # all significa que todas mensagens serão enviadas&lt;br /&gt;# O ! significa exceto&lt;br /&gt;director = sf1-dir = all, !skipped, !restored&lt;/blockquote&gt;}&lt;/blockquote&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Arquivo /etc/bacula/bconsole.conf (File Daemon)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;#&lt;br /&gt;# Bacula User Agent (or Console) Configuration File&lt;br /&gt;#&lt;br /&gt;&lt;br /&gt;Director {&lt;br /&gt;&lt;blockquote&gt;# Nome do Director Daemon que o console irá acessar&lt;br /&gt;Name = sf1-dir&lt;br /&gt;# Porta pela qual o console irá acessar o Director&lt;br /&gt;DIRport = 9101&lt;br /&gt;# Endereço do Director, pode ser o hostname ou endereço IP&lt;br /&gt;address = sf1&lt;br /&gt;# Senha com a qual o console irá acessar o Director&lt;br /&gt;Password = "senha"&lt;/blockquote&gt;}&lt;/blockquote&gt;&lt;br /&gt;Pronto, com essas configurações já estamos 30% do servidor pronto, resta agora configurar o Director Daemon, que corresponde por 50%, e aprender a operar o Bacula pelo console. Teremos mais 2 posts para terminar o artigo e estarmos aptos a colocar o sistema para rodar. Espero terminar esse artigo nas próximas 2 semanas, e, como sempre, espero a contribuição de vocês para melhorar o artigo.&lt;br /&gt;&lt;br /&gt;Obs.: As porcentagens foram calculadas por mim, sem nenhuma pretenção de estarem certas, mas quem sabe eu tenha acertado mesmo ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-5971532646464826586?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5971532646464826586/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5971532646464826586' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5971532646464826586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5971532646464826586'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/06/tutorial-bacula-configurando-storage.html' title='Tutorial Bacula: Configurando Storage Daemon, File Daemon e Console'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4819424087275907575</id><published>2007-06-15T23:01:00.000-03:00</published><updated>2007-06-15T23:03:37.861-03:00</updated><title type='text'>Mudança de layout</title><content type='html'>Mudei o layout do blog esperando assim melhorar sua visualização. Caso alguém tenha algum problema com a visualização do blog, por favor me avise para poder resolver o ploblema.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4819424087275907575?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4819424087275907575/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4819424087275907575' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4819424087275907575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4819424087275907575'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/06/mudana-de-layout.html' title='Mudança de layout'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2951954824493544623</id><published>2007-06-12T13:45:00.000-03:00</published><updated>2007-06-12T13:51:07.487-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hardware'/><title type='text'>Dispositivo para teste em portas USB</title><content type='html'>Em uma lista de discução que participo foi enviada uma mensagem bastante interessante. É a notícia de um artigo sobre como fazer um dispositivo para teste de portas USBs. Para quem tem pendrive esse dispositivo é muito util, pois evita de queima-lo em portas USB ligadas de maneira errada. Segue o link para o artigo&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ribafs.net/joomla/index.php?option=com_content&amp;task=view&amp;amp;id=60&amp;Itemid=85"&gt;http://www.ribafs.net/joomla/index.php?option=com_content&amp;amp;task=view&amp;id=60&amp;amp;Itemid=85&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Obs.: A terceira parte do tutorial sobre Bacula vai demorar um pouco pra sair. To em semana de prova na faculdade, então provavelmente só sairá na semana que vem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-2951954824493544623?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2951954824493544623/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2951954824493544623' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2951954824493544623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2951954824493544623'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/06/dispositivo-para-teste-em-usb.html' title='Dispositivo para teste em portas USB'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2186040175306387972</id><published>2007-05-28T19:33:00.000-03:00</published><updated>2007-06-04T13:36:35.103-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Tutorial Bacula: Infra-estrutura e Instalação</title><content type='html'>Volto aqui com a segunda parte do tutorial sobre o Bacula. Vou abordar nessa parte a explicação de como é a infra-estrutura na qual eu baseei o tutorial e a instalação do Bacula.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Infra-estrutura.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O tutorial é baseado na experiência que tive ao instalar o Bacula na empresa onde trabalho, por isso irei utilizar uma estrutura parecida para esse tutorial.&lt;br /&gt;&lt;br /&gt;Para este tutorial teremos 1 servidor de arquivos com Linux instalado (acredito que a distribuição não seja importante) que o chamaremos d ServArq. Nesse servidor esta instalado uma unidade de fita para backup, com a qual, obviamente, iremos realizar os backups. Os arquivos a serem feito backup estão em somente 1 diretório, o diretório /arquivos. Será nesse servidor que iremos instalar o banco de dados e o Bacula, logo, teremos todos os módulos do Bacula concentrados em somente 1 servidor: o Bacula Director Daemon, o Bacula Storage Daemon, o Bacula File Daemon, o Database Server e o Console de Comandos. Apesar de estar instalando tudo em somente um servidor, eu poderia instalar cada módulo em um servidor diferente. Não estou utilizando vários servidores pois o volume de dados não é tão grande para justificar isso, porém é altamente recomendado uma configuração com vários servidores para quem tem muitos dados que precisam serem feito backup.&lt;br /&gt;&lt;br /&gt;Além desse servidor de arquivo, teremos mais 2 servidores com dados que farão parte do backup. É um servidor de aplicações, que iremos chamar de ServApl, e um servidor de banco de dados, que chamaremos de ServBD, os 2 rodando Windows (acredito que a versão não seja importante, pois o Bacula roda em todas as versões). Nesses 2 servidores será instalado apenas o Bacula File Daemon, pois somente serão usados para buscar os dados que estão neles.&lt;br /&gt;&lt;br /&gt;Acredito que com isso já se possa ter uma idéia melhor de como é a estrutura que será usada no backup. Saber como é a estrutura usada, na minha opinião, é fundamental para o entendimento da configuração do Bacula. Só mais um detalhe, todos os 3 estão na mesma rede física e lógica.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Como será realizado o backup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;A partir da estrutura acima descrita, o backup será realizado da seguinte forma:&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- Os dados de todos os 3 servidores estarão no backup;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- O servidor ServArq é o responsável pelo backup dos 3  servidores;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- Os backups serão realizados sempre durante a noite, iniciarão  as 22 horas;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- Toda primeira segunda-feira de cada mês será realizado  um backup completo, que será armazenado e não deverá  ser apagado. Esse será nosso backup mensal;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- Será feito um backup completo toda segunda-feira (backup  semanal, exceto na primeira segunda de cada mês), e backups  incrementais de terça-feira à domingo (backup diário);&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- O backup semanal será armazenado por 2 semanas, utilizando 2  fitas, alternando o uso (uma fita em uma semana, outra fita na  semana seguinte), assim garantimos que sempre haverá um  backup completo disponível;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- O backup diário utilizará apena 1 fita, que será  utilizada todos os dias. Cada backup diário realizado será  adicionado à fita sem sobrescrever o anterior, mantendo assim  6 backups incrementais na mesma fita;&lt;/li&gt;&lt;/ul&gt;Esse é o esquema de backup ideal, pelo menos para meu caso. Com esse esquema temos economia (pois usaremos somente 3 fitas durante o mês, sem contar com a fita mensal), praticidade (já que iremos trocar de fita apenas 2 vezes por semana) e segurança, já que teremos sempre um backup completo guardado e backups todos os dias.&lt;br /&gt;&lt;br /&gt;Obs.: Para quem não sabe como funciona exatamente o backup incremental, vou colocar uma explicação rápida, mas aconselho que leia os links &lt;a href="http://perludum.blogspot.com/2007/05/tutorial-sobre-bacula.html"&gt;deste post&lt;/a&gt;, que contêm explicações mais detalhadas. Vamos à uma explicação rápida sobre os tipos de backup:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;- Backup Completo ou Full – como o próprio nome diz, backup  completo com todos arquivos existentes;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- Backup Diferencial – backup com as alterações  realizadas desde o ultimo backup completo;&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;- Backup Incremental – backup com as alterações  realizadas desde o ultimo backup, não importando que esse  ultimo backup foi completo, diferencial ou incremental.&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;A instalação&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Conforme as informações abordadas na parte de infra-estrutura, toda a instalação feita aqui será no mesmo servidor, no caso o ServArq. Então vamos começar.&lt;br /&gt;&lt;br /&gt;Para a instalação, inicialmente você precisa ter instalado o MySQL ou algum outro servidor de banco de dados. Os bancos suportados na versão 2.0.3 são: MySQL, PostgreSQL, SQLite3, SQLite. No meu caso utilizei o MySQL. Como a maioria das distribuições atualmente já trazem o MySQL como padrão em sua coleção de pacotes, não irei abordar a instalação do mesmo, e vou considerar que todos saibam instalá-lo ou já o tenham instalado.&lt;br /&gt;&lt;br /&gt;Para a instalação do Bacula, primeiro precisamos baixar a versão mais recente (recomendo isso pois aqui utilizo a versão mais recente, e mesmo que sua distribuição já traga o Bacula em sua coleção de pacotes, pode ser que a versão que a distribuição traga seja mais antiga) do site oficial (&lt;a href="http://www.bacula.org/"&gt;www.bacula.org&lt;/a&gt;). Depois de baixado e descompactado os fontes, vamos compilá-lo:&lt;p&gt;&lt;/p&gt;# ./configure --with-mysql&lt;br /&gt;&lt;br /&gt;# make&lt;br /&gt;&lt;br /&gt;# make install&lt;br /&gt;&lt;br /&gt;Obs.: Existe um programa chamado checkinstall que server para criar o pacote rpm, deb ou tgz para a instalação com o gerenciador de pacotes. Para utilizá-lo, basta, depois do comando make, utilizar o comando:&lt;br /&gt;&lt;br /&gt;# checkinstall make install&lt;br /&gt;&lt;br /&gt;Esse comando irá pedir algumas informações sobre o programa e após isso irá gerar o pacote. Depois é só instalá-lo como o gerenciador de pacotes de sua distribuição. Isso garante uma remoção mais fácil do pacote, caso seja necessário. Eu tenho o pacote rpm gerado para o openSuse 10.2, se encontrar algum lugar para disponibilizar o pacote eu coloco o link no blog.&lt;br /&gt;&lt;br /&gt;Após a instalação do Bacula, temos que criar o banco de dados no MySQL, criar as tabelas no banco de dados e preencher as tabelas com os dados iniciais necessários para o correto funcionamento do Bacula. Mas calma, não precisamos fazer isso manualmente, o Bacula traz scripts para automatizar essa tarefa. Entre no diretório /etc/bacula, que é o diretório padrão onde ficam os arquivos de configuração do Bacula. Nesse diretório estão os scripts que irão preparar o banco de dados. Digite os seguintes comandos:&lt;br /&gt;&lt;br /&gt;# ./create_mysql_database&lt;br /&gt;&lt;br /&gt;# ./grant_mysql_privileges&lt;br /&gt;&lt;br /&gt;# ./make_mysql_tables&lt;br /&gt;&lt;br /&gt;# ./update_mysql_tables&lt;br /&gt;&lt;br /&gt;Ates de executar essas scripts, porém, é necessário saber a senha do adminitrador do MySQL (que normanlmente é o usuário root). Por padrão, ao instalar o MySQL, a senha é em branco. Se a senha do MySQL da sua instalação for em branco, é só executar os scripts e tudo funciona. Caso a senha seja outra, e você saiba a senha, entre em casa um dos scripts e altere a linha&lt;br /&gt;&lt;br /&gt;if $bindir/mysql $* -f &lt;&lt;end-of-data para="" if="" bindir="" mysql="" p="&lt;senha"&gt; $* -f &lt;senha&gt;&lt;br /&gt;&lt;br /&gt;para&lt;br /&gt;&lt;br /&gt;&lt;/senha&gt;&lt;/end-of-data&gt;if $bindir/mysql -p=&lt;senha&gt; $* -f &lt; $* -f &lt;end-of-data para="" if="" bindir="" mysql="" p="&lt;senha"&gt;&lt;senha&gt;&lt;br /&gt;&lt;br /&gt;&lt;end-of-data&gt;&lt;end-of-data para="" if="" bindir="" mysql="" p="&lt;senha"&gt;&lt;end-of-data&gt;Agora, caso a senha não esteja em branco e você não saiba a senha, então temos um problema. Será necessário forçar a troca de senha. Eu sei que isso é possível fazer, mas não tenho os comandos necessários para fazer, logo, recomendo uma busca no google, caso esse seja o seu problema.&lt;br /&gt;&lt;br /&gt;Para quem executou todos os passos até aqui sem nenhum problema, temos agora o ambiente pronto para começar a configirar o Bacula, mas isso irei abordar na próxima parte do artigo. Paro os que não obtiveram sucesso em alguma parte, estejam livre para postar as dúvidas nos comentários. Também estejam livres a apontar os problemas e fazer críticas ao tutrial.&lt;br /&gt;&lt;br /&gt;Até a próxima.&lt;/end-of-data&gt;&lt;/end-of-data&gt;&lt;/end-of-data&gt;&lt;/senha&gt;&lt;/end-of-data&gt;&lt;/senha&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-2186040175306387972?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2186040175306387972/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2186040175306387972' title='7 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2186040175306387972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2186040175306387972'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/05/tutorial-bacula-infra-estrutura-e.html' title='Tutorial Bacula: Infra-estrutura e Instalação'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-9080342594317151461</id><published>2007-05-22T16:34:00.000-03:00</published><updated>2007-05-28T19:43:05.184-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Tutorial Bacula: Introdução ao Bacula</title><content type='html'>Bacula é um servidor para gerenciar, realizar e recuperar backup. É um sistema bem completo e flexível, o que também o torna bastante complexo, principalmente para configurá-lo. É baseado em plataforma cliente-servidor, o que quer dizer que um mesmo servidor pode fazer backup de vários clientes diferentes. O bacula também aceita vários tipos de dispositivos de armazenamentos, que vai desde arquivos em disco até modernas unidades de fitas (o que não é surpresa, já que qualquer tipo de dispositivo no Linux é tratado como arquivo:-).    &lt;p class="MsoNormal"&gt;Um ponto interessante no Bacula é que podemos usar vários servidores para o sistema de backup, isso por que o Bacula é dividido em vários “módulos” ou “servidores” (não sei qual a melhor terminologia para usar nesse caso). Segue abaixo uma esquematização do Bacula, que tirei do site oficial:&lt;/p&gt;&lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9_XuePBH79c/RlNHY0fa2wI/AAAAAAAAAAk/iinJn6hpMRA/s1600-h/bacula-applications.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_9_XuePBH79c/RlNHY0fa2wI/AAAAAAAAAAk/iinJn6hpMRA/s400/bacula-applications.png" alt="" id="BLOGGER_PHOTO_ID_5067472497454799618" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;E aqui temos algo mais simples:&lt;/p&gt;&lt;p style="text-align: center;" class="MsoNormal"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_9_XuePBH79c/RlNHy0fa2xI/AAAAAAAAAAs/9fHGHaU_iI8/s1600-h/bacula-fluxo.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_9_XuePBH79c/RlNHy0fa2xI/AAAAAAAAAAs/9fHGHaU_iI8/s400/bacula-fluxo.png" alt="" id="BLOGGER_PHOTO_ID_5067472944131398418" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;b style=""&gt;Conceitos do Bacula&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Vou explicar o esquema acima, começando pela descrição de cada parte:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Bacula Server (ou Bacula Director Daemon): &lt;/b&gt;é a parte principal do Bacula. Ele é o responsável por toda a administração dos backups e também pela recuperação dos dados em backup. É o “núcleo” do sistema todo. É ele que controla os demais servidores, sendo assim, tudo depende da configuração do Director. A configuração do Director é justamente a parte mais complexa do Bacula, porém as demais partes são extremamente simples.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Storage Server (ou Bacula Storage Daemon): &lt;/b&gt;é servidor onde os dados serão armazenados. Não necessariamente necessita haver uma unidade de backup como uma unidade de fita ou gravador de DVD, pode ser somente um servidor com espaço em disco o suficiente para armazenar os arquivos de backup. Isso por ser uma característica do bacula realizar o backup em qualquer tipo de dispositivo como, por exemplo, Unidades de Fita, gravador de CD ou DVD, arquivos em HDs, penrives, disquetes (desde que o backup seja menor que a capacidade, claro), etc.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- File Server (ou Bacula File Daemon):&lt;/b&gt; é o cliente do bacula, ou seja, responsável por disponibilizar os arquivos que serão feito backup pelo servidor Bacula. Explicando melhor, no computador onde estão os dados que necessitam serem feito backup ficará instalado o programa cliente do Bacula, que permitirá ao servidor Bacula acessá-lo e copiar os dados para o backup.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Database Server:&lt;/b&gt; esse na verdade é o banco de dados onde ficam armazenadas todas as informações gerenciadas pelo Bacula. É no banco de dados que ficam armazenados as informações sobre os dispositivos de armazenamentos, informações sobre os trabalhos de backup utilizados, a lista dos arquivos dos quais foram feitos backup em cada trabalho, etc. Os bancos de dados mais comuns de se utilizar é o mySQL e o PostgreeSQL. Nesse tutorial iremos utilizar o mySQL.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Admin Workstation (Command Console):&lt;/b&gt; é a interface, ou console, pela qual se administrará o bacula. Existe a versão em linha de comando e também uma versão em modo gráfico (que na verdade é praticamente a mesma coisa, muda apenas algumas opções). Existe versões do console para Linux, BSD, Unix (e outros sistemas possix) e também para Windows.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Essa foi uma pequena descrição sobre cada parte do Bacula. Cada uma dessas partes pode estar em computadores diferentes, bem como todas em um mesmo computador. Aqui estão todas em um mesmo computador inclusive o File Daemon, e existem outros File Daemon na rede (em computadores diferentes).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Agora tentarei explicar de um modo simples como o Bacula funciona como um todo, bem como será a seqüência de configuração do sistema. A configuração de cada parte, apesar de ser comentada aqui, será detalhada em um post futuro (não sei se será no 2º ou 3º post sobre o assunto).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Para começar temos que ter instalado o banco de dados, no nosso caso o mySQL. Para configurar o mySQL, o Bacula traz alguns scripts para faze-lo, mas isso iremos ver no próximo post. Após isso configuraremos o Bacula Storage Daemon, com o arquivo /etc/bacula/bacula-sd.conf. Nele configuraremos o próprio Storage Daemon (claro), o Director que pode acessá-lo, o dispositivo que será utilizado e as mensagens do sistema.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Após isso iremos configurar o Bacula File Daemon, com o arquivo /etc/bacula/bacula-sd.conf. As configurações são: a configuração do File Daemon; o Director que pode acessa-lo; as mensagens do sistema.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Após, configuraremos o console, com o arquivo /etc/bacula/bacula-sd.conf. Para o console iremos apenas configurar qual o Director que será acessado pelo console. E só isso.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Agora a parte mais complexa, o Bacula Director Daemon, onde detalharei um pouco mais (apesar de não entrar na parte de configuração ainda). O arquivo de configuração é o /etc/bacula/bacula-dir.conf , onde iremos configurar as seguintes “seções”: (nota: o termo “seção” esta sendo utilizado por mim para tentar simplificar a explicação. Dentro de cada seção podemos dividir as informações em “itens”. Originalmente os arquivos de configuração do Bacula não esta dividido claramente em seções)&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Director:&lt;/b&gt; são as configurações globais do Bacula, one são definidos o nome do servidor, porta de acesso, etc.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Messages:&lt;/b&gt; é o responsável de tratar as mensagens do sistema Bacula.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Catalog:&lt;/b&gt; define qual é o nome do banco de dados, usuário e senha para acessar o banco de dados. Está ligado ao banco de dados propriamente dito.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Client:&lt;/b&gt; configura os clientes de onde os arquivos serão feito backup. Cada computador onde esteja instalado o File Daemon deverá ser configurado aqui e no File Daemon deve ser configurado esse Director para poder ser acessado por ele, ou seja, essa configuração depende da configuração que esta no arquivo bacula-fd.conf, que é o arquivo de configuração do File Deamon.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- FileSet:&lt;/b&gt; aqui é configurado quais arquivos e diretórios serão e quais não serão feito backup. Caso seja informado uma pasta, todos os arquivos e subdiretórios desta pasta estará incluído no backup. Esta diretamente ligado ao Client.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Pool:&lt;/b&gt; Pool pode ser entendido como um agrupamento de dispositivos de backup, que no bacula é chamado de Volume. Um agrupamento de volumes é utilizado para definir propriedades iguais, dentro do Babula, para vários dispositivos. Por exemplo, dispositivos que serão usados em backups mensais são agrupados em um pool diferente de dispositivos que são usados em backups diários, pois eles devem ser mantidos por tempos bem diferentes.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Schedule:&lt;/b&gt; É utilizado para agendar backup, definindo qual o tipo de backup e quando deve ser executado (sim, o Bacula tem uma agenda de backup própria).&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Storage: &lt;/b&gt;define o Storage Daemon e o dispositivo que será usado. Pode haver mais de um Storage e também mais de um dispositivo de cada storage. Esta ligado com as configurações do Storage Daemon no arquivo bacula-sd.conf.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;- Job:&lt;/b&gt; define os “trabalhos” de backup. O Job é o que realmente realiza o backup, utilizando outras configurações do arquivo bacula-dir.conf. Dentro de um Job é utilizado “itens” da seção Client, Pool, Schedule, FileSet e Storage, ou seja, usa praticamente todas as seções. &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Abaixo segue a esquematização dos arquivos de configuração do Bacula:&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_9_XuePBH79c/RlNIXkfa2yI/AAAAAAAAAA0/1G65cpIB56I/s1600-h/bacula-objects-console.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_9_XuePBH79c/RlNIXkfa2yI/AAAAAAAAAA0/1G65cpIB56I/s400/bacula-objects-console.png" alt="" id="BLOGGER_PHOTO_ID_5067473575491590946" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;    &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;span style=""&gt;Acredito que com essas explicações já se possa ter uma visão básica sobre o Bacula. Continuarei com esse tutorial nos próximos post, até lá gostaria que fosse comentado sobre como melhorar esse tutorial, com dicas, críticas, correções, etc. Espero que este tutorial possa ser bastante útil.&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/38610382-9080342594317151461?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/9080342594317151461/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=9080342594317151461' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/9080342594317151461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/9080342594317151461'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/05/introduo-ao-bacula.html' title='Tutorial Bacula: Introdução ao Bacula'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_9_XuePBH79c/RlNHY0fa2wI/AAAAAAAAAAk/iinJn6hpMRA/s72-c/bacula-applications.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5130856829988710814</id><published>2007-05-22T09:32:00.000-03:00</published><updated>2007-05-22T13:30:55.016-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Tutorial sobre Bacula</title><content type='html'>&lt;div&gt;Conforme prometido irei postar aqui um tutorial sobre &lt;a href="http://www.bacula.org"&gt;Bacula&lt;/a&gt;. Ou melhor, uma série de post que juntos se tornarão um tutorial mais completo. Decidi fazer dessa forma, dividindo em várias partes, pois o assunto é muito complexo e grande, e colocar tudo em um post só seria complicado. Quando terminar tentarei unir o tutorial em um só, e para ficar melhor gostaria de receber dicas, criticas, correções... nos comentários para fazer devidas alterações. Para começar, vamos a uma introdução sobre o que exatamente é o Bacula e suas principais funções. Essa parte já esta pronta, somente irei fazer correções e algumas alterações para melhora-lo, e, hoje ou no máximo amanhã, irei postar aqui. Mas antes de ler (ou depois de ler, você é quem decide), sugiro que leiam os seguintes links:&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://www.bacula.org/"&gt;Site oficial do Bacula&lt;/a&gt;&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://conhecimento.incubadora.fapesp.br/portal/trabalhos/tassia/wiki/ConceitosImportantes"&gt;Conceitos importantes sobre backup&lt;/a&gt; - É sobre um sistema de backup diferente, mas os conceitos são os mesmo do Bacula. &lt;a href="http://conhecimento.incubadora.fapesp.br/portal/trabalhos/tassia/wiki"&gt;Aqui&lt;/a&gt; você encontra o menu completo desse outro sistema de backup.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://wiki.luizgustavo.pro.br/doku.php?id=artigos_freebsd:bacula"&gt;Tutorial sobre Bacula&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=1910"&gt;Tutorial sobre Bacula&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.dicas-l.com.br/dicas-l/20070427.php"&gt;Conceitos sobre Tipos, Utilização e Gerenciamento de Backups&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Esses links são informações e tutoriais sobre Bacula e backup em geral. Será muito bom se esses artigos forem lidos antes de ler meus posts sobre o Bacula, assim terão mais base para comentarem sobre o que escrevo. Assim que possível irei postar o primeiro da série. Aguardem.&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/38610382-5130856829988710814?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5130856829988710814/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5130856829988710814' title='8 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5130856829988710814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5130856829988710814'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/05/tutorial-sobre-bacula.html' title='Tutorial sobre Bacula'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2729161669019742241</id><published>2007-05-11T13:25:00.000-03:00</published><updated>2007-05-11T13:28:47.588-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Bacula (comentário rápido)</title><content type='html'>Ainda sobre o bacula, estou pesquisando sobre as dúvidas que ainda me restam quanto a configuração do sistema. Assim que todas minhas duvidas forem sanadas eu irei desenvolver um tutorial sobre o bacula.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-2729161669019742241?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2729161669019742241/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2729161669019742241' title='5 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2729161669019742241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2729161669019742241'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/05/bacula-comentrio-rpido.html' title='Bacula (comentário rápido)'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8170197002684869739</id><published>2007-04-27T22:28:00.000-03:00</published><updated>2007-04-28T00:55:37.703-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Tutoriais...</title><content type='html'>Na empresa onde trabalho adquirimos uma nova unidade de fita para backup para substituir uma unidade DDS 3 que parou de funcionar. Antes disso, instalei o &lt;a href="http://www.opensuse.org"&gt;openSuse&lt;/a&gt; 10.2 no servidor de arquivos onde estava instalado o Windows 2000 Server Small Busines (que apesar do Small no nome nos dava grandes problemas) e onde foi instalado a unidade de fita. Com o Windows 2000 fazíamos backup com o programa de backup que vem junto com todos os windows, e era fito manualmente. Com a troca da unidade de fita, e principalmente com a troca do sistema operacional no servidor, eu quis implementar um sistema de backup melhor, com um programa de backup mais robusto e que facilitasse backups automáticos.&lt;br /&gt;&lt;br /&gt;Sabia do &lt;a href="http://www.amanda.org"&gt;Amanda&lt;/a&gt;, que inclusive vem junto com o openSuse (e acredito que venha com a maioria das distribuições), e fui procurar artigos na net para configurá-lo. Encontrei alguns artigos que de inicio pareciam bem completos. Segui um deles. Ai começaram os problemas. Seguindo o artigo, consegui configurar o Amanda, depois de algumas horas, para fazer o backup. Quando fui realizar a recuperação dos dados não consegui. As informações do artigo não funcionaram comigo. Procurei mais informações na net mas não tinha nada de diferente que se poderia fazer. Conclusão, desisti do Amanda.&lt;br /&gt;&lt;br /&gt;Voltei a procurar na net e encontrei o &lt;a href="http://www.bacula.org"&gt;Bacula&lt;/a&gt;. bacula é um software de backup tão ou mais robusto que o Amanda, porém é tão ou mais complexo de se configurar do que o Amanda. Outra vez peguei um artigo que não trazia as informações de forma clara para que outras pessoas pudessem entender. Lendo e relendo o artigo, buscando outros artigos, inclusive alguns em inglês eu consegui fazer o Bacula funcionar com um teste simples ,com backup e recuperação, para saber que ele funciona bem e que tem muito mais recursos do que os apresentados no artigo.&lt;br /&gt;&lt;br /&gt;Depois de contar essa história (verídica) chego ao ponto de expor meus objetivos com este post (que vai causar alguma polêmica, eu sei).&lt;br /&gt;&lt;br /&gt;Já faz algum tempo eu havia percebido que muitos dos artigos encontrados hoje na net não passam exatamente o que propõem. No caso dos artigos que encontrei sobre Amanda e Bacula, o que eles passam é a idéia de que esses dois softwares são extremamente complexos. E são mesmo, mas nem tanto. Mas o objetivo dos artigos não é facilitar a configuração/instalação de algum software? Acredito que o motivo pelo qual esses artigos não sejam tão esclarecedores são dois:&lt;br /&gt;&lt;br /&gt;    - Falta de didática por parte de quem escreve;&lt;br /&gt;    - A autor entendeu tão bem o funcionamento do software em questão que acredita que ele não é tão complexo de ser entendido.&lt;br /&gt;&lt;br /&gt;Nos tutoriais que vi, basicamente tem uma apresentação do software, uma explicação de com o instalar, a indicação de quais são os arquivos utilizados e quais as finalidades de cada um e depois é posto um arquivo de configuração já totalmente configurado (e acredito que funcional) e com alguns comentários explicando para que serve uma opção ou outra da configuração, mas a maior parte da configuração não é explicada. O problema nesses casos é que essa configuração esta preparada para o ambiente específico do autor do artigo, que o leitor não conhece e não consegue esquematizar como é esse ambiente.&lt;br /&gt;&lt;br /&gt;Bom, eu posso estar sendo injusto ao criticar artigos que as pessoas fazem com a maior boa vontade de compartilhar seus conhecimentos, mas artigos assim acabam atrapalhando a difusão e a adoção de softwares livres. Um administrador que esteja vindo de ambientes windows que tente utilizar um artigo parecido, certamente irá voltar para o ambiente windows achando que as coisas no linux são complicadas demais a ponto de não compensar a migração. Mas sabemos que o linux não é tão complicado assim, e que até softwares tão complexos como o Amanda e o Bacula podem ser facilmente configurados desde que se tenha uma explicação adequada de como o software funciona, e de como se configurar o software. Lembrando também que não é necessário uma explicação detalhada de todas as funções do software, mas somente as relevantes para o entendimento básico do software.&lt;br /&gt;&lt;br /&gt;Na minha opinião, um artigo, que aborde a configuração de algum software, deveria seguir o seguinte esquema:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Começar com uma explicação básica de qual o objetivo do artigo, como introdução ou chamada do artigo;&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Ex.:&lt;/span&gt; Instalação e configuração do servidor de backup Bacula...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Apresentação e explicação das principais funções do software, até aquelas que não serão abordadas no artigo;&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Ex.:&lt;/span&gt; Bacula é um servidor de backup robusto que permite agendamento de backups, tipos diferentes de backups, backup de clientes remotos (inclusive windows)...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Descrição detalhada de qual o objetivo do artigo;&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Ex.:&lt;/span&gt; Nesse artigo iremos aprender como instalar e configurar o Bacula para a realização de backups agendados tanto completos como incremental e diferencial, também será demonstrado como fazer a recuperação de arquivos...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Apresentação detalhada do ambiente no qual o artigo foi baseado para ser escrito;&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Ex.:&lt;/span&gt; Iremos configurar o Bacula para fazer o backup dos arquivos do servidor onde o Bacula esta instalado e de mais um cliente remoto. Serão agendados backups diários, sendo um completo aos sábados e os demias backups diferenciais...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Explicação de como o software funciona (entender os conceitos é muito importante);&lt;/span&gt;&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Ex.:&lt;/span&gt; O Bacula é dividido da seguinte forma: Director, Storage, File, Catalog, Console e Monitor. O Director é o componente responsável pelo controle dos backups...&lt;br /&gt;    &lt;span style="font-weight: bold;"&gt;Ex. 2:&lt;/span&gt; Os arquivos de configuração principais são: /etc/bacula/bacula-dir.conf, /etc/bacula/bacula-sd.conf, /etc/bacula/bacula-fd.conf e /etc/bacula/bconsole.conf...&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Os arquivos de configuração devem ser totalmente explicados. Cada arquivo de configuração, seção do arquivo de configuração (caso seja dividido em seções), cada opção dentro do arquivo de configuração deve receber informação suficiente para ser compreendido;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;- Os comandos digitados no prompt também devem ser explicados um a um, não se esquecendo de nenhum passo que seja relevante, até mesmo as mudanças de diretórios devem ser comentadas.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Basicamente, um artigo nessa estrutura seria muito interessante. Mas há problemas, principalmente com tempo para se passar tanta informação, e se for ver que ninguém recebe nada para escrever um artigo, fica muito improvável de acreditar que alguém gastaria tanto tempo para escrever algo tão trabalhoso. Apesar disso continuo acreditando que deveria haver uma preocupação maior com os artigos, isso poderia trazer mais profissionais ao mundo do software livre.&lt;br /&gt;&lt;br /&gt;E por falar em profissionais, devemos aprender a sermos mais profissionais e menos amadores em relação ao software livre. Devemos pensar mais em qualidade em tudo, até mesmo nos comentários que deixamos em fórum. Aqui eu tento deixar os posts com alguma qualidade, sei que deixo a desejar, mas tento melhorar sempre que possível.&lt;br /&gt;&lt;br /&gt;Fico aberto a receber comentários, criticas, xingamentos (sei q vou receber) e qualquer outra manifestação a respeito deste post, mas isso tudo que escrevi é o que eu acredito ser o melhor para a comunidade do software livre.&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/38610382-8170197002684869739?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8170197002684869739/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8170197002684869739' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8170197002684869739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8170197002684869739'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/04/tutoriais.html' title='Tutoriais...'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5857528933577021072</id><published>2007-04-25T19:23:00.000-03:00</published><updated>2007-04-26T17:55:32.288-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Slackware + AIGLX + Beryl - Parte 3</title><content type='html'>&lt;div style="text-align: center;"&gt;Screenshot tirado do meu desktop para demonstrar o Beryl em ação&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_9_XuePBH79c/Ri_Z0tAwZfI/AAAAAAAAAAM/V24muVv7qts/s1600-h/Meu_Desktop.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_9_XuePBH79c/Ri_Z0tAwZfI/AAAAAAAAAAM/V24muVv7qts/s320/Meu_Desktop.png" alt="" id="BLOGGER_PHOTO_ID_5057500406019548658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;E o problema era o driver da placa de vídeo que tive um problema durante a instalação e eu não percebi. A solução foi acertar o problema que causou o erro na instalação anterior e reinstalar o driver. Agora estou com todas as funções do Beryl funcionando corretamente, ou pelo menos ainda não apresentou nenhum problema.&lt;br /&gt;&lt;br /&gt;Faltou passar a configuração do X. Para fazer essa configuração, acrescente as seguintes linhas no arquivo /etc/X11/xorg.conf&lt;br /&gt;&lt;br /&gt;Seção ServerLayout&lt;br /&gt;       &lt;span style="font-size:100%;"&gt;&lt;span style="font-style: italic;"&gt;Option         "AIGLX" "on"&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Seção Module&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;Load   "dbe"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Seção Device&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;Option   "XAANoOffscreenPixmaps"   "true"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;        Option   "AllowGLXWithComposite"   "true"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Seção Screen&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;Option   "AddARGBGLXVisuals"   "true"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;E por fim crie a seção:&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;   &lt;/span&gt;&lt;span style="font-style: italic;"&gt;Section   "Extensions"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                Option   "Composite"   "Enable"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;       EndSection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Agora é só iniciar (ou reiniciar) o servidor X e digitar o comando:&lt;br /&gt;       &lt;span style="font-style: italic;"&gt;dbus-launch beryl-manager&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;O beryl deve funcionar perfeitamente.&lt;br /&gt;&lt;br /&gt;Para inicializar o beeryl automaticamente com o KDE, crie um arquivo (por exemplo beryl.sh) em ~/.kde/Autostart/ com a linha &lt;span style="font-style: italic;"&gt;dbus-launch beryl-manager &lt;/span&gt;e torne--o executável. Pronto, agora é só se divertir.&lt;br /&gt;&lt;br /&gt;Com base nos posts que escrevi sobre isso eu pretendo fazer um tutorial mais organizado, descrvendo passo-a-passo como efetuar a instalação. Mas isso somente se conseguir um tempo para isso, tenho muita coisa que pretendo fazer e o tempo para fazer esta escasso.&lt;br /&gt;&lt;br /&gt;Caso alguém queira seguir esses posts para instalar o beryl e encontrar algum problema pode deixar um comentário aqui, se eu poder ajudar concertesa ajudarei.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-5857528933577021072?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5857528933577021072/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5857528933577021072' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5857528933577021072'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5857528933577021072'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/04/slackware-aiglx-beryl-parte-3.html' title='Slackware + AIGLX + Beryl - Parte 3'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_9_XuePBH79c/Ri_Z0tAwZfI/AAAAAAAAAAM/V24muVv7qts/s72-c/Meu_Desktop.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-362745683584196003</id><published>2007-04-25T00:32:00.000-03:00</published><updated>2007-04-25T13:52:15.565-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Slackware + AIGLX + Beryl - Parte 2</title><content type='html'>Continuando minha instalação do beryl, instalei o pyrex 0.9.5.1a (que não me lembro de onde baixei, então fico devendo essa). Após isso consegui instalar o beryl-settings-bindings e o beryl-settings. O próximo passo é instalar o emerald (outro pacote do projeto bryl), mas antes é necessário ter uma versão mais nova do &lt;a href="http://www.freetype.org/"&gt;freetype2&lt;/a&gt;, no caso eu atualizei para a versão a mais recente 2.3.4. Após atualizar o freetype (caso não esteja atualizado) é só instalar o emerald e o emerald-themes.&lt;br /&gt;&lt;br /&gt;Agora só faltou instalar o heliodor e o beryl-plugins-unsupported, mas acredito que não são necessários para o funcionamento correto do beryl.&lt;br /&gt;&lt;br /&gt;Tentei rodar o beryl com o comando &lt;span style="font-size:-1;"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="font-style: italic;"&gt;dbus-launch beryl-manager&lt;/span&gt; e "quase" deu certo. Eu digo quase por que depois do comando a tela ficou toda branca, sem aparecer nenhuma janela, mas alguns efeitos funcionaram, como o &lt;/span&gt;&lt;/span&gt;Desktop Cube e o&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Enhanced Switcher por exemplo. Acredito que seja a configuração do Xorg ou do driver da nvidia que esteja alguma coisa errada. Vou conferir essas duas possibilidades e posto aqui.&lt;span style="font-size:-1;"&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/38610382-362745683584196003?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/362745683584196003/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=362745683584196003' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/362745683584196003'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/362745683584196003'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/04/slackware-aiglx-beryl-parte-2.html' title='Slackware + AIGLX + Beryl - Parte 2'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8074297312882306168</id><published>2007-04-24T00:24:00.000-03:00</published><updated>2007-04-24T01:29:12.090-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Slackware + AIGLX + Beryl</title><content type='html'>Nos ultimos dias venho tentado instalar a dupla &lt;a href="http://www.x.org/"&gt;AIGLX &lt;/a&gt;+ &lt;a href="http://www.beryl-project.org/"&gt;Beryl&lt;/a&gt; no meu Slackware 11. Esta uma luta feia. Vou explicar o por quê.&lt;br /&gt;&lt;br /&gt;Depois que me decidi por instalar definitivamente o Slackware 11, incluindo o KDE, fiquei tentado a instalar o famoso Desktop 3D no Linux, influenciado em grande parte pelas notícias de que o Compiz e o Beryl estão juntando as trouxas, ou melhor, os projetos.&lt;br /&gt;&lt;br /&gt;Comecei atualizando o Xorg para a versão 7.1, com os pacotes &lt;a href="https://sourceforge.net/project/showfiles.php?group_id=177157"&gt;deste projeto&lt;/a&gt;. Isso foi fácil, e o AIGLX já é instalado junto com o Xorg. A dificuldade começou por eu não encontrar um tutorial que me disse exatamente quais são as depêndencias do beryl. Os tutoriais que encontrei divergiam muito sobre quais pacotes deveriam ser instalados, e no site do beryl a documentação era menos explicativa ainda. O geito foi apelar e instalar tudo direto dos fontes, compilando cada um e instalando as dependências que são pedidas. Até agora instalei o &lt;a href="http://dbus.freedesktop.org/releases/dbus/dbus-1.0.2.tar.gz"&gt;dbus&lt;/a&gt;, o &lt;a href="http://packages.slackware.it/package.php?q=current/libXcomposite-0.3.1-i486-1"&gt;libXcomposite-0.3.1&lt;/a&gt;, o &lt;a href="http://www.cairographics.org/"&gt;cairo-1.4.4&lt;/a&gt; (no slack 11 vem instalado a versão 1.0.4, se não me engano, então é necessário a instalação da versão mais nova), o &lt;a href="http://ftp.gnome.org/pub/GNOME/sources/pygtk/2.10/"&gt;pygtk-2.10&lt;/a&gt;, o &lt;a href="http://ftp.acc.umu.se/pub/GNOME/sources/pygobject/2.12/pygobject-2.12.3.tar.bz2"&gt;pygobject-2.12.3&lt;/a&gt; e o &lt;a href="http://cairographics.org/releases/pycairo-1.4.0.tar.gz"&gt;pycairo-1.4&lt;/a&gt;. Dos pacotes do beryl instalei o beryl-core-0.2.1, beryl-manager-0.2.1 e o beryl-plugins-0.2.1. O pygtk é dependência do beryl-settings, que estão tentando compilar no momento em que escrevo esse post, o pygobject e o pycairo são dependências do pygtk.&lt;br /&gt;&lt;br /&gt;Como minha conexão é discada (sim, ainda continuo nessa), vai demorar um pouco pra baixar o pygtk, então terminarei esse assunto outro dia (espero que não demore tanto quanto o tempo que levei entre o ultimo post e esse ;-) com a conclusão da instalação do beryl.&lt;br /&gt;&lt;br /&gt;Atualização:&lt;br /&gt;Para não criar um novo post bem pequeno, vou aproveitar esse post mesmo.&lt;br /&gt;Antes de instalar o beryl-settings é necessário instalar o beryl-settings-bindings-0.2.1, que pede como dependência o pacote pyrex, que não deu tempo de instalar, então fica para amanhã.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-8074297312882306168?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8074297312882306168/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8074297312882306168' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8074297312882306168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8074297312882306168'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/04/slackware-aiglx-beryl.html' title='Slackware + AIGLX + Beryl'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-271869004270236365</id><published>2007-04-02T23:27:00.000-03:00</published><updated>2007-04-02T23:49:37.692-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Ainda procurando uma distribuição...</title><content type='html'>Utilizando o Slackware com a instalação somente dos pacotes do primeiro CD cheguei a conclusão de que o Slackware necessita de um pouco mais de tempo do que eu tenho disponível no momento. Por esse motivo baixei e instalei o XUbuntu (que utilizo nesse momento para escrever este post). Mas também não gostei dele.&lt;br /&gt;&lt;br /&gt;A interface dele é muito boa, bem acabada, monta automaticamente dispositivos USB, tem uma boa selação de programas... e algumas coisas mais. Mas foi justamente nos programas instalados que me decepsionei com ele.&lt;br /&gt;&lt;br /&gt;Bom, quando instalei o XUbuntu a minha idéia era ter uma distribuição em que fosse mais fácil instalar programas adicionais, para personalizar mais meu ambiente. Nisso o XUbunto me atendeu perfeitamente. O problema foi ao tentar desinstalar um programa que veio com a distribuição. Por exemplo, quando tento desistalar um programa para o ambinte gráfico, como o Gaim, usando o Synaptic (que é um gerenciador de pacotes gráfico, ou melhor, uma interface gráfica para o gerenciador de pacotes que é o dpkg), depois de selecionar o pacote aparece a incômoda mensagem de que o pacote xubuntu-desktop deve ser selecionado para a desinstalação por causa de dependências. Agora 2 coisas mais estranhas: 1 - não é possível ignorar a dependência; 2 - esse mesmo pacote, xubuntu-desktop, necessita ser removido quando se tenta desinstalar a maioria dos pacotes da distribuição, pelo menos no teste que fiz foi assim.&lt;br /&gt;&lt;br /&gt;Não arrisquei a remoção desse pacote pois não queria ter que recuperar o sistema caso saisse alguma coisa errada. Alguém já utilisou esse sistema? Sabe o por que de acontecer isso?&lt;br /&gt;&lt;br /&gt;Por esse motivo estou voltando para o Slackware, que, apesar de exigir um pouco de tempo a mais para te-lo do geito que você quer, lhe dá mais controle sobre o que você faz no sistema. Acredito que a maioria dos usuários do Slackware o usam por esse motivo.&lt;br /&gt;&lt;br /&gt;Mas desta vez irei instalar o KDE em vez do XFCE4 e demais programas do CD 2. Espero assim não precisar correr atraz de tantos programas na net para deixar meu sistema redondo. Assim que tiver uma opinião sobre essa nova tentativa irei postar aqui.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-271869004270236365?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/271869004270236365/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=271869004270236365' title='4 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/271869004270236365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/271869004270236365'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/04/ainda-procurando-uma-distribuio.html' title='Ainda procurando uma distribuição...'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4722479944387126699</id><published>2007-04-02T23:11:00.000-03:00</published><updated>2007-04-24T13:37:14.389-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Telecomunicações'/><title type='text'>Opçoes de telefonia 3 (ou melhor, Opções de Internet)</title><content type='html'>Até agora abordei sobre as opções de telfonia que tenho disponívl aqui em casa. A idéia dest post seria falar um pouco das opções que tenho para acesso a internet, mas farei melhor. Falarei sobre as opções de tecnologia de acesso a internet disponíveis hoje no Brasil, esse é só o post de introdução. Pretendo colocar aqui uma análise dessas tecnologias apresentado suas vantagens e desvantagens.&lt;br /&gt;&lt;br /&gt;Mas irei abordar cada tecnologia em um post diferente e com títulos distintos. O primeiro post pode demorar um pouco para sair, mas concerteza irei fazer. É só aguardar um pouco ;-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4722479944387126699?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4722479944387126699/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4722479944387126699' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4722479944387126699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4722479944387126699'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/04/opoes-de-telefonia-3-ou-melhor-opes-de.html' title='Opçoes de telefonia 3 (ou melhor, Opções de Internet)'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-6182532991915191227</id><published>2007-03-27T13:21:00.000-03:00</published><updated>2007-04-02T23:21:33.909-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Telecomunicações'/><title type='text'>Opções de telefonia 2</title><content type='html'>Voltando a falar sobre telefonia, uma opção para o telefone fixo da Telefônica é o Tim Casa. Basicamente o Tim Casa é um plano da Tim onde você pode usar o celular para falar com telefones fixos que tenham o mesmo DDD do seu aparelho por um valor bem reduzido, mas só vale se você usar o celular em uma área cadastrada por você, a sua casa por exemplo. Testei por 2 meses (gratuitamente, aproveitando uma promoção) e não tenho do que reclamar do serviço, a não ser o fato de que 200 minutos para mim foi muito pouco, se tivesse planos com mais minutos seria excelente.&lt;br /&gt;&lt;br /&gt;Sobre o preço, custa R$ 29,90 (se não me engano) para falar por 200 minutos, dando um valor de R$ 0,15 por minuto, supostamente mais baixo que o pago pelo minuto da telefônica (poderia dizer isso com certeza, se não fosse tão confuso a cobrança deles). Além do preço existem (pelo menos) mais 2 vantagens para o Tim Casa: 1 - Se você fala somente 27 segundos em uma ligação, somente os 27 segundos são descontados de sua franquia, aproveitando ao máximo o valor do plano; 2 - Ligações para cidades vizinhas de mesmo DDD são tarifadas como ligações locais, isso é especialmente bom se você fala muito com cidades vizinhas já que não precisa pagar DDD.&lt;br /&gt;&lt;br /&gt;Mas como nem tudo são flores, ai vem as desvantagens, na minha opinião:&lt;br /&gt;&lt;br /&gt;1 - Só existe um plano, que é o de 200 minutos, se quiser falar mais vai pagar o valor de uma ligação normal de celular;&lt;br /&gt;&lt;br /&gt;2 - Você só pode falar da área que você cadastrou quando se cadastrou no plano, se não tiver cuidado e for muito longe dessa área para usar o telefone poderá pagar uma ligação normal;&lt;br /&gt;&lt;br /&gt;3 - Se você usar o Tim Casa para substituir o seu telefone fixo e não tiver nenhuma outra opção para acessar a internet, esqueça, o valor de um plano de acesso ilimitado à internet pelo celular ainda é proibitivo, pelo menos para mim. Eu nunca pagaria R$ 140,00 só para acessar a internet. Por uns R$ 80,00 e uma conexão boa eu chutava a Telefônica aqui de casa.&lt;br /&gt;&lt;br /&gt;Essas são as principais desvantagens que vi no Tim Casa, outras pessoas podem descobrir outras desvantagens, que podem ser colocadas nos comentários.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-6182532991915191227?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/6182532991915191227/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=6182532991915191227' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6182532991915191227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/6182532991915191227'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/03/opes-de-telefonia-2.html' title='Opções de telefonia 2'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-2644425317422184154</id><published>2007-03-15T07:46:00.000-03:00</published><updated>2007-03-26T15:54:56.086-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Telecomunicações'/><title type='text'>Opções de telefonia</title><content type='html'>Com a mudança de tarifação da telefonia fixa de pulsos para minutos, comecei a me perguntar o que seria melhor para mim. Fazendo uma analise rápida sobre o que tenho disponível hoje em telefonia fixa e internet, fiquei com mais dúvidas. Basicamente as alternativas são: telefonia fixa da Telefônica com internet discada, ou o Tim Casa com um pacote de dados ou internet via rádio por uma empresa pequena aqui de minha cidade, e mais nada, nem o Speedy da Telefônica eu tenho disponível em minha linha telefônica (segundo eles, linhas que são ligadas à central por fibra óptica não podem ter speedy). Vou comentar um pouco sobre cada uma de minhas opções.&lt;br /&gt;&lt;br /&gt;Primeiro as opções da Telefônica. Com a mudança da tarifação de pulso para minutos temos 2 planos para escolher, o básico (imposto pela ANATEL) e o alternativo (proposto pelas operadoras), e se não escolhermos um deles, automaticamente estaremos com o plano básico (que pode ser alterado posteriormente). O problema é que as ligações podem ficar bem mais caras que as ligações de antes deste plano entrar em ação, variando de caso para caso. A principio, as ligações até 4 minutos ficam mais baratas com o plano basico, mas com o plano alternativo as ligações podem ficar bem mais caras. Com ligações acima de 4 minutos a situação se inverte, o plano basico acaba ficando mais caro e o plano alternativo mais barato. Com isso o problema fica em qual plano escolher. Caso escolha o plano errado, pode ser presenteado com uma conta bem alta no mês seguinte (mas depois você pode mudar de plano e resolver o problema). Mas se você é do tipo de pessoa que faz muitas ligações tanto de até 4 minutos como de mais de 4 minnutos? De qualquer geito acabaria pagando mais caro, não é? Pois bem, na minha opnião, esse é o maior problema dessa mudança, podemos nos dar mal com qualquer plano.&lt;br /&gt;&lt;br /&gt;Só para terminar, o plano que a telefônica me recomendou foi o plano alternativo, que fica em R$40,00 (que seria relativo a assinatura) com franquia de 250 minutos. Isso significa que eu estaria pagando R$0,16 por minutos. Hoje eu pago R$ 38,00 (e alguns quebrados) e uma franquia de 100 pulsos, que equevaleriam a 200 minutos segundo a ANATEL, então pago R$0,19 por minuto, portanto mais caro que cobrança por minutos e justifica a mudança. Mas será que essa estimativa de que 100 pulsos equivalem a 200 minutos esta certa para todo mundo? Isso eu não sei, essas tarifas telefônicas são tão complicadas de entender que até quem as criou deve ficar na dúvida. O geito é esperar para ver  o valor das próximas contas.&lt;br /&gt;&lt;br /&gt;Agora a conclusão: quando pensei em escrever sobre a mudança de pulso para minutos a idéia era tirar minhas próprias dúvidas sobre essa mudança para poder escolher melhor qual plano iria usar, mas as informações que encontrei em sites de notícias, no site da telefonica e folhetos que a telefonica me enviou são tão confunsas que não me esclareceu nada. A impressão que da é de que essa mudança foi feita para favorecer mais as empresas de telefonia, e não os usuários. Se a ANATEL queria dar mais opções aos consumidores então deveria abrir concorrência, isso sim iria fazer os preços baixarem e iria favorecer os consumidores.&lt;br /&gt;&lt;br /&gt;Mas nem tudo esta perdido, existem algumas alternativas que vou apresenta-las no próximo post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-2644425317422184154?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/2644425317422184154/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=2644425317422184154' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2644425317422184154'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/2644425317422184154'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/03/opes-de-telefonia.html' title='Opções de telefonia'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-198051365601981083</id><published>2007-03-13T13:29:00.000-03:00</published><updated>2007-03-14T13:46:11.288-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Linux de bolso</title><content type='html'>Comecei a faculdade (ciência da computação, escolha meio obvia) esse ano e logo de cara fiquei sabendo que iriamos utilizar linux nos computadores da faculdade, o que achei muito bom. Mas chegando no laboratório de informática vi que estava instalado o &lt;a href="http://www.centos.org/"&gt;CentOS&lt;/a&gt;, se não me engano é baseado no &lt;a href="http://www.redhat.com"&gt;Red Hat Enterprise&lt;/a&gt; (e não &lt;a href="http://fedora.redhat.com/"&gt;Fedora,&lt;/a&gt; como tinha postado antes). Até ai tudo bem, nada contra em usar uma distribuição que não conheço, o problema foi quando percebi que o sistema estava da forma como foi instalado, sem nenhuma configuração extra. Primeiro percebi que a resolução estava em 800x600, e não havia como mudar a resolução para 1024x768, que julgo ser ideal de ser usada. Isso até que podia ser suportado, mas ao tentar usar meu pendrive ele não foi reconhecido automaticamente, ou pelo menos não foi montado automaticamente, e depois tentando monsta-lo manualmente, o sistema só dá permição para o root montar dispositivos, e a senha do root, como não podia ser diferente, não temos acesso.&lt;br /&gt;&lt;br /&gt;Com essas limitações irritantes fui procurar algo que me desse um pouco mais de liberdade nas aulas. Lembrei-me de que é possível rodar o linux direto de um pendrive, então fui procurar como se faz isso. Depois de ler alguns poucos tutoriais na net, cheguei ao &lt;a href="http://www.damnsmalllinux.org/"&gt;Damn Small Linux&lt;/a&gt;, que é uma mini distribuição live-cd baseada no &lt;a href="http://www.knoppix.org/"&gt;Knoppix&lt;/a&gt; com apenas 50 MB, e ele tem interface gráfica ;-). Mas por uma questão de funcionalidade resolvi não utiliza-la. Depois tentei procurar para ver se tem alguma forma de instalar o &lt;a href="http://www.slackware.com/"&gt;Slackware&lt;/a&gt; em um pendrive, nisso encontrei o &lt;a href="http://slax.org/"&gt;Slax&lt;/a&gt;. O Slax é uma mini disribuição baseada no Slackware com o mesmo objetivo do Dam Small Linux, porém tem mais opções de configurações e tamanhos do sistema, e um diferencial muito maior que é a possibilidade de instalar software em uma instalação já funcional adicionando módulos de software (que são programas empacotados para o Slax). A instalação é simples (como demonstra &lt;a href="http://www.slacklife.com.br/article.php?sid=1540"&gt;este artigo&lt;/a&gt; que eu utilizei) bastanto copiar todo o conteúdo da imagem da distribuição para o pendrive, editar alguns arquivos, gravar um setor de boot no pendrive com o comando syslinux. Depois da instalação é reiniciar a máquina e mandar ela dar boot pelo pendrive. Demora um pouco para iniciar, mas depois que inicia o sistema é muito rápido.&lt;br /&gt;&lt;br /&gt;Mas se você não esta contente com o conjunto de software que veio com a opção de configuração que você escolheu, então é só pegar alguns módulos na página do Slax e adicionar na pasta modulos do seu pendrive. Os módulos, estando na pasta destinadas a eles, são reconhecidos imediatamente no boot do sistema, não pecisando ser executado nenhum comando para isso. Mas se os módulos estão em um lugar diferente existe um comando para faze-lo "instalar" no sistema, é só verificar na documentação do Slax. No meu caso eu estou usando aconfiguração mais basica do Slax, o Frodo, que tem somente o basico de um sistema linux, e o restante das aplicações estão em módulos que eu adicionei. O incoveniente é que preciso executar o comando ldconfig cada vez que dou o boot para que o sistema reconheça as bibliotecas adiciondas pelos módulos (claro que tem como resolver isso, mas isso fica para um próximo post).&lt;br /&gt;&lt;br /&gt;Bom, isso é o basico do Slax. A medida que for descobrindo mais sobre o sistema vou postando aqui, inclusive como editar alguns aquivos de configurações permanentemente (toda edição que se faz quando o sistema esta executando é descartada quando se desliga ou reboota o computador). Até +.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-198051365601981083?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/198051365601981083/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=198051365601981083' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/198051365601981083'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/198051365601981083'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/03/linux-de-bolso.html' title='Linux de bolso'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8458775175692502117</id><published>2007-03-08T13:22:00.000-03:00</published><updated>2007-03-15T00:12:28.481-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Revista Guia do Hardware.net 3</title><content type='html'>Foi lançado a &lt;a href="http://www.guiadohardware.net/revista/"&gt;revista Guia do Hardware.net&lt;/a&gt; 3ª Edição, muito boa como as duas anteriores.&lt;br /&gt;&lt;br /&gt;As matérias mais interessante (pelo menos para mim, é claro) são:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Tudo o que você queria saber sobre PCI Express&lt;/span&gt; -&gt; Se não fala tudo o que gostariamos de saber, acho que faltou poucas coisas. Muito completo, essa matéria é para esclarecer as suvidas de todos.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Do 486 ao Athlon&lt;/span&gt; -&gt; Para relembrarmos sobre o hardware que utilizavamos (ou ainda utilizamos), e também para aprendermos mais sobre o funcionamento e arquitetura dos processadores.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Formas mais comuns de destruir um PC&lt;/span&gt; -&gt; Obrigatório para qualquer um que trabalhe com manutenção (mas que não tem muito aprofundamento na área) e principalmente para os micreiros de plantão. Informações uteis que podem salvar a vida de um PC.&lt;br /&gt;&lt;br /&gt;Para quem gosta de ler revistas técnicas é um prato cheio de informações.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-8458775175692502117?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8458775175692502117/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8458775175692502117' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8458775175692502117'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8458775175692502117'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/03/revista-gia-do-hardwarenet-3.html' title='Revista Guia do Hardware.net 3'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7072224867030498146</id><published>2007-03-08T08:26:00.000-03:00</published><updated>2007-03-08T09:19:14.594-03:00</updated><title type='text'>Por que criar um blog?</title><content type='html'>Estava lendo esses dias no &lt;a href="http://www.contraditorium.com/"&gt;Contraditorium&lt;/a&gt; um post falando que se deve esquecer do AdSense (serviço de propaganda do Google onde você adiciona algumas propagandas em seu site ou blog e recebe alguns centavos de dólares a cada clique que algém dá em uma das propagandas, ou algo parecido com isso) quando você esta iniciando seu blog. Diz também que muitas pessoas acabam criando um blog somente para tentar arrecadar alguma grana com esse sistema, e acabam se frustrando quando recebem muito pouco com isso (na verdade, com o AdSense você só recebe o pagamento quando acumular 100 dólares em sua conta do AdSense) e acabam abandonando o blog. Outra coisa interessante é que ele diz (ele no caso é o Cardoso, dono do blog, que escreveu o post) que leva muito tempo até que se consiga alguma coisa com o AdSense, principalmente por que no inicio quase ningém acessa o blog, e muito menos ainda clicam nas propagandas.&lt;br /&gt;&lt;br /&gt;Algumas dicas passadas no post são (não é a transcrição correta, e sim o que eu entendi, e muito menos esta na orndem que esta no post original):&lt;br /&gt;&lt;br /&gt;1- Não crie um blog visando algu lucro;&lt;br /&gt;2- Não coloque o AdSense ou outro sistema de propaganda no inicio de seu blog, mas somente depois que blog estiver com um número considerável de visitas por dia;&lt;br /&gt;3- Preocupe-se somente em escrever coisas interessantes, inteligentes, assim você consegue manter os leitores que acessarem seu blog;&lt;br /&gt;4- Você só irá ter um número considerável de visitas por dia depois de meses ou talvez anos, isso se você mantiver uma frequencia boa de postagens, portanto tenha paciência, antes de mandar seu blog para o limbo ;-)&lt;br /&gt;&lt;br /&gt;Entre outras coisas esses pontos foram que os achei mais importantes.&lt;br /&gt;&lt;br /&gt;Depois de ler esse posta fiquei pensando "Por que realmente eu criei meu blog?". Bom, já tentei criar um blog no ano passado sobre Java pois estava estudando o recém lancado EJB 3 (Enterprise Java Beans 3, usado para desenvolvimento deaplicações corporativas) e queria um espaço para compartilhar e guardar o que estava aprendendo. Na época nem me interessava em saber o que era AdSense, por isso não tinha nenhum objetivo de ganhar dinheiro com o blog. No começo deste ano, com a crise do AdSense no Brasil, comecei a ler bastante sobre o tal do adsense, e que algumas pessoas ganhavam uma certa quantia com ele. Fiquei com curiosidade. Como eu gostava da idéia de ter um blog, resolvi criar um novo e experimentar o adsense para ver como funcionava. Eis que criei meu humilde blog, com o AdSense adicionado nele desde o primeiro dia :-). Mas meu objetivo mesmo continua sendo compartilhar e guardar informações, e também serve para treino de dissertação ;-)&lt;br /&gt;&lt;br /&gt;Bom, sobre o AdSense em meu blog, até agora esta servido mais para estatisticas de acesso ao site (terça-feira, 06/03/07, tive umpico de 10 visitas, já to muito feliz :-). Quanto aos ganhos, tenho acumulado em quase 2 meses de blog incríveis 24 centavos de dólares, e isso por que, dos 3 cliques em propagandas do AdSense, 2 foram meus, para verificar se estava funcionando mesmo. Então eu posso garantir, não crie um blog pensando em ganhar com o AdSense (ou qualquer sistema de propaganda que exista), a não ser que você esteja pensando a longo prazo (1, 2  ou mais anos nos futuro...). Crie um blog se você tiver tempo, paciência, criatividade, cara de pau de expor suas idéias mesmo que sejam toscas, muita força de vontade, ou algum outro motivo mais "nobre". Pelo mesnos essa é minha opinião.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-7072224867030498146?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7072224867030498146/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7072224867030498146' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7072224867030498146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7072224867030498146'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/03/por-que-criar-um-blog.html' title='Por que criar um blog?'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-7833180147388050509</id><published>2007-03-06T08:49:00.000-03:00</published><updated>2007-03-13T13:23:11.171-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Segurança'/><title type='text'>Depois de phishing por e-mail, agora temos phishing por correio</title><content type='html'>Hoje aqui na empresa recebi um boleto da empresa &lt;a href="http://nicregistro.com/"&gt;nicregistro.com&lt;/a&gt; sobre o pagamento de hospedagem de site no valor de R$ 129,00. Achei um pouco estranho e pensei: "A empresa que contratamos para isso foi a LocaWeb, não foi?". Resolvi entrar no site deles para ver se tinha alguma informação, mas no site (que é muito bem feito, diga-se de passagem) não encontrei nada.&lt;br /&gt;&lt;br /&gt;Pesquisando no google sobre a empresa acima citada, encontrei várias matérias, notícias, blogs falando sobre essa suposta empresa, que anda enviando boletos para todo mundo que tenha um domínio registrado no &lt;a href="http://registro.br/"&gt;registro.br&lt;/a&gt;, onde se pode encontrar todos os dados dos domínios registrados lá, o que pode ser considerado até uma falha de segurança, ou pelo menos uma política de segurança fraca, já que alguns espertinhos podem se aproveitar disso.&lt;br /&gt;&lt;br /&gt;O triste dessa história é que muitas pessoas/empresas acabam pagando esse bolheto sem se darem ao trabalho de lembrar se algum dia entraram em contato com esse empresa, o que torna o golpe vantajoso. Isso quase aconteceu aqui, quem recebeu o boleto (foi somente o coordenador de informática) apenas colocou em minha mesa para que fosse feito a solicitação de pagamento do boleto.&lt;br /&gt;&lt;br /&gt;Passei para a diretoria responsável sobre o que fazer com o boleto, se poderia tomar uma atitude judicial, e fui aconselhado anexar o boleto e uma matéria que peguei na internet sobre esse golpe e arquivar para nos garantir caso haja algum protesto sobre essa cobrança (que acho muito difícil acontecer). Na internet vi também que o Procon recomenda fazer um boletim de ocorrência caso a empresa queira uma maior garantia. Fiquei sabendo também que várias outras empresas aplicam o mesmo golpe.&lt;br /&gt;&lt;br /&gt;Então fica a dica, caso recebam algo estranho, pesquisem sobre a empresa, vejam se é valido, arquivem como prova e, caso se sintam mais seguros, façam um BO.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-7833180147388050509?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/7833180147388050509/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=7833180147388050509' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7833180147388050509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/7833180147388050509'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/03/depois-de-phishing-po-e-mail-agora.html' title='Depois de phishing por e-mail, agora temos phishing por correio'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-1418493329895248333</id><published>2007-02-27T07:19:00.000-03:00</published><updated>2007-03-13T13:23:43.931-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Segurança'/><title type='text'>Perigo para o Linux</title><content type='html'>Recentemente foi lançado uma pesquisa com vírus para windows sendo rodado em linux através do wine. Sem sombra de dúvidas que isso deixos muita gente preocupada com a segurança do linux, afinal alguns vírus funcionaram quase que perfeitamente com o wine. E o mais preocupante dessa história é que pode haver uma reciclagem de vírus windows para o linux...&lt;br /&gt;&lt;br /&gt;Talves só tenha um problema para os vírus serem realmente perigosos para o linux sendo executados pelo wine: a necessidade de chamar o comando wine para executá-los. Parece uma coisa boba isso que falei (por favor, me corrijam se eu estiver errado), mas até hoje, nas distribuições que usei, não era possível executar um executável windows sem passar o comando completo, por exemplo: wine setup.exe. Esse é mais uma dificuldade em se ter vírus para sistemas linux, porém o que pode ser feito é um script que execute o vírus com o wine automaticamente, mas esse script precisaria ser executado pelo usuário para ser executado. Com a notícia de que é possível "reaproveitar" os vírus do windows no linux, em breve devemos ver laguma tentativa real de infecção do linux por vírus. Agora é esperar...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-1418493329895248333?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/1418493329895248333/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=1418493329895248333' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1418493329895248333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1418493329895248333'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/02/perigo-para-o-linux.html' title='Perigo para o Linux'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4950606581228950940</id><published>2007-02-23T13:26:00.000-02:00</published><updated>2007-03-13T13:24:11.397-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>E funcionou...</title><content type='html'>Bom, o programa X-Setup mencionado no post anterior realmente funciona para acesar compartilhamentos que estão nos servidores de domínio ou em computadores que foram adicionados ao domínio. Vou colocar aqui uma breve descrição de como configurar isso, que é muito fácil.&lt;br /&gt;&lt;br /&gt;Com o programa instalado, ao executá-lo irá abrir uma janele com várias opções, clique no botão Classic. Irá abrir uma nova janela. Nessa janela, vá em Network &gt; Auto Login &gt; Windows &gt; Settings. Do lado direito irá aparecer os campos para preencher com o nome de usuário, senha e o domínio. Preencha todos os campos, clique em Apply Changes, feche o programa e faça logg of. Pronto! Agora você poderá acessar os compartilhamentos que estão dentro do domínio do seu windows xp home....&lt;br /&gt;&lt;br /&gt;Fácil, né?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4950606581228950940?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4950606581228950940/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4950606581228950940' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4950606581228950940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4950606581228950940'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/02/e-funcionou.html' title='E funcionou...'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-5577291905613526637</id><published>2007-02-22T16:12:00.000-02:00</published><updated>2007-03-13T13:24:32.183-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Logando o XP Home no domínio</title><content type='html'>Quem leu alguns de meus artigos (sei que foram poucas pessoas) já percebeu que eu não gosto muito de windows, mas como esse é um blog de informática e não de linux, vou postar uma dica sobre windows :-)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;Como muitos sabem, o windows xp home não permite que se faça logom no domínio, mas o programa &lt;a href="http://www.x-setup.net/"&gt;X-setup&lt;/a&gt; promete fazer isso (e mais meio zilhão de outras coisas).&lt;br /&gt;&lt;br /&gt;Bom, no momento ainda não testei essa funcionalidade, mas estou fuçando no programa para ver o que descubro. Mais tarde eu posto se ele realmente funciona ou não, e se funcionar, como fazer (se eu tiver tempo, claro).&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/38610382-5577291905613526637?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/5577291905613526637/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=5577291905613526637' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5577291905613526637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/5577291905613526637'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/02/logando-o-xp-home-no-domnio.html' title='Logando o XP Home no domínio'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8147828897715024094</id><published>2007-02-16T13:08:00.000-02:00</published><updated>2007-03-13T13:25:04.492-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Adesklets</title><content type='html'>Bom, depois de alguns dias sem postar nada, voltei aqui para falar sobre o &lt;a href="http://adesklets.sourceforge.net/"&gt;Adesklets&lt;/a&gt;, que é um gerenciador de miniaplicativos. E o que são esses miniaplicativos? Miniaplicativos são aplicativos voltados a somente uma função especifica (ou a algumas funções parecidas entre si) que ficam integradas ao desktop, fica parecendo que fazem parte do papel de parede, mas eles são dinâmicos e você pode interagir com eles. Com eles você pode, por exemplo, colocar um relógio mais inclementado em sua área de trabalho, ou um calendário, diversos monitores de hardware (como monitor de uso da CPU, monitor de conexão com a rede, monitor de temperatura da CPU e do chipset da placa mãe). Tem um dock bar (cita no post sobre interfaces leves), monitor de caixa postal de e-mail e muito mais coisas podem ser encontradas no site (bom, nem tantas coisas assim). &lt;a href="http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2472"&gt;Aqui&lt;/a&gt; tem um artigo sobre como instalá-lo.&lt;br /&gt;&lt;br /&gt;Os miniaplicativos são desenvolvidos em python. Estava pensando em fazer um que utilizasse o programa mbmon par monitorar a temperatura da placa mãe e processador e as tensões da fonte, mas como não sei nada de python e agora, por causa da faculdade, não tenho tempo de aprender, fica aqui a idéia para quem conheça python de criar esse miniaplicativo.&lt;br /&gt;&lt;br /&gt;Não há muito a se falar sobre adesklets, só quiz apresentar sobre o que ele faz e passar o link para o tutorial de instalação. E vou parando por aqui.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-8147828897715024094?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8147828897715024094/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8147828897715024094' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8147828897715024094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8147828897715024094'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/02/adesklets.html' title='Adesklets'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-1934035731315405160</id><published>2007-02-08T13:14:00.000-02:00</published><updated>2007-03-13T13:25:43.032-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geral'/><title type='text'>A gerra contra o DRM</title><content type='html'>Estamos em época de guerra. Já faz muito tempo que o DRM é criticado por muitos, principalmente os defensores do software livre, e agora é a vez de Steve Jobs criticar e praticamente declarar guerra contra o DRM, como podemos ver &lt;a href="http://idgnow.uol.com.br/internet/2007/02/07/idgnoticia.2007-02-07.6041018865/IDGNoticia_view"&gt;nesta notícia do IDG Now&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Resumindo, ele diz que gostaria de verder musicas sem DRM no iTunes e pede para os usuários pressionem as grandes gravadoras para que elas retirem as exigencias de que suas musicas sejam vendidas com DRM na internet.&lt;br /&gt;&lt;br /&gt;Bom, como tudo que vem do mundo Apple acaba tendo uma repercução exagerada, não é de se estranhar se acabar acontecendo uma revolução entre os usuários do iTunes e outras lojas virtuais de música, e esses usuários pressionem tanto as gravadoras e elas acabem cedendo, o que seria uma derrota imensa para os defensores do DRM... Mas acho que isso não acontece (em relação as gravadoras cederem).&lt;br /&gt;&lt;br /&gt;O geito é esperar para ver se essa notícia vai causar alguma reação, e também que o senhor Gates imite o senhor Jobs e também de uma declaração a respeito de DRM, já que a turma da janela adora imitar a turma da maçã.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-1934035731315405160?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/1934035731315405160/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=1934035731315405160' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1934035731315405160'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/1934035731315405160'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/02/gerra-contra-o-drm.html' title='A gerra contra o DRM'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-8698054843900085512</id><published>2007-02-05T13:28:00.000-02:00</published><updated>2007-03-13T13:26:13.789-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Windows'/><title type='text'>Windows Vista...</title><content type='html'>Eu não me resisti em escrever algo sobre o Windows Vista. Em todos os meios de comunicação se tem falado muito sobre o novo sistema da Microsoft. Mas por que falar tanto disso???? Bom, na minha opinião, só por que é algo novo, acabado de sair do forno (apesar de ter ficado enfornado por vários anos).&lt;br /&gt;&lt;br /&gt;Acabei de ler &lt;a href="http://hypercast.deti.ufc.br/2007/02/01/windows-vista-sera-que-vale-a-pena-instala-lo/"&gt;um artigo&lt;/a&gt; falando brevemente sobre se vale a pena instalá-lo por causa dos requisitos de hardware no site &lt;a href="http://hypercast.deti.ufc.br/"&gt;Hypercast&lt;/a&gt;. Aqui ousarei ir um pouco além disso.&lt;br /&gt;&lt;br /&gt;Para mim, o que torna inviável instalar o Vista é primeiramente por ele ser windows (não gosto do windows por si só, mas vou tentar não falar mau dele aqui, até por que todos já sabem de seus problemas :-). Outra ponto interessante e crucial é o preço. Como se pode cobrar R$ 500 (acho esse não é o preço exato, mas chega bem perto) por um sistema operacional, ainda mais na versão mais basica???? Acredito que nessa versão venha apenas editores (notepad e wordpad, já conhecidos de todos), alguns joguinhos básicos para distração, algumas ferramentas essenciais ao sistemas, algumas frescurinhas, etc... Agora, sobre a versão mais cara (acho que chega a R$ 1000), será que vale a pena pagar uma pequena fortuna com a qual pode-se comprar outro computador (bem básico, mas é possível) ou um PDA, ou tantas outras coisas uteis (e algumas outras inúteis), só para ter janelas transparentes, troca de janelas em 3 dimessões, um Ctrl+TAB inclementado e uma porção de outras frescuras? Ainda mais se lembrarmos que temos tudo isso de graça, ou pelo menos por um preço bem menor, com o linux, é de se estranhar muito ver tantas pessoas comprando isso. Claro também que essas funções ainda estão em fase beta no linux.&lt;br /&gt;&lt;br /&gt;Mas deixando o linux um pouco de lado, já que ele não é o sistema dos sonhos da maioria dos usuários "comuns", farei uma breve comparação com o iMac. &lt;a href="http://www.americanas.com.br/prod/518272/eacom"&gt;Aqui&lt;/a&gt; temos um exemplo de uma iMac com uma excelente configuração pelo preço de R$ 5699,00. Um PC configurado na &lt;a href="http://www.dell.com.br/"&gt;Dell&lt;/a&gt; com configuração recomendada segundo o artigo citado acima para rodar o Vista completo, com o mesmo processador utilizado no iMac acima e também com monitor LCD 17" sai por R$ 5299,00 (fora o frete). Considerando que o PC vem com o Windows XP Pro, que custa na faixa de R$ 500,00, para se trocar o XP pelo vista mais completo teriamos uma diferença de R$ 500,00 a mais. Conclusão, o PC com o vista mais completo sairia mais caro que o iMac, ou pelos menos num preço bem próximo, considerando que eu posso ter errado em alguma coisa. Então, comprar o vista é uma desvantagem econômica considerando que é possível comprar um computador e um sistema operacional de maior qualidade pelo mesmo preço (isso em uma média).&lt;br /&gt;&lt;br /&gt;Outros motivos que inviabilizam a adoção do windows vista é em  relação a DRM (explicado, com várias críticas, &lt;a href="http://www.comciencia.br/comciencia/?section=8&amp;edicao=20&amp;amp;id=216"&gt;aqui&lt;/a&gt;) que, pelo que já li sobre ele, deve deixar muitos usuários de windows vista bastante insatisfeitos. E ainda restam os já "clássicos" e já esperados problemas de segurança e bugs que estão presentes em todos os produtos microsoft, apesar do Bill jurar de pés juntos que o vista é totalmente seguro e sem bugs...&lt;br /&gt;&lt;br /&gt;Agora que o sistema esta ai sendo vendido é só esperar os usuários começarem a comentar sobre ele...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-8698054843900085512?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/8698054843900085512/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=8698054843900085512' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8698054843900085512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/8698054843900085512'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/02/windows-vista-necessrio.html' title='Windows Vista...'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-77999752172711391</id><published>2007-02-01T13:09:00.000-02:00</published><updated>2007-03-13T13:26:42.645-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Gerenciadore de janelas leves</title><content type='html'>Tenho testado alguns gerenciadores de janela mais leves em meu computador de casa.&lt;br /&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_0" onclick="BLOG_clickHandler(this)"&gt;&lt;br /&gt;Camecei&lt;/span&gt; pelo &lt;a href="http://fluxbox.sourceforge.net/"&gt;&lt;span class="blsp-spelling-error" id="SPELLING_ERROR_1" onclick="BLOG_clickHandler(this)"&gt;Fluxbox&lt;/span&gt;&lt;/a&gt;. Em termos de &lt;span class="blsp-spelling-error" id="SPELLING_ERROR_2" onclick="BLOG_clickHandler(this)"&gt;levesa&lt;/span&gt; esse é um dos melhores, o pacote de binário para instalação não passa de 1 MB. Outro ponto bastante interessante é que se pode personalizá-lo completamente. Um ponto que não gostei é a falta de um "lançador de aplicativos" mais prático do que os menus que são acessados clicando-se no ambiente de trabalho com os botões do mouse. Não é muito prático, principalmente para quem costuma abrir várias janelas ao mesmo tempo. Tento essa dificulade procurei por um &lt;span style="font-weight: bold;"&gt;Dock&lt;/span&gt; animado que é um lançador de aplicativos como se fosse uma barra de tarefas com os icones dos plicativos nela igual ao que existe no Mac OS. Testei 2 docks.&lt;br /&gt;&lt;br /&gt;O primeiro é um miniaplicativo do &lt;a href="http://adesklets.sourceforge.net/"&gt;adesklets&lt;/a&gt; (adesklets é um gerenciador de miniaplicativos que você pode acrescentar a seu desktop, muito interessante, e eu recomendo, falarei mais dele em outro post) chamado yab, mas a principal desvantagem dele é que se maximizarmos as janelas ele fica escondido atrás dessas janela, o que o torna inviável para mim que costumo deixar todas as janelas maximizadas.&lt;br /&gt;&lt;br /&gt;O segundo é o &lt;span style="font-weight: bold;"&gt;engage&lt;/span&gt;, que é parte integrante do projeto &lt;a href="http://www.get-e.org/"&gt;Enlightenment DR17&lt;/a&gt; (ou somente e17).&lt;br /&gt;Esse tem tudo que eu quero em um dock, é bonito, leve, integra-se ao ambiente de trabalho totalmente independente do gerenciador de janelas (isso mesmo, podemos utiliza-lo em qualquer gerenciador de janelas), mas é muito dificil de se comfigurar. Os icones utilizados nele não são simplesmente icones, mas sim arquivos especiais que devem ser compilados por um aplicativo fornecido juntos como e17. A distribuição nacional &lt;a href="http://www.dreamlinux.com.br/"&gt;Dream Linux&lt;/a&gt; utiliza o engage, eu testei o engage nessa distribuição e havia um pequeno utilitário gráfico do e17 para se criar os arquivos para os icones do engage, mas na versão atual do engage esse aplicativo não é encontrado. Pelo que percebi deve-se gerar o arquivo de icone com um script em linha de comando, mas nas minhas tentativas não deu certo, e por não encontrar documentação sobre isso eu desisti de usar um dock animado. Quem sabe em um próxima versão o engage estaja mais "utilizável", ai voltarei a falar dele aqui.&lt;br /&gt;&lt;br /&gt;Por não ter me adaptado muito bem so FluxBox, testei o Enlightenment DR17. Encontrei o projeto &lt;a href="http://www.sourceforge.net/projects/slacke17"&gt;Slacke17&lt;/a&gt; que nada mais é so que o e17 portado pra o slackware. A instalação dos binários é simples podendo ser instalados em conjunto por um script que vem junto com os pacotes, ou um a um com o installpkg. O e17 traz recursos muito interessantes que não são encontrados em nenhum outro gerenciador de janelas que eu conheça. O engage mencionado anteriormente é um desses recursos, outros bastante interessantes são icones animados, papel de parede animados, o entrance que é um gerenciador de login gráfico similar ao gdm ou kdm mas com animações, transparências nas janelas, entre outras coisas, e ainda é um gerenciador de janelas bem leve. O problema do e17 é que ele ainda esta em fase de desenvolvimento e apesar de se poder instalá-lo para usar ainda não esta maduro o suficiente, tendo mudanças grandes em seu código (lembra que falei que o engage em uma versão utilizava um aplicativo gáfico e depois deixou de usar?). Acredito que quando o e17 estiver em uma versão mais próxima de seu lançamento oficial será um ótimo gerenciador de janelas. Mas por ele ainda não ser totamente funcional desisti dele (pelo menos por hora).&lt;br /&gt;&lt;br /&gt;Outro gerenciador de janelas que testei foi o &lt;a href="http://www.xfce.org/"&gt;XFCE&lt;/a&gt;. Ele não tem a levesa do FluxBox e nem os recursos do do e17, mas ainda sim é bastante leve e tem, em minha opinião, um acabamento bastante adimirável. O XFCE é um gerenciador de janelas para quem procura um gerenciador de janelas mais leve e mais simples, mas sem perder a usabilidade do ambiente. E minha opção para gerenciador de janelas foi o XFCE...&lt;br /&gt;&lt;br /&gt;Mas independente de qual seja o gerenciador de janelas que utilizamos, sempre podemos incrementá-los. O adesklets citado acima, só para dar um exemplo) é um ótimo aplicativo para se fazer isso. Posívelmente falarei um pouco dele no próximo posts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-77999752172711391?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/77999752172711391/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=77999752172711391' title='3 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/77999752172711391'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/77999752172711391'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/02/gerenciadore-de-janelas-leves.html' title='Gerenciadore de janelas leves'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4930089135648515301</id><published>2007-01-29T15:11:00.000-02:00</published><updated>2007-03-13T13:27:08.979-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Revista Guia do Hardware 2ª Edição</title><content type='html'>Foi lançada a revista digital &lt;a href="http://www.guiadohardware.net/revista/"&gt;Guia do Hardware  2ª Edição&lt;/a&gt;. Ótima revista digital, que além de tudo é gratuita. Se já não baixou, baixe já o seu exemplar. A qualidade é ótima, não perde nada para as tradicionais e renomadas revistas de informática e tecnologia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4930089135648515301?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4930089135648515301/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4930089135648515301' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4930089135648515301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4930089135648515301'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/01/revista-guia-do-hardware-2-edio.html' title='Revista Guia do Hardware 2ª Edição'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-4839496156508935471</id><published>2007-01-29T15:01:00.000-02:00</published><updated>2007-03-13T13:27:43.019-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>A busca terminou (Em busca da distribuição perfeita - Parte 3)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Continuando o relato sobre minha busca por uma distribuição que melhor me atenda...&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Como disse no post anterior, fiz a experiência com o smpppd, e a experiência não passou da tentativa de compilação. Apresenta um erro relacionado ao openSSL que não consegui descobrir do que se trata (nem perdi muito tempo tentando também). Depois desse erro resolvi tentar novamente o pppsetup, e depois de algumas tentativas de configuração eu consegui me conectar a internet. Com a internet configurada, passei minha atenção à configuração do meu ambiente de trabalho, mas sobre isso irei falar depois, num post somente sobre esse assunto.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Nessa experiência cheguei a uma conclusão: ainda não é muito viável utilização de sistemas 64 bits nos desktops. Por que cheguei a esta conclusão? Bom, todos sabemos que muitos plug-ins e programas ainda não foram portados para ambientes 64 bits, o que, no caso de programas open sources, nos obriga a compilá-los. Alguns programas compilam perfeitamente, mas pelo que percebi, alguns programas precisam de opções especificas de compilação para poderem ser compilados em sistemas 64 bits, e para muitas pessoas (a maioria, eu acredito e me incluo entre essas pessoas) é inviável portar esses programas para 64 bits. Então, como não quero mais rodar um sistemas milti-lib em meu computador por acreditar que essa bagunça de bibliotecas e programas de arquiteturas diferentes seja bom para o sistema, irei instalar uma distribuição 32 bits mesmo, até que veja que seja viável instalar uma distribuição puramente 64 bits.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Agora, a distribuição que me agradou durante todos esses teste foi o Bluewhite64, e por isso, sendo essa distribuição baseada no slackware, passarei a utilizar o slackware como minha de agora em diante. Os motivos? É uma distribuição estável, madura, rápida e altamente personalizável, sem contar que eu sempre tive vontade de testá-la, mas sempre tive preguiça de fazer esse teste :-).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-4839496156508935471?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/4839496156508935471/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=4839496156508935471' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4839496156508935471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/4839496156508935471'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/01/busca-terminou-em-busca-da-distribuio.html' title='A busca terminou (Em busca da distribuição perfeita - Parte 3)'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-116966211399385836</id><published>2007-01-24T16:05:00.000-02:00</published><updated>2007-03-13T13:28:04.671-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>E a busca cotinua (ou Em busca da distribuição perfeita - parte 2)</title><content type='html'>&lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Estou aqui de volta para mais uma parte do relato de minha busca pela distribuição perfeita (pelo menos perfeita para mim).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Depois do fracasso ao tentar compilar uma distribuição do zero, fui novamente procurar uma distribuição que me atendesse. Testei o &lt;a href="http://www.gentoo.org/"&gt;Gentoo&lt;/a&gt;. Baixei o livecd, instalei no disco, e não gostei. Não sei bem o por que não gostei, mas não me agradou.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Novamente saio à caça de uma distribuição. Lembrei-me de ter lido que haviam lançado um porte não oficial do slackware para arquitetura x86-64 chamado de &lt;a href="http://www.slamd64.com/"&gt;SLAMD64&lt;/a&gt;. Fiz uma pesquisa rápida e descobri que esse também era um sistema milti-lib. Mas durante a pesquisa fiquei sabendo de um outro porte do slackware para x86_64, o &lt;a href="http://www.bluewhite64.com/"&gt;Bluewhite64&lt;/a&gt;, esse sim um sistema pure 64, como já anunciam no logotipo do site. Como sempre quis experimentar o slackware mas sempre sobrou um pouco de preguiça para fazê-lo, não perdi tempo para baixá-lo e instalá-lo em meu PC, já que o que eu queria mesmo era testar algumas distribuições diferentes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;A primeira diferença que percebi com as distribuições que já tinha utilizado foi o modo de instalação. Inicialmente ele te deixa no pronpt de comando, coisa que a primeira vista assusta um pouco. Observando melhor vi que as instruções para a instalação estavam descritas logo acima, a partir daí foi fácil instalá-lo. Com o sistema instalado, rebootei a máquina e acessei o sistema instalado. Após isso o primeiro passo foi configurar a internet (em casa utilizo discada ainda :-( ). Ai começaram os problemas.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Para começar, não sabia onde configurar um discador. Novamente recorro à internet. Descubro que é possível configurar o discador com o comando pppsetup e o comando ppp-go para executar e discagem econexão.&lt;span style=""&gt;  &lt;/span&gt;Configuro então pelo pppsetup, tento conectar e tenho sucesso, mas na hora de navegar descubro que o número que coloquei não é do provedor da “internet ilimitada”. Ok, esse problema é pequeno, eu pensei, e agora é só configurar novamente com o número de telefone correto e... não conecta. Negocia a conexão mas não conecta. Esse problema me faz acreditar que os servidores para internet ilimitada dos provedores requerem alguma configuração diferenciada relacionada a autenticação para a conexão, mas isso é só uma teoria. Novamente faço uma pesquisa na internet e, para esse problema, em alguns fóruns é aconselhado a instalação de outro discador. Tudo bem, posso fazer isso bem fácil. Como no bluewhit não encontrei nenhum outro discador, baixei o wvdial e sua dependência wvstreams. Quando fui tentar rodar o script configure do wvstreams para poder compilá-lo, acusou a falta de uma dependência, o OpenSSL. Novamente pensei, é só instalar o pacote e tudo fica resolvido, mas conferi e vi que o openssl já estava instalado. Ta ai uma coisa que nunca consegui resolver, qualquer que fosse a distribuição, que é a dependência não encontrada de um pacote que já esta instalado no sistema. Ao meu ver essa é a maior falha das distribuições linux. Mas vendo que não ia conseguir resolver esse problema, resolvi procurar outro discador. Depois de testar vários outros discadores e tendo os mesmos resultados, desisti... &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style=""&gt;Instalei novamente o openSuse. Tentei conectar usando o wvdial do opensuse, mas também não tive sucesso.&lt;span style=""&gt;  &lt;/span&gt;Depois instalei o kinternet, que é uma interface para o smpppd, que eu sempre utilizei no opensuse. Essa dupla foi desenvolvido para o opensuse, por esse mesmo motivo ainda nunca os vi em nenhuma outra distribuição. Pelo fato de que o kinternet com o smpppd conectou na net usando um provedor de internet ilimitada, vou tentar instalá-lo no bluewhite64. Farei isso hoje e depois posto aqui o resultado.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-116966211399385836?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/116966211399385836/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=116966211399385836' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/116966211399385836'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/116966211399385836'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/01/e-busca-cotinua-ou-em-busca-da.html' title='E a busca cotinua (ou Em busca da distribuição perfeita - parte 2)'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-116956664605566937</id><published>2007-01-23T13:11:00.000-02:00</published><updated>2007-03-13T13:28:29.639-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>A procura da distribuição perfeita...</title><content type='html'>Aqui estou eu no segundo post... Esta um pouco difícil de encontrar um pouco de tempo para postar alguma coisa. Mas vamos ao que interessa.&lt;br /&gt;&lt;br /&gt;Nas ultimas semanas passei meu tempo (e muito tempo) buscando uma distribuição Linux mais adequada a meu uso (por isso a falta de tempo para postar). Dois motivos principais me fizeram procurar uma nova distribuição (utilizava o OpenSuSE 10.1 (www.opensuse.org)): 1 - maior personalização na instalação, pois queria ter uma instalação mínima com um gerenciador de janelas mais leve e personalizável; 2 – queria um sistema pure 64 (sistema com todas as bibliotecas e programas compilados para processador 64 bits), pois tenho um Atlhon 64 e queria tirar todo o proveito do processador.&lt;br /&gt;&lt;br /&gt;Vou (tentar) explicar o que exatamente é um sistema pure 64. Processadores 64 bits sempre existiram, mas só com a criação da arquitetura x86_64 (também conhecido com AMD64 e EMT64 (processadores Intel)), pela AMD, que tivemos a chance de termos um sistema 64 bits instalado no computador de nossa casa. Mas porque somente com esses processadores tivemos a chance de ter processadores 64 bits em PCs? Isso foi possível por que a AMD criou essa arquitetura para ser compatível com os processadores x86 (também conhecido como arquitetura Intel x86, i386, i486...), que eram (e ainda são) o padrão em computadores para PCs, diferente de outros processadores 64 bits que não tem essa compatibilidade. Com isso, os novos processadores x86_64 podem executar nativamente tanto sistemas 32 bits quanto sistemas 64 bits.&lt;br /&gt;&lt;br /&gt;Com a chegada desses processadores x86_64 começaram a surgir os portes de distribuições Linux para esses processadores. Mas esses portes, em sua grande maioria, não são pure 64. Para ser um sistema pure 64, todas os programas e bibliotecas do sistema devem ser compilados para processadores 64 bits. Os portes que existem para 64 bits hoje em dia geralmente usam o esquema de multi-libs, que siguinifica que existem bibliotecas e programas compilados tanto em 64 bits quanto em 32 bits. Isso até que é muito interessante, pois permite que sejam instalados programas que ainda não foram totalmente portados para 64 bits, como no caso do plug-in flash player.&lt;br /&gt;&lt;br /&gt;Mas agora surge a pergunta: Porque eu quero um sistema pure 64????&lt;br /&gt;&lt;br /&gt;Bom, acredito que a tendência seja a migração total para a plataforma x86_64. Não sei quanto tempo irá levar até isso, mas já quero ter um sistema preparado para isso ;-)&lt;br /&gt;&lt;br /&gt;No começo me interessei muito pelo Linux From Scratch, abreviando, LFS (www.linuxfromscratch.org), o que traduzindo serial algo como Linux do Zero. Para quem não sabe, o LFS não é exatamente uma distribuição, é mais um guia de como se construir uma distribuição a partir do código fonte dos programas, assim você tem uma liberdade muito grande de escolher o que você quer instalar. Tive duas tentativas com o LFS.&lt;br /&gt;&lt;br /&gt;A primeira foi totalmente frustrada. Depois de vários pacotes já compilados, me deparo com um erro que não consegui encontrar solução, mas procurando na net descobri que o que estava errado era que eu imaginava que, se eu compilasse o sistema todo a partir do zero, sem nenhuma opção de compilação diferente, por estar compilando de um sistema já 64 bits (o SuSE que tinha instalado era 64 bits, mas é um sistema multi-libs), meu LFS seria totalmente 64 bits... Engano meu. E perdi muito tempo com esse engano.&lt;br /&gt;&lt;br /&gt;Depois de ter descoberto isso, fui a procura de uma distribuição pure 64, e acabei encontrando o CLFS, ou Cross Linux From Scratch (http://trac.cross-lfs.org), que nada mais é do que o LFS portado para outras arquiteturas além da 32 bits. Bom, baixei todos os pacotes, e comecei a compilação. Apesar de alguns pequenos problemas durante o processo de compilação, de modo geral correu tudo bem. Tanto o LFS quanto o CLFS guia a compilação do sistema até deixa-lo no ponto em que se pode dar boot no sistema, com o mínimo de ferramentas necessárias. Compilados todos os pacotes, adicionei uma entrada ao grub do meu então sistema atual e dei boot. Tive uma surpresa, funcionou sem problema algum ;-).&lt;br /&gt;&lt;br /&gt;Muito feliz com o resultado do boot, fui procurar saber como instalar o restante do software necessário para eu utilizar o sistema. Encontrei o CBLFS, mais um membro da família LFS, e por isso pode-se encontra-lo também no site do LFS, mas exatamente na parte do CLFS. A primeira coisa que eu queria fazer era instalar o ambiente gráfico. Comecei a instalação do X.org e, apesar de alguns problemas, foi concluída e o teste para ver se esta ok foi feito. Após isso parti para a instalação do fluxbox (sempre gostei da proposta desse gerenciador de janelas). Compilei e instalei as dependências e o fluxbox, configurei-o e então executei startx... Minha surpresa foi ter outra decepção. Quando o startfluxbox era executado, o fluxbox dava um erro relacionado a fontes e fechava. Trê dias tentando resolver esse problema sem sair do lugar e acabei por abandonar o projeto de compilar minha própria distribuição...&lt;br /&gt;&lt;p class="MsoNormal"&gt;Mas ainda estou a procura de uma distribuição que atenda meu gosto. No próximo post conto como esta andando essa procura...&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-116956664605566937?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/116956664605566937/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=116956664605566937' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/116956664605566937'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/116956664605566937'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/01/procura-da-distribuio-perfeita.html' title='A procura da distribuição perfeita...'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-38610382.post-116897004130317885</id><published>2007-01-16T15:24:00.000-02:00</published><updated>2007-03-13T13:29:14.990-03:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Geral'/><title type='text'>O início...</title><content type='html'>E aqui inicia minha nova tentativa de mater um blog.&lt;br /&gt;&lt;br /&gt;Pretendo postar aqui sobre informática e tecnologia em geral, e, eventualmente, até algum assunto nada relacionado a tecnologia.&lt;br /&gt;&lt;br /&gt;O nome do site (Per Ludum) esta em latim e quer dizer "Por Brincadeira". Escolhi esse nome por querer manter esse blog apenas como um passatempo, sem compromisso de atualiza-lo (apesar que quero manter ele sempre atualizado).&lt;br /&gt;&lt;br /&gt;Como é bem provavél que ninguém apareça por aqui por algum tempo, vou fazer vários teste com os temas do blog.&lt;br /&gt;&lt;br /&gt;Por hora é só isso. Até o proximo post...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/38610382-116897004130317885?l=perludum.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://perludum.blogspot.com/feeds/116897004130317885/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=38610382&amp;postID=116897004130317885' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/116897004130317885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38610382/posts/default/116897004130317885'/><link rel='alternate' type='text/html' href='http://perludum.blogspot.com/2007/01/o-incio.html' title='O início...'/><author><name>Tiago dos Santos</name><uri>http://www.blogger.com/profile/14632506664795742527</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='21' height='32' src='http://4.bp.blogspot.com/-PEkfum1FDIQ/TqCiOkqrzbI/AAAAAAAAD1o/Y9GUOMmQh-E/s220/Foto%2B%2528610%2529.jpg'/></author><thr:total>0</thr:total></entry></feed>
