2009-10-31

Trailers fixes: gajo dos 300 & um gajo maluco

Estava a ver o Cinebox na TVI agora de manhã e vi uns quantos trailers fixes:

Law Abiding Citizen



Moon Movie

2009-10-30

Papá Wrestling

considero isto ao nível do ninja das caldas, ou seja, imperdível!

2009-10-28

Anedota para Programadores

Se não sabes o que é o POSIX, provavelmente isto não é para ti.

P: O que é que o sistema [capitalista] fez quando os grandes bancos norte-americanos [e não só] ficaram com problemas de 'liquidez' ?

...

...

...

...

...

...

...

...

...

...

return E2BIG [to fail]

:p

2009-10-27

Jaws

Eu pessoalmente assusto-me com a ideia de um Tubarão de 3m de comprimento.

Mas agora um tubarão de 3m de comprimento...que foi mordido em 2 por um tubarão de 6m de comprimento, isso sim, é assustador:

2009-10-25

Carta aberta à Maitê Proença

Acabei de receber isto por email e não resisti:

"Cara Maitê,

Acabei de ver o teu vídeo a pedir desculpa aqui à malta de Portugau!!

Tudo jóia miúda.. já vi que és uma garota "légál" e brincalhona, por isso, sei que não levas a mal se te tratar por tu...já somos amigos!!

Sabes que há uns anos atrás, quando te vi pela primeira vez, soube logo que tu tinhas dois avôs portugueses!! Essa tua beleza tinha de vir de algum lado, né?

Neste momento sinto-me envergonhado de nós (Portugueses) termos ficado tão ofendidos com aquele documentario! Afinal de contas, o pessoal brazuca é show de bola. É sempre em festa!! Qual é o problema de um grupo de brasileiras brincarem e gozarem com "gajos" como o Camões e o Vasco da Gama, escarrar para um lago de um Mosteiro que é património mundial, deitar abaixo uma pessoa que não sabia resolver um problema no computador, que pelo que entendi, tu também não sabias resolver... qual é o stress?? Na boa, tudo "légál", show de bola garota...

Eu, em Portugal, de brasileiros, só conheço prostitutas. Cheguei a conhecer um dentista mas era um indivíduo com os dentes esverdeados do tabaco que estava sempre a insistir comigo "prá branqueá us denti".Na terceira consulta perguntei-lhe se ele estava a gozar comigo. Sendo um indivíduo irascível (acho que no "Brasiu" chamam de "bravo") a conversa acabou com ele a me chamar de "Mané" e eu a chamá-lo de qualquer coisa de m...As prostitutas são lindas de morrer e burras todos os dias. Uma delas, a quem perguntei se gostava de Chopin (tocava um tema dele na rádio), disse que eu era um "cafagesti", pensando que eu lhe estava a perguntar se gostava de chupar. Uma disse-me que, quando ia ao McDonald`s comia sempre um "lanchi mac feliz". Uma outra disse-me que fazia strip lá no "naiti clubi" onde trabalhava ao som do "pup away" do "Princi". Só quando vi o show (a propósito, bem bom) é que percebi que se referia ao "Purple Rain" do Prince. Uma delas, a quem levei a jantar, quando lhe perguntei se queria um aperitivo, disse, toda boazona, "qui sim, qui quiria azeitona". Não sabem escrever, não sabem ler, só sabem dizer "gostoso"e "delícia" e abrir as pernas. Constituem 95% das brasileiras que estão em "portugau" que, aliás, não querem deixar por dinheiro nenhum do Mundo. "Mais" (como os brasileiros dizem e escrevem em vez de "mas"), acham-nos piada. Provavelmente pela mesma razão porque acham que os hotéis têm de ter técnicos de informática...

Sabes o que me lembrei???

Até era giro a malta combinar, tu falares com esse teu amigo camera man e fazemos o seguinte: Eu levo daqui o Rui de Carvalho (um conceituado actor aqui de Portugal) aí ao Brasil e a malta faz um filme caseiro com este guião:

1º Filmamos o Rui a mijar para os pés do Cristo Redentor e a fazer um V de Vitória como que a afirmar : "estou-te a mijar para os pés e tu não podes fechar os braços para me impedir... estás a ver quem manda ó 7º maravilha do mundo??"

2º Outra imagem era o Rui num restaurante a fazer o seguinte pedido: "Oh garçon, arranja-me aí uma dose de Presidente recheado com arroz de coentros (caso não tenhas entendido ele iria pedir Lulas recheadas)..."

3º Também era "légál", o Rui gozar um bocado com a vossa história, mas infelizmente, não vai dar porque não é fácil encontrá-la... Espera lá! Já sei... arranjamos um barco e o Rui veste-se de conquistador Português a desembarcar no posto 9 em Ipanema gritando o seguinte: "quem sois vós minhas popozudas de fio dental?? e vós seus boiólas de sunga?? Que estaides a fazer assim vestidos na terra que eu descobri??? ide-vos vestir e de seguida ide trabalhar para os campos a apanhar cana de açúcar que é para isso que vocês servem!! (esta é show, não é Maitê??)

4º Para acabar, o Rui faz um discurso à frente da estátua do Pélé a dizer: "sabem para que é que este preto era bom?? para limpar os escarros que os vigaristas dos brazucas mandam para os lagos dos nossos mosteiros lá em Portugal!"

Vôcê curtiu a ideia Maitê??? Pensei que seria falta de respeito e de educação fazer uma coisa deste género de um país que não é o meu, mas afinal, é uma coisa normal como tu dizes.. é brincadeira.. isto há brincadeiras do carago (como se diz no norte cá da terra)!

Ah é verdade... muito importante...Depois vendemos isto à rede Globo e eles transmitem isto em horário nobre... Aposto que o Brasil vai ficar inundado em lágrimas de tanto rir!! Afinal de contas como tu disseste, o povo brasileiro, é muito brincalhão! De certeza que vai aceitar que um "manézinho" vá aí à tua terra gozar com o teu país!!!

Um beijo pá..

E aparece mais vezes cá em Portugal. Tenho uma brincadeira que adorava fazer contigo, mas que não te conto agora... pronto está bem, eu conto... era esfregar 3 pasteis de nata (aqueles que tu comeste) na tua cara!! Deve ser mesmo o teu género de brincadeira... afinal de contas tu és tão bem humorada! É verdade, traz as tuas amigas do programas porque há pasteis para todas!!

Beijos pá,
Rogério Belo

Nota: Usei o nome de Rui de Carvalho sem qualquer desrespeito à sua pessoa, antes pelo contrário, é um símbolo do nosso país daí ser a pessoa exacta para ironizar esta situação."

2009-10-24

Treinador marca golo e é expulso



"Dragan Stojkovic foi um dos últimos grandes jogadores da selecção da Jugoslávia e é actualmente treinador da equipa japonesa Nagoya Grampus. Durante um jogo do campeonato japonês, o guarda-redes da equipa adversária chutou a bola para fora para que um colega pudesse ser assistido e Stojkovic decidiu recordar os bons velhos tempos. A brincadeira valeu-lhe um cartão vermelho do árbitro." via Público

Pingo doce de Janeiro a Janeiro...

Youtube link: http://www.youtube.com/watch?v=1Z6H-MlsbkY

Recomendo vivamente a secção de comentários... (pra quem nao queira ver o video)

e claro ... não pude deixar de notar este: http://www.youtube.com/watch?v=FN7sjHwKkxQ


Enfim ... se o objectivo da publicidade era dar que falar ... conseguiram :p

2009-10-23

Porque este blog sabe citar:«Abomino a arrogância pomposa e pedante de Saramago que se julga um iluminado que vem revelar aos patetas a essência(...)»

...Abomino a arrogância pomposa e pedante de Saramago que se julga um iluminado que vem revelar aos patetas a essência das coisas.
Abomino (e temo) infinitamente mais os que pretendem que não deve ser reconhecido ao escritor de Lanzarote o direito de escrever os disparates que lhe aprouver e pretendem censurá-lo, reprimi-lo e, até, retirar-lhe a cidadania, por causa de umas atoardas gratuitas que regurgitou sobre a Bíblia.
O único verdadeiro disparate intolerável em matéria de liberdade de expressão é permitir que alguém se arrogue a qualidade portador de uma verdade absoluta que lhe confira o direito de, em nome dela, silenciar os outros.
...continua
in Sejamos claros...

2009-10-22

L4D2

Agora, sem teletubbies, L4D 2, trailer leakado:


Mais do mesmo, com novas armas, novas personagens, e, de dia.

2009-10-17

them crooked vultures

Porque o meu gosto musical é incontestável, achei bem informar-vos, reles ignorantes acerca da minha próxima banda preferida.

E também porque o Goucha se queixa de falta de conteúdo no blog.


Vejamos.

Dave Grohl (Foo Fighters, Nirvana) - drums

Josh Homme (Queens of the Stone Age, Eagles of Death Metal) - vocalista, guitarra

John Paul Jones (Led Zeppelin) - baixista

Alain Johannes (What Is This?, Walk The Moon, Eleven, Queens of the Stone Age) - live rhythm guitarist (????)


Como pode não ser grande win??

\m/

2009-10-14

Filme de 1988: "They Live"

Estava à bocado a pensar e lembrei-me de um filme que vi quando era puto em que o herói morre no final.

Graças ás interwebs, ao Google, e ás palavras "alien sunglasses lenses imdb" consegui descobrir que o filme se chamava They Live e que era do John Carpenter.

2009-10-09

Ali-G forvevaaaa

Goucha, agora não tens desculpas para não ver isto, já que o teu tráfego é ilimitado!
Quem é que não se lembra disto !!!

West Side forever !


Garfield - Striving for perfection

2009-10-08

Para o Árabe não se armar em esperto: getting an interface IP using popen()

Generated to HTML using c2html

/* Author: Pedro Francisco
* License: GPLv2 or any later version
*/


#include <iostream>
#include <stdlib.h>

std::string _osName("eth0");

int _getIPv4(std::string & ipv4)
{
char *cmdline = NULL;

asprintf(&cmdline,
"LC_ALL=C ifconfig %s |grep \"inet addr.\" |sed 's_[a-z ]*:\\([0-9.]*\\).*_\\1_'",
_osName.c_str());

/* Thanks to dwhitney67 from Ubuntu Forums
* { http://ubuntuforums.org/showthread.php?p=5507024 }
* for the basis for this code
*/

FILE *pfd = popen(cmdline, "r");
if (pfd == NULL)
return -1;

const size_t BUFSZ = 1024;
char *buf = static_cast < char *>(malloc(BUFSZ));
size_t bufPos = 0;


bufPos += fread(buf + bufPos, 1, BUFSZ, pfd);
while (!feof(pfd)) {
// more data available
buf = static_cast < char *>(realloc(buf, bufPos + BUFSZ));
bufPos += fread(buf + bufPos, 1, BUFSZ, pfd);
}

buf[bufPos] = '\0';

pclose(pfd);
free(cmdline);

ipv4.assign(buf);
ipv4.assign(ipv4.substr(0, ipv4.find('\n')));

free(buf);

return 0;
}



int main(void)
{
std::string ipv4;

if (_getIPv4(ipv4) == 0)
std::cout << "ipv4 e' " << ipv4 << "\n";
else
std::cout << "Erro" << "\n";

return 0;
}


Generated to HTML using c2html

Obtaining all IP of all interfaces on GNU/Linux using rtnetlink

Generated to HTML using c2html

/* Author: Pedro Francisco
* License: GPLv2 or any later version
*
* Code between "#ifdef ASKDJSD" and "#endif" is
* subject to another license and is here
* for informative motives only
*/



#include <stdio.h>
#include <stdlib.h>

#include <sys/ioctl.h>
#include <string.h>

#include <assert.h>


#include <net/if.h>
#include <linux/rtnetlink.h>

#include <netdb.h> /* for NI_MAXHOST and friends */

#include <arpa/inet.h> /* for inet_ntop() */

/* Structure listing at the bottom */


int main(void)
{
int fd; /* socket descriptor */
struct sockaddr_nl sa;


struct request {
struct nlmsghdr nh;
struct ifaddrmsg ifa;
} req;

struct reply {
struct nlmsghdr nh;
struct ifaddrmsg ifa;
struct rtattr rta;
/* 1) there should be buffer
* 2) and another rtattr
* 3) and loop ending with a buffer
*/

};

struct nlmsghdr *nh;
struct rtattr* ra; /* both to help parse the reply */
int len, nllen, ralen; /* we keep separate lengths for macros NLMSG_NEXT and RTA_NEXT to work without disturbing the other */
int i, parseNr; /* simple counters */
int endFlag; /* for the while loop */

char hbuf[NI_MAXHOST]; /* where we're gonna save the address */


int bufferSize=4096; /* default receive buffer */
void* recvd3=malloc(bufferSize);



memset(&sa, 0, sizeof(sa));
sa.nl_family = AF_NETLINK;

fd = socket(AF_NETLINK, SOCK_RAW, NETLINK_ROUTE);


/* req filling */
memset(&req, 0, sizeof(req));

req.nh.nlmsg_flags = NLM_F_REQUEST | NLM_F_DUMP; /* man 7 netlink. we must ask for a complete dump, since NLM_F_MATCH
* hasn't been implemented. therefore, parse is done on userspace.
*/

req.nh.nlmsg_type = RTM_GETADDR; /* man 7 rtnetlink */

req.nh.nlmsg_len = sizeof(req); /* we should've used NLMSG_LENGTH(struct ifinfomsg ifi). it works anyway though*/

send(fd, &req, req.nh.nlmsg_len, 0);
/* we sent the request packet */



/* receiving reply */
parseNr=0;
endFlag=0;

do { /* While not the end of multipart message. May be sent into a 2nd recv call */

memset(recvd3, 0, bufferSize);
len=recv(fd, recvd3, bufferSize, 0);

if (len==bufferSize) { /* We may have not received the whole message */
fprintf(stderr, "WARNING: message probably truncated. Increase 'bufferSize'\n");
fprintf(stderr, " proceeding anyway\n");
}
if (len < 0) {
perror("ERROR: reception of netlink packet failed: ");
return -1;
}

fprintf(stderr, "DEBUG: length of received packet: %d\n", len);


fprintf(stderr, "DEBUG: parse number: %d\n", parseNr++);

nllen=len;
for (nh = &(((struct reply*)(recvd3))->nh); NLMSG_OK (nh, nllen); nh = NLMSG_NEXT (nh, nllen)) {
fprintf(stderr, "DEBUG: started new NLMSGHDR.\n");

/* The end of multipart message. */
if (nh->nlmsg_type == NLMSG_DONE) {
fprintf(stderr, "DEBUG: this NLMSG is the last message.\n");
endFlag=1; /* stop condition set */
}

/* Multipart message. */
if (nh->nlmsg_flags == NLM_F_MULTI)
fprintf(stderr, "DEBUG: this NLMSG is part of a multi-message.\n");

/* Do some error handling. */
if (nh->nlmsg_type == NLMSG_ERROR) {
fprintf(stderr, "ERROR: NLMSG has error");
struct nlmsgerr* tmp=NLMSG_DATA(nh);
fprintf(stderr, " Error code: %d.\n", tmp->error);
fprintf(stderr, " Length of message including header: %d.\n", tmp->msg.nlmsg_len);
fprintf(stderr, " Type of message content: %d.\n", tmp->msg.nlmsg_type);
fprintf(stderr, " Additional flags: %d.\n", tmp->msg.nlmsg_flags);
fprintf(stderr, " Sequence number: %d.\n", tmp->msg.nlmsg_seq);
fprintf(stderr, " PID of the sending process: %d.\n", tmp->msg.nlmsg_pid);
return -2;
}

if (nh->nlmsg_type == NLMSG_NOOP)
continue;

printf("DEBUG: interface ID: %d\n", ((struct reply* )(nh))->ifa.ifa_index); /* Thanks 'Santa Claus' for making me see I
* was screwing up here ;)


/* Continue with parsing payload. */

ralen=nllen;
for (ra = &(((struct reply*)(nh))->rta); RTA_OK (ra, ralen); ra = RTA_NEXT (ra, ralen)) {
fprintf(stderr, "DEBUG: started new RTATTR.\n");

switch((ra->rta_type)) {
case IFA_UNSPEC : printf("DEBUG: type is IFA_UNSPEC\n"); break;
case IFA_ADDRESS : printf("DEBUG: type is IFA_ADDRESS\n"); break;
case IFA_LOCAL : printf("DEBUG: type is IFA_LOCAL\n"); break;
case IFA_LABEL : printf("DEBUG: type is IFA_LABEL\n"); break;
case IFA_BROADCAST : printf("DEBUG: type is IFA_BROADCAST\n"); break;
case IFA_ANYCAST : printf("DEBUG: type is IFA_ANYCAST\n"); break;
case IFA_CACHEINFO : printf("DEBUG: type is IFA_CACHEINFO\n"); break;
}


if (ra->rta_type == IFA_LABEL) {
printf("\tvalue: ", ra->rta_type);
for(i=0; i < ra->rta_len; i++)
printf("%c", *((char*)RTA_DATA(ra)+i));
printf("\n");
} else if (ra->rta_type == IFA_ADDRESS || ra->rta_type == IFA_LOCAL) {

if((inet_ntop((((struct reply* )(nh))->ifa.ifa_family), \
RTA_DATA(ra), hbuf, NI_MAXHOST)) != NULL) /* Thanks iproute and its author
* Alexey Kuznetsov, was at a loss here
*/

printf("\tvalue: %s\n", hbuf);

strncpy(hbuf, ">EMPTY<", NI_MAXHOST);
} else
printf("\tIGNORED.\n");



}
}

} while (endFlag==0);

free(recvd3);

printf("DEBUG: normal termination.\n");

return 0;

}



#ifdef ASKDJSD
struct msghdr {
void * msg_name; /* Socket name */
int msg_namelen; /* Length of name */
struct iovec * msg_iov; /* Data blocks */
__kernel_size_t msg_iovlen; /* Number of blocks */
void * msg_control; /* Per protocol magic (eg BSD file descriptor passing) */
__kernel_size_t msg_controllen; /* Length of cmsg list */
unsigned msg_flags;
};

struct sockaddr_nl
{
sa_family_t nl_family; /* AF_NETLINK */
unsigned short nl_pad; /* zero */
__u32 nl_pid; /* port ID */
__u32 nl_groups; /* multicast groups mask */
};

struct nlmsghdr {
__u32 nlmsg_len; /* Length of message including header. */
__u16 nlmsg_type; /* Type of message content. */
__u16 nlmsg_flags; /* Additional flags. */
__u32 nlmsg_seq; /* Sequence number. */
__u32 nlmsg_pid; /* PID of the sending process. */
};

struct nlmsgerr {
int error; /* Negative errno or 0 for acknowledgements */
struct nlmsghdr msg; /* Message header that caused the error */
};

struct ifinfomsg {
unsigned char ifi_family; /* AF_UNSPEC */
unsigned short ifi_type; /* Device type */
int ifi_index; /* Interface index */
unsigned int ifi_flags; /* Device flags */
unsigned int ifi_change; /* change mask */
};

struct rtattr {
unsigned short rta_len; /* Length of option */
unsigned short rta_type; /* Type of option */
/* Data follows */
};

struct ifaddrmsg {
unsigned char ifa_family; /* Address type */
unsigned char ifa_prefixlen; /* Prefixlength of address */
unsigned char ifa_flags; /* Address flags */
unsigned char ifa_scope; /* Address scope */
int ifa_index; /* Interface index */
};



#endif


Generated to HTML using c2html

Yo dawg!



2009-10-05

Domínio Mundial: agregação num Planet

O disco-bar está mais uma vez à frente no seu plano maléfico e secreto de domínio mundial: vamos ser agregados num agregador.

Para quem acha que estou a ser um pouco redundante, têm razão.

Serve portanto este post de exemplo. O agregador é o abandonados.info.

Entretanto, apenas os posts marcados com a label 'planet' serão agregados pelo planet.

Outra coisa, à custa de sermos agregados, lembrei-me que os nossos posts não têm licença. Penso que seria uma boa oportunidade, na eventualidade dos posts serem mais técnicos, p.ex., de definir uma licença.

A maneira mais simples de fazer isto seria definir uma licença global para o blog, que pudesse ser "overridable" por um texto no final de um artigo, p.ex. .

Para o blog em geral, acho que a ideal seria a CC-BY-SA.

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 2.5 Portugal License.

Adicionalmente, lembro-me do Stallman falar qualquer coisa contra as cláusulas de atribuição. Até ter tempo de investigar isso não vou colocar qualquer coisa geral (i.e., aplicável a todos os posts por defeito) no blog quanto a licenças, quanto muito, num caso post a post.

Deliberação para o Peres

Eu e o Sintra constatámos que devido ao facto de andares noutra zona do país actualmente se torna difícil picar-te ou de outra maneira solicitar a tua contribuição para as conversas do dia a dia.

Assim sendo, deliberámos que deverias criar uma conta no Facebook, para que mais facilmente te possamos fazer 'poke'. Ou, como diz na versão "Portuguesa" do Facebook, te possamos 'cutucar'.

Atenciosamente, Pedro e João.

An Owned Counter-Strike Geek

Quem se lembra deste Video ?