Featured Posts

Colocando Software RAID no UbuntuColocando Software RAID no Ubuntu Recentemente decidimos atualizar um dos nossos servidores do Núcleo de Modelagem Estocástica e Complexidade da USP (NUMEC-USP) onde sou administrador. A atualização...

Readmore

Behavior Driven Development no Ruby on RailsBehavior Driven Development no Ruby on Rails Preciso confessar, Behavior Driven Development ou BDD, foi algo complicado para mim no começo. A idéia de testar antes de escrever código e saber que o teste...

Readmore

Design de Mecanismos e LeilõesDesign de Mecanismos e Leilões O Design de Mecanismos é uma importante área da Teoria dos Jogos e extremamente relevante para a computação. Nesta área queremos desenvolver mecanismos que sejam...

Readmore

Resolvendo Problemas em Ruby - Um Kata de Coding DojoResolvendo Problemas em Ruby - Um Kata de Coding Dojo Danilo Sato fez, já um bom tempo, este screencast de um Kata no Coding Dojo de São Paulo - uma sessão onde uma pessoa apresenta a solução de um problema usando TDD....

Readmore

Mafagrafos Rss

Curso de Ruby – Parte 1

Posted on : 27-01-2010 | By : schouery | In : Ruby

Tags: , , ,

1

Recentemente o Group of Open Applied Technologies da USP iniciou um projeto ambicioso: estudar o livro Programming Ruby 1.9 do Dave Thomas com Chad Fowler e Andy Hunt de forma sistemática e criar vídeos com as palestras com o conteúdo estudado. Não pretendemos abordar todos os capítulos do livro já que nem todo o conteúdo é relevante inicialmente, mas iremos cobrir as bases da linguagem. O grupo é aberto a participação da comunidade e utiliza Ruby para desenvolver software livre[bb].

Nesse primeiro vídeo Wanderley Guimarães apresenta a primeira parte do capítulo 2 do livro. Optamos por não apresentar o capítulo 1 já que ele aborda apenas a parte de instalação do ambiente Ruby, algo que pode ser facilmente encontrado na Web.

O conteúdo abordado contém algumas noções da orientação a objetos do Ruby e da linguagem de forma geral. O vídeo está a seguir.

Este é um projeto em andamento e, portanto, toda sugestão e crítica ao conteúdo, apresentação e vídeo é muito bem-vinda. Comentários e dúvidas em relação ao conteúdo podem ser feitos na seção de comentários. Outros vídeos do GOAT podem ser vistos na página Vídeos de Ruby.

Conheça o RubyOnda

Posted on : 25-01-2010 | By : schouery | In : Ruby

Tags: , ,

0

RubyOnda
O RubyOnda é um site feito com Ruby on Rails e Haml muito interessante para os fãs brasileiros de Ruby. Trata-se de um agregador de sites que publicam posts sobre Ruby, permitindo qualquer um participar da comunidade.

No site você encontra os posts mais recentes sobre Ruby além da opção de acompanhar por RSS ou pelo Twitter. E o mais interessante é que você pode enviar suas próprias notícias.

Inicialmente as notícias são filtradas para evitar spam. Mas após 10 notícias aprovadas seu post é automaticamente publicado. Você pode conhecer melhor as regras nesta página.

Infelizmente, acho que a comunidade ainda é pequena ou está um pouco esquecida pois atualmente não têm havido tantas publicações quanto desejado. Mas ainda é um canal interessante para os usuários e bloggeiros de Ruby.

O RubyOnda foi desenvolvido pela Bopia, tendo como seus programadores Roberto Soares e Bruno Miranda.

Você usa quais sites para se informar sobre Ruby? Compartilhe conosco.

10 Webcomics para Programadores e Nerds

Posted on : 22-01-2010 | By : schouery | In : Fun

Tags: , , ,

0

Esta é uma compilação das Webcomics que ando lendo e tem a temática nerd[bb]. Ao invés de explicar em um texto cansativo como essas tirinhas são legais, preferi colocar diretamente uma delas para que você possa ter um idéia do conteúdo. Só tome cuidado pra não gastar o seu dia lendo-as.

Geek & Poke

 10 Webcomics para Programadores e Nerds

Nerdon não vai à escola

nerdson200 10 Webcomics para Programadores e Nerds

xkcd

random number 10 Webcomics para Programadores e Nerds

Dilbert

79574.strip 10 Webcomics para Programadores e Nerds

Apple Geeks

aglite544 10 Webcomics para Programadores e Nerds

PhD Comics

phd111309s 10 Webcomics para Programadores e Nerds

Ctrl+Alt+Del

20091009 10 Webcomics para Programadores e Nerds

Real Life Comics

20100108 2371 10 Webcomics para Programadores e Nerds

EXTRALIFE

06 08 2009 10 Webcomics para Programadores e Nerds

Savage Chickens

chickenming 10 Webcomics para Programadores e Nerds

Se você lê outras Webcomics, compartilhe conosco enviando um comentário.

Video: Criando Gems

Posted on : 20-01-2010 | By : schouery | In : Ruby

Tags: , , ,

0

Recentemente no Group of Open Applied Technologies da USP (GOAT), Joel Uchoa apresentou uma palestra sobre como criar uma Ruby Gem sem dificuldades. Ele utiliza uma gem chamada echoe para criar as novas gems. O vídeo está abaixo:

A importância das gems no universo Ruby são gigantes. Mas é muito importante a criação de novas gems. Muitas vezes nos deparamos com partes do nosso código que podem ser utilizadas em outros projetos. Uma forma muito interessante de ajudar a comunidade open-source é a extração dessas partes em gems.

O GOAT ainda é um projeto em andamento. Esse é um dos primeiros vídeos do grupo e toda crítica e sugestões são muito bem-vindas. Se você cria gems de outras formas, compartilhe conosco as ferramentas que utiliza na seção de comentários.

10 Plugins Essenciais Para Firefox

Posted on : 18-01-2010 | By : schouery | In : Firefox

Tags: ,

23

Firefox LogoEsses são os 10 plugins que acredito serem essenciais para o Firefox[bb]. Essenciais no sentido que, se eu usar um Firefox sem esses plugins, irei sentir falta deles rapidamente e até me aborrecer por não estar com eles instalados.

1. Adbock Plus

O Adblock Plus é um excelente plugin que bloqueia muitas das propagandas da Web usando filtros atualizados on-line e bloqueios feitos pelo próprio usuário. Ele funciona de maneira silenciosa e muitas vezes é imperceptível que a propaganda está faltando.

É claro que toda a questão de propaganda na web é discutível. Sites como esse dependem de propaganda para sobreviver. Mas o usuário está em seu direito de não ver essas propagandas, ainda mais quando a quantidade ou o conteúdo é abusivo. O Adblock Plus ajuda na solução desse problema.

2. DownThemAll!

Este é um dos primeiros complementos que usei para o Firefox. Trata-se de um ótimo gerenciador de downloads com ótimas funcionalidades. O nome vem de uma funcionalidade que permite baixar todos os links e fotos de uma página, permitindo o uso de filtros com expressões regulares e a seleção manual do conteúdo. É ótimo quando você precisa pegar muita coisa de um site.

Mas o melhor mesmo do DownThemAll! é o gerenciamento de downloads com fila de espera, a possibilidade de parar e continuar downloads (que o Firefox levou algum tempo a ter), registro das últimas pastas usadas para salvar arquivos e a capacidade de quebrar um arquivo em vários pedaços, baixando todos ao mesmo tempo algo que agiliza muito o download.

3. AutoPager

Descobri essa extensão a pouco tempo, mas acho que agora não consigo viver sem ela. O que ela faz é “clicar” no botão de próxima página para você, carregando o conteúdo desta próxima página logo abaixo da atual. Isso significa que ao buscar no Google[bb], por exemplo, basta ir descendo a barra de rolagem que os próximos resultados vão aparecendo. O resultado é incrível para quem tem banda-larga e funciona em muitos sites já que utiliza padrões para reconhecer a opção de paginar.

4. Colliris

O Cooliris é um navegador de imagens com suporte a muitos sites como Google Images e Flickr. Ele permite buscar imagens e navegar por elas de uma forma extremamente elegante, permitindo até a navegação por teclado. Com o Cooliris buscar imagens fica mais fácil e agradável.

5. Fast Dial

O Fast Dial permite que você adicione seus sites mais usados a uma janela que permite o fácil acesso a esses sites. Dessa forma, ao abrir uma nova aba, você encontra todos os seus sites favoritos para acessa-los facilmente. Isso permite que a rotina de abrir o email, leitor de rss, sites de rede social, etc. fique mais rápido durante o dia.

6. Xmarks

O Xmarks é essencial para quem usa mais de um computador. Ele permite a sincronização de favoritos e senhas de vários computadores e além disso, ele oferece um site em que é possível visualizar seus favoritos on-line.

7. Undo Closed Tabs Button

Já faz algum tempo que o Firefox oferece a opção de reabrir abas recentemente fechadas, mas o Undo Closed Tabs Button adiciona um pequeno botão na linha das abas que permite abrir as abas fechadas com apenas um clique e muita velocidade.

8. Tabs Open Relative

Essa extensão dá ao Firefox o comportamento do Google Chrome, onde abas abertas a partir da aba atual são colocadas diretamente ao lado direito da aba atual. Isso permite um agrupamento melhor das abas, principalmente se você abre muitas delas ao mesmo tempo.

9. Download Statusbar

O DownThemAll! é ótimo, mas as vezes você só quer baixar um pequeno arquivo para o Desktop (ou a sua pasta padrão de downloads no Firefox). O Download Statusbar substitui a irritante tela de download do Firefox que aparece na sua frente sem ser convidada por uma barra de status que mostra o progresso de seus downloads e permite abri-los após concluídos. Essa é mais uma idéia copia do Google Chrome.

10. Omnibar

O Omnibar remove a barra de busca, criando uma grande barra de endereços no seu Firefox, mas que permite que buscas ainda sejam feitas a partir dessa barra. Para isso basta usar comandos específicos como “@google texto” para procurar no Google. Isso tudo traz mais praticidade e um efeito visual melhor.

Espero que você goste tanto desses plugins quanto eu. Se você usa alguns desses plugins ou tem outros plugins que considera essenciais, mande-nos um comentário.

Organizando Papers e Livros com o Mendeley Desktop

Posted on : 15-01-2010 | By : schouery | In : Dicas

Tags: , , ,

0

Logo Mendeley
O Mendeley Desktop é um programa ótimo para os acadêmicos. Ele permite criar uma biblioteca de papers em formato pdf com muitas funcionalidades.

Para um único paper é possível registrar:
* abstract,
* tipo (publicação em journal, livro, etc…),
* título,
* autores,
* informações de onde foi publicado,
* bibliografia,
* tags,
* entre outros.

Todas essas informações são extraídas diretamente do arquivo (com um grau de sucesso interessante) para que não seja necessário digita-las.

Os arquivos podem ser mantidos em uma pasta que é monitorada pelo programa, permitindo assim adicionar e organizar facilmente seus papers e livros. O pdf pode ser lido dentro do próprio software com a opção de marcar texto e adicionar notas.

O software permite, além da busca pelos papers, o uso de tags, coleções (algo como categoria), filtro por autor, favoritos e o registro do fato do paper ter sido lido. Todas essas ferramentas ajudam a encontrar os papers que vão sendo adicionados ao longo do tempo a sua biblioteca.

Mas o mais interessante é que sua biblioteca fica disponível online, permitindo o acesso a qualquer arquivo diretamente no navegador. Outra funcionalidade interessante é que o Mendeley Desktop sincroniza sua biblioteca entre vários computadores, facilitando muito a vida de quem usa mais de uma máquina.

Existe também o conceito de rede social, permitindo a colaboração pelo software, isto é, é possível enviar e receber arquivos de outras pessoas cadastradas no sistema.

Entre muitas outras funcionalidades é possível ver as estatísticas da sua biblioteca (como top autores e tags mais utilizadas) e adicionar papers diretamente do navegador usando um bookmark.

Este é um software que realmente vale a pena usar se você está inserido no ambiente acadêmico, como eu.

Se você já usa o Mendeley, testou o software ou organiza os seus papers de outras formas, mande a sua opinião na seção de comentários.

Video: Conheça o Grupo de Estudos de Ruby da USP

Posted on : 13-01-2010 | By : schouery | In : Ruby

Tags: , , , ,

3

Em outubro, relatei aqui no Mafagrafos, um grupo de estudos de Ruby da USP aberto a participação de qualquer pessoa. O post sobre o assunto aborda os objetivos do grupo e como e onde ocorrem as reuniões. O grupo, chamado GOAT – Group of Open Applied Technologies, já tem quase um ano e conta com mais de dez membros.

Recentemente criamos um vídeo que é destinado a explicar o que é o GOAT que pode ser visto abaixo:

Além desse video, publiquei anteriormente aqui no Mafagrafos duas palestras apresentadas no GOAT: uma sobre Guia de Estilo para Ruby e a outra sobre o uso da gem Hpricot. Vale a pena ver esses vídeos.

Se você conhece outros grupos de Ruby[bb] ou Open Source[bb], gostaria de participar do GOAT ou ainda tem algo a dizer, mande-nos um comentário.

Virtualização ou Dual Boot?

Posted on : 11-01-2010 | By : schouery | In : Dicas, Linux

Tags: , , , , , , ,

0

Vmware LogoO objetivo deste texto é, através do meu relato pessoal, argumentar quais são as vantagens e desvantagens de se usar a virtualização ao invés do dual boot.

Comecei a usar Linux[bb] em 2003. Na época eu usava a distribuição Slackware e o gerenciador de boot padrão era o LILO (ao invés do Grub). Com uma máquina velha decidi remover o Windows[bb] completamente e ficar apenas com o Linux e, por isso, não precisei fazer dual boot.

Quando ganhei um novo computador em 2004, vi que o dual boot era necessário. Adoro jogar no PC[bb] e, infelizmente, os jogos comercias são raramente lançados para Linux. Na época virtualização ainda não era uma realidade.

Continuei com dual boot durante anos até comprar meu Macbook[bb]. Depois de alguns meses usando-o descobri que, mesmo com o kernel BSD, eventualmente eu precisava de uma distribuição Linux na máquina. Joguei fora um dia inteiro tentando particionar o disco para instalar o Ubuntu. Não consegui, já que esbarrei em duas soluções: formatar o disco (e ter que fazer backup de tudo) ou comprar um software comercial que fazia desfragmentação.

Na mesma semana, meu grande amigo Fabrício Souza, também usuário de Mac OS X, me sugeriu usar virtualização. O argumento foi simples: pra que perder tempo reiniciando a máquina para trocar de sistema operacional se podemos ter o mesmo resultado dentro de um aplicativo do seu sistema?

Confesso que isso mudou a minha forma de pensar no assunto. Apesar do meu Macbook não ser tão avançado, ele roda bem o Ubuntu e, com alguma paciência e sem muita exigência, o Windows (XP, Vista ou 7, tanto faz).

No meu Desktop uso hoje o Windows 7 e virtualizo (com VMware Player) o Ubuntu. Também não uso o dual boot nessa máquina.

Como decidir entre Virtualização e Dual Boot? É necessário saber o que você deseja de cada sistema operacional que irá utilizar. Se você usará um sistema para tarefas muito pesadas como jogos ou computação científica (por exemplo, otimização de programas inteiros mistos) ou se o determinado SO é o seu ambiente padrão de trabalho é extremamente útil que tenha ele instalado diretamente na máquina.

Mas se você usa um sistema esporadicamente na máquina e apenas para coisas leves como executar determinados aplicativos, a virtualização é uma benção. Você não terá dificuldades em fazer partições, configurar hardware, configurar rede, etc.

A virtualização traz também dois benefícios: a integração dos aplicativos do SO virtualizado no SO que realmente está rodando na máquina e a possibilidade de definir quais recursos a máquina virtual consome.

O primeiro item permite, por exemplo, que você abra o Internet Explorer no Linux sem ter uma janela que mostra todo o Windows. Visualmente é como se o Internet Explorer fosse um programa nativo do Linux (exceto que a decoração da janela normalmente não é a mesma).

O segundo permite definir o quanto a máquina consumirá de memória, o tamanho do arquivo que representará o disco e até quanto de processamento ela pode consumir, deixando recursos preciosos para a máquina servidora. É possível também permitir acesso a aceleração 3D, dispositivos, etc.

É claro que todas essas opções variam de software para software, mas existem dois softwares muito bons: o Sun VirtualBox e o VMware. O primeiro é um software livre, já o segundo é proprietário mas tem algumas versões grátis.

Em suma, hoje a virtualização avançou muito e tornou-se uma realidade. As vantagens de utilizar um software de virtualização são muitas, desde que bem pesadas com as desvantagens de eficiência.

Compartilhe a sua opinião sobre o assunto na seção de comentários. Este é um tópico bem relevante, principalmente para programadores que muitas vezes precisam desenvolver softwares multiplataforma e, por isso, precisam testar o software em diversos sistemas.

Um Dia na Internet

Posted on : 08-01-2010 | By : schouery | In : Misc

Tags: ,

0

Segue um infográfico muito interessante sobre a internet que achei válido compartilhar com os leitores desse blog. Vale a pena dar uma olhada.

Um dia na Internet

Fonte Lifehacker

Mantenha a Última Aba do Firefox Aberta

Posted on : 06-01-2010 | By : schouery | In : Dicas, Firefox

Tags: , ,

0

Firefox Logo
Recentemente atualizei meu Windows Vista[bb] para o Windows 7[bb]. Uma das coisas mais interessantes no Windows 7 é a mudança de comportamento da barra de tarefas. Ela mantém agora apenas o ícone dos programas e permite fixar programas para serem abertos rapidamente. Uma mistura de barra de tarefas com o quick launch. Em suma, para o pessoal do Mac, é uma cópia do Dock.

Mas tem uma coisa que o Windows 7 não faz igual ao (Snow) Leopard: não é possível fechar as janelas de um programa sem fechar todo o programa (ou pelo menos não sei como fazer isso). Ou seja, no Mac é possível fechar todas as janelas do Firefox, mas deixa-lo rodando. Isso salva muito tempo no dia-a-dia, já que não temos que esperar o Firefox reiniciar todas as vezes que queremos navegar.

Procurando uma forma de ter o mesmo resultado no Windows 7, achei uma configuração que faz com que o Firefox[bb] criei uma aba nova quando fechamos todas as outras abas. Isso faz com que se quisermos fechar o Firefox, temos que usar ou o atalho (Alt+F4) ou clicar no botão de fechar da janela do Firefox. Se fecharmos as abas pelo clique no botão da aba ou pelo atalho (Ctrl+W), ao fechar a última aba não fecharemos o Firefox. Basta então minimizar o Firefox para ter o efeito desejado.

Para alterar a configuração, entre no about:config, busque por
browser.tabs.closeWindowWithLastTab

e mude o valor para false.

Não é o efeito desejado, mas resolve o problema. O problema é quando fechamos a janela toda e não as abas, ai precisamos reiniciar o Firefox para usar. Mas de qualquer forma fica a dica. Se você gostou da idéia ou tem outra dica de Firefox, mande um comentário.

Fonte: Lifehacker Austrália