Mostrando postagens com marcador graduação. Mostrar todas as postagens
Mostrando postagens com marcador graduação. Mostrar todas as postagens

quinta-feira, 23 de março de 2006

Recital de violão

Como é do conhecimento de alguns, a Siagri está promovendo um Recital de Violão Clássico no auditório do SENAC neste sábado, às 20:00. A entrada é franca. Serão abordados compositores estrangeiros e nacionais como Bach, Tárrega, João Pernambuco, dentre outros.

Convido a todos para prestigiarem o evento com sua presença. Os "recitantes" serão funcionários da Siagri. Wisley e eu no violão e Cristiane como contralto.

Veja um fragmento de apresentação do programa:

"E sempre notável a aparição de música clássica nas mais variadas situações. Aquela reportagem de arte, arquitetura ou culinária sempre tem fundo clássico. E o uso na educação? Alunos de renomados colégios aumentam sua capacidade de concentração e aprendizado estudando ao som de gênios.

De fato, desde os mais remotos tempos, música clássica é uma forma de expressão da inteligência humana. Ao violão, instrumento romântico, dos mais variados sons, soa com extremo dinamismo e beleza.

Mas de onde surgiu? Como se instalou em tal instrumento musical? O que cada compositor pretende mostrar com determinado andamento e combinação de tons? O que o nosso povo conseguiu e consegue produzir a este respeito?

Pretendemos apresentar a você nosso convidado, talvez não acostumado a este tipo de evento, um outro leque de música. A música dita por erudita, clássica, que é transmitida através de notação musical ao som do instrumento mais tocado no mundo."


Conto com sua presença!

segunda-feira, 13 de março de 2006

A viagem viva e os fantasmas

É do senso comum que viagem é algo abstrato, sem vida. Pois bem, a minha nâo foi. Estava viva e tinha vontade própria! Acredita?

Manhã de Terça-feira, tudo planejado e agendado. Passagens, hotel, sistema pra homologar. Iria ser tudo feito de terça à sexta, inclusive o retorno. Iria!

A viagem de ida a São Paulo foi um sucesso, exceto por um desvio de mau tempo. Porém quando chegamos no hotel a primeira decepção não tardou em se precipitar. Se algum dia você for se hospedar na rede Ibis, desita! São hotéis padrão norte-americano. Nem suas malas são levadas para o quarto! O frigobar nâo tem nada. Se quiser, você mesmo compra e leva pra lá. Passar roupa? Leve! É tem mais, somente das sete às dez da manhã! Resumindo, tudo o que quiser, faça você mesmo! A internet também não funcionou no primeiro dia.

Na manhã seguinte (Quarta) seguimos pra homologação das bandeiras Visa e Amex. Nenhum problema no software além de um pequeno bloqueio de teclado. Foi tudo tranquilo e no fim de uma bateria de mais de sessenta teste conseguimos terminar o roteiro. Fiquei até animado pois o homologador era bastante gente boa e pouco "cri-cri".

A noite fomos (o chefe e eu) à melhor casa de massas da cidade (de acordo com a revista veja) por nome Esperanza. Foi impecável, desde o atendimento até a comida. Acredite, não é nem parecido com a pizza que se costuma comer por aqui. São receitas tradicionalíssimas vindas da Itália. O lugar é um casarão do início do século passado não muito grande.

O que mais chamou a atenção é que eles não primam pelo tamanho. Poderiam fazer a maior pizzaria da cidade já que possuem o título de melhor, mas primam pela qualidade. Tem funcionado assim a mais de cinquenta anos. Talvez seja este o segredo.

Estava tudo bem demais, até que pela manhã (Quinta) apareceu o primeiro fantasma da viagem! Era baixo, cabelos arrupiados, enjoado, cri-cri, aparentemente carioca e inexperiente! Me fez mudar quase todo o software. Sem dúvida um dos piores dias de minha pequena vida. Enquanto não começei a "dar o bolo" nele o processo não foi pra frente. Pelo menos, no fim da tarde terminamos o Redecard.

Os planos já tinham furado neste momento. Final do segundo dia e ainda faltava a última bandeira (Tecban). Não daria tempo se a sorte não tivesse do nosso lado. Conseguimos prorrogar a homologação para o dia seguinte e isso implicou em remarcar as passagens de volta para o sábado. Este foi o primeiro sintoma de vida da viagem.

Por um lado foi bom. Consegui ir pela primeira vez a um teatro. Mas não qualquer teatro, foi no Teatro Abril. Quando chegamos lá o segundo fantasma apareceu!

O Fantasma da Ópera! Uma das melhores coisas que já apareceram para mim! Que espetáculo! Emocionante, vibrante, de cortar o fôlego. O único detalhe foi o preço (R$ 180), mas para plateia VIP, na terceira fila, bem embaixo do lustre (peça que flutuou durante o espetáculo). Apesar do preço valeu a pena. Acredito que de longe não teria a mesma emoção de ver a expressão na face dos atores, a garganta dos tenores, o cenário se modificando impressionantemente rápido à nossa frente, os dezoito músicos logo abaixo do palco, etc.

Não dá pra explicar com palavras. Não poderia ser mais perfeito. Pra quem assistiu "Amadeus" - a apresentação das óperas - pode ter uma idéia. Mas não é o mesmo que estar ao vivo, nem de longe. Pra quem canta em coral então, nem se fala. A dinâmica das vozes é perfeita. Aquelas sopraninas chegando até as "grimpas", longe do alcançe de nós, pobres mortais. Junto com os tenores conseguiam fazer o som parecer que estava sendo emitido atrás de uma parede, ecoando num rio, e por aí vai. Gente com talento nato, diria. Resumindo, assista quando puder. A peça está em cartaz a mais de cinco anos em Londres e sendo exibida em apenas cinco cidades do mundo. Se não gostar me cobre que pago sua entrada. Até demorei dormir quando cheguei no hotel, estava "ligadão"!

Manhã de sexta, homologação da bandeira Tecban. O primeiro fantasma foi embora, mandaram outra pessoa em seu lugar. Era uma moça muito experiente que até me falou qual era o problema do dia anterior. Depois que ajustei foi extremamente rápido. Os teste restantes foram feitos e antes do fim da tarde estava tudo concluído. Terminamos até que enfim e ainda sobrara uma noite!

Imagine só o que estava rolando? A Bienal do livro! Se fui? Mas é claro! Pegamos o metrô e após algumas estações uma vam (gratuíta) que levava pro Anhembi, onde acontecia a feira.

A entrada em comparação ao teatro foi bem mais barata (R$ 10) e o preço foi convertido em descontos na compra de livros. Um real de desconto para cada dez em livros. A loja Americanas estava massacrando todo mundo. Quase tudo com preço mais baixo. Não deixei de comprar um: O badalado "Freakonomics". A predominância é de livros literários. Informática é tema pouco abordado, só os principais mesmo na loja da Pearson, Siciliano e da livraria Érica. Pra ter idéia, não encontrei um livro sobre DB2 que precisava. Andamos até cansar. A feira é enorme!

Hoje, sábado, levantei de manhã, tomei café e desci pra Santa Efigênia. As lojas abrem tarde, enrolei pra comprar, mas de tanto pexinchar consegui um bom preço.

Quando terminei de comprar é que a correria começou. Corre até achar a entrada do metrô. Sobe umas dez estações até chegar perto de Congonhas, pega um táxi e... dez minutos de atrazo! Perdi o vôo! Este foi o segundo sintoma de vida da viagem. Meu companheiro se foi e agora estou aqui, esperando chegar dezesseis horas para embarcar. Sorte que achei vaga no mesmo dia, porém tive que esperar sentado por cinco looongas horas.

Aconteceu algo interessante durante este tempo. Uma moça me parou dentro da livraria (onde comprei a caneta que escreve neste momento no manual de uma placa mãe de computador aproveitando o espaço em branco) e sem perguntar nada disse: "Você precisa tomar vitamina E para que não apareça mais terçol no olho!". Fiquei sem saber o que dizer. Nem o médico que fui disse isso e alí estava alguém que nem me conhece querendo ajudar. Agradeci bastante ela, prometendo cumprir a dica.

Tudo aqui onde ficamos é caro. Cada lanche não fica menos de oito reais. Cada táxi não menos que quinze e por aí vai. Mas em síntese foi uma ótima viagem, apesar dos imprevistos. Consegui aproveitar bastante.

Bom, agora vou indo embarcar, porque senão perco o vôo novamente! Se você leu até aqui é um grande sinal de persistencia, então veja aqui as mais de cento e trinta fotos que tirei de toda a viagem!

sábado, 18 de fevereiro de 2006

Usando máquinas virtuais para agilizar o desenvolvimento de software

Quem não tem um servidor dedicado em casa sempre esbarra em alguns problemas ou restrições durante a análise e desenvolvimento do projeto. É que vários softwares utilitários fazem mais sentido se você tem um servidor ou trabalha em equipe. Veremos alguns motivos para se usar estas ferramentas e sair na frente mesmo sendo um desenvolvedor solitário.

As razões:
Vários utilitários de programação como sistemas de controle de versão de arquivos (Cvs, Subversion), controle de requisitos (Trac, Mantis), servidores http, ftp, etc. estão disponíveis para um sistema operacional específico ou são mais fáceis de implantar em um servidor dedicado.

Tratando-se de servidor, Linux é praticamente inquestionável. Porém, nem sempre seu ambiente de trabalho se restringe a Linux. Um caso comum seria um desenvolvedor Delphi que obrigatoriamente usa Windows mas que também desenvolve ou tem que testar seus projetos em outras plataformas.

Usar boas ferramentas durante o ciclo de desenvolvimento de um sistema, seja ele de qualquer natureza, é comprovadamente uma forma de garantir controle e organização que consequentemente resultam em qualidade e aceleram o ciclo de desenvolvimento. Mesmo pra quem não trabalha em equipe, um sistema de controle de versão por exemplo é uma ótima ferramenta. Ele mantém o histórico do que você estava fazendo. Com ele você pode por exemplo voltar atrás após descobrir que a última alteração em um arquivo provocou um erro no sistema.

No mais, alguns tipos de aplicações necessitam de servidores para serem testadas/desenvolvidas. Um exemplo bem comum é a criação de aplicações web.

A idéia:
Partindo destas necessidades e razões tive a idéia de utilizar o conceito de máquinas virtuais para dividir um só ambiente de trabalho em dois. Em outras palavras, criar um servidor virtual embutido no meu ambiente de trabalho.

Para tal tarefa utilizei o Qemu.
Criei o disco virtual (arquivo) em uma partição do tipo FAT32 e instalei um servidor linux slackware 10.2. Nada complicado, pois existem artigos aos montes na internet sobre a instalação, tanto do qemu quanto do slackware.

Criei os discos em uma partição FAT32 para ser possível abrir o servidor quando estiver no Linux ou no Windows. Assim, sempre tenho a mão o servidor, ou seja, todos meus projetos.

Também dividi a instalação em três discos virtuais (head.img, home.img swap.img). Um para o /, outro para o swap e outro para o /home. Isso falicita na hora de fazer backup pois basta fazer do home.img. Para o swap.img basta uns 30 MB pois se precisar de mais memória você pode alterar na chamada do qemu.

O maior problema foi conseguir fazer o sistema hospedeiro ver o servidor virtual como outra máquina na rede. Existe suporte a utilização de TAP (uma placa de rede virtual) através do openVPN mas não obtive sucesso. Talvez porque envolva uma coisinha complicada de redes: bridge. Tentei por vários dias mas nada! :(. O VMWare faz isso automáticamente. Se alguém já conseguiu montar, por favor, me conte. Consegui fazer o servidor virtual ver o hospedeiro, mas não o contrário.

A solução que encontrei foi redirecionar as portas da máquina local para o servidor remoto através da opção --redir do Qemu. Assim, quando abro uma conexão na porta 21 (ftp) em localhost, ou seja, na máquina local, quem responde é o servidor virtual. Fica legal e bem transparente.

As opções a partir destes princípios são tantas que só vai depender de sua necessidade. Eu uso servidor http (porta 80), ftp (porta 21), Subversion, Trac, Python, Php e agora vou tentar montar um diretório ldap.

No Windows ficou mais lento que no Linux. Mas não consegui encontrar uma versão compilada do kqemu (modulo acelerador) para Windows, então, um pouco da diferença é esta. Mas a velocidade em geral é aceitável. No Linux fica quase transparente, até pra compilação de programas.

Minha máquina é um AMD XP 2400 com apenas 256 MB de memória.
No Windows ficou pedindo mais memória virtual :)
No Linux cheguei a chamar o qemu com 128 MB de memória com o Kde aberto e nem deu diferença, incrível :O (Nem usou swap)

De qualquer forma, não precisou de mais de 32MB pra funcionar. Umas das vantagens do Slackware como servidor. Você inicia somente o que precisa mesmo. É claro que o ambiente gráfico ficou de fora, afinal é um servidor.

Veja só o resultado da brincadeira.

sexta-feira, 3 de fevereiro de 2006

Linux Magazine 16

A revista do linux é mesmo uma mãe. Não só por conta das muitas e excelentes matérias publicadas, mas também porque esta última edição (16) veio com um presente especial...

Imagino que bastante gente deve ter ficado insatisfeita com a novidade, principalmente quem assina a revista. Eu fiquei dividido: pesaroso por quem assina a revista, mas alegre pela novidade.

Bom, mas chega de rodeio. A novidade é que o CD da edição veio com as edições de número 1 a 12 em pdf com um gerenciador de busca multiplataforma. Sabe o que isso significa?

Que meu programa de catálogo de periódico não vai ser muito útil pra revista do linux :(

Mas também significa que tenho aquele catálogo enorme, quase 1200 páginas de conteúdo a minha disposição :)

Quem é assinante pode ficar com o melhor de dois mundos. A revista fresquinha com as novidades da hora pra ler e depois um arquivo digital em seu computador.

Já comprei a minha. E você?
Viva a Revista do Linux!
Vida longa ao Linux e à oportunidade de adquirir conhecimento!
Morte ao oitavo período da faculdade, que já vai começando! :D

segunda-feira, 2 de janeiro de 2006

Resumão do ano passado

Estava lendo o resumo do ano passado e percebi o quanto o tempo passa rápido. Este ano que passou não deu pra fazer muito coisa. Mais uma vez aquela fala do professor Márcio (Eletrônica) se concretiza: "Passa rápido porque observamos muito pouco o que acontece ao nosso redor".

Mas não dá pra mudar muito né?! Pra quem trabalha fechado numa sala olhando pra um monitor o dia todo há muito pouca coisa pra observar. Dá vontade é que chegue logo a hora de ir embora :) .

Mas mesmo assim, alguma coisa aconteceu. Mais uma vez vou fazer o resumão do ano na faculdade:

Começando com minha lingua afiada, no primeiro semestre Economia e Custos foi muito sem futuro, nenhum conteúdo muito útil, mas pelo menos a professora não pegava no pé. Média 10.

Se tem uma matéria que achei legal foi Linguagens formais. O Pelágio sabia muito bem o que falava. É meu estilo de professor também, bastante metódico.

Sistemas operacionais foi legal, bastante coisa nova. Se precisar fazer um SO qualquer dia desses já tenho por onde começar. Pena que o Fabian atropela os alunos com a matéria.

Em arquitetura até que houve alguma coisa nova, mas não sou muito chegado no esquemão do Miguel de dar aula. Ele vai muito na conversa dos alunos e esquece da aula. Também não gosto de copiar este tipo de matéria do quadro porque enrola demais.

Banco de dados II foi um pouco complicado. A professora não tinha muito domínio do assunto e a matéria é bastante complicada de abordar da forma que ela queria. Na minha opnião valeria mais aprender a trabalhar com otimização de SGBD's, já que a base de criar tabelas nós já conheciamos. Uma parte legal foi o projeto que ela pediu pra fazer. Se alguem necessitar, pode pedir que disponibilizo. É um catalogador de periódicos em geral (revistas, etc).

No segundo semestre a batalha começou. Ô semetre complicado, sinceramente foi o semestre "nada".

Em sistemas operacionais II o bicho pegou. Sinceramente, aprender VALE4 foi horrível. Sem falar que não vou utilizar vale4 no dia a dia a não ser se resolver ser professor de SO. Poderia explicar como fazer aquilo tudo em um framework real como ele tentou no final com MPI. Mas não adianta falar "façam!" e ficar esperando. Professor tem que ensinar, não dizer o que você tem que aprender.

Em redes não houve muita novidade. Apenas algumas formalidades a mais e a definição correta de cada coisa (protocolos, camadas, etc).

Em compiladores e complexidade de algoritmos o bichou pegou novamente. O professor podia ter seguido algum livro. A materia que ele explicou ficou sem sequencia, sem relacionamentos. O cérebro só aprende relacionando problema com solução, novidade com conhecimento pré-adquirido.

Gostei de pesquisa operacional. Matemática é minha praia e a professora sabia o que falava. A matéria foca-se em "como resolver problemas do dia a dia" e isso é muito útil.

Em resumo na faculdade não foi muito legal, mas dos males o menor pois agora só faltam TRÊS períodos!

Agora, se houve algo que gostei de ter começado a fazer foi estudar violão clássico. Vocês puderam ver algumas gravações aqui. Em breve disponibilizarei outras. Gosto muito de fazer isso. Este foi o primeiro ano de estudo, acredito que vários outros estão por vir!

Comecei a namorar novamente e estou apreciando muito, quem sabe não dá festa de doces daqui algum tempo? :D

Também troquei de moto e viajei pra São Paulo, na Borcon. Foi muito legal e proveitoso. Bastante novidade, gente nova que só conhecia por nome em revista. São estes eventos e este conhecimento que soma na vida.

Devo estar esquecendo de muita coisa, mas em resumo é isso. Desejo a todos um novo ano repleto de realizações! Mas não fique esperando acontecer, faça algo se realizar!

quinta-feira, 3 de novembro de 2005

Apresentação RTOS - Sistema Operacional de Tempo Real

Antes de mais nada, a receptividade em sala na terça foi muito legal. Obrigado a todos que se fizeram presentes.

Estou publicando o material para referencia futura. Talvez nem tão futura assim, a prova é semana que vem! :D

Abaixo também estão as matérias na istoé e no globo reporter sobre os carros "sem piloto". Não deixe de ler, é bastante interessante.

Artigo
Apresentação
O piloto sumiu!
Japão, 60 anos depois

quarta-feira, 19 de outubro de 2005

Criando máquinas virtuais com Qemu

Muitos alunos ficaram interessados na apresentação de trabalho sobre Qemu da Cristiane ontem. Ela resolveu publicar o artigo para quem quiser ter uma noção completa do tema.

Clique sobre os links para baixar os arquivos em formato pdf da apresentação e do artigo:

Artigo
Apresentação

segunda-feira, 19 de setembro de 2005

Uma nova gravação

Isso aqui já está quase se tornando blog de música clássica mesmo, então aqui está mais uma gravação pra quem curte um som de violão clássico!

É uma composição de Francisco Tárrega, conhecida como "Mazurka". Mazurka é um rítmo polonês de dança popular de roda. (veja na wikipedia)

Mazurka - Tárrega

Espero que gostem!

segunda-feira, 12 de setembro de 2005

Ensino sequencial, é tão difícil assim?

Quando estudei linguagens formais com o professor Marcelo Pelágio fiquei muito entusiasmado e ancioso pra colocar logo a mão na massa e utilizar ferramentas construídas com base nos problemas já conhecidos na contrução de compiladores (lex, yacc). A maior vontade era ver um autômato daquele virar código fonte de compilador. A maioria da turma aprendeu a matéria muito bem.

Existe algo chocante na troca de professor. Seria muito interessante se houvesse uma continuação. Pra que vai servir aquela matéria agora? Você se esforça, pergunta, tenta compreender, enfim, pra que? Você podia estar muito bem testando seu compilador, na linguagem que você inventou, ao invés de ficar lendo este artigo aqui agora ou pior ainda, estar aprendendo a programar na aula de compiladores.

Nada contra aprender programar, pelo contrário. Só acredito que a aula de compiladores não seja o lugar ideal. Na verdade penso que deviamos estar implementando um compilador de linguagem, usando autômatos, follow, first, e tudo mais. Porém, esta questão é polêmica e vou deixar de lado.

Bom, vou fazer uso daquele conteúdo neste artigo, mais precisamente da parte de recursão à esquerda, embora de uma forma pouco usual.

O último exercício pedido na disciplina de Compiladores foi o reconhecimento de uma expressão algébrica. Minha dúvida tentava fazer o professor perceber que aquela regra de produção está com recursão a esquerda, e por isso está tão difícil perceber como validar a sintaxe.

O "livro do dragão" explica muito bem isso. Bater o olho e perceber o que é reconhecido pela regra de produção fica bem mais fácil se eliminarmos a recursão. Lembra-se que o professor Pelágio dizia que não é possível implementar uma regra com recursão à esquerda?

Veja a regra com recursão:

<soma> -> <soma> <sinal> <termo> | <termo>
<sinal> -> + | -
<termo> -> 0|1|2|3|4|5|6|7|8|9

Agora sem recursão (alfa e beta, se lembra?):

<soma> -> <termo> <soma2>
<soma2> -> <sinal> <termo> <soma2> | E
<sinal> -> + | -
<termo> -> 0|1|2|3|4|5|6|7|8|9

Ou mais simples ainda:

<soma> -> <termo> <soma> | + <termo> <soma> | - <termo> <soma> | E
<termo> -> 0|1|2|3|4|5|6|7|8|9

Derivando isso, observamos que sempre teremos as seguintes combinações:

<termo>
<termo> + <termo>
<termo> + <termo> - <termo> ...
<termo> - <termo>
<termo> - <termo> - <termo> + <termo> ...

Ou seja, "um só termo" ou "um termo e sequências de sinal seguido de termo".

Desta forma fica mais fácil desenvolver o algorítimo.

Vamos desenvolver um protótipo. Para cada item da regra de produção defina uma função. Crie também uma função chamada "erro" que quando executada mostra a mensagem "erro de sintaxe" e sai do programa. Veja abaixo os exemplos. Observe os comentários antes de cada função.


void erro() {
printf("Erro de sintaxe!\n");
exit(1);
}

/* Sai do programa se a palavra recebida como argumento não for
* o sinal de adição ou o sinal de subtração
*/
void sinal(char *palavra) {
if (*palavra != '+' && *palavra != '-')
erro();
}
/* Sai do programa se a palavra recebida como argumento não for
* um número
*/
void termo(char *palavra) {
se (!isdigit(*palavra))
erro();
}

/* A regra de produção em si. "Um termo"
* ou "um termo e sequencias de sinal e termo"
*
* A função proxPalavra retorna a próxima palavra do
* arquivo que foi lido no inicio do programa, está em anexo no final.
*
*/
void soma(char *textoDoArquivo) {
char *palavra;
palavra = (char*)malloc(sizeof(char)256);

proxPalavra(palavra, &textoDoArquivo);
termo(palavra);
while(1) { /* infinitamente (a recursão da regra de produção é esta) */
proxPalavra(palavra, &textoDoArquivo);
sinal();
proxPalavra(palavra, &textoDoArquivo);
termo();
}
}

Depois que você abrir o arquivo e carregar seu conteúdo, chame a função soma passando a variável com o conteúdo do arquivo.

Em resumo, não mudou nada. Derivar a regra de produção é a forma mais fácil de saber por onde começar, como era em Linguagens Formais.

Baixe o arquivo com a função proxPalavra()

Tenho também a função que lê todo o arquivo e armazena em uma variável. Se estiver interessado é só me pedir por e-mail.

domingo, 17 de julho de 2005

Férias, um pouco de tempo sobrando e...

Bem, olha só o que aprontei. Nem todo mundo sabe, até porque não divulgo muito isto, mas tenho uma certa "paixão" por violão clássico.

Estava sem muito o que fazer e tinha comprado um fone de ouvido com microfone pra afinar o violão pelo computador (fica 100%) então pensei: porque não gravar algumas músicas? :D

Por enquanto são apenas cinco. Três de Bach, uma sonata de Handel e uma bem famosa de Francisco Tárrega, Lágrima.

Bourree em Em - Bach
Minueto em D - Bach
Jesus Alegria dos Homens - Bach
Sonatine - Handel
Lágrima - Tárrega

Meu violão não é uma maravilha, pra não dizer genérico. O que salva são as cordas da giannini de tensão alta, uma maravilha.

Não se asuste com a extensão do arquivo. Este formato (ogg) é bastante popular e livre. Qualquer player suporta, inclusive o winamp.

Por fim, pra quem achou que o post iria acabar sem informática, gravei tudo no Audacity que por sinal me surpreendeu bastante. Tem de tudo pra gravação e edição de som, é livre e ainda fala nosso idioma. Quer ver as screenshots?

quarta-feira, 11 de maio de 2005

Seminário Reiser4

Acadêmicos, fiquei surpreso e alegre com a receptividade em sala ontem, no seminário de Reiser4. Todo mundo me olhava com um rosto que só eu terei guardado na mente! Aparentemente era uma mistura de espanto com quero mais, que seria impossível explicar com palavras. Indiscutivelmente interessante.

Ficou faltando um detalhe importante. Seria a tal versão 1.0 da apresentação. Como disse, a figura da árvore foi substituída, porém esqueci de atualizar o maldito disquete :D

A figura adicionada foi esta aqui.
Nela você pode notar, no canto inferior esquerdo, os itens (azuis) detro das folhas da árvore. O detalhe nisto é a fragmentação. Da forma como foi implementado, o conteúdo de um arquivo é dividido em um ou mais itens em uma ou mais folhas. Isto reduz a fragmentação interna, elimina a fragmentação externa e faz com que o Reiser4 seja mais eficiente no aproveitamento de espaço que outros sistemas de arquivos.

Baixe aqui a apresentação.

Espero que tenha sido de bom proveito para todos.

segunda-feira, 9 de maio de 2005

Aula - Triggers e Procedures

Como resultado da aula de banco de dados compilei uma semi-apostila abordando as principais características e formas de utilização para stored procedures e triggers em banco de dados relacionais.

Clique aqui para baixá-la. Está em formato PDF.
Agradeço o envio de sugestões para melhorá-la.

segunda-feira, 4 de abril de 2005

Desmistificando conhecimento

A palavra que por aqui aparece hoje é "conhecimento". Já olhou o significado no dicionário? Veja só: experiência, idéia, noção, informação, notícia, além de outros. Mas onde isto influi?

Há de concordar que sendo conhecimento qualquer tipo de informação, o que aconteceu no BigBrother e na novela das oito também está incluso. Poderia ser aproveitado, por exemplo, ao participar de um programa televisivo. No entanto, este tipo de conhecimento fica pra outra ocasião.

Quero destacar o conhecimento que tem o poder de encher seu bolso. O conhecimento que você pode ter na área em que atua; o que te destaca no meio de uma multidão e ainda o que te faz ser diferente dos outros funcionários ou concorrentes a sua volta.

Quanto a finalidade do conhecimento, uma pergunta: Como fazer algo se você não sabe pra que serve? Ou pior ainda, como fazer algo sem conhecer nada sobre o problema a ser resolvido?

Por exemplo: Como fazer um software sem conhecer a área onde ele pretende atuar? Que problemas da área ele deve resolver? Sem estas informações acredito não ser possível e é muito provável que o que você construir não será nada bom ou não resolverá problema algum.

De acordo com o dicionário, experiência também é conhecimento. Então, deduz-se que se você constrói software ou pretende construir é preciso ter experiência. É tão óbvio que é praticamente ridículo dizer, mas experiência só se adquire praticando.

Alguém questionaria: como praticar algo que não conheço? Eu diria: A pergunta é outra: Quem pode te mostrar o caminho pra começar a conhecer ou praticar algo? Existem muitas pessoas a nossa volta que tiveram a chance de aprender antes. As que realmente tem algum conhecimento a oferecer não exitam em repassar, pois repassar conhecimento também significa adquirir mais. Aprendi muito mais quando precisei ministrar uma aula que em qualquer outra ocasião.

Existe um inconveniente em ter bastante conhecimento, principalmente no seu emprego: você acaba resolvendo muitos problemas facilmente. Não tendo você simplesmente diria que não consegue fazer. O leitor mais atento percebeu pra quem sobra à tarefa. É quase como uma seleção natural, o que é difícil sempre cai na mão de quem sabe como resolver e estes sempre são pessoas atarefadíssimas.

Mas também existem inumeráveis lados bons. Em um emprego, por exemplo, o conhecimento teria o poder de elevar teu cargo; em seus investimentos o conhecimento financeiro pode te aposentar com trinta anos (não duvide, é possível), no seu negócio você saberia lidar melhor com seus clientes que por sua vez comprariam mais e te dariam mais lucros, e não para por aqui.

Em qualquer que seja a área de atuação, basta você adicionar conhecimento que o nível sobe. Seja o nível do seu salário, o seu nível de prestígio, o nível do seu cargo, etc. É como jogar água em um tubo de ensaio, porém a água faria o tubo transbordar ao contrário do conhecimento.

Mais um último problema no processo: nós adultos temos medo de errar, uma criança não, mas nós sim. Nascemos fazendo tudo errado, aprendemos a andar errando, a beijar errando e logo em seguida a escola nos ensina que existe apenas uma resposta certa e que quem erra é burro. Não está explícito, mais note que é assim que funciona. Só que o ser humano não aprende assim. O ser humano aprende errando e se não houver erro não há acréscimo de conhecimento.

É também importante ser humilde. Pessoas humildes aprendem mais que pessoas arrogantes. Burrice é fingir ser inteligente. Quando você finge está no auge dela. Quantas vezes você acha que Einstein errou até provar o que descobriu? Ele foi um vencedor, portanto aprenda a fracassar mais.

Resumindo, expanda sempre seu contexto. Pra quem ainda não acordou estamos em plena era da Informação. Cultivar o hábito de estar à frente da manada é uma forma de enxergar o futuro. Estar junto com ela torna impossível ver o que está a sua frente.

domingo, 6 de março de 2005

A maior coleção de mestres do mundo

Ao longo da vida tem-se várias pessoas com o propósito de lhe ensinar algo, mesmo que seja em troca de favores. Porém, raramente ensinarão apenas você. Geralmente tentam ensinar várias pessoas ao mesmo tempo. E o tempo é pequeno. E cada pessoa não sabe o mesmo e nem tem a mesma facilidade de compreender. Por mais esforço que haja, nunca todas as palavras serão ditas nem todos os detalhes repassados e compreendidos.

Analizando bem, parece não ter solução pois nunca foi diferente, não é mesmo? Não, não é. Pense mais um pouco e chegará a uma pergunta: Se alguém ensina, onde aprendeu?

Talvez com outro professor. Mas prefiro ir direto a fonte. Vou te apresentar a maior coleção de mestres e professores que existe. Eles são de todas partes, alguns são chamados de "os melhores do mundo". Mas ainda tem mais: estão a sua disposição, na sua hora de folga e só pra você. Na maioria das vezes de graça ou quase de graça.

Dá pra imaginar o que é possível aprender com tantos mestres dispostos a ensinar por este preço? (Tomara que aprender é algo que lhe estimula, porque senão, continuar não faria sentido)

Estes mestres nascem dos raros, porém incansáveis, soldados do aprendizado e da descoberta. Não se cansaram ou acomodaram, e foi por isso que mudaram e continuam mudando o mundo.

Muitos são os que não tem o hábito de utilizar o conhecimento deles. Como dito, é hábito. Ora, hábito é algo que se faz sempre, então é preciso fazer a primeira, a segunda, a terceira e nunca a última vez.

Muitos outros associam-nos as "pessoas que ensinam". Nada de errado, pois realmente são mestres dos mestres. O problema está em não se considerar mestre, ou não querer se tornar um. Vale ressaltar que mestre é alguém que ensina o que faz, e não o que sabe. Isto não implica que sabe pouco, implica que faz muito.

O que é mais lamentável em tudo é que embora todos saibam que utilizar o conhecimento deles é necessário, poucos o fazem ou farão. E não adianta insistir.

Pra quem não tem o "hábito" de usar estes mestres, dê a si mesmo uma chance de tentar. Mesmo que não compreenda tudo que eles dizem. Ao "ouvir" vários deles passará a compreender melhor o que todos dizem, da televisão ao jornal, do seu colega ao professor.

Acredito que já nem preciso mais dizer quem são.
Preciso? Bom, este mestres sobre os quais escrevo são os livros.

Leia também:
Prazer da leitura
Por que ler?

sexta-feira, 31 de dezembro de 2004

Recordações de um ano bem apressadinho

Foi um ano bem apressado mesmo! Nossa como passou rápido. Mas enquanto passava deu um bom prazo pra aprender muita coisa na faculdade, mas na vida mais ainda. Vou deixar um breve resumão do que mais marcou, vem comigo?

Na faculdade
1º semestre
Eletrônica digital: Ô materiazinha interessante. Deu muita base pra Arquitetura (abaixo). O mais intrigante foi o programa pra resolver mapa de karnaugh que me rendeu um dez! Nem foi necessário fazer avaliação. Sem dúvida o que mais marcou.

Estrutura de dados I
Descrobri que muita coisa existe e pouca gente conhece: pilha, lista, fila, etc. Diria que facilitaria bastante se pelo menos as pessoas a minha volta (onde trabalho) soubessem o conceito e utilizassem. Não sobra dúvida que ajuda um programador a ser "ágil" em determinadas rotinas.

Outra coisa que me deixou alegre foi algumas aulas que ministrei como reforço para os colegas. Ninguém imagina o quanto isso aumenta em bagagem, te deixa mais solto e te ensina ainda mais. Fica a dica pra você o fazer.

Metodologia científica
Aqui apareceu um dos professor com quem mais me identifiquei até hoje: ele não ensina metodologia científica apenas: te mostra como deveria ser uma universidade! Adeus época em que eu achava que reproduzir conhecimento era o que a escola deveria fazer. Diria que este é um legítimo "professor pra abrir a cabeça". Meus agradecimentos ao ilustre professor José Reinaldo.

Filosofia:
Sinceramente concordo que muita coisa veio daqui, mas acredito que exista uma forma mais interessante de dizer isso, ficar estudando que "fulano falou isso" e "ajuda nisso", "revolucionou isso" não é uma coisa que me atrai. Porém, nota 10 pra forma da professora dar aula. Primeira vez na minha vida que não tive avaliação no final do bimestre. Tive avaliação dentro de sala, todo dia você faz alguma coisa e ganha parte da nota, legal.

2º semestre
Continua a saga de aprendizado em ED2, agora com árvores binárias e grafos. É muita coisa que pouca gente conhece. Onde trabalho por exemplo, de nada adianta falar pra alguém que uma árvore ajuda ele evitar pelo menos quinhentas linhas de código: tem muito conceito por trás e é impossível usar sem ele. O curioso é que em uma parte de um sistema que mantenho acabei utilizando árvore sem conhecer (espanto). São algumas funções recursivas que fazem o tratamento de uma árvore de opções que o usuário pode escolher, nada importante demais pra ressaltar.

Banco de dados: dei muitas opniões na aula da professora, muitas mesmo. Mas no final ela me agradeceu (e é claro, fiquei todo "pomposo" :D ). Mas comigo é assim, acho que pode melhorar não penso duas vezes: falo. No conteúdo teve muita coisa teórica, mas quase sempre algo que já utilizo na prática: banco de dados é algo que se usa muito, pode crer.

Juntando banco de dados com árvores: acabei descobrindo o conceito que está por trás de índices. Acredite: muda sua forma de trabalhar. Consigo perfeitamente entender agora porque um índice é que sustenta um banco de dados e onde/quando devo utilizá-lo ou não. Porém, isso é matéria do próximo semestre: banco de dados II. Vale também pra entender sistemas de arquivos, mas é matéria pra sistemas operacionais I ou II, então deixo os detalhes de lado.

Arquitetura foi um máximo: aprendi a construir uma máquina digital (hipotetic computer). Gostei mesmo deste negócio... minha máquina ficou toda funcionando. Estou até pensando em me dedicar mais nesta área, quem sabe não tenho futuro? Placas, computadores, emocionante! Vamos ver o que está por vir em Arquitetura II.

Probabilidade: não teve muita coisa a acrescentar na bagagem. Não que tenha deixado de frequentado as aulas, mas é uma matéria que um programador não usa muito no seu dia a dia. Da probabilidade/estatística que uso no meu dia a dia, a maioria aprendi no Ensino Médio e o retante com a necessidade. Mas espero fazer uso se surgir necessidade, de todos os males sei que o conteúdo existe.

Não poderia deixar de registrar no final que neste último semestre houve um fenômeno de diminuição de minhas médias. Tudo bem que foram todas acima de nove, mas os semestres anteriores tiveram médias de apreveitamento dez.

Na vida
Pra início, cancelei um monte de conta em banco, dava muito trabalho manter. Sem falar que acabam te cobrando muito por ela. Pra queimar minha lingua, a empresa onde trabalho começou a pagar salário no BB e foi com esta conta que fiquei. Mas teve um lado bom: como toda minha movimentação ficou concentrada em apenas um lugar ganhei um gerente novo que tem mais tempo pra ouvir o que preciso.

Também comecei a investir em fundos de ações. Coisa ariscada de se fazer, diriam alguns. Mas o país está crescendo e estou tendo um ótimo rendimento. Fica a dica pra que você faça. Dividendos e Exportação são boas pedidas para o ano que vem, dizem os especialistas. E não vem falar que não tem dinheiro pra fazê-lo... com R$ 200 você já começa e o banco é quem administra, pois é fundo.

Também comprei um lote no residencial arcoíris. É mais na esperança de valorizar mesmo porque ô cidadezinha inflada imobiliariamente. A terra aqui parece que tem ouro.

Finalizando a parte financeira, troquei de computador no início do ano e minha moto está quase toda paga, faltam só três!

Quanto a leitura, tudo ficou concentrado em internet quase o ano todo. Mas isso é muito, e o conteúdo é bem selecionado.

Pra não dizer que não li livro, gostei bastante do "Guia de Expressões Regulares" de Aurélio Martins e é algo que me ajuda no dia a dia. Há!, vai ser útil em "Linguagens Formais" e "Compiladores"... que chutão que fiz!

Agora nas férias estou lendo um livrinho com mais de 1000 páginas :D. O nome dele é "Profissional linux programando". Ótima pedida pra quem tá fazendo universidade, aliás, pra quem pretende ser programador. E isso não se restringe a linux pois o livro ensina usar várias ferramentas como cvs, banco de dados como mysql e postgres dentre outras ferramentas. A compra dele foi um ótimo investimento. Comprei-o por apenas R$ 20 e ele custa mais de R$ 200. Foi uma promoção da Makron Books com a Pearson Education.

Pro ano que vem já pedi "Pai Rico, Pai Pobre", "Quem mexeu no meu queijo" e "Porque os homens fazem sexo e as mulheres amor". Como percebe, esta é a parte não científica de minha leitura.

Diria que foi um ano "conturbado" e nem colocaria aqui, afinal, é um blog de tecnologia. Porém, quero deixar registrado para que eu veja algum dia e para retribuir as pessoas que fizeram parte de minha vida neste período e vão ler isso aqui.

No início do ano meus pais se separaram e isso veio junto com uma mudança de casa e muita responsabilidade. Sem dúvida uma experiência que não gostei.
Na minha parte houve também um final de relacionamento, uma grande perda sem dúvida.

Como ficar sozinho te dá algum tempo livre, criei este blog e é por isso que você leu tudo isso agora. (que piada :D )

Meu muito obrigado a todos que leram e fizeram proveito do que foi postado aqui. Deixo o desejo que comentem mais já que bastante gente lê mas não me mostra sua opnião.

Este é a parte de retribuição já que muita coisa não se deve agradecer. Aos meus colegas, da faculdade ou não, presentes no meu dia a dia. É algo marcante e é um período que vou lembrar quando for contar para meus filhos e netos. Não vou citar nomes mas quem participa sabe que sempre tento retribuir a companhia e amizade mesmo que da minha forma.

Um ótimo novo ano a todos!

quinta-feira, 25 de novembro de 2004

Live bookmark's no melhor browser do mundo

Cheguei a mencionar sobre feeds rss no post Inovações no software livre.
A novidade agora fica com os live bookmark's do Mozilla Firefox.

Alguns conhecem bookmarks como "favoritos". Live bookmark's são favoritos "vivos", ou seja, se modificam de acordo com o conteúdo de algum site que publique feeds rss/atom.
Em suma, você adiciona o bookmark vivo no browser e fica sabendo os nomes dos artigos/textos quando o site tiver alguma publicação.

Frequento mais ou menos uns 20 blog's e admito que seria impraticável visitar um a um pra verificar se houve alteração. Os recursos do firefox vieram pra facilitam minha navegação, e muito. Existem muitos outros além dos bookmarks vivos pois é um browser extensível. Veja aqui todas as extensões disponíveis.

Das extensões que utilizo:
GMail Notifier: Notifica quando recebo um email na caixa de entrada do GMail e me avisa a quantidade de emails não lidos.
Bookmark sincronizer: Permite enviar meus bookmark's (inclusive os vivos) para um ftp e baixar em casa. Assim, mantenho meus favoritos atualizados em casa e no serviço.
HTML Validator: Valida páginas html de acordo com as normas da w3c.
Optimoz Tweaks: Esconde/Mostra a Side Bar automaticamente quando o mouse entra/sai nela.

Cada dia me surpreendo mais com o browser da mozilla!
Instale-o e se surpreenda também!

Um dos únicos argumentos que podem surgir é que nem todas páginas são exibidas, então vou rebater logo com a verdade pois todos deviam saber:

Primeiro: se você só utiliza Internet Explorer não conhece um browser de verdade, e te garanto que você só o conhece porque a Microsoft fez o favor de incluir ele no Windows para sua comodidade. Se tivesse que baixar da internet e instalar no seu windows, você não o faria. E mais: sua dona não tem interesse em aperfeiçoá-lo. Porquê? Veja aqui.

Segundo: O estrago na internet que ela fez com o monopólio que veio advindo desta "distribuição" disfarçada é incalculável. Muita gente sabe que a Microsoft nunca foi a que mais seguiu padrões e nem será. É bastante simples entender: padrões não possuem importância quando se é a maioria. Você faz e quase todo mundo automaticamente usa, isso importa. Comparo a dar remédio pra menino "guela abaixo": você tem muito mais força e se ele reagir você o domina.

A falta destes padrões dificultam que outros browser's exibam as mesmas páginas que o navegador dela exibe. Então, se você usa o Firefox/outro e ele não mostra a página que você deseja corretamente, a partir de agora já sabe que a culpa não é do browser: é do dono do site que não o fez seguindo padrões.

Esta não é somente a minha opnião. Bastante pessoas pensam como eu (ou eu penso como elas :D), duas:
Bruno Torres
Joel on Software

segunda-feira, 22 de novembro de 2004

Você adora ser um hardware man?

Pra quem é ou deseja ser um "hardware man" ou "suport man", que tal este cartum aparentemente feito pela IBM?

Ele descreve bastante bem o que você é/será!
É um cartum "flashiano" em chinês, mas não é difícil de enteder.
É um pouquinho grande, mas já aviso: vale cada bit do download.
A música de fundo é chique pra caramba!

Veja aqui o Cartum

quinta-feira, 18 de novembro de 2004

Um jogo de xadrez interessante

A fim de descobrir quem joga xadrez da turma:
Que tal ver o que o computador está calculando para fazer a jogada?

Achei super interessante este jogo de inteligência articial (sim, ele aprende jogando).
Não é necessário nem instalar! Basta clicar no link.

Link do jogo

Se não sabe jogar, vai querer pelo menos ver as imagens. (Cada linha correponde a uma jogada possível)

Imagens interessantes

Para os não curiosos que deixaram de olhar o código da página: é um jogo feito em java... mais precisamente um Applet. E muito bem feito!

sexta-feira, 5 de novembro de 2004

Btree for all

Não pude deixar de notar esta beleza de aula que vai do começo ao aparente final do assunto btree.

Aula btree USP

Huffman

Pra quem está boiando em código de huffman...

Leia esta apostila que explica muitíssimo bem!
É um arquivo em formato pdf.

Apostila da USP