Thursday, November 15, 2007

"Ministério da Justiça e Software Livre"



O Orçamento de Estado 2008, contempla algumas prioridades TIC no Ministério da Justiça.
Neste artigo são colocadas as orientações estratégicas para o sector da Justiça, nomeadamente quanto à inovação tecnológica do Software Livre no apoio ao Sector Jurídico.

Saturday, September 22, 2007

De armas e bagagens: Pinguins Mágicos mudam para novas instalações

O Blog dos Pinguins Mágicos está de mudança de armas e bagagens para os Blogs do Sapo.
Se ainda não estão associados ao Blog peçam ao Pinguim Blog Keeper (João E.) para vos "convidar".
Ainda falta umas "obras" mas o novo blog parece estar totalmente operacional.. e com o histórico.

Monday, September 17, 2007

Carta à Comunidade


Está disponível desde hoje uma carta à Comunidade descrevendo algumas das apostas CM.
Ver Carta à Comunidade no ContribSoft.

Workshop hands-on entre grupos de OSS em Portugal

Teve hoje lugar no Laboratorio O2H uma Workshop hands-on promovida pela ADETTI / Caixa Mágica.
A Workshop destinou-se a trocar boas práticas, discutir metodologias e promover o contacto entre grupos de desenvolvimento OSS em Portugal.
A presença dependia de convite e aceitaram o repto: Caixa Mágica, Alinex, Angulo Solido, Firefox-PT e OpenOffice-PT.
Correu bastante bem e surgiram bastantes trocas de impressões e resultados práticos.
A apresentação da Caixa Mágica, responsabilidade no Flávio Moringa, está no ContribSoft (ver attachments).

Tuesday, September 11, 2007

O OOXML não foi aprovado... mas para não dizerem que foi politiquice...

... vejam aqui na prática as questões que este pseudo standard coloca:
http://ooxmlisdefectivebydesign.blogspot.com/

Como é que alguém pôde votar sim a esta coisa.... Só podem estar cegos e surdos (e deviam era estar mudos, mas parece que isso já não estão) ...

Ou então afinal foi mesmo politiquice (ou dinheirice... )...

E ainda ninguém me deu alguma razão minimamente válida para votar sim a esta coisa...

Thursday, August 30, 2007

Procuram-se MEPs (Mágicos de Elevado Potencial)




Se conhecerem pessoas que estejam dispostos a largar o "lado escuro" da força e juntar-se aos bons, a Caixa Mágica está a reforçar a sua equipa.


Existem dois perfis diferentes mas para ambos os casos procuram-se pessoas que queiram fazer parte duma equipa de MEPs e integrar projectos diferentemente exigentes:

  • Developer PERL ou PHP: procuram-se geeks apaixonados por uma ou as duas linguagens com experiência em desenvolvimento de soluções Web, de preferência em plataformas exigentes (e open source: Linux / BSD, Apache,..., claro). Se tiver contribuído para um projecto open source numa dessas linguagens tanto melhor. Pode ter cabelo comprido apesar da quota de rabos-de-cavalo já estar longamente ultrapassada.
  • Researcher para projecto europeu em Linux / OSS: alguém com licenciatura / mestrado e planos para tirar doutoramento. Que aguente a pressão. Comunicação principalmente em inglês. Duas componentes principais: A - desenvolvimento e B- escrita de papers / documentação.


A descrição mais clássica das oportunidades pode ser vista no Recrutamento Caixa Mágica.

Tuesday, August 21, 2007

I Fórum de Software Livre de Lisboa - 12 e 13 de outubro


Press-release:
Lisboa recebe o I Fórum de Software Livre

O Fórum acontece nos dias 12 e 13 de Outubro na FCUL (Faculdade de Ciências da Universidade de Lisboa.
Conta com o apoio da FCCN, GOOGLE, SUN, PHP-Magazine, ANSOL, ASL-Angola, DRI, Vertical One e muitas outras empresas do sector. O I FSL visa aprofundar a discussão sobre o uso e desenvolvimento de ferramentas abertas, não só como forma de aprofundar o conhecimento científico, mas também como ferramenta de trabalho e modelo de Negócios.
O fórum é subordinado ao tema do Software Livre ou Opensource, assim conhecido pela liberdade que oferece aos profissionais, académicos e demais de estudar as suas funcionalidades.
Muitas empresas mundiais geram ferramentas utilizando código fonte aberto, Nesse sentido, acabam por valorizar mais os profissionais e dar atenção aos serviços e não apenas a produtos ou licenças de software.
O modelo de desenvolvimento partilhado tem-se mostrado uma forma rápida e eficaz de corrigir "bugs", uma vez que ao lançarmos um software na Internet com acesso livre rapidamente recebemos sugestões de correcções e melhorias, no que diz respeito a funcionalidade e segurança.
Muitos países, como é o caso do BRASIL, já adoptaram o Software Livre como politica de redução de custos e valorização tecnológica interna, fortalecendo assim o mercado empresarial.

Ralf Braga, da coordenação geral do evento, acredita que o país deve investir em formação, devido a falta de mão-de-obra de profissionais em Software Livre.
O Linux é o Sistema Operativo mais conhecido e divulgado mundialmente, porém muitos esquecem-se de mencionar outros, como o OpenBSD, reconhecido com o Unix, mais seguro, não tendo falhas de segurança há mais de 9 anos, o FreeBSD e outros.
Muitos destes softwares serão abordados no evento, assim como representantes das comunidades e empresas que prestam apoio aos programas.
O Software Livre tem-se mostrado como uma óptima opção para vários modelos de negócios, sendo utilizado em diversos casos de sucesso na Europa e no Mundo.
Enfim, venham partilhar experiências neste 1º Fórum, ensinar, aprender, ouvir, falar, opinar... A sua presença é fundamental!
O lançamento oficial do evento acontece no próximo dia 31 de Julho, em local a designar no nosso site.

Mais informações em:

_http://www.softwarelivre.com.pt

Friday, August 3, 2007

Alguns links interessantes sobre o pseudo-formato OOXML

Do Paulo Querido:
http://pauloquerido.net/2007/08/como_se_mente_intoxica_e_manipula_a_opiniao_publica

E do Bob Sutor
http://www.sutor.com/newsite/blog-open/?p=1764

E um mais antigo indicado pelo Rui Seabra que acho muito bom:
http://www.freesoftwaremagazine.com/node/2110

Após o "Yes with Coments" decidido pela nossa "comissão técnica" é bom ver portugueses e estrangeiros que conseguem ter alguma visão...

Wednesday, August 1, 2007

Projecto de Resolução da AR: Software Livre no Parlamento

Num Blog, encontrei esta notícia que se referia à entrega na Assembleia da República de um Projecto de Resolução da AR, intitulado: Software Livre no Parlamento.

Aqui deixo como mera curiosidade e caso queiram consultar:


Tuesday, July 31, 2007

OOXML: aprovação

Foi hoje aprovado por 13 votos a favor e 7 contra, a posição favorável da Comissão Técnica de análise do OOXML da Microsoft para norma ISO.

Tuesday, July 17, 2007

Timeline das distribuições Linux


Tenho no meu gabinete um do Unix + Windows, mas este não conhecia.
Lá está a CM... e que confusão vai dar as ligações provocadas pela versão 12...

Thursday, July 12, 2007

Aindo o pseudo-standard OOXML...

No seguimento do meu post anterior (http://pinguinsmagicos.blogspot.com/2007/07/avaliao-do-ooxml-como-norma-iso.html), fez-se mais uma descoberta excelente sobre este bellissimo wannabe standard:
http://www.robweir.com/blog/2007/07/formula-for-failure.html

Nas funções trignométricas da Open XML SIN (Part 4, Section 3.17.7.287), COS (Part 4, Section 3.17.7.50) e TAN (Part 4, Section 3.17.7.313) esqueceram-se de indicar se os seus argumentos são ângulos expressos em radianos ou graus (retirado do blog http://aindaapensar.blogspot.com), isto entre outras pérolas....

Portanto se a questão da comissão técnica para aprovação do OOXML for só pelas questão verdadeiramente técnicas da especificação já são as datas, as expressões trigonométricas, o obrigar a ser compatível com formatos antigos fechados... Eu não consigo perceber como é que esta norma de treta pode alguma vez ser aprovada por pessoas com o mínimo de informação...

No TEK do sapo (http://tek.sapo.pt/4L0/756449.html) o Marco Santos da Microsoft defende o OOXML dizendo que "Só em Portugal já são 27 dos ISVs a trabalhar com open XML. "... ora é óbvio que as empresas "patrocinadas" pela Microsoft vão usar a norma.. tal como também já geravam documentos office pelo formato fechado... mas qual é a novidade??? Empresas como a Primavera e a PHC naturalmente que defendem o OOXML porque todo o seu negócio roda à volta de produtos Microsoft e não iam agora dizer mal desses produtos... Constatar o óbvio parece ser uma forma de defender o formato.. visto não arranjarem vantagens técnicas...

Segunda feira se verá se Portugal mais uma vez cairá aos pés da Microsoft ou se pelo menos desta vez conseguirá mostrar que é mais do que um vassalo desta...

Um questão? Quantos novos vogais vão ser propostos para a comissão técnica pela Microsoft e de que empresas? Quantos desses serão ministros ? é uma dúvida interessante.. afinal da última vez que o Bill Gates cá esteve foram 8 ministros...

Monday, July 9, 2007

How To Scale a Web Application

Aqui fica uma apresentação feita por Cuong Do. Esta apresentação mostra a evolução do desenvolvimento do youtube e as soluções que foram utilizadas para manter a disponibilidade do site elevada.
Esta apresentação foi feita na Seattle Conference on Scalability.



Novo site do Min. Economia e Inovação

Boas!

Não sei se já alguém reparou, mas o MEI tem um novo sítio e, como indicado numa das páginas de ajuda, deveria funcionar em Firefox. No entanto, quando se começa a navegar percebe-se que isso não é bem verdade. Por exemplo, percebi que existia um menu lateral (esquerdo) quando passei com o rato por cima sem querer.

Juntamente com o novo site foi lançado também o sítio para o evento Por TI 2007, um evento sobre as tecnologias de informação em Portugal onde a Caixa Mágica terá presença. Este sítio tem indicado explicitamente no fundo das páginas que foi desenvolvido para o Internet Explorer, nem sequer consideraram a hipótese de suportar outros navegadores de internet.

Para quem ainda não conheça o evento, o link para o sítio é:
http://prototipo.edigma.com/porti/public/#

Sunday, July 8, 2007

Bounty Firefox: atirar a toalha ao tapete...

Introdução
Construir uma dist de Linux, na CMS e no O2H Lab, é por vezes olhar um pouco mais além. É por isso que os pinguins mágicos são envolvidos e apoiados em idas a conferências, formação e desafios intelectualmente exigentes.
Lancei o desafio ao Mário Morgado de durante 3 dias olhar comigo para o bounty de 1.000 euros do Firefox.
Ao fim dos 3 dias, tínhamos evoluído bastante.
Continuei mais 5 dias a a horas desaconselháveis de madrugada e aqui fica o resultado.

O problema prendia-se com um certificado que, aparentemente bem assinado, mas que não era comido pelo Firefox apesar de ser comido pelo openssl, IE,... Refs uteis: 1,2 e 3.

Quando se acede a: https://private.eu2007.pt/, o servidor envia 3 certificados para confirmar a chain de segurança (ou seja, para validar que o site é mesmo quem diz que é...).
[CERT01] certificado do private.eu.pt assinado pela ECCE
[CERT02] certificado da ECCE assinado pela ECRaizEstado
[CERT03] certificado da ECRaizEstado assinado pela GTE CyberTrust Global Root

A GTE é uma root CA pelo que o certificado não era enviado e está obviamente built-in no browser.

Já agora, eu e o Mário utilizámos uma ferramenta que não vi ainda descrita em nenhum sitio:
nss-3.7.2/bin//ssltap -f -sx -p 2004 private.eu2007.pt

Que faz "tapping" da ligação e que depois permite ligar um browser à porta desejada (2004) e sacar os certificados enviados. Isto foi útil para logo desde início ter os certificados...
Já agora, um exemplo do início de um certificado:
Certificate:
Data:
Version: 3 (0x2)
Serial Number:
00:82:ba:51:07:ea:43:b1:46:7c:08:ce:5b:23:0a:72
Signature Algorithm: PKCS #1 SHA-1 With RSA Encryption
Issuer: CN=ECCE,OU=ECEstado,O=SCEE,C=PT
Validity:
Not Before: Fri Jun 22 17:37:18 2007
Not After: Sun Jun 22 17:37:18 2008
Subject: CN=private.eu2007.pt,OU=Missao Presidencia,O=Ministerio dos Negocios Estrangeiros,L=Lisboa,ST=Lisboa,C=PT


Identificação do problema

Após 3 dias, a comunidade não andou longe. O problema era que no certificado 2 o issuer tinha ECRaizEstado como sendo do tipo UTF8STRING mas no certificado 3 o subject ECRaizEstado estava como PRINTABLESTRING. Para isso utilizámos:
openssl asn1parse -inform DER -in cert.003

Eu e o Mário percebemos isto quando carregámos o certificado raíz no browser http://www.scee.gov.pt/ecee/certificados/ECRaizEstado.crt e passou a aceitar o site. Ou seja, a quebra na chain tinha de ser ECRaizEstado - GTE.

Podemos ter interpretado mal, mas a identificação do problema não foi totalmente bem feita até ao momento.
Não é o encoding (ou seja, o processo de codificar o campo SubjectName ou Issuer em UTF / PrintableString) que está a dar problema.
É o tipo do campo ser utilizado para a hashtable e para o seu lookup.

Comprovar o problema
O que se passa é que o Firefox utiliza o subject name+types como key para a HashTable. Mas o SubjectName utilizado é o array de bytes directamente extraído do DER.
Exemplo:
data = 0x8fdc10e "\f\004SCEE1\0250\023\006\003U\004\003\f\fECRaizEstado0\036\027\r060703142700Z\027\r180623084947Z0>1\v0\t\006\003U\004\006\023\002PT1\r0\v\006\003U\004\n\f\004SCEE1\0210\017\006\003U\004\v\f\bECEstado1\r0\v\006\003U\004\003\f\004ECCE0\202\001\"0\r\006\t*\206H\206\uffff\r\001\001\001\005", len = 6}

1.- A primeira abordagem foi tentar "martelar" na função de encoding para um determinado tipo.
Estupidos. Claro que não resultou porque depois ele ia verificar a assinatura / integridade do certificado e estava errado.

2.- A segunda foi, na função nssCertStore_FindCertByIssuerAndSerialNumberLocked(), utilizando o gdb "martelar" em memória o valor do tipo do subject para PrintableString:
set {char } 0x8fd6e2f='\023'
set {char } 0x8fd6e20='\023'


Ou seja, se virem acima, antes de ECRaizEstado existe dois bytes representandos em char como "\f\f". O primeiro deles é o tipo e '\f' é o SEC_ASN1_UTF8_STRINGE e o '\023' é o 'SEC_ASN1_PRINTABLE_STRING'.
Testando deu:


Touché.
Tínhamos a root chain completa e a possível solução.
Era então escrever umas linhas de código e ir levantar o cheque! Sim.. Sim...Estúpidos...

Solução

1.- A primeira abordagem era construir o SubjectName utilizado na hash sem o campo "tipo".
Para tal, talvez fosse possível alterar o template ASN1 no certdb.c que era utilizado para ir buscar o subject ao DER:
const SEC_ASN1Template SEC_CertSubjectTemplate[] = {
. { SEC_ASN1_SEQUENCE,
0, NULL, sizeof(SECItem) },
[snip...]
{ SEC_ASN1_SKIP }, /* validity */
{ SEC_ASN1_ANY, 0, NULL }, /* subject */
{ SEC_ASN1_SKIP_REST },
{ 0 }

Mas não foi possível porque, do nosso conhecimento, não conseguimos evitar os campos type no subject utilizando o mecanismo de templating. Mesmo com algumas tentativas com offset's (mas os campos type estão salteados dentro do subject, recordamos que existem vários subcampos no subject como CN=, OU=,O=...) ou com substructs.

2.- Mas se o openssl funcionava bem, porque não o código nss do Firefox?
Porque o openssl não guarda o campo "type" para efeitos de comparação.
A segunda abordagem passou por ir alterar o código para passar a guardar o subject apenas com o seu conteúdo (payload) em ASCII e não os bytes payload+type do subject do DER.
Mexeu-se no certdb.c, pkistore.c e stanpcertdb.c (links para patch) para passarem a criar um hash com base no payload e não no type+payload.
E funcionou... até ao certificado GTE, isto é ao que está built-in no browser.
Ou seja, os certificados pré-incluídos são guardados numa hash em cache que não é a mesma.
Era preciso que esta cache fosse criada também só com o payload....

Conclusão
Objectivamente, os patches atrás não resolvem o problema porque os certificados built-in são guardados em cache a partir do campo DER e portanto depois não fazem matching com o hash guardado apenas com o payload em ASCII.
Pode ser que alterar isto para a cache ser criada da mesma forma fosse mais 1 dia. Mas poderia ser mais 8. E também não temos a certeza que fosse aceite upstream.
Não podendo trabalhar nisto durante o dia após os 3 dias estabelecidos (sim, porque a Caixa Mágica e os projectos não param) implicou-me trabalhar à noite após os miúdos se deitarem e antes de acordarem.
Foi bom para recordar certificados x.509, ASN1, DER,...
Mas valeu mais do que pelo conhecimento gerado e o mérito vai para quem lançou a iniciativa, o Mário Valente.
As nossas instituições, e o Plano Tecnológico, por exemplo, acham que a enorme força da comunidade e indústria open source pode ser totalmente aproveitada utilizando os métodos antigos. Tal como fazer um protocolo com a MS, podia-se fazer um protocolo com o Software Aberto / Livre.
Não é assim. Tem de se compreender o ecosistema.
E quem achar que um bounty é desafiante apenas pelo dinheiro não compreende esse ecosistema. É desafiante pelo hacking. É desafiante para afirmarmos as nossas competências. É desafiante para chegar primeiro.
Um bounty é apenas a ponta do icebergue. Esta comunidade tem muito mais para dar. É apenas saber pedir.

Friday, July 6, 2007

Avaliação do OOXML como norma ISO

O OOXML é a "pseuda" norma ISO que a Microsoft está a propor para documentos office.
Parecem estar algo esquecidos que já existe uma norma ISO que define esse formato, a ODF, isto apesar de a organização que criou esse formato (A OASIS, que demorou 5 anos a criá-lo ) ter como um dos membros a própria Microsoft... e assim sendo porque é que a Microsoft não colocou o que acha que são as especificações que o OOXML traz como mais valias à consideração da norma ODF??? a mim parecia-me lógico não? mas deve ser só a mim...

Depois claro há aquele pequeníssimo detalhe de.. e vamos a ver se nos entendemos.... portanto, existe uma norma ISO, que define como devem ser especificados em XML documentos office que permitam a sua utilização independentemente da aplicação, sistema operativo, etc... E agora queremos aprovar uma nova norma que define como devem ser especificados em XML, documentos office que permitam a sua utilização independentemente da aplicação, sistema operativo, etc... é isto?

Eu sempre tive a ideia que se temos uma norma ISO é para que todos usem essa norma e todos possam tirar partido dessa tecnologia sem complicações... Vamos portanto ter duas normas ISO para a mesmo coisa... é muita lógico sim senhores... especialmente quando a segunda norma não tem provas dadas (o office 2007 não implementa o OOXML como está na especificação), possui uma especificação complicadissima, sem sequer possui XML totalmente válido, obriga a ser compatível com produtos antigos da empresa que a propõe que não possuem especificações abertas (esta é mesmo de morte...) ....

Bem.. eu podia continuar aqui a escrever eternamente.. por isso vamos lá ao tópico do post...

Seja como for, está a ser criada uma comissão técnica em Portugal para decidir qual vai ser o sentido de voto de Portugal a nível da aprovação ou não da norma ISO que deverá implementar o OOXML.

Podem ver aqui, no blog do Mário Valente, o estado actual:
http://mv.asterisco.pt/cat.cgi?MS%20OOXML

Chamo particular atenção ao último parágrafo:

"Se houver por ai gente com credibilidade e vontade de pertencer à CT(Comissão Técnica), tenho todo o gosto em vos propor (emails para mvalente@itij.mj.pt), a ver se não me sinto tão sozinho ;-] Caso contrario depois não venham fazer posts em blogs a dizer que "ah e tal como é que se admite, Portugal é atrasado e assinou um protocolo e está tudo mal"... Os "outros" pelo menos estão presentes na CT e nas reuniões; fazer posts em blogs e conversar à hora da bica é fácil..."

A reunião da comissão técnica será dia 16 de Julho às 14:30 no Instituto de Informática.

Para concluir gostaria que alguém me desse uma (basta uma.. só uma.. mesmo pequenina...) razão para votar sim a esta norma ISO.

E para rirem um pouco sobre esta excelente especificação leiam isto (e querem que isto seja um standard...):
http://www.robweir.com/blog/2006/10/leap-back.html

Thursday, June 28, 2007

Há dias em que compensa...

Tinha que encontrar uma distribuição que funcionasse no meu pc!!! Se outros tinham!!!
Encontrei uma distribuição nacional (Portugal), a Caixa Mágica 11, que resolvi fazer download e tentar instalar em meu pc!
Pois em algumas pesquisas diziam que esta distribuição tinha suporte para modems huawei usb.
Surpresa das surpresas, sem querer fazer publicidade, instalou tudo logo à primeira!!!! Reconheceu todo hardware Cd-rom, Gravador Cdś, teclado, tudo!!


Ver a descrição completa aqui.

Mérito do suporte Huawei pelo Darklord, siscmtux,...

Há dias em que compensa...

Google Desktop Search para Linux

Finalmente saiu para Linux o Google Desktop Search . Podem descarregar o RPM a partir de:
http://desktop.google.com/linux/download.html

A instalação na Caixa Mágica 11 foi directa... bastou um:
sudo rpm -ivh google-desktop-linux-1.0.1.0060.rpm

E pronto... Fica-se logo com as entradas no menu K (não testei em Gnome mas deve ser igual).

Parece funcionar bastante bem... é agora comparar com o beagle qual funciona melhor e qual consome menos recursos.

Como é feito em GTK2, quase de certeza que se deve integrar melhor em ambiente Gnome, se testarem digam qualquer coisa.

Wednesday, June 27, 2007

Ponto de Vista da Microsoft sobre Interoperabilidade e o Open Source

Neste artigo, jason Matusow (director da área de Interoperabilidade da Microsoft) fala sobre estrategias de interoperabilidade e o Open Source).


Tuesday, June 19, 2007

Sistemas de gestão de código

Para quem se interessa pela temática fica uma overview do estado da arte dos sistemas de gestão de código distribuídos, feita pelo Linus Torvalds.
É descrito o funcionamento do git, sistema escrito, inicialmente, pelo próprio Linus, para gerir o código do kernel, mas é feito um apanhado geral dos sistemas mais utilizados neste momento.
É um vídeo interessante não só pela temática mas também pelo estilo sempre acutilante do Linus.





Referências para outros sistemas de gestão de código distribuídos:

darcs
mercurial
svk
monotone

"I'm right and anyone who disagrees is stupid and ugly"

Linus Torvalds