terça-feira, novembro 28, 2006

Grupo de investigação XLDB no jornal

Hoje durante a reunião semanal com o meu professor orientador, Prof. Mário Silva, fomos interrompidos por um telefonema o qual, depois de pousar o auscultador, desabafou que estava farto de falar com jornalistas.
Não liguei muito. Pensei que fossem sequelas do "Internet Challenge" que ocorreu no passado sábado em Oeiras.

Mal sabia eu que, na realidade, ele tinha aparecido, mais os meus colegas de grupo de investigação Daniel Gomes e Sérgio Gomes, na capa do jornal "Público".

O motivo da capa foi o trabalho, para a tese de doutoramento, do Daniel sobre arquivos web, trabalho esse que lhe valeu um prémio internacional. O protótipo deste trabalho está disponível em http://tomba.tumba.pt/, um arquivo web para a web portuguesa.

É motivante sentir-se parte do XLDB, um grupo de investigação que produz inovação útil, com qualidade, e que é reconhecido por tal.

sábado, novembro 25, 2006

Num dia de tempestade

Num dia de tempestade, espalham-se pelas ruas os cadáveres dos que foram, por impiedosas rajadas, fustigados. Jazem pelas ruas, sós, abandonados.
No lixo, nas valetas, nas sarjetas ou num simples recanto.

De corpo partido. De membros retorcidos. Desfilam pela calçada em poses mórbidas, os corpos de quem caiu frente a algo superior. Usa-mo-los para esconder a nossa face do rosto cinzento e sisudo da fúria encarnada.

A eles devemos o nosso conforto, a pele enxuta do nosso rosto.

Fica a homenagem aos guerreiros, da água e do vento reunidos, que hoje pereceram. Jazem pelas ruas partidos e retorcidos, em mais um dia de tempestade...

quinta-feira, novembro 23, 2006

Percorrer directorias em Python

No mundo da programação, é frequente ter-se que percorrer recursivamente directorias, para pesquisar, recuperar determinados tipos de ficheiros, indexar ou qualquer outro tipo de tarefas.
Dependendo da linguagem de programação, esta tarefa pode ser realizada com mais ou menos facilidade.

Em python, existe uma função óptima para essa tarefa: walk( top[, topdown=True [, onerror=None]]).
Quando a função é chamada, esta devolve 3 estruturas: uma string que contem a directoria corrente, uma lista que contém as subdirectorias da directoria corrente e uma lista com os ficheiros da directoria corrente.

Um exemplo de código para fazer uma listagem dos ficheiros presentes numa directoria raiz e em todas as suas subdirectorias poderia ser algo assim:

import os

for root, dirs, files in os.walk('/home/dcruz/teste_dir'):
for file in files:
print os.path.join(root, file)



Dificilmente poderia ser mais fácil!
E mais uma vez, convém não esquecer que python funciona em imensos sistemas operativos(Linux, Mac OS, Windows, ...), só é preciso fornecer o enderço correcto da directoria consoante o sistema operativo que se esteja a usar.

sábado, novembro 18, 2006

Notificação por ondulação em Beryl

Está agora a surgir, com força, nos sistemas operativos os efeitos 3D, todos fofos e catitas, acelerados por hardware (se bem que o Mac OS X já o faz a alguns anitos).

Contudo, na ânsia de se impressionar as pessoas, tem-se verificado um grande esforço na produção de efeitos 3D fantásticos e bonitos, mas que não servem para nada... e este mal é geral. Apple, Microsoft, comunidade open-source, todos acabam por pecar, uns mais do que outros, nesta área.

Julgo que a importância destes efeitos 3D situa-se no enriquecer a experiência do utilizador e não no encher os nossos desktops com 3D só porque o sistema o permite. Mais uma vez, é a recorrente questão da usabilidade.
É o caso do seguinte filme do youtube, onde o efeito do Beryl permite uma notificação agradável de um evento no sistema sem ser excessivamente intrusivo para o utilizador.


quinta-feira, novembro 16, 2006

Monitorizar o desempenho do seu site

Ainda no outro dia falei sobre o Dia Mundial da Usabilidade, é importante notar que uma das formas de usabilidade na internet é garantir que as páginas são carregadas sem grande demora. O tempo de carregamento de uma página pode ser o primeiro passo para um utilizador gostar ou não de uma página. A página pode estar extremamente bem desenhada, mas se demorar 30 segundos a carregar, duvido que muita gente quererá continuar a vê-la com regularidade.

Daí que é importante que quem desenha as páginas tenha noção do tempo que demora a sua página a carregar, quais são os elementos responsáveis pelo seu atraso no carregamento e quais elementos podem ser melhorados.

Recentemente descobri o OctaGate - SiteTimer, uma ferramenta que permite fazer essa monitorização das páginas, analisar o tempo de conexão e de transferência de elementos de páginas, sejam eles ficheiros em HTML, Javascript ou imagens.

Os sons do Windows Vista

O Windows Vista está quase à porta e para esta nova versão do seu sistema operativo, a Microsoft decidiu refazer os conjunto de sons e alertas enviados pelo sistema. Tarefa que demorou cerca de 18 meses a ser realizada para um conjunto de 45 sons de sistema diferentes.

Aqui está uma comparação dos sons do Windows XP e do Windows Vista:


Nota-se um nítido aumento na qualidade do som no Vista, para além de os sons serem mais curto e não tão altos, o que os torna menos irritante.
Contudo acho que alguns sons de avisos importantes não se destacam o suficiente dos restantes para fazer de uma forma nítida a sua função... alertar.
Pelo menos aproveitaram os sucessivos atrasos para melhorar uma parte importante da experiência dos utilizadores.

E o que é que acha? Estarão de facto os sons do Vista melhores ou continua a preferir os do Windows XP? Ou pelo contrário, detasta-os a todos e a primeira coisa que faz é desligá-lo?

quarta-feira, novembro 15, 2006

Zune sem suporte para Windows Vista

Parece que o tão anunciado iPod-killer da Microsoft, o Zune, não é suportado no Windows Vista.
Ao saber-se que o Zune não é suportado na próxima geração do sistema operativo da Microsoft, fica-se com a ideia que este leitor de .mp3 com WiFi foi um produto feito à pressa na tentativa de competir com os iPod por época de Natal.

Mas se está por ai a pensar, "fantástico! o Zune tem suporte para WiFi e vou poder fazer X, Y e Z com ele", então fique sabendo que o WiFi só funciona entre Zunes. Não é possível fazer a sincronização de músicas por WiFi nem trocar músicas entre dispositivos que não sejam Zunes. Basicamente, tem WiFi e não tem...

A experiência Zune tem todo o aspecto de ser como a imagem do instalador: dolorosa!



Update 16/11/2006: Para os que pensam que a minha opinião se resume a um ódio infundado aos produtos da Microsoft, aconselho-lhes a ler a análise da Ars Technica sobre o Zune.

terça-feira, novembro 14, 2006

Dia Mundial da Usabilidade

Hoje celebra-se o Dia Mundial da Usabilidade, numa iniciativa que pretende alertar as pessoas da importância de este assunto no nosso dia à dia.
Usabilidade não é algo que só afecta pessoas invisuais ou daltónicas, todos nós, de certeza, nos cruzamos, pelo menos uma vez, com uma página tão mal concebida que o seu uso provoca-nos frustração, perda de tempo ou confusão (por exemplo, a página que apresentei a uns tempos atrás).

Mas usabilidade não se refere somente à informática e à internet. Cadeiras, canecas, automóveis, edifícios. A usabiliade está presente em toda a parte, mas muito ainda precisa de ser feito!



Update: faltava-me um "l" no título. Obrigado thiago pelo reparo.

quarta-feira, novembro 08, 2006

Guerra no Iraque foi devido ao petróleo?

Para o espanto de todos, parece que afinal a guerra no Iraque foi devido ao petróleo!
Nos últimos dias, o "presidente" Bush tem vindo a afirmar que esta guerra era necessária para evitar que importantes reservas de petróleo ficassem nas mãos de terroristas e que estas fossem usadas como ameaça contra os Estados Unidos da América.
Mas esperem! Não tinham dito, já lá vão 3 anos, que era porque o Iraque estava a desenvolver armas de destruição massiva? Bombas atómicas ou petróleo? Senhor Bush, decida-se!

Foram precisos 3 anos, milhares de mortes e estarem prestes a perder umas eleições (que pelos vistos acabaram por perder), para que mudassem para um discurso menos fantasiado. Começo a ficar preocupado com a multiplicação de casos de Alzheimer em líderes políticos. Será que é contagioso?

Se alguém acreditou na desculpa das armas de destruição massiva só podem ter sido os americanos. Este assunto cheirava a crude. Já a primeira Guerra do Golfo o foi. Agora o senhor Bush veio com a desculpa que foi para prevenir o mau uso do petróleo, mas o mau uso vem da poluição que eles próprios produzem.
O motivo sempre foi, e continuará a ser, o petróleo. Fim.

Visita da Ordem dos Engenheiros

Hoje o Departamento de Informática da FCUL esteve de alvoroço. Motivo? Visita da Ordem dos Engenheiros.

Alguns cuidados foram tomados para tornar mais bonitinho o departamento, procedimento normal em qualquer lugar que seja alvo de visitas oficiais com alguma importância. Secretárias um pouco mais bonitas e organizadas do que é costume. Algumas anedotas e imagens, que poderiam ser consideradas de mau gosto ou chocantes para os convidados, foram temporariamente censuradas. Alguns professores como nunca os tinha visto (de fato e gravata). Essencialmente, as pessoas esmeram-se um bocadinho mais quando existe uma "inspecção".

Fora um toque de ansiedade, sentidas em particular por professores e investigadores com trabalhos a apresentar, o dia foi normal. Trabalhou-se para se mostrar resultados visíveis e relevantes. E eu desperdicei tempo a "resolver" uma avaria técnica que se resolveu sozinha, por milagre. A ciência negra dos computadores...

Achei engraçado o facto de ver que alguns dos "visitantes" da Ordem pouco prestaram atenção a alguns trabalhos que lhes foi apresentado. Não sei se já não tinham sido massacrados por tantas apresentações e discussões sobre assuntos administrativos, ou se já estava tudo saciado do almoço e não estavam para se chatear muito.

Mas destes assuntos percebo eu pouco, só gostava de saber em que aspecto esta visita contribui para o melhoramento da faculdade e, em particular, do departamento.

terça-feira, novembro 07, 2006

Natal é da Coca-Cola!

Hoje aproveitei para ver um pouco de televisão, e constatei que já circulam, nos quatro canais generalistas, as míticas publicidades de natal e publicidades absurdas de brinquedos ainda mais absurdos (ainda estou em choque com uma publicidade de um brinquedo que se chamava "barriguitas", para as crianças imitarem as barrigas das grávidas e com montes de artefactos lá dentro).
Já no final do mês passado reparei que algumas lojas já estavam totalmente preparadas para a época festiva. As fitinhas, os gorros, os barbudos vermelhos...

Que é feito do Natal ser algo do mês de Dezembro? Dos Ho-ho-hos que surgem de repente e que trazem a passos largos a emoção de uma ceia em família, reunidos quais carniceiros à volta do perú ou do bacalhau? Que é feito do Natal ser a celebração do nascimento de Jesus Cristo? De ser a época da dádiva e da alegria?

Reconheço que é mais giro ter um bando de empresas e lojas a congeminarem planos para nos extorquir o máximo de dinheiro das nossas carteiras e das nossas contas bancárias. Se tornar as nossas carteiras mais leves nos faz bem à saúde, pensaram eles e muito bem, vamos ajudá-los a aliviar as costas não só em Dezembro, mas também em Novembro! E para o ano, será Outubro!

Natal já não é época para se estar em família, nem é época para se oferecer presentes, e para infelicidade de muitos, não é época para se receber presentes. Natal é o chamamento ao nosso consumismo desenfreado, para sustentar este mundo capitalista. Este mundo, de poucos.
Natal já não é celebração, não é dádiva, não é família, e já nem é bens materiais. Natal é um reflexo do nosso modo de vida fútil e oco, do controlo das massas pelas corporação, Natal, é da Coca-Cola...

segunda-feira, novembro 06, 2006

Comprimir/Descomprimir ficheiros .gz em Python

GNU Zip (ou simplesmente gzip) é um formato de compressão muito usado no mundo Unix/Linux.
Como ultimamente tenho andado a fazer uns trabalhos em Python, e tive que lidar com ficheiros gzip, reparei que à documentação de python faltava um exemplo do uso, da API disponibilizada por esta linguagem, para a manipulação de esse tipo de ficheiros.

Para descomprimir:
import gzip
fileObj = gzip.GzipFile("/home/dcruz/dump.txt.gz", 'rb');
fileContent = fileObj.read()
fileObj.close()
Neste exemplo, a variável fileContent fica com o conteúdo do ficheiro em memória, por isso, se quiserem guardar a versão descomprimida num ficheiro à parte só terá que fazer:
fileObj = open("/home/dcruz/dump.txt", 'wb')
fileObj.write(fileContent)
fileObj.close()

Para comprimir:
import gzip
fileObj = gzip.GzipFile("/Users/mary/hamlet.txt.gz", 'wb');
fileObj.write(fileContent)
fileObj.close()

A API de Python suporta igualmente a manipulação dos formatos Zlib, Bzip2, Zip, Tar.

quinta-feira, novembro 02, 2006

Flick slideshows no seu site/blog

A alguns dias atrás encontrei uma página que explica como embeber um slideshow de fotos do Flickr em sites e blogs.

Visto que o Flickr é um dos serviços de alojamento de fotos com mais sucesso que por ai anda, e um dos grandes representantes do chamado web 2.0, julgo que esta página poderá interessar a muita boa gente.