COMIC STRIP OFICIAL DO BLOL, LOL

Pois bem amigalhaços já que o tema dos vampiros veio ah baila também eu tenho que blogar sobre o assunto...
Eis que surge na TVI uma coisa inédita... uma novela sobre vampiros (coisa nunca vista) cujo nome é: "Destino Imortal" passada na Serra de Sintra, com um amor impossível entre um rapaz e uma rapariga (querem saber mais vejam a novela...).
A SIC sem mais demoras (não copiando nada) faz o seguinte: Filma na Serra de Sintra, e junta a historia de um amor impossível entre uma rapariga e um rapaz e chama-lhe "Lua Vermelha".
E pronto esta é a escolha dos senhores telespectadores em horário nobre... agora só falta nos "Morangos com Açúcar" surgir uma season vampiresca para o circulo ficar completo.
Olá amigos! Estou de volta após um período de hiatus (como diz a malta jovem americana). Vocês devem lembrar-se de mim de tais posts clássicos, como a criação dos memes, "Todo Fit" ou "Dia do Projecto". Desta vez venho aqui falar de algo que realmente é importante e que é o seguinte: vampiros. Aparentemente o que está na moda hoje em dia é gostar de tudo o que esteja relacionado com vampiros. E se por acaso, esses vampiros gostarem de chupar o sangue de outros homens através da veia grossa da piça, então ainda melhor!
Vejamos:

Isto é que é um vampiro? O Nosferatu deve estar a dar voltas no caixão a esta hora (sim, porque ainda é de dia e ele provavelmente está a dormir).
Ora viva caros amigos! Espero que a vossa cave esteja bem quentinha e com pouca humidade, pois vou falar de algo que vos vai deixar cheio de sopas de cu! Vamos falar da: XBOX 360!
Como toda a gente sabe, eu tenho uma Xbox 360 e gosto de comprar jogos originais, para ela se sentir amada. Mas há sempre pessoal que acha que comprar jogos é um desperdício de dinheiro. Acho isso relativo, há quem curta gastar guito em PDA's e telemóveis, outros gostam de comprar o último produto da maçã mordida. No final, todos compram aquilo que gostam e o que os fazem felizes, seja X, Y ou Z. Mas gostava de saber o que é que vocês acham sobre isso. Comprar games, YAY or NAY?

Andava eu a googlar coisas sobre o iphone quando dou de caras com isto:
Somos os únicos distribuidores autorizados da marca Cect para Portugal. Oferecemos Cects i9 com 2 Gb de memória desbloqueados dual sim a 110,33 euros com transporte incluído para Portugal continental e ilhas. Clone aperfeiçoado do Iphone, sendo que a Apple criou uma nova versão do Iphone devido à concorrencia do Cect que, apesar de ser mais barato, era mais aperfeiçoado e corrigia alguns bugs do iPhone.
Claro que tive de entrar para ver o que era... e sim era mesmo isso... um clone ranhoso do iphone... agora imaginem se o iphone já é mau pensem como será este magnifico clone chines com symbian...
Aqui fica o site:
http://www.cectportugal.com/
PS: Na hora do fecho desta redação eis que surge ainda melhor:
http://www.tugatronica.com/iphone-chines-com-autenticacao-por-impressao-digital/
Vejam caros leitores...
Ora Viva amigos!
Hoje venho aqui blogar não sobre uma coisa inútil como é habitual, mas sobre algo deveras útil!
Como devem saber (se não sabem, deviam!!!) eu há uns tempos tinha feito um parser à pagina das ementas no site dos Serviços de Acção Social da Universidade Nova de Lisboa que cria um RSS Feed onde se pode ver no Google Reader (ou outro) todos os dias a ementa do dia.
Mas já há uns tempos me tinham dito que na Universidade do Minho[1] há um marmanjo que importa as ementas lá do sitio para o Google Calendar. E vocês perguntam qual a razão para isso né? A beleza da cena é que no Google Calendar existe uma feature que permite enviar avisos de eventos por SMS, já viram onde isto nos leva né ;-)
Então decidi por mãos à obra e comecei a programar, decidi usar Python pois as APIs dos Serviços do Google parecem ser mais viradas para essa linguagem.
O primeiro problema era fazer parse da pagina da SAS, então descobri no Google um parser de HTML lindo chamado BeautifulSoup que até tem um *slogan* todo jeitoso - You didn't write that awful page. You're just trying to get some data out of it. Right now, you don't really care what HTML is supposed to look like. Neither does this parser.
Em muito pouco tempo, sem usar uma única regex lá consegui fazer parse ao site e sacar de la todos os dados que precisava.
Depois andei a cuscar o Google Data API Developer's Guide: Python, e com a ajuda dos exemplos rapidamente fiz uma rotina que importava o que eu precisava para o Google Calendar.
Aqui se segue o código caso alguém queira implementar o mesmo para outras faculdades da UNL.
#!/usr/bin/env python
# this script can never fail
# -*- coding: utf-8 -*-
# This program is free software. It comes without any warranty, to
# the extent permitted by applicable law. You can redistribute it
# and/or modify it under the terms of the Do What The Fuck You Want
# To Public License, Version 2, as published by Sam Hocevar. See
# http://sam.zoy.org/wtfpl/COPYING for more details.
# urle de exemplo
# http://sas.unl.pt/cantina?year_menu:int=2010&month_menu:int=1&day_menu:int=25
import urllib
from BeautifulSoup import BeautifulSoup
try:
from xml.etree import ElementTree # for Python 2.5 users
except ImportError:
from elementtree import ElementTree
import gdata.calendar.service
import gdata.service
import atom.service
import gdata.calendar
import atom
import getopt
import sys
import string
import time
import datetime
# ids dos calendarios. almoco - almoco dieta - jantar - jantar dieta
cal_ids = ['/calendar/feeds/XXXXXXXXXXXXXXXXXXXXXXXXXX%40group.calendar.google.com/private/full',
'/calendar/feeds/XXXXXXXXXXXXXXXXXXXXXXXXXX%40group.calendar.google.com/private/full',
'/calendar/feeds/XXXXXXXXXXXXXXXXXXXXXXXXXX%40group.calendar.google.com/private/full',
'/calendar/feeds/XXXXXXXXXXXXXXXXXXXXXXXXXX%40group.calendar.google.com/private/full']
# logar-se ao google
calendar_service = gdata.calendar.service.CalendarService()
calendar_service.email = 'XXXXXXXX@gmail.com'
calendar_service.password = 'XXXXXXXX'
calendar_service.source = 'Google-Calendar'
calendar_service.ProgrammaticLogin()
def ParsaSite(ano, mes, dia):
params = urllib.urlencode({'year_menu:int': ano, 'month_menu:int': mes, 'day_menu:int': dia})
f = urllib.urlopen("http://sas.unl.pt/cantina?%s" % params)
soup = BeautifulSoup(f.read())
# todas as cantinas
cantinas = soup.findAll(attrs={'class' : 'cantina'})
for cantina in cantinas:
# verifica se o conteudo da class title e da FCT
titletag = cantina.find(attrs={'class' : 'title'})
if titletag.renderContents().count('ncias e Tecnologia'):
# apanha o almoco
almoco = titletag.nextSibling.nextSibling
# percorre todos os pratos
almoco_p = almoco.findAll('li')
al = {}
for prato in almoco_p:
key = prato.next.renderContents()
value = prato.next.next.next.next.next.renderContents()
al[key] = value
jantar = almoco.nextSibling.nextSibling
jantar_p = jantar.findAll('li')
ja = {}
for prato in jantar_p:
key = prato.next.renderContents()
value = prato.next.next.next.next.next.renderContents()
ja[key] = value
return (al, ja)
def InsereEvento(calendario_id, _data, refeicao, prato):
evento = gdata.calendar.CalendarEventEntry()
evento.title = atom.Title(text=prato)
#evento.where.append(gdata.calendar.Where(value_string='Cantina FCT UNL - Monte de Caparica'))
dt = datetime.datetime(_data.year, _data.month, _data.day)
if refeicao == 1:
inicio = dt + datetime.timedelta(hours=11,minutes=30)
fim = dt + datetime.timedelta(hours=14,minutes=30)
if refeicao == 2:
inicio = dt + datetime.timedelta(hours=18,minutes=30)
fim = dt + datetime.timedelta(hours=20,minutes=30)
evento.when.append(gdata.calendar.When(start_time=inicio.isoformat(), end_time=fim.isoformat()))
calendar_service.InsertEvent(evento, calendario_id)
dt = datetime.date.today()
while dt.weekday() < 5:
(al, ja) = ParsaSite(dt.year, dt.month, dt.day)
i = 0
for k, v in al.iteritems():
if k == 'Prato':
InsereEvento(cal_ids[i], dt, 1, v)
if k == 'Dieta':
InsereEvento(cal_ids[i], dt, 1, v)
i+=1
i = 2
for k, v in ja.iteritems():
if k == 'Prato':
InsereEvento(cal_ids[i], dt, 2, v)
if k == 'Dieta':
InsereEvento(cal_ids[i], dt, 2, v)
i+=1
# incrementa a data
dt += datetime.timedelta(days=1)
# acabou boy
O script vai ser corrido todas as segundas durante a madrugada no cron.
Sei que o código não interessa a ninguém, e o que querem é os links para adicionar os calendários ao Google Calendar, portanto aqui vão.
Props pro webmaster do site da SAS por feito um HTML bem estruturadinho.
1 - Se alguém sofrer de algum problema de atraso mental e não souber activar as SMS no Google Calendar, no link para a Universidade do Minho está um documento a explicar como se faz
Ora viva!
Hoje como estava aborrecido e não me apetecia ir para a rua porque está um barbeiro do caralho decidi meter o blol a validar no w3c validator, primeiro estava com alta drama por causa do penisbird no source do site, mas depois lá aprendi que em HTML também existe o CDATA, e que se o usar por exemplo dentro dum paragrafo posso meter lixo para la à vontade.
E com isto lá pus o blol a validar, mas fiquei com um bichinho atrás da orelha, porque só um penisbird quando podemos ter um molho deles, então tentei seguir as passadas do grande Mario Gamito e decidi também eu fazer um plugin para o WordPress que adiciona penisbirds aleatórios no fim do blog mesmo antes do fechar do BODY.
Sei que é a coisa mais inútil de sempre, mas, é para isso que cá estou eu!
Download: wp_birds_0.1.zip
Pois é, está um belo dia soalheiro de inverno e este importante facto faz-me relembrar a "pandemia" que, supostamente, iria acontecer caso nao tomássemos as providências de mandar com um gel malcheiroso para as mãos cada vez que fossemos tocar em alguma coisa sem ser o nosso orgão sexual (isso era só depois de tocar).
Após ter tomado o conhecimento que o terramoto do Haiti curou a gripe A e que com esse facto provado, a OMS vem confirmar que o virus H1N1 está a perder a força, tive logo que vir aqui blogar sobre o facto de nenhum dos meus amigos/conhecidos/familiares ter apanhado este virus, sem ser a GRIPE SAZONAL QUE ACONTECE TODOS OS ANOS, SIM É UM FACTO PROVADO QUE TODOS OS ANOS O VIRUS DA GRIPE SOFRE MUTAÇÕES E QUE O NOSSO CORPO TEM QUE ARRANJAR DEFESAS PARA SE PROTEGER!!!
De qualquer das maneiras, as grandes farmacêuticas têm a agradecer a vossa ingenuidade ao porem um gel malcheiroso nas mãos, que vos faz perder os germes todos das mãos... e com eles grande parte das defesas naturais que as mãos têm contra a tal gripe sazonal entre outras maleitas.
As grandes farmaceuticas também agradecem o facto de termos comprado 6 MILHÕES de vacinas "não vá o diabo tecê-las" mais tamiflus, constipal, antigripine e o raio que os parta a todos.
Qual será o próximo animal a pegar-nos a gripe ? Espero é que ao menos seja um animal exótico, já foram as aves, os porcos, faltam as vacas que ainda só nos passaram a maluqueira delas... Ao menos que apanhasse uma gripe de um animal "como deve de ser", de lagosta ou de macacos do madagáscar...
Enfim, venha o sol!
Ora viva,

Vocês sabiam que o José Cid foi assaltado e raptado? Nem mais do que por um português e um brasileiro? E nem sequer lhe gamaram o telemóvel. Já não se fazem ladrões como antigamente...
PS: Ai de alguém que diga que fui buscar isto ao DN! A minha fonte foi o José Cid e apenas ele! Nem imaginam; acordei hoje e pensei em ligar-lhe para saber se tinha sido assaltado! Exactamente como no outro dia com o russo que se operou a ele próprio!