quinta-feira, 28 de fevereiro de 2008

Mãe é Mãe...

Abaixo veremos algumas frases que nossas amadas mães diziam quando eramos pequenos e que fez com que eu aprendesse algumas coisas.

Eu "conheci" várias destas.....

Era uma forma, hoje condenada pelos educadores e psicólogos, que funcionava. Forjou homens de têmpera, respeitadores e honestos. Vamos la:

Minha mãe ensinou a VALORIZAR O SORRISO...

"ME RESPONDE DE NOVO E EU TE ARREBENTO OS DENTES!"

Minha mãe me ensinou a RETIDÃO .

"EU TE AJEITO NEM QUE SEJA NA PANCADA!"

Minha mãe me ensinou a DAR VALOR AO TRABALHO DOS OUTROS...

"SE VOCÊ E SEU IRMÃO QUEREM SE MATAR, VÃO PRA FORA. ACABEI DE LIMPAR A CASA!"

Minha mãe me ensinou LÓGICA E HIERARQUIA...

"PORQUE EU DIGO QUE É ASSIM! PONTO FINAL! QUEM É QUE MANDA AQUI?"

Minha mãe me ensinou o que é MOTIVAÇÃO...

"CONTINUA CHORANDO QUE EU VOU TE DAR UMA RAZÃO VERDADEIRA PARA VC CHORAR!"

Minha mãe me ensinou a CONTRADIÇÃO...

" FECHA A BOCA E COME!"

Minha Mãe me ensinou sobre ANTECIPAÇÃO...

"ESPERA SÓ ATÉ SEU PAI CHEGAR EM CASA!"

Minha Mãe me ensinou sobre PACIÊNCIA...

"CALMA!... QUANDO CHEGARMOS EM CASA VOCÊ VAI VER SÓ..."

Minha Mãe me ensinou a ENFRENTAR OS DESAFIOS...

"OLHE PARA MIM! ME RESPONDA QUANDO EU TE FIZER UMA PERGUNTA!"

Minha Mãe me ensinou sobre RACIOCÍNIO LÓGICO...

"SE VOCÊ CAIR DESSA ÁRVORE VAI QUEBRAR O PESCOÇO E EU VOU TE DAR UMA SURRA!"

Minha Mãe me ensinou MEDICINA...

"PÁRA DE FICAR VESGO MENINO! PODE BATER UM VENTO E VOCÊ VAI FICAR ASSIM PARA SEMPRE."

Minha Mãe me ensinou sobre o REINO ANIMAL...

"SE VOCÊ NÃO COMER ESSAS VERDURAS, OS BICHOS DA SUA BARRIGA VÃO COMER VOCÊ!"

Minha Mãe me ensinou sobre SEXO...

"..E COMO VOCÊ ACHA QUE VOCÊ NASCEU?"

Minha Mãe me ensinou sobre GENÉTICA...

"VOCÊ É IGUALZINHO AO SEU PAI!"

Minha Mãe me ensinou sobre minhas RAÍZES ..

"TÁ PENSANDO QUE NASCEU DE FAMÍLIA RICA É?"

Minha Mãe me ensinou sobre a SABEDORIA DE IDADE...

"QUANDO VOCÊ TIVER A MINHA IDADE, VOCÊ VAI ENTENDER."

Minha Mãe me ensinou sobre JUSTIÇA..

"UM DIA VOCÊ TERÁ SEUS FILHOS, E EU ESPERO ELES FAÇAM PRÁ VOCÊ O MESMO
QUE VOCÊ FAZ PRA MIM! AÍ VOCÊ VAI VER O QUE É BOM!"


Minha mãe me ensinou RELIGIÃO...

"MELHOR REZAR PARA ESSA MANCHA SAIR DO TAPETE!"

Minha mãe me ensinou o BEIJO DE ESQUIMÓ...

"SE RABISCAR DE NOVO, EU ESFREGO SEU NARIZ NA PAREDE!"

Minha mãe me ensinou CONTORCIONISMO...

"OLHA SÓ ESSA ORELHA! QUE NOJO!"

Minha mãe me ensinou DETERMINAÇÃO...

"VAI FICAR AÍ SENTADO ATÉ COMER TODA COMIDA!"

Minha mãe me ensinou habilidades como VENTRÍLOGO...

"NÃO RESMUNGUE! CALA ESSA BOCA E ME DIGA POR QUE É QUE VOCÊ FEZ ISSO?"

Minha mãe me ensinou a SER OBJETIVO...

"EU TE AJEITO NUMA PANCADA SÓ!"

Minha mãe me ensinou a ESCUTAR ....

"SE VOCÊ NÃO ABAIXAR O VOLUME, EU VOU AÍ E QUEBRO ESSE RÁDIO!"

Minha mãe me ensinou a TER GOSTO PELOS ESTUDOS..

"SE EU FOR AÍ E VOCÊ NÃO TIVER TERMINADO ESSA LIÇÃO, VOCÊ JÁ SABE!..."

Minha mãe me ajudou na COORDENAÇÃO MOTORA...

"AJUNTA AGORA ESSES BRINQUEDOS!! PEGA UM POR UM!!"

Minha mãe me ensinou os NÚMEROS ...

"VOU CONTAR ATÉ DEZ. SE ESSE VASO NÃO APARECER VOCÊ LEVA UMA SURRA!"

Aproveito para agradecer a minha amada mãe, Dona Dionília por ter me tido juntamente com meu amado pai e por me amar tanto. (HEHEHEHEH)

Recebido por email

terça-feira, 26 de fevereiro de 2008

Pequisadores “quebram” criptografia do Vista, Mac OS e Linux

Um método simples, mas eficiente o bastante para deixar de cabelo em pé os maiores fabricantes de computadores, grandes corporações e qualquer usuário que achava que seus dados não poderiam ser violados caso estivessem criptografados. O método é resultado do trabalho de pesquisadores norte-americanos. O grupo acaba de demonstrar uma nova modalidade de ataques a computadores que compromete seriamente os conteúdos de sistemas de memória até então considerados seguros, particularmente os presentes em laptops.

Os ataques foram capazes de superar uma série de medidas de segurança reunidas no que se chama de criptografia de disco, que, em teoria, foi criada para garantir a inviolabilidade de informações armazenadas na memória do computador.

Os pesquisadores conseguiram “quebrar” diversas tecnologias amplamente usadas, entre as quais a BitLocker, da Microsoft (usada no Windows Vista), o FileVault, da Apple (usado no Mac OS X), e a dm-crypt, usada em plataforma Linux. Segundo o grupo, o método usado é suficiente para vencer a grande maioria dos sistemas de criptografia de disco, uma vez que as tecnologias têm componentes arquitetônicos comuns.

“Nós quebramos os produtos de criptografia de disco exatamente no ponto em que eles são mais importantes atualmente: quando usados por laptops que contêm dados corporativos e estratégicos ou informações pessoais importantes a respeito de clientes”, disse Alex Halderman, do Departamento de Ciência da Computação da Universidade Princeton, um dos participantes no trabalho. Além de pesquisadores de Princeton, participaram do trabalho integrantes da Eletronic Frontier Foundation e da empresa Wind River Systems.

“O problema é que, diferentemente de muitos dos problemas de segurança, não estamos falando, nesse caso, de um defeito menor. Trata-se de uma limitação fundamental na maneira como esses sistemas de segurança foram projetados”, afirmou Halderman.

Chaves secretas

O mais curioso é que o método envolveu o uso de simples latas de sprays, do tipo usado para remover poeira de teclados de computadores. O spray foi usado para resfriar os chips de memória dos laptops, de modo a fazer com que os “invasores” tivessem mais tempo para executar os ataques.

Ao virar as latas de cabeça para baixo, o líquido resultante expelido resfriou os chips a 50 graus negativos. Com isso, os pesquisadores diminuíram a velocidade da taxa de decaimento da memória RAM do laptop de alguns segundos para 10 minutos. O tempo resultante foi suficiente para recuperar 99,9% da informação instalada nessa memória temporária.

Os pesquisadores se valeram da maneira de funcionamento da memória RAM, que, diferentemente do que muitos imaginam, não é apagada imediatamente quando o laptop é desligado, mas em um processo que leva vários segundos.

Tecnologias de criptografia se baseiam no uso de chaves secretas para proteger os dados. Os computadores precisam dessas chaves para acessar os arquivos armazenados nos discos rígidos ou em outros drives. Quando um usuário autorizado digita a senha, o computador armazena a chave na memória RAM, de modo que os dados protegidos possam ser acessados regularmente. Essas chaves desaparecem assim que o chip de memória perde eletricidade quando a máquina é desligada.

Ao lado da estratégia do congelamento, os pesquisadores também escreveram programas que permitiram acessar informações criptografadas automaticamente após a energia ser cortada. O método funcionou tanto com acesso físico à máquina como em ataques por meio de redes, como pela internet.

A invasão foi bem-sucedida até mesmo quando a chave de criptografia começou a decair. No caso, os pesquisadores conseguiram reconstruí-la a partir de outras chaves armazenadas na mesma memória. Até mesmo quando o chip de memória foi removido de um laptop e colocado em outro o método funcionou: os pesquisadores conseguiram recuperar a chave e, conseqüentemente, ter acesso aos dados armazenados.

O modo de ataque desenvolvido pelo grupo, focado na particularidade do chip de memória RAM reter por algum tempo as chaves, mostrou-se particularmente eficiente ao ser usado contra computadores que se encontravam ligados, mas não travados por sistemas de identificação por senha, como é o caso de muitos laptops em modo de standby ou hibernação. Ou seja, uma medida para diminuir o risco de invasão seria desligar o computador quando não em uso, ainda que em alguns casos nem mesmo isso seria suficiente, especialmente se a máquina estiver ligada à internet por cabo ou algum sistema sem fio.

Edward Felten, diretor do Centro para Políticas de Tecnologia de Informação de Princeton, destaca que os resultados da pesquisa demonstram os riscos associados com recentes roubos de laptops ocorridos nos Estados Unidos.

Em um dos casos, um computador do governo continha informações sobre 26 milhões de veteranos de guerra. Em outro, a máquina roubada da Universidade da Califórnia em Berkeley tinha armazenados dados de 98 mil estudantes. Embora muitos achem que sistemas de criptografia de disco seriam suficientes para garantir a inviolabilidade das informações em casos como esses, o novo estudo aponta o contrário.

“Criptografia de disco é freqüentemente recomendada por especialistas em informática como uma solução perfeita contra a perda de dados importantes contidos em laptops, mas nós demonstramos que a proteção é muito menor do que se imaginava”, afirmou Felten.

O método usado foi descrito em artigo publicado no Centro para Políticas de Tecnologia de Informação da Universidade Princeton e submetido a publicação em revista científica. Os pesquisadores também notificaram desenvolvedores de sistemas operacionais e sistemas de criptografia.

Com informações da Agência Fapesp

segunda-feira, 25 de fevereiro de 2008

Arrived in Belzonte...


Desembarquei hoje em Belzonte para dar um treinamento de GIS, com a duração de 5 dias para um cliente da empresa que eu trabalho.

Tirando que tive que acordar as 4:15 da matina para pegar o vôo as 6:00, para estar no cliente as 9:00, quase nada deu certo.

Para começar, desembarquei e peguei um taxista no aeroporto de Confins em direção ao cliente, que fica praticamente no centro de BH - um centro meio afastado, mas segundo eles ainda é centro. O cara rodou 2 horas e 10 minutos para tentar achar o cliente e não achou. O cara estava tão perdido que ele parou o táxi em um ponto e pediu para eu trocar de táxi pois ele não sabia chegar.

Quando eu pensei que a coisa havia acabado, quando cheguei no cliente, cansado, com fome, com sono e comecei a ministrar o curso, descobri que as maquinas dos treinandos não tinham permissão de instalação e muito menos de executar qualquer coisa na maquina que não tivesse na lista de segurança deles. Quando um dos responsaveis pelo curso foi falar com o administrador das maquinas ele falou que nao podia arrumar porque estava muito ocupado e que era para abrir um chamado que em até 48 horas o problema seria resolvido. HAHAHAHAHAHHA eu ri na cara dele falando que vim de SP para dar esse curso até sexta e que não poderia esperar esse tempo.

Depois de meu superior resolver a coisa, dando comida em quem tinha que dar no cliente, as 2 da tarde ele liberou o acesso as maquinas.

E não acabou !!!! Quando comecei a finalmente o treinamento, a sala virou uma ZONA. Parecia minhas aulas de Inglês no colegial, quando Verme, eu Sukita e cia nunca assistíamos as aulas porque a professora era uma tonta e ninguém dava bola para ela. Um bando de marmanjos com barba na cara e algumas mulheres com idade suficiente para ter filhos criados fazendo bagunça na sala de aula. Quase coloquei eles para fora, mas tentei resolver com uma indireta na base da comédia, mas não resolveu... tive que falar que eu não estava ali para brincar e etc etc etc... e quando estava começando a embalar, descobri que eles são como funcionarios publicos... toca a sirene e eles soltam a caneta e vão embora !

E vocês pensam que acabou ?! Nãããããããããããããããããããããããããããããã
ããããããããão. Chego no hotel e quem disse que achavam a minha reserva. Por sorte eu tinha impresso o voucher do hotel e deram um jeito de me hospedar. Digamos que o quarto não é lá essas coisas, mas pelo menos tem uma TV de 29 polegadas com uma TV a cabo que não tem quase canal nenhum HAHAHAHA.

Isso foi só o primeiro dia, vamos ver amanhã em diante.

PS: ˙ɐsɐɔ ɯǝ zɐɟ ɐsodsǝ ɐpɐɯɐ ɐɥuıɯ ǝnb o x0000001 oɹıɟǝɹd nǝ ǝnb ǝ sıɐɯ ǝp ɐpɐu ɯǝʇ oãu oɾıǝnb ǝp oãd o ǝnb ɹɐʇɐʇsuoɔ ǝp oqɐɔɐ sɐɯ 'sɐʇsǝɹd ɐıɹı oɾıǝnb ǝp oãd o souǝɯ olǝd ǝnb ıǝsuǝd
˙ǝpɐpıɔ ɐu snqıuo ǝp ǝʌǝɹƃ ǝʇsıxǝ ǝ opoʇ ɐıp o lɐıɔuǝɹɹoʇ ɐʌnɥɔ ɐɯn opuıɐɔ ɐʇsǝ ǝnb ɯǝ ɐıp ɯn ɯǝ ıǝnƃǝɥɔ ǝ oʇɹǝd ɐʇsǝ olnɐd oãs ǝnb op ɹoıd ɹoɟ oãu ǝs oʇısuâɹʇ o 'oxıl ɯn é ǝpɐpıɔ ɐ 'olınbɐ é ɥq ǝnb 'ossı é ɥq ǝnb ɐlqɐlqɐlq ǝ ʞɾ ǝɹʇsnlı op ǝpɐpıɔ ɐ é ǝnb 'ǝʇuızıɹoɥ olǝq ǝp oʇuɐʇ ɯɐʌɐlɐɟ

Para ler o que não consegue endenter acesse: http://www.revfad.com/flip.html

quinta-feira, 14 de fevereiro de 2008

Campus Party estaria sobrecarregando rede Speedy em São Paulo?


Queixas de usuários paulistanos que não estão conseguindo se conectar à Web usando o serviço Speedy, da Telefônica, chegaram à Redação do UOL Tecnologia.

Chama a atenção o fato de que a totalidade dos "sem conexão" reside nas cercanias da Bienal do Parque do Ibirapuera, nos bairros de Vila Mariana, Paraíso e Itaim.

Essa proximidade, aliada ao fato de que os participantes do evento tecnológico Campus Party (patrocinado pela Telefônica e dotado de conexões Speedy) estão baixando 24 TB diários - matéria aqui -, levanta suspeitas de que a rede da empresa não estaria suportando a voracidade dos campuseiros. Ao menos é o que circula no mercado.

A hipótese, no entanto, é negada pela Telefônica. "A rede que o Campus Party utiliza, de 5 Gbps, é totalmente independente e foi montada exclusivamente para o evento. Ela não se encontra com a rede pública do Speedy e tampouco a canibaliza", informou a assesoria da imprensa da empresa. "O que pode estar acontecendo é um mero problema técnico que se soluciona por meio do contato do usuário com o serviço de atendimento ao cliente".

E a culpa de tudo isso é do Bit torrent, que está liberado no Campus Party. Marcelo Branco, um dos coordenadores da Campus Party, comentou sobre o uso do Bit Torrent.

"Impedir o BitTorrent é censura prévia. Isso sim é crime". A frase contundente e o tom bravo denotam bem a opinião de Marcelo Branco, um dos coordenadores da Campus Party, sobre o download de músicas por conexão P2P.

"Só nos EUA, baixar música é crime", alfineta ele. "Na legislação européia e na brasileira não há impedimento", diz ele. Branco faz uma analogia para defender o uso desse tipo de programa: "Você acha justo fechar as estradas só porque alguns motoristas infiringem as leis?"

Branco prossegue argumentando: "Se alguém baixa pedofilia no PC, ele é o criminoso, não o provedor. Não faz sentido censurar o tráfego, pois a idéia da Campus Party é ser livre. Confiamos no bom senso de quem está aqui".

Assim, a Telefônica, provedora da estrutura de TI na Campus Party não bloqueou programa algum. O resultado é o download de música e jogos pelos campuseiros aqui no Ibirapuera.

Um dos jornalistas do UOL escreveu:

"Que ninguém nos ouça, mas até os coleguinhas jornalistas estão usando o BitTorrent. Dá para baixar 12 GB em seis horas", diz um deles, que preferiu não se identificar, claro.

Queria ter ido lá apenas para usar a rede P2P :D

Fonte: GigaBlog

Indiana Jones e o Reino da Caveira de Cristal





Acho que não preciso falar nada né :D... Alias, tenho sim, finalmente um filme que preste no cinema.

Dia 22/05/2008 estarei na fila :D

terça-feira, 12 de fevereiro de 2008

"Troque seu cachorro por uma criança pobre..." ?


A música do Eduardo Dusek diz assim:

"Troque seu cachorro
Por uma criança pobre...
... Deixe na história de sua vida
Uma notícia nobre...
Seja mais humano
Seja menos canino..."

Só que quando ele escreveu isso, ele não deve ter passado por nenhuma situação igual a que eu passei hoje.

Estava trabalhando em casa hoje e quando terminei os afazeres, resolvi correr um pouco e malhar um pouco na academia.

Antes de continuar a história, deixa eu situar as pessoas que não sabem aonde eu moro. Eu moro em frente ao Simba Safari, do lado do Zoo de São Paulo, do lado do Jardim Botânico de São Paulo e do Parque do Estado. Não preciso nem dizer que eu e a esposa somos pessoas privilegiadas, por morar em um local cheio de verde, ar puro, fresquinho e LINDO. Podem dar uma olhada no google maps.

A parte triste da coisa é que vira e mexe, tem um pessoal que abandona os seus cachorros - geralmente filhotes e idosos - aqui na rua e como moro em uma rua sem saída e de condomínios fechados, os vizinhos acabam adotando os cachorros abandonados e cuidando deles como se fossem de casa mesmo. Temos o Jambolão - um fila brasileiro gigante de mais ou menos uns 10 anos, a Princesa - uma vira-lata misturada com rottweiler, a Neguinha, o Forasteiro , Larissa - todos vira-latas, uns amores, mas não mexe com eles ou com quem eles conhecem, pois atacam mesmo. Todos foram castrados, tomam banho periodicamente, tem coleira, identificação e cadastro na zoonoses.

Mas agora vamos voltar ao causo.

Estava eu saindo de casa e indo para a academia e quando estou descendo a rua de casa, vejo uns 15 pivetes saindo de um terreno que dá para diadema, todos com pedras do tamanho de um bonde e pedaços de pau na mão. Pensei comigo: "Esses favelados vão aprontar alguma", mas não deu outra, chegando no final da rua um deles gritou: "JOGA PRIMEIRO NO MAIOR QUE FICA MAIS FÁCIL DE ACERTAR OS OUTROS". Os moleques iam dar pedradas e pauladas nos NOSSOS cachorros apenas por diversão. Daí eu dei um berro:

"OOOOOOOOOOOOOOOOOOOU"

Vocês devem ter imaginado o tamanho de um berro de um filho de italiano nervoso. Ecoou nos prédios. A pivetaiada olho para trás brancas e metade saiu correndo deixando o que tinha na mão no chão, mas teve uma meia dúzia que me encararam e perguntaram o que eu queria.

Falei que era para eles irem andando porque os cachorros eram da vizinhança. E claro que teve 2 que quiseram me encarar e duvidaram e continuaram a andar na direção dos cachorros. Ai eu dei o ultimato: "Para cada pedra que voar na direção dos cachorros, um vai cair." Teve um cidadão, que jogou uma pedra e quase acertou a Princesa. Corri e dei um tapa, mas foi um tapa tão bem dado que minha mão doeu. No mesmo tempo foi uma pesada na bunda de outro que caiu de cara no chão. E digo mais, foi lindo ver a molecada de 15/16 anos correndo com o rabo entre as pernas.



O mais incrível foi que quando vi, tinha mais 2 vizinhos no começo da rua, já correndo para dar um pau na molecada também, mas não tiveram o prazer de ficar com a mão doendo depois de um tapa no pé do ouvido de um pivete. Duvido que esses voltem a encher o saco dos nossos cachorros.

Agora, respondendo a pergunta que esta no título do post: Não, não trocaria ontem, hoje e nunca meu cachorro por um PIVETE.

Desde quando um bando de cachorros se uniram para morder pessoas que estavam quietos em suas casas ?

Depois falam que o irracional são os cachorros....

PS: Estamos atrás dos malditos que ficam abandonando os cachorros aqui na vizinhança, no dia que alguém pegar, vão ser VÁÁÁÁÁÁÁÁÁRIOS tapas na orelha.

PS 2 : Tenho certeza que vou rececer email reclamando dos termos pivete, favelado e etc... mas volto a falar: Se esses pivetes favelados aparecerem novamente, vão tomar outro tapa.

Vince Guaraldi e as melodias de Charlie Brown e sua turma

"A mágica infantil criada por Charles Schulz em 1950 ganhou canções e delicados temas tão inspiradores, contagiantes e reflexivos quanto os personagens 'Peanuts', a turma liderada pelo sofrido Charlie Brown, um garotinho sonhador que não consegue fazer nada direito. As melodias e acordes elaborados pelo pianista Vince Guaraldi, inspiradas por valsas, foxtrots, ragtimes e bossas, espelham o universo lúdico de Brown, Lucy, Linus e Snoopy com tanta perfeição que, por alguns instantes, podemos acreditar que a música nasceu antes do próprio desenho."

Abaixo segue o podcast do programa UOL That Jazz aonde eles apresentam os maiores sucessos do Charlie Brown e contam um pouco da sua história.





Músicas do Podcast:

1. Vince Guaraldi - "Linus And Lucy" (Guaraldi)
2. Vince Guaraldi - "You're In Love Charlie Brown" (Guaraldi)
3. Vince Guaraldi - "Great Pumpkin Waltz" (Guaraldi)
4. Vince Guaraldi - "It's Your Dog Charlie Brown" (Guaraldi)
5. David Benoit - "Linus and Lucy" (Guaraldi)
6. David Benoit - "Charlie Brown Theme" (Guaraldi)
7. David Benoit - "Pebble Beach" (Guaraldi)
8. David Benoit - "Linus Tells" Charlie (Benoit)
9. David Benoit - "Getting Ready" (Benoit)
10. Al Jarreau e David Benoit - "Happiness" (Clark Gesner)
11. Wynton Marsalis - "Buggy Ride" (Marsalis)
12. Ellis Marsalis - "Peppermint Patty" (Guaraldi)
13. Wynton Marsalis - "On Peanuts Playground" (Marsalis)
14. Ellis Marsalis - "Oh, Good Grief!" (Guaraldi)
15. B. B. King - "Joe Cool" (Desiree Goyette/Vince Guaraldi)
16. Dave Grusin - "History Lesson" (Grusin)
17. Gerry Mulligan - "Rain, Rain, Go Away" (Guaraldi)
18. Dave Brubeck - "Benjamin" (Brubeck)
19. George Winston - "A Charlie Brown Thanksgiving" (Guaraldi)
20. Vince Guaraldi e Orquestra - "Linus and Lucy" (Guaraldi)
21. Vince Guaraldi - "What Child Is This?" (William Chatterton Dix)
22. Vince Guaraldi - "Christmas Time Is Here" (Guaraldi)
23. Vince Guaraldi - "My Little Drum" (Guaraldi)

Retirado do site UOL That Jazz

domingo, 10 de fevereiro de 2008

"Hello World" em vários estilos

Segundo Grau

10 PRINT "HELLO WORLD"
20 END

Primeiro Ano de Faculdade

program Hello(input, output)
begin
writeln('Hello World');
end.

Último Ano de Faculdade

(defun hello
(print
(cons 'Hello (list 'World))))

Profissional em início de carreira

#include
void main(void)
{
char *message[] = {"Hello ", "World"};
int i;
for(i = 0; i < 2; ++i)
printf("%s", message[i]);
printf("\n");
}

Profissional Amador

#include
#include

class string
{
private:
int size;
char *ptr;

public:
string() : size(0), ptr(new char('\0')) {}
string(const string &s) : size(s.size)
{
ptr = new char[size + 1];
strcpy(ptr, s.ptr);
}

~string()
{
delete [] ptr;
}

friend ostream &operator <<(ostream &, const string &);
string &operator=(const char *);
};

ostream &operator<<(ostream &stream, const string &s)
{
return(stream << s.ptr);
}
string &string::operator=(const char *chrs)
{
if (this != &chrs)
{
delete [] ptr;
size = strlen(chrs);
ptr = new char[size + 1];
strcpy(ptr, chrs);
}
return(*this);
}
int main()
{
string str;

str = "Hello World";
cout << str << endl;

return(0);
}

Programador Master

[
uuid(2573F8F4-CFEE-101A-9A9F-00AA00342820)
]
library LHello
{
// bring in the master library
importlib("actimp.tlb");
importlib("actexp.tlb");

// bring in my interfaces
#include "pshlo.idl"

[
uuid(2573F8F5-CFEE-101A-9A9F-00AA00342820)
]
cotype THello
{
interface IHello;
interface IPersistFile;
};
};

[
exe,
uuid(2573F890-CFEE-101A-9A9F-00AA00342820)
]
module CHelloLib
{

// some code related header files
importheader();
importheader();
importheader();
importheader("pshlo.h");
importheader("shlo.hxx");
importheader("mycls.hxx");

// needed typelibs
importlib("actimp.tlb");
importlib("actexp.tlb");
importlib("thlo.tlb");

[
uuid(2573F891-CFEE-101A-9A9F-00AA00342820),
aggregatable
]
coclass CHello
{
cotype THello;
};
};

#include "ipfix.hxx"
extern HANDLE hEvent;
class CHello : public CHelloBase
{
public:
IPFIX(CLSID_CHello);

CHello(IUnknown *pUnk);
~CHello();

HRESULT __stdcall PrintSz(LPWSTR pwszString);
private:
static int cObjRef;
};

#include
#include
#include
#include
#include "thlo.h"
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

int CHello:cObjRef = 0;
CHello::CHello(IUnknown *pUnk) : CHelloBase(pUnk)
{
cObjRef++;
return;
}

HRESULT __stdcall CHello::PrintSz(LPWSTR pwszString)
{
printf("%ws\n", pwszString);
return(ResultFromScode(S_OK));
}

CHello::~CHello(void)
{

// when the object count goes to zero, stop the server
cObjRef--;
if( cObjRef == 0 )
PulseEvent(hEvent);

return;
}

#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "mycls.hxx"

HANDLE hEvent;

int _cdecl main(
int argc,
char * argv[]
) {
ULONG ulRef;
DWORD dwRegistration;
CHelloCF *pCF = new CHelloCF();

hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);

// Initialize the OLE libraries
CoInitiali, NULL);

// Initialize the OLE libraries
CoInitializeEx(NULL, COINIT_MULTITHREADED);

CoRegisterClassObject(CLSID_CHello, pCF,
CLSCTX_LOCAL_SERVER,
REGCLS_MULTIPLEUSE, &dwRegistration);

// wait on an event to stop
WaitForSingleObject(hEvent, INFINITE);

// revoke and release the class object
CoRevokeClassObject(dwRegistration);
ulRef = pCF->Release();

// Tell OLE we are going away.
CoUninitialize();

return(0); }

extern CLSID CLSID_CHello;
extern UUID LIBID_CHelloLib;

CLSID CLSID_CHello = { /*
2573F891-CFEE-101A-9A9F-00AA00342820 */
0x2573F891,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

UUID LIBID_CHelloLib = { /*
2573F890-CFEE-101A-9A9F-00AA00342820 */
0x2573F890,
0xCFEE,
0x101A,
{ 0x9A, 0x9F, 0x00, 0xAA, 0x00, 0x34, 0x28, 0x20 }
};

#include
#include
#include
#include
#include
#include "pshlo.h"
#include "shlo.hxx"
#include "clsid.h"

int _cdecl main(
int argc,
char * argv[]
) {
HRESULT hRslt;
IHello *pHello;
ULONG ulCnt;
IMoniker * pmk;
WCHAR wcsT[_MAX_PATH];
WCHAR wcsPath[2 * _MAX_PATH];

// get object path
wcsPath[0] = '\0';
wcsT[0] = '\0';
if( argc 1) {
mbstowcs(wcsPath, argv[1], strlen(argv[1]) + 1);
wcsupr(wcsPath);
}
else {
fprintf(stderr, "Object path must be specified\n");
return(1);
}

// get print string
if(argc 2)
mbstowcs(wcsT, argv[2], strlen(argv[2]) + 1);
else
wcscpy(wcsT, L"Hello World");

printf("Linking to object %ws\n", wcsPath);
printf("Text String %ws\n", wcsT);

// Initialize the OLE libraries
hRslt = CoInitializeEx(NULL, COINIT_MULTITHREADED);

if(SUCCEEDED(hRslt)) {

hRslt = CreateFileMoniker(wcsPath, &pmk);
if(SUCCEEDED(hRslt))
hRslt = BindMoniker(pmk, 0, IID_IHello, (void **)&pHello);

if(SUCCEEDED(hRslt)) {

// print a string out
pHello->PrintSz(wcsT);

Sleep(2000);
ulCnt = pHello->Release();
}
else
printf("Failure to connect, status: %lx", hRslt);

// Tell OLE we are going away.
CoUninitialize();
}

return(0);
}

Aprendiz de Hacker

#!/usr/local/bin/perl
$msg="Hello, world.\n";
if ($#ARGV >= 0) {
while(defined($arg=shift(@ARGV))) {
$outfilename = $arg;
open(FILE, ">" . $outfilename) || die "Can't write $arg: $!\n";
print (FILE $msg);
close(FILE) || die "Can't close $arg: $!\n";
}
} else {
print ($msg);
}
1;

Hacker Experiente

#include
#define S "Hello, World\n"
main(){exit(printf(S) == strlen(S) ? 0 : 1);}

Hacker Amador

% cc -o a.out ~/src/misc/hw/hw.c
% a.out

Guru Hacker

% cat
Hello, world.
^D

Programador System AXE

LL0:
.seg "data"
.seg "text"
.proc 04
.global _main
_main:
!#PROLOGUE# 0
sethi %hi(LF26),%g1
add %g1,%lo(LF26),%g1
save %sp,%g1,%sp
!#PROLOGUE# 1
.seg "data1"
L30:
.ascii "Hello, World\012\0"
.seg "text"
.seg "data1"
L32:
.ascii "Hello, World\012\0"
.seg "text"
set L32,%o0
call _strlen,1
nop
mov %o0,%i5
set L30,%o0
call _printf,1
nop
cmp %o0,%i5
bne L2000000
nop
mov 0,%o0
b L2000001
nop
L2000000:
mov 0x1,%o0
L2000001:
call _exit,1
nop
LE26:
ret
restore
LF26 = -96
LP26 = 96
LST26 = 96
LT26 = 96
.seg "data"

0000000 0103 0107 0000 0060 0000 0020 0000 0000
0000020 0000 0030 0000 0000 0000 0054 0000 0000
0000040 033f ffff 8200 63a0 9de3 8001 1100 0000
0000060 9012 2000 4000 0000 0100 0000 ba10 0008
0000100 1100 0000 9012 2000 4000 0000 0100 00 ba10 0008
0000100 1100 0000 9012 2000 4000 0000 0100 0000
0000120 80a2 001d 1280 0005 0100 0000 9010 2000
0000140 1080 0003 0100 0000 9010 2001 4000 0000
0000160 0100 0000 81c7 e008 81e8 0000 0000 0000
0000200 4865 6c6c 6f2c 2057 6f72 6c64 0a00 4865
0000220 6c6c 6f2c 2057 6f72 6c64 0a00 0000 0000
0000240 0000 000c 0000 0608 0000 006e 0000 0010
0000260 0000 060b 0000 006e 0000 0014 0000 0286
0000300 ffff ffec 0000 0020 0000 0608 0000 0060
0000320 0000 0024 0000 060b 0000 0060 0000 0028
0000340 0000 0186 ffff ffd8 0000 004c 0000 0386
0000360 ffff ffb4 0000 0004 0500 0000 0000 0000
0000400 0000 000a 0100 0000 0000 0000 0000 0012
0000420 0100 0000 0000 0000 0000 001a 0100 0000
0000440 0000 0000 0000 0020 5f6d 6169 6e00 5f70
0000460 7269 6e74 6600 5f73 7472 6c65 6e00 5f65
0000500 7869 7400
0000504

% axe_generate -f system.uhdl
Application 'Exchange' generated
2324042350000000 source code lines
No Errors detected.
Hardware retrieval...done OK
Certification Test...done OK
Packing..............done OK
Delivery.............done OK
Application 'Exchange' delivered to customer
23456000 bytes/sec.
End processing, 2345 seconds.

Programador de Altíssimo Nível

system.uhdl :

SYSTEM
CREATE ScreenWin
SIZE 20000000/Unit=One
DESTINATION Order.dest[One]
OUTPUT CHARACTER['Hello world']
END
END

O Novo Gerente

10 PRINT "HELLO WORLD"
20 END

O Gerente Médio

mail -s "Hello, world." bob@b12

Bob, could you please write me a program that prints
"Hello, world."? I need it by tomorrow.

^D

O Gerente de Nível Mais Alto

% zmail all

I need a "Hello, world." program by this afternoon.

Chefe Executivo

% message
message: Command not found
% pm
pm: Command not found
% letter
letter: Command not found.
% mail
To: ^X ^F ^C
help mail
help: Command not found.
>what
what: Command not found
>need help
need: Command not found
damn!
!: Event unrecognized
>exit
exit: Unknown
>quit
%
% logout


Não sei porque tenho a impressão que a programação dos gerentes eu já vi em algum lugar :D

Nostalgia e diversão no seu browser

Para os que gostam de jogos, descobri um site que para mim está sendo um dos melhores sites de jogos online.

O cidadão teve a capacidade de criar um emulador de NES para jogar pelo browser, necessitando apenas do JAVA instalado na máquina.

O site tem diversos jogos originais de NES, incluindo Mario Bros, Metroid, Zelda, Metal Gear e etc. E toda semana tem um jogo novo. Para quer gosta, é só salvar nos favoritos e sair matando a saudade dos jogos.

Alguns jogos do site e seus links:

sexta-feira, 8 de fevereiro de 2008

quinta-feira, 7 de fevereiro de 2008

Mythbuster recomenda Linux para curar a dor de cabeça causada pelo Vista

“Jamie Hyneman, da dupla de apresentadores da popular série de TV Mythbusters, escreveu um artigo para a revista Popular Mechanics apresentando 7 dores de cabeça tecnológicas do dia-a-dia, e como resolvê-las.

Junto com as ferramentas com cabos e baterias incompatíveis entre si, os aparelhos que reimplementam protocolos de controle remoto ao invés de aderir a um padrão, e as lanternas de led com pilhas caríssimas, Jamie listou o Windows Vista. Para explicar por que considera o Vista uma dor de cabeça tecnológica, ele se referiu a bugs, e usou o jargão “feature bloat”, que definiu como sendo a presença de excesso de recursos extras que tendem a sobrecarregar o seu sistema, devido a exigir memória e tempo da CPU.

Para o caçador de mitos, há uma solução para a dor de cabeça tecnológica causada pelo Vista: instalar um sistema operacional baseado no Linux, como o Ubuntu.”

O artigo rtigo completo pode ser lido no site da Popular Mechanics. Vale a pena ler.

E quem quer assistir os episódios dos dois malucos acima, basta ligar a TV no Discovery Channel todos os dias ao 12:00 ou então de quarta-feira as 19:00 e a 00:00 para assistir os episódios inéditos... não perco um :)

Retirado do br-linux

quarta-feira, 6 de fevereiro de 2008

Jet Li versus Jackie Chan: O pau vai comer !



The Forbbiden Kingdom

Como diria DarkSide: “O pau vai comer no centro!”

Um filme com estas duas criaturas, só não supera o mestre Chuck Norris.

Veja comentários:

Jet Li versus Jackie Chan! Graças a Lion´s Gate, que escolheu “The Forbbiden Kingdom” , como sendo uns de seus próximos projetos a serem levados adiante, tendo como parceiro a mesma produtora que hoje verte lágrimas por “Grindhouse”, a Weinstein Co., os fãs de filmes e praticantes de artes marciais poderão comemorar esse encontro dos titãs das artes marciais nas telonas.

O filme conta ainda com um terceiro titã, sendo que este fica atrás das câmeras, o coreógrafo de artes marciais Yeun Woo-Ping (O tigre e o Dragão, The Matrix). Rob Minkoff (Mansão mal-assombrada) será o diretor.

Voltada ao mercado internacional, o filme tem sua estoria baseada na lenda do rei macaco - Sun Wukong,protagonista do clássico romance chinês Peregrinação ao Oeste - e da sua jornada atrás da imortalidade.

Jet Li viverá dois personagens: o Rei e um monge silencioso. Jackie Chan será o monge Tsa-Ho. O tom será de um filme de ação hollywoodiano, com alguns atores ocidentais, ainda que mexa com um patrimônio da milenar cultura da China.

Vamos ver no que dá, mas com certeza será um filme de se encher os olhos, pois Jackie Chan e Jet Li são os deuses dos filmes chineses.

Estréia prevista (nos EUA) abril de 2008




segunda-feira, 4 de fevereiro de 2008

Google se manifesta sobre a proposta da Microsoft para comprar o Yahoo !

O vice presidente do Google escreveu um post no blog oficial da empresa se manifestando sobre a proposta de compra do Yahoo!. Segue tradução feita pelo OVelho.

A abertura da Internet é o que fez o Google - e Yahoo! -- Possível. Uma boa idéia que os usuários acham útil se espalha rapidamente. Empresas podem ser criadas em torno da idéia. Os usuários se beneficiam de inovações constantes. É o que faz da Internet um lugar excitante.

Portanto, a oferta hostil da Microsoft pela Yahoo! levanta questões perturbadoras. Isto é mais do que uma mera operação financeira, de uma empresa assumindo o controle de outra. Isto diz respeito a preservar os princípios inerentes à Internet: abertura e inovação.

Poderia a Microsoft agora tentam exercer o mesmo tipo de influência na Internet inadequada e ilegal, da mesma forma que o fez com o PC? Enquanto a Internet recompensa a inovação competitiva, a Microsoft tem procurado com freqüência estabelecer monopólios proprietários - e, em seguida, alavancar sua posição dominante no novo mercado e mercados adjacentes.

Poderá a aquisição do Yahoo! Permitir a Microsoft - apesar do seu legado de graves ofensas legais e regulamentares - estender as práticas desleais em navegadores e sistemas operacionais para a Internet? Além disso, a Microsoft + Yahoo! equivale a uma esmagadora parte do mercado de mensagens instantâneas e Web-mail. E entre eles, as duas empresas operam os dois maiores portais na Internet, em tráfego. Poderia uma combinação das duas empresas se aproveitar injustamente de um monopólio em software para PC para limitar a capacidade dos consumidores ao livre acesso ao Web-mail e mensagens instantâneas dos concorrentes, e seus serviços baseado em web services? Políticos de todo o mundo têm de fazer estas perguntas - e os consumidores merecem respostas.

Esta oferta hostil foi anunciada na sexta-feira, por isso há muito tempo para que essas questões sejam abordadas cuidadosamente. Tomamos a abertura, a escolha e inovação da Internet a sério. Elas constituem o núcleo da nossa cultura. Estamos convencidos de que os interesses dos usuários da Internet vem - e devem vir - em primeiro lugar, como os méritos da presente proposta de aquisição são examinadas e as altermativas exploradas.

David Drummond
Senior Vice President
Corporate Development and Chief Legal Officer
Google