Archive for the 'meus projetos' Category

Software Livre no CEFET-PE

Eu deveria ter anunciado isso antes, mas minha memória infelizmente me traiu. Está um pouco tarde, mas vou anunciar mesmo assim. Neste próximo fim-de-semana, na sexta-feira e no sábado (dias 5 e 6), acontecerá o 1o Encontro de Software Livre do CEFET – PE.

Eu estarei lá nos dois dias e vou fazer uma pequena apresentação sobre a plataforma Eclipse, com a qual trabalho há um pouco mais de dois anos. Acho que já andei falando do EclipseFP aqui…

Estou realmente ansioso por este evento. O pessoal da organização tem feito um ótimo trabalho e tenho certeza que todo o esforço deles será coroado com um evento de sucesso.

Recomendado para qualquer um que esteja envolvido (ou esteja considerando se envolver) de alguma forma com software livre. É um evento não só para entusiastas, mas para todo e qualquer tipo de curioso.

Projeto ganha nome

E o nome é Motiro.

Motiro é uma palavra tupi-guarani que, no português moderno, deu origem a mutirão. Os linguistas de plantão podem corrigir, pois a grafia original é motirõ. Nós apenas decidimos remover o til para dar uma sonoridade diferente.

Mutirão é uma reunião para trabalho em um objetivo de interesse de todos os participantes. Exemplos bastante comuns são as colheitas e construção de moradias. Num mutirão as pessoas se ajudam mutuamente a fim de dividir o resultado final do trabalho. Todos trabalham para todos os outros e para si mesmos. Não há mecanismos de centralização de poder, ninguém é imposto como chefe. Ao invés disso há lideres, e eles emergem naturalmente durante a atividade.

Um mutirão é uma organização dinâmica e descentralizada. Nele a responsabilidade é dividida ao máximo entre todos os participantes. Cada participante escolhe uma pequena parte do trabalho, extremamente fácil de ser gerenciada, de acordo com o que julga ser melhor para a comunidade como um todo.

Esta descentralização da capacidade de decisão é um dos pilares da filosofia Just-in-time que, aliás, funciona bem para construção de motores a jato e pode funcionar também para projeto de software, como mostram Mary e Tom Poppendieck em seu Lean Software Development: An Agile Toolkit.

Quem estiver interessado pode contactar a Equipe Motiro através de um grupo de discussão hospedado no Google Groups ou visitar a página do projeto (que está em construção) no BerliOS Developer.

Atualização em 30 de março de 2006: reelaborei alguns trechos sobre Lean e Just-in-Time depois de discutir o assunto com Carlos Miranda. Estou mais confortável com o novo texto. Obrigado, Carlos.

EclipseFP 0.9.1 disponível

Hoje foi publicado o release 0.9.1 do projeto EclipseFP. Estou trabalhando neste projeto desde outubro do ano passado e este é o primeiro release de que participo.

O EclipseFP é uma IDE para a linguagem Haskell baseada na plataforma Eclipse. A intenção é ter algo como um HDT (uma a sigla para Haskell Development Tooling), parecido com o JDT (a IDE de Java do Eclipse), com suporte a coisas como assistente de código, refactoring e debugging.

Neste release a maior parte do meu trabalho foi centrada em construir um parser para Haskell em Java. O parser antigo era escrito em Haskell e acessado pelo código Java através de JNI. Uma desvantagem grande dele é que só havia uma versão para plataformas win32, o que quer dizer que os usuários de outras plataformas como Linux e Mac OSX não tinham acesso a nada que envolvia o parser. Agora eles têm.

Para o próximo release estou pensando em trabalhar no suporte ao compilador e no modelo da linguagem, indispensável para termos coisas como ‘Abrir declaração’ (tecla F3 no Eclipse/JDT).

Novo projeto

Acredito bastante na eficácia de equipes auto-gerenciadas, formadas por programadores qualificados e motivados. Em contraposição à equipe com um gerente razoavelmente motivado e programadores subordinados a ele não tão motivados assim, o que em muitos casos os torna desqualificados.

Para estas equipes auto-gerenciadas atingirem seu potencial máximo, elas precisam do mesmo material que o gerente centralizado precisa: informação. Obviamente, a informação precisa ser democraticamente distribuída. Todo programador (provavemente também todo usuário) é um agente para a melhoria, por isso todos precisam ter acesso fácil à informação.

Por isso, estou iniciando um novo projeto. A idéia é fazer um portal para projetos de desenvolvimento de software, um local onde a comunidade possa se reunir e rapidamente obter informações sobre o bem-estar geral do produto. Em poucas palavras: reunir em um só local a multitude de informação encontradas em um projeto típico. Coisas como contribuições em código ao repositório de controle de versão, alterações na wiki, situação do build e mensagens nas listas de discussão. Deste caldeirão de informação, deste caos aparente, podem surgir idéias maravilhosas. Só é preciso deixar tudo ferver e esperar acontecer.

Este projeto vai ser desenvolvido em código-aberto, em algum site do tipo Source Forge ou BerliOS. Mais notícias em breve.