Otimo vídeo - Google Tech Talks October 10 ,2007
Link direto aqui.
terça-feira, 6 de novembro de 2007
From Nand to Tetris in 12 Steps
By
Tiago "PacMan" Peczenyj
às
13:50
2
comentários
Tags: Nerd
domingo, 7 de outubro de 2007
Tropa de Elite 2 - Dia de Treinamento Java
Seguimos com novos exemplos inspirados na triste realidade da polícia carioca.
/*
* O Bope foi criado para atuar quando a policia perde o controle
* E no rio de janeiro isso acontece com bastante frequencia
*/
class Bope{
private String nome;
private int qtdeVitimas = 1; // ja começa bem!
public Bope(String nome){
this.nome = nome;
}
// sobrecarga do método ondeTaOBaiano
public void ondeTaOBaiano(Estudante e){
e.sabeVoarEstudante();
}
public void ondeTaOBaiano(Traficante t){
t.levaSacoNaCabeca();
}
// exemplo de método final!
public final Doze encontreiOBaiano(Baiano b){
return b.naCaraNaoQueEhPraNaoEstragarVelorio();
}
}
public class Treinamento{
public static void main(String [] xxx){
// Apresento o capitão nascimento
Bope instrutor = new Bope("Capitao Nascimento");
try{
// de cada 100 policiais que fazem o curso do Bope,
// so se formam 5, e eu, quando me formei parceiro,
// eramos apenas 3.
Turma.tentaFazerCursoBopeCom(capitao);
} catch (PolicialCorruptoEncontrado pce){
} catch (PolicialFracoEncontrado pfe){
} catch (PolicialSemABandoleiraNessaAlturadoCampeonato e){
}
}
}SEUS FANFARRÕES!
VCS TEM 10 SEGUNDOS PARA COMPLETAR ESSE CÓDIGO!
- O zero-dois NÃO está escrevendo!
- SEU zero-dois, porque o senhor não escreveu nenhuma linha?
- A-a minha IDE não terminou de carregar, senhor...
- Agora a sua IDE ja carregou, seu zero-dois?
- S-sim senhor...
- Então, seu zero-dois, termine o seu programa, senão todos os seus colegas terão que usar o EDIT do MS-DOS até o fim do curso E A CULPA EH DO ZERO-DOIS!
HOMEM DE PRETO QUAL É A SUA MISSÃO?
É APRENDER JAVA SEM PRECISAR DE CERTIFICAÇÃO!
HOMEM DE PRETO O QUE É QUE VC FAZ?
FAÇO CODIGO FONTE QUE ASSUSTA O SATANÁS!
Estratégia, do inglês, Strategy...
- Senhor, o zero-cinco está dormindo...
By
Tiago "PacMan" Peczenyj
às
21:22
4
comentários
Tags: Nerd
quinta-feira, 4 de outubro de 2007
Aprendendo Conceitos antes de Sintaxe
O homem aprende por dois motivos: por gosto ou por necessidade.
Depois de passar um semestre brincando com Pascal na era pré-google ( quando não encontravamos uma pagina através do yahoo ou cadê, tentavamos urls aleatórias como www.pascal.org - que era a pagina da família pascal ), tive uma disciplina cujo professor só sabia Fortran e C.
Através do MOO descobri o curso on-line da UFMG, e pude dar os primeiros passos em C. Entretanto o foco dessa disciplina não era fazer agenda ou video-locadora - eram programas científicos. Linux, gnuplot, maple... foi um mundo muito divertido.
É claro que algumas coisas eu simplesmente não compreendia: os tais dos ponteiros, por exemplo. Era só ver um * que não fosse multiplicação que eu já tinha dor de cabeça. E assim se passaram alguns anos onde eu apenas reproduzia os comandos que tinha aprendido.
Anos depois, conversando com o CaSantos caímos em uma micro-aula de programação. Eis que ele profere sabias palavras: Ao estudar uma linguagem de programação, a primeira coisa que se precisa estudar são os conceitos e, por último, a sua sintaxe.
Toda a vez que eu entrava em uma lista de discussão ou forum e via as perguntas dos novatos eu lembrava dessa frase. Coisas como dizer que os arquivos .h do C são bibliotecas, colocar system("pause") pro programa não "fechar do nada" e por ai vai. O tipo da coisa que, quem conhece o conceito, não perguntaria.
Por que razão não se ensina os conceitos de uma linguagem logo no começo? Eu só posso pensar que é para os alunos aprenderem de forma intuitiva no começo e resgatar isso mais tarde (talvez em uma cadeira de compiladores, sei lá), mas será que isso acontece?
Geralmente o trabalho de fim de semestre dessas cadeiras é um CRUD em C com listagem (ou relatório) de alguma coisa ordenada de uma ou mais formas. Cadastrar alunos ou contas bancárias, salvando em arquivo.
Pois bem, se é uma disciplina introdutória, por que raios alguem iria pedir um CRUD?? Meu deus, os alunos mal sabem como compilar o programa, tampouco debuga-lo - No maximo enchem de printf("passei por aqui") - e pedem um programa com 'menu interativo'! Ai o camarada perde metade do tempo fazendo 'menuzinho' com asteriscos ou outro caracter e não consegue implementar a lógica. Quando implementa é aquela maçaroca. O que isso ensina?
Eu daria uma sugestão: quer ensinar C ou Java ou Snobol 4, ensine. Mas não peça um programa CRUD cheio de frescura - peça uma biblioteca. De um arquivo header ou uma interface java e diga: implementem essas funções/metodos ai. Eu vou testar o meu programa com essa biblioteca e espero que tudo funcione.
videolocadora.h
int cadastra_video(char *nome, int preco, int categoria);
int cadastra_cliente(char *nome, char *cpf, char *endereco);
int aluga_video(...);Enfim, não consigo pensar num exemplo melhor. A ideia é introduzir um desenvolvimento em camadas, deixando o aluno pensar em como ele vai gravar, ler e ordenar os dados sem frescuras de tela, ensinando a fazer testes e também a debugar a aplicação.
Quer ensinar a fazer telinha? Ensina em outra disciplina, nesse caso ensinando técnicas de design apropriadas. Começando pela linha de comando do unix: como pode um aluno se formar sem nunca ter criado o seu próprio grep? Criar interfaces com o usuário não é algo facil, requer muito estudo, principalmente de usabilidade.
Alias fazer "telinhas" geralmente supõe colocar um programa em um estado. Quem aprende o conceito de maquina de estados no momento que esta fazendo esse cadastro? Posso apostar que esse pessoal não sabe o que é stateless e statefull e o professor nem pensa q isso seja importante (aqui eu lembro da agenda de telefones que eu fiz em pascal).
Fica aqui a minha sugestão. Espero que faça sentido :)
By
Tiago "PacMan" Peczenyj
às
21:10
1 comentários
Tags: Nerd
sábado, 11 de agosto de 2007
Implementando um Corretor Ortográfico
O maluco do Peter Norvig (google) publicou no seu site o artigo How to Write a Spelling Corrector. Impressionante o que 21 linhas de Python são capazes de fazer!
>>> correct('speling')
'spelling'
>>> correct('korrecter')
'corrector'Não é atoa que o Google é o que é hoje em dia.
By
Tiago "PacMan" Peczenyj
às
23:56
0
comentários
Tags: Nerd
Linux para Leigos
Vamos analisar a condição de leigo.
Eu já vi centenas de leigos que, ao sentar no computador, baixavam músicas, videos e jogos com os mais diversos programas, conectavam no irc, msn, icq, colocavam luzinhas e bichinhos animados para acompanhar o cursor do mouse, trocavam as fontes e os temas, procuravam os mais bizarros jogos, encontravam videos extremamente incomuns (sem youtube), etc. Para o que não presta, os leigos tem uma criatividade impressionante!
Quando falamos em um sistema pra leigos não precisamos pensar que as usuarios tem preguiça mental. Eles até podem ter, mas aí cabe aos projetistas desafiar e exercitar essa criatividade do mal e tranformar em criatividade do bem. Qualquer pessoa que senta na frente de um browser vai acabar nas paginas mais escabrosas mesmo que não sabia o que é 'google'. Vai me dizer que, nesse caso, a linha de comando é ameaçadora ou difícil?
Das duas, uma: ou pensamos em uma camada de software para permitir que um usuario abstraia o sistema operacional e as configurações (normalmente se faz isso em sistemas "embarcados") e use todos os recursos multimídia e de troca de informação com a facilidade de um pensamento OU pensamos em sistemas mais inteligentes, com documentação adequada e, com a ajuda da comunidade, divulgamos as informações e conceitos corretos. O Linux só é seguro porque o usuario comum, que vai fazer besteira, não tem a senha de root.
Não podemos fazer sistemas operacionais à prova de gente sem noção ou que sejam capazes de oferecer tanta intuitividade sem sacrificar a segurança, por exemplo.
Puxa, não tem nada mais fácil que usar a linha de comando (ok, sou suspeito pra falar). As pessoas não usam [o shell] pois não tem como acessar o orkut, ver vídeo do youtube, etc, de um jeito bonitinho. Alem de tudo, tá em inglês, ECA. Hoje em dia existem shells para pessoas iniciantes que ajudam, colorem o texto e sugerem mudanças praticas, como o fish.
É assim que fazemos um sistema pra leigos -- temos que desafia-los a usar a criatividade que normalmente é usada pra criatividade do MAL e mostrar que um PC com linux não é um playstation. Quer usar um browser de verdade e usar o orkut e o youtube? PO! não tem nada mais facil que instalar um ubuntu da vida e clicar no icone do firefox!
Não vamos tomar atitudes de forma a não desafiar intelectualmente os usuários. Eles merecem todo o nosso respeito. Agora quem quer que o usuário não pense que faça uma camada de software que abstraia o Sistema Operacional. Existe mercado para ambas as coisas.
Entretanto acho mais humano que a gente exercite os cérebros atrofiados dos empurradores de mouse. Há 20 anos as pessoas usavam computadores com 32 kb de RAM e carregavam os jogos de uma fita K7 e ninguem morreu por isso -- pelo contrário desenvolveram skills hoje necessárias em muitos cargos importantes e empresas como algumas multinacionais procuram desesperadamente.
By
Tiago "PacMan" Peczenyj
às
10:45
0
comentários
quinta-feira, 26 de julho de 2007
Tio Maneco
Quem se lembra do Tio Maneco?
Pois bem, descobri que foi aprovada a captação de recursos para a produção do filme "As aventuras de Reina Caiman em o resgate do Maneco" (RF Cinema e TV Ltda).
Pra mim, este é o filme mais esperado de todos os tempos, mal posso esperar para ver o Flávio Migliaccio de novo, em um dos papeis mais legais e inteligentes da tv brasileira -- afinal os filmes são impossiveis de serem achados e a série original foi apagada acidentalmente pela tv cultura.
(se alguem tiver mais informações, please, me avise!!!)
By
Tiago "PacMan" Peczenyj
às
02:26
2
comentários
Tags: Nerd
segunda-feira, 16 de julho de 2007
Battlestar Galactica
Simplesmente a melhor série de ficção científica dos ultimos anos. A série é um remake de um clássico dos anos 70 -- surgida na esteira de Star Wars, mostrando os últimos humanos percorrendo as profundezas do espaço atras da mitológica Terra. O diferencial eram as batalhas dos caças Vipers contra as forças robóticas Cylons -- com o temível olho vermelho cintilante.
A nova série possui um grande diferencial: a ausência total de tecnobobagem e o clima extremamente realista e muito similar ao nosso mundo. Tirando o fato de usarem naves, eles fumam, sofrem, amam, brigam, morrem... até as armas são metralhadoras e pistolas comuns.
Isso prova que a boa ficção não são efeitos especiais ou badulaques e sim a força dos seus conceitos. Estes sobreviventes veneram os deuses gregos, mas são tão imperfeitos quanto nós. Destaque para o General Tigh com seu péssimo humor e alcoolismo crônico. Não é uma série que eles usam difratores de fótons ligados numa matriz parabólica -- eles gritam "MORRAM TORRADEIRAS" e mandam bala nos robos assassinos [quando não usam ogivas atômicas -- alguma graça tinha que ter].
Alias, robôs estes que estão muito diferentes, lembrando muito Blade Runner - aliás o novo Capitão Adama é o ator Edward James Olmos, que interpretou o enigmático Gaff no filme de Ridley Scott.
É uma série com muita energia, desespero, ação e roteiros muito inteligêntes. Temas incomuns como tortura, esquadrões da morte e estupro ja foram abordados, mostrando que é possivel ser adulto no universo FC. As filmagens no espaço são muito realistas e é a unica série de naves que as pessoas fazem sexo!
Se vc não se importa em ver uns spoilers da terceira temporada, veja a cena que, na minha opinião, e a melhor de todos os tempos!
Passa na Tv a Cabo e os DVDs estão a venda -- começe pelo piloto de 3 horas e não vai se arrepender.
By
Tiago "PacMan" Peczenyj
às
22:14
2
comentários
Tags: Nerd
sexta-feira, 13 de julho de 2007
Piadas de Programador
Why do programmers always get Christmas and Halloween mixed up?
Because DEC 25 = OCT 31
Essas e outras vc encontra em profession jokes.
By
Tiago "PacMan" Peczenyj
às
20:53
0
comentários
Tags: Nerd
quinta-feira, 12 de julho de 2007
Sindicato dos Messias
Basta de oligopólios monoteístas!
O Sindicato dos Messias ® é uma tradicional sociedade de Messias, Profetas, Avatares e Deuses, que remonta, neste plano, aos tempos de antes do Grande Uósh que escaramurfou as Formas de Vida Errantes da Terra. Fora deste Universo o Sindicato dos Messias existe desde antes do ínicio do Tempo como o conhecemos, e mesmo antes do surgimento do Primeiro Deus, sendo que os registros mais antigos remontam ao tempo em que nem o Nada existia ainda, só havia o conceito idealizado do Sindicato dos Messias, e mais um bando de idéias bizarras boiando num mar de Coisas Inexistentes Inimagináveis.
Continua...
By
Tiago "PacMan" Peczenyj
às
09:49
0
comentários
quarta-feira, 11 de julho de 2007
StarCraft 2
O que eu posso dizer...
...YEAAAAAAAAAAAAAAAAAAAHHH!!! StarCraft 2 está chegando!!!
Vejam a primeira apresentação para o publico: ainda é Beta, mas ja temos ideia de como serão algumas unidades, principalmente as Protoss.
Alguem mais alem de mim achou sensacional o buraco negro que a nave mãe gera?
By
Tiago "PacMan" Peczenyj
às
23:42
0
comentários
Tags: Nerd
Bad Astronomy
Não posso deixar de recomendar o ótimo site do Astrônomo Phil Plait: badastronomy.com
Phil é uma daquelas pessoas que se dedicam a informar, acabando com boatos e inverdades científicas - em especial na sua área, a astronomia. Também é escritor do (excelente) livro Bad Astronomy - Misconceptions and Misuses Revealed, from Astrology to Moon Landing "Hoax".
Um link realmente importante é sobre a "Fraude" da ida à lua. Com uma linguagem clara e muitos exemplos, fotos e diagramas, ele refuta todos os mais absurdos comentários sobre a impossíbilidade da missão Apollo ter descido até o nosso satélite natural. Confiram para ver.
Um artigo na mesma linha (em pt_BR) está presente no ótimo site do Projeto Ockham, escrito pelo engenheiro Widson Porto Reis.
Ps: se ouvirem falar de um filme chamado "What the Bleep do We Know", leiam este guia cético bem humorado (e informado).
By
Tiago "PacMan" Peczenyj
às
23:23
0
comentários
Tags: Nerd
Paz, Amor & Linux
Hacker é como Punk, Ateu ou Geek -- um rótulo.
Uma hora a mídia fala q ser Hacker é ruim. Outra hora fala q não são Hackers, são os Crackers que são a ameaça. Acho que falta um pouco de romantismo na nossa vida...
Proponho uma revolução no mundo digital através do amor. Vamos deixar comentarios no codigo fonte repleto de belas mensagens, poemas e juras de amor eterno. Vamos visitar o apartamento frio e escuro dos nossos amigos mais anti-sociais e levar bolos, café e carinho. Vamos fazer divertidas obras de arte como borboletas e caras-de-gatos com os DVDs do windows vista e distribuir para os nossos amigos.
Bigodinho e chifres nas fotos do Bill Gates e Steve Ballmer nunca mais! Vamos colocar coraçõezinhos e flores coloridas e passar muita energia positiva. Sejamos francos e sinceros. Vamos usar de adjetivos angelicais e fala suave para que amor sempre venha a tona.
Assim, o codigo fonte sera alvo do nosso tórrido amor. Interfaces apaixonadas e Algoritmos envolventes serão o nosso legado.
E assim o amor triunfa. Nada de esmurrar o teclado. No lugar do café: flores. No lugar do ódio: Linux.
By
Tiago "PacMan" Peczenyj
às
16:13
1 comentários
Sugestões de Leitura
Ja ouviu falar na tal Web 2.0? Veja os slides da apresentação do Philip Calçado.
Quer dominar o Vi/Vim? Veja este pequeno guia.
Se inglês não é problema, vc pode aprender Java, C++ ou Programação Avançada em Linux usando livros gratuitos e de ótima qualidade.
No site da InfoQ vc ainda pode baixar livros de SOA, Scrum & XP, Domain Driven e Dicas de Visual Studio .NET.
E, se vc se interessa por Gerência de Projetos, vai gostar desse artigo.
Boa leitura!
O Último Guerreiro Estelar
Saudações, Guerreiro Estelar! Você foi recrutado pela Liga Estelar para defender a Fronteira contra XUR e a Armada Ko-Dan!
Assim começa o jogo na (antiga) maquina de Arcade. Alex Hogan é apenas um adolescente morando em um conjunto de trailers na california, mas é o melhor jogador de todos os tempos, atingindo o recorde da maquina.
Seria mais um filme nerd bobo se não fosse pelas consequências: o video-game é, na verdade, uma maquina caça-talentos e descobre um promissor piloto espacial! Uma noite Alex recebe a visita de um homem chamado Centauri e, então, sua vida muda completamente, conhecendo o espaço, suas maravilhas e perigos.
Uma premissa interessante: quem não gostaria de ver o seu jogo favorito se tornar realidade? Entretanto, nada é facil para Alex, que resolve desistir quando sente a responsabilidade -- quando se torna, literalmente, o último guerreiro das estrelas.
The Last Starfighter entrou para a história do cinema por usar intensamente cenas feitas em CGI pela primeira vez -- tornando as batalhas impressionantes para a época. Destaque para a cena final com o uso da "Arma da Morte" com a classica fala "We Die".
Vai bem com um balde de pipoca, em um aparelho de DVD mais perto de vc.
By
Tiago "PacMan" Peczenyj
às
12:47
0
comentários
Tags: Nerd
terça-feira, 10 de julho de 2007
Ansi C orientado à objetos
Divertido! Compila e não gera nenhum warning.
#include <stdio.h>
struct {
struct {
int (*println) (const char *);
} out;
} System = { {puts} };
int main (void){
System.out.println("ola mundo");
return 0;
}Achei um pdf no google sobre o assunto chamado Orientação A Objetos em C Ansi. Neste caso, eu criei um ponteiro para a função puts (presente na libc), chamado println. Criei uma variavel chamada System, que é uma estrutura que possui uma variavel chamada out que, por sua vez, possui o ponteiro println.
By
Tiago "PacMan" Peczenyj
às
16:37
2
comentários