terça-feira, 12 de fevereiro de 2008

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:

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

RIP Mandic

 Fica aqui minha homenagem para o @mandic [dono@vida - ~ @12:19:36]  1:> sudo minicom COM1:mandic > UPTIME  24090 days > AT+CMGS=...