Um motion chart (aka gráfico do gapminder) com estatísticas de Portugal (obtidas no Eurostat).
Para colocar o gráfico num blog copiar o código:
Actualização: adicionei um novo post com mais informação sobre este gráfico
Um motion chart (aka gráfico do gapminder) com estatísticas de Portugal (obtidas no Eurostat).
Para colocar o gráfico num blog copiar o código:
Actualização: adicionei um novo post com mais informação sobre este gráfico

O Letras Gordas, um site que permite uma leitura muito rápida das últimas notícias do dia, tem agora páginas para o Brasil e Espanha.
O Letras Gordas tem um conjunto de utilizadores muito regulares. E bastantes deles são do Brasil. Ou seja parece que dar uma olhada rápida pelo que se passa em Portugal é interessante para quem está no Brasil. Agora o inverso também fica a ser possível.
As estatísticas também mostram que a maioria incluiu o prt.sc e o planet geek nas suas configurações e de um modo geral tiram blogs para incluir jornais. Por isso coloquei mais um planeta e mais um jornal nas opções. E no futuro talvez coloque os blogs individuais em caixas de um conjunto temático (talvez seja uma boa altura para experimentar os pipes).
Este post do Paulo Querido sobre a escassez de links fez-me vencer a preguiça e escrever este post.
Mas acho que não é por uma questão de inveja que existem poucos links. Nos países com cultura de mérito mais forte é normal no trabalho ouvir elogios sinceros e inocentes ao bom desempenho dos outros colegas. Nas sociedades com mais prática de intriga acabam por se formar grupos que defendem os seus e atacam os outros. Muitas vezes os elogios não são sinceros e as críticas não são justas pois existem segundos objectivos. Se numa sociedade meritocrática fica mal fazer um elogio "de favor" a um amigo, numa sociedade intriguista é mal visto fazer um elogio gratuito a alguém do outro grupo.
E os links nos blogs acabam por ser um reflexo da sociedade. Talvez a nossa sociedade seja menos meritocrática do que gostaríamos que fosse. Mas também é muito menos intriguista que outras sociedades.

E com menos paleio e mais prática. Numa sociedade meritocrática :-), um projecto recente que merece referência é o Fullread do Nuno Mariz. É uma ferramenta para guardar uma lista de artigos para ler mais tarde, uma espécie de "sala de espera" dos links antes de entrarem no delicious, sapo tags ou outro serviço de bookmarks. Acho o conceito muito bom. Eu também tenho o delicious cheio de artigos com a etiqueta toread e sinto que misturar os links que guardo porque são bons, com os que guardo para ler mais tarde, não é uma solução perfeita.
Neste momento acho que o Fullread ainda não tem funcionalidades específicas suficientes para compensar a entropia de usar mais um serviço. Mas vou estar atento à evolução do projecto.
Aviso: este post contém spoilers.
Este post é sobre o check-in online da TAP mas esteve para receber o título Sadistic Web Development, pois também é um tributo a esta categoria de desenvolvimento.
Quem compra um bilhete no site da TAP recebe um e-mail com o número do bilhete electrónico que tem o seguinte aspecto:

E para fazer o check-in online basta colocar esse número do bilhete electrónico no campo correspondente. Ou seja, copiar o número do email e colar o número no formulário do check-in.

Humm, mas não funciona. Se calhar é por causa do espaço que tem no meio do número que recebemos por email. Mas depois de tirar o espaço também não funciona.
Alguém reparou que na cópia o número perdeu o último dígito? Pois é, apesar do campo do formulário ter espaço para mais, está limitado a 13 dígitos. E o espaço no número que recebemos por email faz com que o último dígito se perca na cópia.
Ora o desenvolvimento sádico consiste precisamente em fazer sofrer os utilizadores. Este sofrimento deve ser infligido de forma subtil e com o objectivo de no final o utilizador ter um grande prazer (normalmente associado a ter conseguido acabar o que tinha para fazer no site).
E aqui o objectivo foi atingido. Este é um caso de particular sucesso pois em muitas ocasiões o check-in online é feito quando estamos apertados de tempo e queremos chegar ao aeroporto mesmo em cima da hora de partida. Ora esta brincadeira dos números associada ao stress de estar com uma agenda cheia é um cocktail fantástico.
De tempos em tempos lá sai mais uma alta tecnologia do super laboratório da garagem lá de casa.
É uma página que permite passar os olhos pelos títulos de um conjunto de blogs e jornais. Olhar para as letras gordas na web.
Usa o conceito do popurls e acrescenta a possibilidade de escolher os blogs e sites (neste momento apenas de uma lista pré-definida), e a capacidade de usar o máximo do espaço do ecrã para mostrar informação.

Eu uso esta ferramenta como complemento ao meu leitor de RSS, para de vez em quando passar os olhos pelos blogs e media mais populares (e que, por terem tantos artigos, não quero acompanhar no meu leitor).
É biodegradável e energeticamente eficiente :-)
A Espanha está cada vez mais dividida. No mês passado vi a notícia do país basco a tentar fazer um referendo para ser tornar independente. Hoje reparei que a Catalunha já tem um domínio de topo na internet, o .cat. E pelos vistos a Galiza está na lista de espera para ter o seu domínio de topo, o .gal (e depois alguém vai registar o portu.gal :-).
E eu acho bem. A verdadeira liberdade de uma população é poder rejeitar a própria organização que lhe dá a liberdade. Mas ainda estou para ver se Madrid vai deixar.
To manage the website content in a flexible way it's practical to have some portions of some pages generated from variables created as FlatPages. For example, in a frontpage I have a "featured item" section which renders a flatpage variable.
def frontpage(request):
fp = FlatPage.objects.get(url='featured')
return render_to_response('frontpage.html', {'fp':fp })
then in the template
...<div id="featured">{{ fp.content }}</div> ...
But sometimes it would also be nice to put some template tags inside those flatpages. Django does not seem to provide a tag for such task (most probably because it can be a bad idea from the security point of view), but the ssi tag does exactly the same thing for files in the filesystem. Based on ssi, the code bellow defines a new tag that includes the content of a variable as a template.
def do_templatevar(parser, token):
bits = token.contents.split()
if len(bits) != 2:
raise TemplateSyntaxError, "%s tag takes one argument" % bits[0]
return TemplateVarNode(parser.compile_filter(bits[1]))
register.tag('templatevar', do_templatevar)
class TemplateVarNode(Node):
def __init__(self, content):
self.content = content
def render(self, context):
content = self.content.resolve(context)
try:
t = Template(content)
return t.render(context)
except TemplateSyntaxError, e:
if settings.DEBUG:
return "[Included template had syntax error: %s]" % e
else:
return '' # Fail silently
Now I can put the following code in my flat page
<p>This is my media_url: {{ MEDIA_URL }}</p>
And it will work if I define my template as
...<div id="featured">{% templatevar fp.content %}</div> ...
A last remark to mention databasetemplateloader that allows to load template data from the database. I never tried it, but seems to be a more generic solution (and also a way to have a Zope 1 experience in Django).
This is probably old news but the openid blog claim in technorati is definitely a very good idea. If your blog is also your openid, when doing the blog claim in technorati you are given the chance to do the claim using openid.
With this option you just have to authenticate in your openid provider and ... it's done!
Just by having these two lines in my blog header allowed technorati to give me an easy authentication process.
<link rel="openid.server" href="http://www.myopenid.com/server"> <link rel="openid.delegate" href="http://pedrolima.myopenid.com/">
I was happily surprised with this process. Simple and easy.
No entries yet.