terça-feira, 29 de setembro de 2009

Concurso Expresso Livre

O CONCURSO:
O Concurso para escolha do melhor Software Livre é um dos eventos anuais que se repete pela segunda vez
na LatinoWare. Desta vez resolvemos optar por temas que pudessem contribuir com o que de melhor tem
sido feito por desenvolvedores latino-americanos, de forma que possam ser apresentados e compartilhados
entre todos os participantes do evento e até mesmo integrando-o à ferramenta alvo.
O software escolhido para esta segunda edição do concurso, foi o Expresso Livre.
Todos os trabalhos submetidos serão avaliados por um juri formado por um representante de cada uma das
empresas do comitê gestor da comunidade Expresso Livre.
Este juri selecionará os dez melhores trabalhos para apresentação, os quais serão publicados em formato
eletrônico nos anais do Concurso. Todos os trabalhos selecionados para apresentação receberão certificados
de participação.
OS REQUISITOS:
Serão avaliados somente os softwares que atendam aos seguintes pré requisitos:
As soluções devem suportar versões de navegadores como Firefox 2 e 3, IE 6 e 7, quando possuir

interface WEB;
Os códigos gerados devem respeitar a API e ACLs do projeto Expresso;

Devem acompanhar documentação no formato odf;

As soluções não podem conter restrições em termos de licenças;

As soluções devem obrigatoriamente disponibilizar os códigos fonte.

OS TRABALHOS
Somente serão aceitos softwares que atendam a um dos seguintes objetivos:
Agregar novos módulos ao Expresso, o módulo deve possuir independência em relação aos módulos

já existentes bem como possuir opcionalidade na instalação e uso;
Usar o banco de dados PostGreSQL para criação de objetos de banco de dados, quando necessário;

A manutenção do módulo deverá ser feita via setup padrão do Expresso/Egroupware;

As funcionalidades específicas devem ser customizáveis com opcionalidade de uso.

Desenvolvimento de novas funcionalidades em módulos previamente existentes;

Devem respeitar API e estrutura dos módulos já existentes;

Não podem inviabilizar funcionalidades já existentes.

Inserir funcionalidades voltadas ao conceito de compartilhamento ou agrupamento de

interesses.
Edição de Documentos compartilhada

Desenvolvimento de funcionalidades que permitam a edição cooperativa de documentos , ou

seja, a possibilidade de visualização e edição por mais de um usuário ao mesmo tempo.
Outras rotinas, funcionalidade ou propostas pertinentes não enumeradas acima, mas que agreguem

inovação e usabilidade ao projeto Expresso;
A PREMIAÇÃO
O Concurso premiará os trabalhos classificados nos três primeiros lugares, como segue:
1o Lugar: Vale compras de US$ 300,00.
2o Lugar: Vale compras de US$ 200,00.
3o Lugar: Vale compras de US$ 100,00.
A premiação é atribuída ao autor principal de cada trabalho. A divulgação dos trabalhos premiados
acontecerá ao final da sessão de apresentações dos artigos. Os trabalhos selecionados para premiação que,
não forem apresentados, estarão desclassificados sendo automaticamente substituídos.
Além da premiação os cinco melhores trabalhos serão divulgados na Revista Linux Magazine, cujo foco
principal é a divulgação do Software Livre.
Todos os participantes do concurso devem estar inscritos na LatinoWare.
INSCRIÇÕES
No caso de haver manuais descritivos, eles deverão ser escritos em português ou espanhol e submetidos no
formato ODF.
As inscrições se darão mediante envio dos trabalhos(documentação e screenshot) para o e-mail:
concurso_expresso@serpro.gov.br,
PRAZOS
Inscrições via email(concurso_expresso@serpro.gov.br), com documentações anexadas até 15/10/2009.
Escolha dos melhores trabalhos: 16/10/2009-20/10/2009 pelo comitê gestor expressolivre.org.
Divulgação e apresentação : 24/10/2009 durante o Latinoware em Local a ser definido.

sexta-feira, 25 de setembro de 2009

Email público

To lançando uma idéia pra ver no que dá.

Email público

Você pode usar este email para se cadastrar em site e receber listas sem informar seus dados. Mas cuidado tudo será público

terça-feira, 15 de setembro de 2009

Operações de Shift e Rotate, GCC gera código esperto

Quem programa em C não tem um operador que realiza rotate de bits. Se quiser pode utilizar este recurso de fazer dois 'shift's e um 'or'.

typedef unsigned long int UINT4;
#define ROTATE_LEFT(x, n) (((x) << (n)) | ((x) >> (32-(n))))
UINT4 rotate (UINT4 a,UINT4 b)
{
return ROTATE_LEFT(a,b);
}


O problema que me deixou intrigado foi que a arquitetura Intel tem nativamente a instrução Rotate, e em caso de desempenho ao extremo 3 operações é muito pior que 1.
Mas olha a surpresa

.file "rotate.c"
.text
.globl rotate
.type rotate, @function
rotate:
pushl %ebp
movl %esp, %ebp
movl 12(%ebp), %ecx
movl 8(%ebp), %eax
roll %cl, %eax
popl %ebp
ret
.size rotate, .-rotate
.ident "GCC: (Debian 4.3.2-1.1) 4.3.2"
.section .note.GNU-stack,"",@progbits

Gcc gera sozinho a intrução rotate!

Por essa eu não contava