Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 21:00 , por Desconhecido - | No one following this article yet.
In this blog I share technical information, write about projects I'm involved with, or about cool/fun/interesting stuff I find.

Novos blogs no Planeta PSL-BA

26 de Abril de 2010, 21:00, por Desconhecido - 22 comentários

Alguns dias atrás lancei uma chamada de blogs para o Planeta PSL-BA, o agregador de blogs na Bahia ligados a software livre. Até agora temos 7 8 9 10 11 12 13 novos blogs, aos quais eu desejo boas-vindas e espero que possamos compartilhar várias idéias. São eles:

Se você é baiano e/ou está na Bahia, trabalha com software livre e quer ter o seu blog agregado no Planeta PSL-BA, é só seguir as instruções na chamada.

atualização (28/04): adicionado Leandro Nunes.

atualizacão (02/05): adicionado Gabriel "Pnordico" Menezes

atualização (03/05): adicionado Ataliba Neto

atualização (13/05): adicionado Live Blue

atualização (14/05): adicionado Wilson Baião

atualização (25/05): adicionado Leonardo Couto Conrado



Lançado Noosfero 0.23.0!

13 de Abril de 2010, 21:00, por Desconhecido - 0sem comentários ainda

É com alegria que anunciamos o lançamento da versão 0.23.0 do seu mais querido software livre para redes sociais. :-)

Novas funcionalidades (para usuários)

Esta versão traz várias melhorias de usabilidade, o que torna a experiência inicial do usuário muito melhor.

  • Link visível para feeds RSS (#1475). Agora o Noosfero vai mostrar um ícone de feed RSS ao lado da descrição do blog. Este link vai ajudar usuários cujo browser não exibe ícones de feed na barra de endereço, como por exemplo usuários de plataformas embarcadas (smartphones) e de quiosques de internet usando tela cheia.
  • Melhorias na caixa de notificação (#1474). Alteramos o estilo padrão da caixa de notificação para que ela seja mais visível, e ao mesmo tempo continue sem atrapalhar.
  • Layout com largura fixa (#1449). O tema padrão agora tem largura fixa. Dessa forma é mais fácil antecipar como o Noosfero vai aparecer para os usuários indenpendente da sua resolução de tela. Nós encorajamos a todos que estejam fazendo temas a fazerem o mesmo.
  • Desbloqueio de empreendimentos (#1402). Quando um empreendimento é bloqueado após uma tentativa não sucedidade de ativação, o adminitrador do ambiente poderá agora desbloquear o empreendimento diretamente através da interface do sistema.
  • Registro em configurações multi-ambiente  (#1448). Com essa mudança, agora é possível ter usuários com mesmo login ou e-mail em ambientes diferentes no mesmo servidor.
  • Por último, mas não menos importante, agradecemos à Ynternet.org por financiar várias melhorias de usabilidade (#1404, #1407, #1403, #1408, #1405).

Melhorias de infra-estrutura

  • Otimização para os clientes (#1425). Temos conduzido estudos de desempenho do Noosfero, e uma das coisas em que decidimos trabalhar foi na otimização do HTML gerado pelo Noosfero. Reduzindo o úmero de arquivos externos referenciados pelo HTML (folhas de estilo e arquivos javascript), e adicionando configurações no servidor web que instruam os clientes a fazer cache local desses arquivos, conseguimos melhorar nossa nota de E para B na escala do YSlow.
  • Deixando Ruby-GetText em favor de fast_gettext na infra-estrutura de tradução (#1315). Nós temos lutado contra problemas na tradução que eram difíceis, ou mesmo impossíveis, de reproduzir localmente. Em sites de alto tráfego, parece que algumas instâncias de mongrel ficavam travadas num único idioma e os usuários eram surpreendidos por mensagens em idiomas diferentes daquele de sua preferência. Nossa hipótese é de que esse problema era causado pela falta de thread-safety(*) tanto no Rails 2.1 como no Ruby-GetText (pelo menos na versão no Debian estável). Nós então substituímos Ruby-Gettext com fast_gettext. Além de ser thread-safe(*), fast_gettext é bem mais rápida e consome menos memória do que Ruby-GetText. Nós ainda usamos a Ruby-GetText para a gestão das traduções, porém. Como nós nunca conseguimos produzir os problemas na tradução localmente, não podemos ter certeza de que isso vai resolver o problema. Mas nossa análise cuidadosa demonstrou analiticamente que o problema será de fato resolvido.
(*) NT: infelizmente não conseguimos uma boa tradução para thread-safety e thread-safe. O conceito está relacionado à capacidade de um software de atender requisições simultâneas sem que uma interfira na outra.

Sobre o projeto Noosfero

O Noosfero é uma plataforma web livre para redes sociais que possui as funcionalidades de Blog, e-Portfolios, RSS, discussão temática e agenda de eventos num mesmo sistema! O Noosfero utiliza a linguagem de programação Ruby com framework Rails e, portanto, suporta bancos de dados, PostgreSQL, MySQL, SQLite entre outros.

Mais informações sobre o projeto Noosfero podem ser encontradas no seu site oficial: noosfero.org. Informações sobre suporte comercial e serviços relacionados podem ser obtidas com a Colivre.



Lançada versão 0.22.0 do Noosfero

10 de Fevereiro de 2010, 22:00, por Desconhecido - 0sem comentários ainda

É com grande prazer que gostaríamos de anunciar o lançamento da versão 0.22.0 do Noosfero, a sua plataforma livre preferida para redes sociais. Em primeiro lugar, gostaríamos de agradecer à Associação Software Livre.Org e à Safernet Brasil por apoiar o desenvolvimento desta versão. Eles nos demandaram funcionalidades bastante interessantes, como você poderá ver abaixo. As funcionalidades estão agrupadas por público alvo interessado. Divirtam-se! smile

Noosfero 0.22.0
Novo tema padrão do Noosfero

Para usuários

  • Novo bloco de slideshow (#1357, #1358).  Agora você pode ter blocos que mostram suas fotos, e você ainda pode escolher se quer exibí-las na ordem ou em ordem aleatória, e se quer exibir ou não controles de navegação (anterior/pause/próxima).
  • Melhor navegação em galerias de imagens (#1367). Agora você pode navegar entre as imagens de uma galeria de imagens através de convenientes botões "anterior" e "próxima", mesmo fora do modo de slideshow em tela cheia.
  • Convite para entrar em comunidades (#1275). Os administradores de comunidades podem convidar por e-mail os seus amigos para entrarem em suas comunidades. Assim como na funcionalidades de convidar amigos, você pode tanto informar manualmente uma lista de endereços de e-mail ou pesquisa na sua lista de contatos dos principais serviços de webmail. Para convidar, basta clicar no novo ícone na listagem de membros da comunidade, ou em "Painel de Controle" → "Gerenciar membros".
  • Perfil privados (#1273). Agora perfis (usuários ou comunidades) privados são listados em resultados de busca e em outros lugares. Quando alguém tenta visualizar o conteúdo daquele perfil sem ser um mebro (ou amigo, no caso de perfis de usuários), uma mensagem interessante é exibida e o visitante tem a possibilidade se solicitar entrada na comunidade (ou adicionar como amigo, no caso de perfil de usuários).
  • Página de perfil melhorada. Agora o perfil dos usuários é exibido num estilo muito mais interessante e com mais informações úteis.
  • Documentação online (#1359, #1360). O Noosfero agora conta com infra-estrutura para exibir a sua própria documentação online. Os usuários podem acessar minharede/doc no Noofero e ler a documentação fornecida no seu idioma nativo. Por enquanto, existe documentação das seguintes funcionalidades:
    • Gestão de conteúdo : postar no blog, adicionar imagens numa galeria, edição avançada de texto (inserção de imagens e links), gerenciar seu conteúdo, criar um blog, escrever um artigo.
    • Funcionalidades de usuário: Sair do Sistema, Remover Amigos, Enviar mensagens, Remover comentários, Aceitar Amigos, Editar configurações do usuário, Comentar artigos, Adicionar Amigos, Registro de novo usuário, Entrar numa comunidade, Entrar no sistema.
    • Funcionalidades para empreendimentos: Desabilitar o empreendimento, Ativar o Empreendimento, Gerenciar e Adicionar membros ao empreendimento, Editar configurações do empreendimento.
    • Navegação: Buscando no sistema, Encontrando pessoas, Encontrando produtos e serviços,  Encontrando Empreendimentos, Encontrando comunidades, Busca Avançada
    Se você ficar com vontade de escrever documentação para o Noosfero, sinta-se à vontade para nos contactar.

Para desenvolvedores

  • Foi adicionado suporte para testar temas específicos em modo de desenvolvimento. Se você passar um parâmetro theme pela URL, Noosfero vai exibir o tema indicado ao invés do tema atual do ambiente. Por exemplo, http://localhost:3000/?theme=mytheme vai exibir a homepage do Noosfero usando o tema "mytheme" ao invés do tema atualmente configurado para o ambiente.
  • O comando rake test agora roda também os testes no selenium através do xvfb. Assim nosso servidor de integração contínua poderá rodar sempre todos os teste.
  • Talvez a funcionalidade mais importante para desenvolvedores seja o  novo tema padrão. Baseado no tema do Software Livre Brasil, o novo tema fornece uma experiência inicial muito melhor. Na verdade existem dois novos temas, o tema "base" define a formatação de todo o sistema, e o tema "noosfero" apenas herda toda essa formatação e inclui o logo "Noosfero" na barra superior. Desenvolvedores podem usa uma abordagem parecida para os seus próprios temas: nós recomandamos reusar a maioria da formatação de temanhos e positionamento do tema base e apenas mudar cores, imagens e fundos nos seus temas. Desta forma o trabalho de criar um tema é bastante reduzido e há menos risco de que o tema não forneça o estilo necessário para a interface de usuário do Noosfero. Confira o código do tema noosfero para ver como fazer.
  • Novo script "quick start" para Debian. Usuário de Debian agora tem um um script simples que instala automaticamente tudo que é necessário para rodar uma instância de desenvolvimento do Noosfero. Basta baixar o código, rodar  ./script/quick-start-debian e apontar o navegador para http://localhost:3000 e começar a testar o Noosfero! Esta facilidade é dada aos usuários Debian porque nós usamos Debian na Colivre. Encorajamos a comunidade a contribuir scripts parecidos para ajudar usuários de outros sistemas a iniciar a contribuir com o Noosfero.

Sobre o projeto Noosfero

O Noosfero é uma plataforma web para redes sociais que possui as funcionalidades de Blog, e-Portfolios, RSS, discussão temática e agenda de eventos num mesmo sistema! O projeto é liderado pela Colivre, e é licenciado sob a GNU Affero General Public License.



Se o meu Foswiki falasse ...

23 de Janeiro de 2010, 22:00, por Desconhecido

Foswiki: the Free and Open Source WikiJá faz algum tempo que eu não posto nada aqui. Para inagurar 2010, nesse post eu gostaria de contar um pouco da minha história num dos projetos de software livre que eu colaboro a mais tempo: o Foswiki. Apesar do projeto existir com esse nome há a apenas pouco mais de um ano, a comunidade que o desenvolve trabalha nele há quase dez anos.

Às vezes é difícil descrever o que é o Foswiki pra alguém que não o conhece. "Como descrever o Foswiki durante um encontro com um amigo no elevador" é um debate recorrente na comunidade. A minha descrição marketeira seria a seguinte: o Foswiki é um wiki integrado a um banco de dados; seus usuários podem, num mesmo espaço virtual, colaborar na criação de um texto e criar aplicativos para gerenciar diversos tipos de informação. Incidentalmente ele serve também como um sistema de gerenciamento de conteúdo avançado e pode ser usado para fazer websites.

Uma descrição tecnicamente mais precisa é a seguinte: Foswiki é uma plataforma wiki que segue a filosofia de wiki estruturado: cada tópico do wiki, além do seu texto, pode conter dados estruturados (campos) de diversos tipos, e esses campos podem ser usados em aplicações que realizam busca, classificação, inserção/ateração desses dados, entre outras coisas. Além disso o Foswiki é altamente extensível e conta com uma ampla gama de extensões que adicionam funcionalidade: avisos de atualização por e-mail, galerias de imagens, gráficos, skins, busca SQL-like, busca full text, ferramentas de desenvolvimento, planilha eletrônica, impressão e exportação de PDF. A lista é tão grande que é mais fácil conferir a lista completa e procurar pelo que for do seu interesse.

Ufba2Brasaoim3

Tudo começou no grupo de administração da rede do IM, o antigo GAVRI. Precisávamos de uma plataforma onde pudéssemos documentar nossas atividades de uma forma um pouco mais amigável do que os relatórios em arquivos texto que usávamos até então. Isso deveria ser 2001, e wikis na época era uma novidade.  Depois de tentar o PhpWiki, o que não deu muito certo, encontramos o TWiki® e sentimos que com aquele dava pra ir em frente. A primeira usuária externa ao grupo foi a professora Sônia, que queria colocar colocar um curso de Matemática Básica (nome dado à disciplina de Geometria Analítica no IM, até hoje eu não sei por quê) on-line e foi nossa cobaia. O wiki do IM, que depois virou wiki do DCC, ganhou uma quantidade bastante grande de usários, e cresceu tanto que hoje são usados dois wikis separados, um para disciplinas do departamento, mantido restrito aos usuários da rede e um outro público, onde projetos apoiados pelo departamento (e.g. o PSL-BA) e alguns dos seus grupos de pesquisa teem suas páginas e espaços de trabalho.

wiki.softwarelivre.orgEm 2004 fui morar em Porto Alegre pra cursar o mestrado do Instituto de Informática da UFRGS, e acabei me envolvendo na ASL. Comecei a administrar o wiki.softwarelivre.org, que hoje é usado por vários grupos de software livre como site e/ou plataforma colaborativa, e que é possivelmente o maior site Foswiki que eu conheço. A essa altura eu já era um usuário e administrador experiente, com 3 anos de prática, e estava me coçando pra ir mais longe.

Eu comecei a contribuir ainda na época do TWiki®. Resolvi começar no projeto através do desenvolvimento de plugins, sempre tentando resolver algum problema meu: o meu primeiro plugin foi o BibliographyPlugin. O objetivo dele é gerenciar de forma estruturada referências bibliográficas usadas num texto. O seu design é mais ou menos inspirado no BibTeX. Depois disso veio o SvgPlugin, para exibir imagens SVG no corpo do texto; na época não existia ainda suporte nativo a SVG nos browsers modernos, e esse plugin rasterizava os desenhos usando Image::LibRSVG e gerava uma referência a uma rasterização do desenho em PNG, e dessa forma o desenho podia ser exibido no corpo do texto. Na época eu também iniciava no Debian, e acabei empacotando essa biblioteca pra facilitar a instalação do plugin. Depois disso eu e Aurélio nos aventuramos em fazer uma skin que possibilitasse editar o layout de uma web através do próprio browser (o conteúdo num site TWiki®/Foswiki é dividido em webs, que são como se fossem sub-sites independentes). Essa foi uma abordagem inovadora na época; posteriormente foi adicionado suporte a isso no core do TWiki® e nossa skin ficou obsoleta.

Depois eu resolvi que era hora de trabalhar com o core do TWiki®. Uma coisa que me incomodava é que o TWiki® era difícil para os usuários com quem eu tinha contato em função de ser totalmente em inglês. Desse jeito, eu desenvolvi a infra-estrutura de tradução da interface de usuário, e catei todas as strings no código Perl e nos templates marcando elas pra tradução. Durante esse processo aprendi a maioria das coisas que eu sei hoje sobre internacionalização e localização, e é muito legal saber que hoje as pessoas, não só no Brasil, teem acesso à interface do Foswiki no seu idioma nativo por causa do meu trabalho. Depois disso eu fiquei um tempo coordenando o processo de tradução, até que eu declinei dessa tarefa e fui substituído pelo ótimo Aldre Ulrich que desde então vem coordenando os tradutores no novo projeto.

Depois de poder ter a interface traduzida no idioma local, era preciso uma estratégia para manter versões traduzidas de tópicos inteiros, e então veio o TopicTranslationsPlugin, que é bastante utilizado por aí (eu pelo menos uso bastante. ;-))

ColivrePor um tempo eu fiquei afastado do projeto em função de trabalho. Em 2006 já estava de volta a Salvador e a Colivre acabava de ser fundada. A maioria dos fundadores estava bastante acostumada com se organizar através do TWiki®, e essa foi uma escolha natural para a nossa intranet. Hoje rodando Foswiki, através dela organizamos grande parte do nosso fluxo de trabalho, desde a elaboração de propostas comerciais até a gestão de diversos aspectos da empresa, e claro, armazenando toneladas de documentação. Além disso temos produzidos diversos sites com Foswiki, e fazemos questão de incluir no serviço um tempo para formação dos clientes de forma que eles possam atualizar os seus sites sozinhos, e não se tornem dependentes da Colivre (afinal, esse é o ponto de se optar por software livre, certo?)

Em 2007, já cursando o doutorado na UFBA, Gilmar me intimou a orientar o projeto de conclusão de curso dele, cujo idéia original era implementar formas de poder planejar o uso de recursos do TWiki®. No final das contas, ele acabou refatorando uma boa parte do projeto para permitir executar o Foswiki de várias formas diferentes, algumas das quais suportam bem o planejamento de capacidade, principalmente em termos de consumo de memória. A interação com Gilmar durante o trabalho dele fez eu me reaproximar um pouco do projeto, e o resultado foi tão sensacional que eu fiquei empolgado com as possibilidades.

No final de 2008, a nossa história sofre uma reviravolta significativa. Alguns meses antes, Peter Thoeny, o fundador do projeto TWiki®, havia fundado um empresa chamada TWIKI.NET para prestar serviços com TWiki. Até aí tudo bem, vários desenvolvedores tinham suas próprias empresas especialidas em TWiki®. Mas ele começou a utilizar o site do projeto para fazer propaganda da sua empresa, de uma forma que ninguém nunca tinha feito (veja você mesmo o que se tornou o site hoje). Isso iniciou um processo de disputa no projeto para definição de uma forma de governança, em especial para delimitar o que pode e o que não pode. Havia uma divisão muito clara no projeto, e o Peter fazia questão de sempre dar a última palavra.

Depois de um tempo, e de discussões das quais eu não participei, ele fez valer o fato de ser o dono da marca TWiki® (e é por isso que, em tom de pirraça, nós sempre fazemos questão de ressaltar que TWiki® é marca registrada de Peter Thoeny e TWIKI.NET, daí o tanto de ® nesse post) , e numa atitude completamente arbitrária expulsou todos do projeto, convidando a voltar na condição de aceitar novos termos impostos por ele. Para a desgraça do TWiki®, muito pouca gente voltou.

Segundo Thoeny, o TWiki® adotou o modelo de governança do Ubuntu, e isso foi abençoado ("blessed") pelo próprio Jono Bacon, funcionário da Canonical e Community Manager do Ubuntu.

O modelo de governança do Ubuntu, do ponto de vista de alguém que está de fora, não me parece necessariamente ruim. Eu li recentemente o The Art of Community, eu acho até que é um bom modelo do ponto de vista teórico. O que o Peter esqueceu de ponderar, no entanto, é que a situação no Ubuntu é completamente diferente da situação em que o TWiki® se encontrava: no Ubuntu, os funcionários da Canonical realizam uma grande parte do trabalho pesado e garantem a plataforma. Além do Peter (cujas contribuições sempre foram relevantes, apesar de cada vez menos em forma de código), a TWIKI.NET tinha um único funcionário produzindo quase nada de código e o mais valioso recurso em sua posse era a marca registrada. A comunidade, no entanto contribuía muito mais que a TWIKI.NET.

Dessa forma, todos os outros desenvolvedores resolveram deixar o TWiki® e continuar o projeto sob um outro nome. Depois de um processo democrático, e apoiado por um copywriter profissional, chegou-se ao novo nome do projeto: Foswiki. A comunidade brasileira seguiu o mesmo caminho junto com a comundade internacional.

De lá pra cá, o TWiki® encontra-se largado às traças e o Foswiki avança a passos largos. A comunidade Foswiki teve o cuidado de manter a compatibilidade retroativa com o TWiki®, de forma que é bastante tranquilo trocá-lo pelo Foswiki. Eu diria até que é recomendado trocá-lo por Foswiki: além de ter uma comunidade muito mais ativa para suporte, existem definitivamente muito mais empresas realmente qualificadas trabalhando com o Foswiki para suporte comercial. Além disso, o Foswiki é muito mais ativo na correção de erros, e tem inovado muito mais rápido: vários plugins novos, a exemplo do maravilhoso FlotChartPlugin, veem sendo disponibilizados apenas no Foswiki.

Desde o lançamento do Foswiki, eu tenho vagarosamente me livrado do TWiki® em favor do novo projeto. Hoje felizmente não sou mais responsável por nenhum TWiki®. Todos os servidores que eu administro e que rodavam TWiki® já foram devidamente atualizados para Foswiki.

No wiki.softwarelivre.org, que já foi convertido para Foswiki, tenho uma novidade boa: depois de muito tempo carregando no lombo sozinho, agora eu tenho uma ajuda fantástica na administração do servidor. Ítalo vem me ajudando já faz um tempinho, e ele fez a maioria do trabalho de atualização para o Foswiki. Além disso ele tem feito a maior parte do trabalho de administração diário. Isso sem falar que durante o processo ele foi aceito como desenvolvedor do Foswiki e eu já vi ele consertado vários bugs por lá. Valeu, Ítalo! :)

De algumas semanas pra cá, tenho tido a oportunidade fantástica de voltar a desenvolver no Foswiki: estamos trabalhando na Colivre para adicionar suporte a virtual hosting ao Foswiki, e em breve teremos novidades sobre isso. Face-smile



Detexify

16 de Outubro de 2009, 21:00, por Desconhecido - 33 comentários

Vi o link para o Detexify num post to Stefano Zacchiroli.

Detexify

Eu só tenho uma coisa a dizer: UAU.