sábado, 30 de junho de 2007

GPL Version 3, 29 June 2007


A GNU Software Foundation finalmente disponibilizou a nova versão da General Public Licence.

Após 16 anos a licenciar software livre, a versão 2 foi agora formalmente substituída na FSF.

Isto não quer dizer que o software com GPL 2 passará à versão 3. Existem projectos importantes, como o kernel do Linux em que não é consensual a mudança para a versão 3.

A Sun também ainda não disse se o OpenJDK será mudado para GPLv3.

Seja como for, a versão 3 está aí. Os projectos GNU irão concerteza mudar para a nova versão.

sexta-feira, 29 de junho de 2007

Eclipse : Europa já saiu


Um dos problemas que tinha no eclipse até ao ano passado era a instalação de "plugins".

Não existia coordenação entre grande parte deles e muitas vezes existiam dependências de versões. Era difícil de gerir e cheguei a ter várias instalações, cada uma com plugin(s) diferentes.

No ano passado tudo ficou mais fácil quando lançaram a versão chamada "callisto". Este projecto coordenou alguns dos "plugins" mais importantes por forma a que as novas versões estivessem prontas sensivelmente ao mesmo tempo e fossem compatíveis.

O Europa, que ficou hoje disponível, é também (como o callisto) uma nova versão com sincronização e compatibilidade de versões de um conjunto de plugins.
Dele fazem parte vinte e um dos projectos de "plugin" mais importantes.
Existem downloads diversos consoante o tipo de desenvolvimento : java normal; java enterprise; java rich client; C, C++ ou genéricos com configuração à medida.

Esta abordagem não é inédita no mundo das TI(s). Já as versões das distribuições de Unix, windows ou Linux mais não que um conjunto de versões de programas testadas e organizadas de forma funcional e coerente. Quem por exemplo trabalha com o debian sabe que cada versão estável tem um nome das personagens do filme toy story e que esse nome corresponde a um conjunto de versões de programas que funcionam.

A própria IBM (que lidera o eclipse) tem esta abordagem no Rational Applicational Developer. A ideia original era as versões do RAD serem uma espécie de boa organização das versões do eclipse e "pluggins" acrescidas de funcionalidades "em código fechado".

O que se passou entretanto é que a própria comunidade (na qual também se incluem alguns fabricantes como a Borland) achou que este processo de coordenação teria também de acontecer com os plugins "em código aberto".

Foi uma boa aposta. É uma mais valia para os utilizadores e para os parceiros, e, consequentemente para o projecto.

quarta-feira, 27 de junho de 2007

Nova versão do google text & spreadsheet

Nos últimos meses tenho vindo a usar o google docs e spreadsheets.
É uma boa ferramenta sempre que quero partilhar documentos e folhas de cálculo com outras pessoas.

É fácil de usar e razoavelmente rápida.

Nos últimos dias foi disponibilizada uma nova versão que melhora muito o interface de selecção dos documentos.

Usa o paradigma de duas áreas com uma árvore do lado esquerdo que controla as listas de documentos do lado direito.
Pode facilmente filtrar-se por tipo de documento ou pela pessoa com quem se efectuou a partilha.
Também passou a existir o conceito de pasta, infelizmente só de um nível.
Pode-se fazer upload de ficheiros para o sistema embora limitado
a 500 k.
A exportação para PDF, excel ou open office também é útil.

Foi uma clara melhoria do interface.

Irei continuar a usar este site, embora de uma forma muito limitada.
Não sei se quero confiar a minha informação à google e não ter forma fácil de copiar os ficheiros para um meio físico dominado por mim.

terça-feira, 26 de junho de 2007

Rato 4 em um da Microsoft


Ando sempre com o portátil às costas. Uso um pequeno rato USB porque não me dou bem com o touchpad do portátil. Sempre que faço apresentações ou dou formação tenho de levar mais um gadget USB que tem o comando, e apontador laser.

Descobri que a Microsoft tem um gadget interessante. É rato sem fio, comando para apresentações, apontador laser e controlo remoto.

Se não fosse tão caro (entre 80 e 100 dólares) seria decididamente um aparelho a comprar. Sempre conseguía reduzir a quantidade de porcaria que anda na mochila.

domingo, 24 de junho de 2007

OLPC está a agitar o mercado


O projecto One Laptop Per Child do MIT está a agitar o mercado dos PC(s) de baixo custo.

A AMD, parceira do MIT vendeu o seu projecto PIC (Personal Internet Communicator) à Data Evolution que o está agora a vender por $99 ! sob a denominação decTOP . Não é concorrente do OLPC porque não se trata de um portátil mas sim de um computador de secretária (embora minimo) ao qual tem de se ligar um monitor, um rato e um teclado externos.

A Intel que ficou zangada pelo facto de não entrar no projecto (mas quando lhe foi proposto não se disponibilizou para perder margem nos componentes) e criou um projecto com a Asustek para criar um concorrente de baixo custo (ver mais).

A Microsoft não gostou de ficar de fora do OLPC e anunciou recentemente estar a adaptar os drivers do windows para conseguir que funcione no OLPC.

Das duas uma, ou a intel está a fazer dumping para prejudicar o OLPC, provavelmente auxiliada pela Microsoft e quando o matar sobe os preços ou então chegou à conclusão de que este mercado é por si só rentável e decidiu também tentar ganhar dinheiro.

Gostava de apostar na segunda hipótese pois nesse caso iremos concerteza assistir a uma concorrência que poderá trazer mais e melhores computadores disponíveis para todos.

sábado, 23 de junho de 2007

Martin Fowler - Vale a pena desenhar bem o software ?


No seu Bliki, Martin Fowler tece considerações acerca da validade do desenho no software.

Quem desenvolve software já várias vezes foi colocado perante o problema de consumir tempo em especificações e desenho versus conseguir mostrar algo a funcionar muito rapidamente ao cliente.

Martin Fowler apresenta a sua teoria com um gráfico (a que chama pseudo gráfico por não ser derivado de algo efectivamente medido) de onde facilmente se percebe que o desenvolvimento "sem desenho" compensa nas fases iniciais de um projecto, mas que, a longo prazo irá reduzir muito a produtividade e facilidade de alteração. À linha onde se cruzam a adição de funcionalidades ao longo do tempo com e sem desenho chamou "design payoff line".

Penso que é na determinação desta linha para o nosso projecto em concreto que está o segredo para perceber se devemos ou não avançar e desenvolver ou consumir tempo a fazer um desenho cuidado do sistema.

Mais à frente Martin confirma o que eu já à muito suspeitava : trata-se de grandezas de difícil (se não impossível) medida.
Posto isto, mais uma vez concluo que se trata de uma decisão típica de gestão (neste caso de projectos) em que a experiência e bom senso do decisor será determinante na escolha da estratégia adoptada.

No seu exercício faz algo que não é comum ver na nossa indústria : apresenta as coisas em que acredita como hipótese e de seguida explica porque razão as assume como axiomas.

Decididamente um artigo a ler.

terça-feira, 19 de junho de 2007

Red Hat e Ubuntu recusaram acordo com Microsoft

A Microsoft propôs à Red Hat e Ubuntu um acordo no âmbito do qual não as processaria por violação de patentes.


A proposta de acordos aparece na sequência das ameaças da Microsoft de que o OpenOffice e o linux violavam mais de uma centena de patentes.

Entretanto já foram conseguídos acordos com a Novell (fabricante do Suse Linux), a Xandros e o Linspire. Nos dois últimos casos as empresas são contratadas pela Microsoft para o desenvolvimento de projectos e no primeiro as empresas trocam marketing dos respectivos produtos.

Trata-se portanto de uma tentativa da Microsoft para conseguir alargar o seu mercado reduzindo os do Linux, dando em troca a viabilização de algumas delas.

Felizmente a Red Hat e a Ubuntu, claramente os actuais lideres mantiveram-se firmes e não tiveram medo.

No entanto a procissão ainda agora vai no adro.

IBM foi outra vez às compras

Agora comprou a telelogic, empresa Sueca que se dedica à construção de ferramentas para gerir o ciclo de vida do desenvolvimento de software.

Através de uma rápida análise ao portefólio de produtos, conclui-se facilmente que estes são claramente redundantes (salvo raras excepções) com os análogos da IBM.

Sem qualquer espanto, a companhia será integrada na divisão Rational.

Embora a IBM não tenha ainda efectuado qualquer declaração, a actual política leva-nos a pensar (esperar) que os produtos actuais serão mantidos e será iniciada uma política interna de transferência de know-how entre as equipas com produtos similares.

Esta aquisição é mais um sinal de que a IBM quer liderar no mercado do software e começar por baixo : infraestrutura, ferramentas, gestão dos processos de desenvolvimento. Um pouco contrário à política de alguns dos seus grandes concorrentes que têm vindo a apostar em expandir-se para o mercado das aplicações.

segunda-feira, 18 de junho de 2007

Data Center móvel - Sun BlackBox


A Sun continua a não perder a capacidade de espantar com as coisas mais estranhas.

Agora estão a propor um Data Center instalado dentro de um contentor (ver mais informação)

Na realidade de contentor tem o tamanho e formato. Tudo o resto é construído mediante requisitos próprios deste tipo de problemas.

Para negócios como os militares ou a fórmula 1 este tipo de produto tem interesses óbvios, mas para os mortais já não tenho tanta certeza.

Pensando um bocadinho a ideia até é capaz de não ser assim tão parva. Com bichos destes (se não tiver mesmo problemas) consegue-se uma enorme versatilidade para algo que é inerentemente (até aqui) algo imóvel e em que grande parte do investimento era de índole imobiliária.

Com este conceito podemos colocar um DataCenter num local e movê-lo para outro quando melhores condições se obtiver.
Pode também investir-se num aerogerador e colocar o contentor ali juntinho poupando na factura à EDP (se depois existir comunicações ali ao pé).

Podiam, por exemplo, aproveitar-se os fundos comunitários que agora não vão para Lisboa e Vale do Tejo e instalar DataCenter(s) no meio do Alentejo. Tudo isto sem ter de construir um edifico com uma infraestrutura complicada.

segunda-feira, 11 de junho de 2007

[Causa perdida] Como ler correctamente um endereço de correio electrónico


Este é um post absolutamente inútil.

Mas tenho que confessar que não consigo deixar passar nem mais um dia sem me insurgir contra este hábito de misturar unidades de peso com o correio electrónico, que é pela sua natureza, praticamente imponderável.

De que se trata? Da história da arroba!

Recapitulemos: o dicionário diz-nos que "arroba" é uma unidade de medida de origem árabe, antigamente usada nos países ibéricos e suas colónias que corresponde a 14,4 Kg ou 11,3 Kg (consoante estivéssemos num país de influência portuguesa ou espanhola, respectivamente). Na escrita corrente, a arroba abreviava-se com o símbolo "@".

Entretanto, os anglo-saxónicos, que não pesavam as mercadorias em arrobas mas libras e coisas do género, usavam este símbolo para outras coisas. Quando os primeiros construtores de computadores seleccionaram um restrito conjunto de símbolos para serem codificados optaram, inteligentemente, por símbolos que lhes davam jeito. E o "@" lá estava. Mas eles não lhe chamavam arroba. Chamavam-lhe "at" (trad.: em).

O símbolo @ (at) foi usado, em informática, para diversas situações, das quais se destacam:
  • Na linguagem de programação BASIC, uma da primeiras a ser inventada, o símbolo "@" era usado para posicionar o cursor antes de escrever no écran (exemplo: @10,10 print "Hi!")
  • Na linguagem SQL, standard de acesso a bases de dados relacionais, pode-se usar um endereçamento com ":" e "@" para consultar bases de dados remotas, residentes noutras máquinas (exemplo: SELECT ... FROM tab1@bd2:mach3)
  • No correio electrónico, os utilizadores têm endereços compostos pelo seu nome e o domínio em que se inserem, separados pelo caracter "@" (exemplo: antonio.silva@patiodascantigas.pt)

Como se pode ver, o símbolo @ só tem uma tradução possível em informática: AT = EM. (Em: prep. que indica lugar, tempo, modo, causa, fim e outras relações)

Agora vejamos a leitura de um endereço de correio electrónico vulgar.

Como se deverá ler "ecadequeiroz@gazeta.pt"?
  • Eça de Queiroz arroba Gazeta de Portugal, ou...
  • Eça de Queiroz em Gazeta de Portugal?
Como dizem os anglo-saxónicos: it's a no-brainer!

Resumindo: o correio electrónico não tem peso, nem em quilos nem em arrobas! :-)

[este post foi reeditado após as pertinentes observações do António Mota e a consulta mais aprofundada da wikipedia sobre este assunto]

sexta-feira, 1 de junho de 2007

Closures em Java

Aqui há tempos, a trabalhar em Javascript (ECMAScript para os mais puristas) acabei por "descobrir" essa técnica engraçadíssima que são os "closures". Usei-os num "test-case" de algumas técnicas de Javascript num inacabado XML Tree Editor (se se derem ao trabalho de ir ver, são os pequenos ícones de gravar/abandonar que aparecem quando se edita um nó da árvore) e que em termos de código são apenas uma coisa do género
var editOk = new function(){
var i=document.createElement('img');
i.src="images/save.gif";
i.style.verticalAlign="top";
i.onclick=function(){
saveThis(this.previousSibling, name, pos);
}
return i;
}

o que a mim me parece quase magia, pois só com isto o raio dos ícones sabem onde estão, quem são e o que fazer... (a "magia" está, é claro, no "name" e "pos" que são definidos no método exterior).

Realmente, já há muitos anos que eu fazia coisas do género, sem saber que se chamava a isto "closures", em linguagens como dBase/Clipper e LotusScript. Mas que provavelmente eram "side-efects" e não "features"...

E agora parece que já está mais ou menos definido que as "closures" vão também "aparecer" no Java 7. O que abre concerteza mais um campo de batalha propícia a "flame-wars"... É que como não há fome que não dê em fartura, existem não uma, nem duas nem sequer três mas (para já) quatro propostas de implementação. Bom começo!

E está claro que ainda antes de discutir os méritos e a bondade de cada proposta, podia-se ainda discutir coisas como:
  • Mas será que as closures são realmente necessárias?
  • Mas será que as closures são realmente necessárias no Java?
  • Mas afinal as "anonymous inner-classes" não são a mesma coisa?
  • Tá bem, não são, mas não bastam para o que é preciso?
E por aí adiante, é quase "cada cabeça sua sentença"... Já agora dou os meus "dois cêntimos" (de Euro) ao assunto, respondendo às duas primeiras questões na minha perspectiva:
  • Mas será que as closures são realmente necessárias?
Claro, tudo o que se pareça com "magia" é bem-vinda à arte da programação, se não for a magia qualquer dia somos todos "engenheiros"... (oops!)
  • Mas será que as closures são realmente necessárias no Java?
Apesar de as closures virem de tão longe como do Lisp e do Smalltalk, acho muito discutível que as closures possam ser consideradas numa perspectiva de "pure object-oriented". Mas de qualquer modo, Java não é "pure object-oriented"... E sempre fará o pessoal do RoR ficar contente...

E pronto, como podem ver aqui, aqui e acolá, a discussão tem pano para mangas...

Missão à Rússia - Спасибо!

O resultado da Missão TIC à Rússia foi francamente positivo. Algumas empresas obtiveram encomendas, outras pedidos de propostas, outras... boas perspectivas. Todos saíram de Moscovo satisfeitos com o resultado.

Foi muito engraçado ver os Russos a descobrir que Portugal não é só um país de boa praia e comida. E é sempre agradável confirmar que não estamos, de facto, na cauda da Europa em tudo. Temos muito potencial e chegamos a estar à frente de muitos países em certas áreas.

Quanto à possibilidade de fazer negócio em Moscovo, ficou de certa forma confirmada a visão de que se trata de um mercado de risco e que, em virtude de alguma instabilidade política e social, qualquer investimento pode dar grandes frutos ou ser completamente perdido. Como os próprios Russos dizem, o deles é um país de surpresas. Não há monotonia e essa é uma das razões porque gostam de lá viver.




Um estudo recente disponível em www.visionofhumanity.com classifica a Rússia como um dos países menos pacíficos do mundo. Foi realizado por investigadores da revista "The Economist" que, não sendo propriamente uma entidade ideologicamente isenta, faz questão de ser tecnicamente exemplar. Trata-se do Global Peace Index, que estabelece uma classificação de 121 países em função de factores como conflitos internos e externos, segurança da população, confiança, níveis de militarização, etc. (ironicamente, os EUA ficaram em 96º lugar, logo à frente do Irão). Não se pense, apesar disto, que é inseguro andar em Moscovo. Não é. Aliás, a nossa guia fez questão de nos informar que não há assaltos (só carteiristas, e dos bons). E a nossa pouca experiência confirmou isso mesmo. O ambiente na rua é calmo e até alegre.

Na rua, o Russo comum é muito desconfiado dos estrangeiros. Mas ao fim de cinco minutos de conversa aberta, podemos ganhar amigos para a vida toda. É muito agradável. O problema maior é mesmo conseguir falar com eles. Ao contrário do que seria de esperar, mesmo muitos dos mais novos não falam inglês, pelo que a linguagem gestual e corporal é fundamental para ultrapassar a barreira da língua.

No ambiente de negócios, a coisa é mais fácil. A língua inglesa é usada com abundância, embora mais pelo pessoal das empresas e um pouco menos pelo pessoal dos organismos do Estado.

As parcerias ganham, portanto, uma importância elevada. A hipótese de uma empresa não-Russa se estabelecer sozinha é praticamente nula. Para mais sabendo que há uma nova vaga de espírito nacionalista que envolve os Russos nos últimos anos.

Enfim! Agora é hora de dar seguimento aos contactos que foram estabelecidos e fazer negócio!

Há sempre coisas que podiam correr um pouco melhor, mas também é preciso reconhecer que houve imensas dificuldades que foram superadas quando necessário. O balanço da organização pode ser considerado francamente bom.

É preciso agradecer, antes de mais ao ICEP, cujo pessoal em Lisboa e Moscovo se empenhou em fazer uma exposição bem sucedida e em organizar os contactos com as empresas locais. E convém também não esquecer a ANETIE, no seu papel de representante das empresas TIC nacionais e que esteve desde o início ligada à organização.

À organização: Obrigado!
Aos companheiros de viagem: Boa Sorte!