quinta-feira, 28 de abril de 2011

O professor e as reuniões

Essa semana eu percebi que não cumpri com várias atividades que eu havia planejado. Resolvi então rever a minha agenda semanal. Sim, eu finalmente consegui usar realmente uma agenda, anotar os compromissos e segui-la. Todos os anos eu comprava agendas em papel, mas nunca tinha disciplina suficiente para anotar todos os compromissos, ou pior, eu não adotei o costume de estar sempre verificando os compromissos vindouros. Graças ao Google Calendar esse problema acabou! Agora tenho meus compromissos na web (ou nas nuvens como a nova onda determina), então eu não preciso levá-la a lugar algum. Posso anotar os compromissos de onde eu estiver, acesso-a via celular e ainda recebo SMS de graça sobre compromissos mais importantes que eu não posso esquecer.

Analisando minha fantástica agenda semanal no Google percebi que a palavra Reunião apareceu 7 vezes. Cada reunião dessas dura no mínimo 3 horas, isso totaliza 21 horas em reunião. Isso é muito mais do que minhas horas semanais em sala de aula (12 horas), ou preparando aulas (umas 6 horas), ou qualquer outra atividade. Contando que cada expediente de trabalho, manhã e tarde, possui 4 horas, isso dá um pouco mais de 5 expedientes de trabalho, ou 2 dias e meio. Ou seja, se numa semana temos 40 horas de trabalho semanal, 50% dela seria gasta com reuniões.

Ótimo, as reuniões são muito importantes! São nelas que as decisões são tomadas, que reunimos os grupos, esclarecemos as dúvidas mais polêmicas e damos nossa contribuição ao grupo. Mas como dar conta de todas as atividades e com tantas reuniões para participar? Eu tenho algumas ideias. Trabalhar a noite, dormir menos, não ter família, filhos nem pensar, levar o computador para trabalhar nas reuniões, simplesmente não ir, ou trabalhar até o último minuto e chegar atrasado às reuniões, com isso você pode ganhar 1 hora em cada reunião, que no meu caso não seria pouco.

Voltando a falar de mim, eu uso um pouco de todos esses artifícios. Falto reuniões, tenho pouco tempo para minha família, chego atrasado em algumas e essa semana eu passei uma reunião quase toda trabalhando. Isso é um mecanismo natural de sobrevivência do professor.
Escrevo isso como uma reflexão sobre como podemos ser produtivos com tantos assuntos de interesse coletivo para resolver. Acho que temos que fazer menos reuniões presenciais, devemos utilizar a tecnologia a nosso favor. Devemos discutir os assuntos pela internet até se esgotar o assunto e deixar as reuniões para as últimas palavras. Se a justiça brasileira faz julgamento por vídeo-conferência, por que não utilizamos essa tecnologia para nossas reuniões?

Bem, se você trabalha comigo e durante uma das reuniões eu estiver trabalhando, não aparecer ou cochilar, desculpe-me, é porque estou aplicando um estilo de trabalho aprendi no livro "The Lazy Project Manager" chamada "Lazy Productiveness", que se refere a ser produtivo com tempo de sobra para descansar e ter uma vida pessoal.

segunda-feira, 11 de outubro de 2010

A Síndrome de Von Neumann

No início da era da Computação, vários foram os esforços para que computadores mais eficientes fossem desenvolvidos, mas que principalmente houvesse um padrão de arquitetura. Arquiteturas heterogêneas implica em também diversas metodologias e paradigmas de programação.
Na década de 30 John Von Neumann, então professor e pesquisador da Universidade de Princeton, EUA, propôs uma arquitetura que revolucionou a computação. Desde então não se viu inovação que impactasse tanto a humanidade.
O que ele propôs foi que deveria haver uma memória que armazenasse tanto dados, como instruções a serem executadas por uma Unidade Central de Processamento (CPU). Tal unidade seria também responsável por ler a instruções dessa memória – armazenadas em código – decodificá-las e então executá-las. Essa proposta foi rapidamente acatada pela comunidade acadêmica e industrial devido a grande flexibilidade que isso significava. Como as instruções poderiam ser armazenadas em memória, fazer com que o computador executasse novas operações desejadas, bastaria escrever uma nova seqüência de instruções na memória. Daí se popularizou o software! Sendo assim, podemos dizer que Von Neumann é o pai do Software?
Aliada a essa inovação, uma outra criação veio revolucionar a humanidade. O transistor digital baseado em silício. Ele permitiu que computadores pudessem ser fabricados de larga escala. Com a miniaturização crescente dos transistores, processadores puderam ser fabricados cada vez menores e com mais transistores, portanto, com maior capacidade de processamento e maiores memórias para dados e a programas cada vez mais complexos.
Assim que os primeiros transistores começaram a ser fabricado, o cientista Gordon Moore, que acabava de fundar uma empresa com mais dois amigos para fabricação de microchips (a Intel) fez uma previsão no mínimo animadora. Ele previu que a tecnologia de fabricação de chips iria avançar tanto, que a cada 18 meses, o dobro de transistores seria colocado num chip sem que o preço de fabricação fosse modificado. E o que isso significava? Os processadores iriam dobrar sua velocidade a cada 18 meses! O mais lógico seria chamá-lo de ingênuo, ou simplesmente ignorá-lo. Isso se depois de um ano e meio depois sua previsão não tivesse se tornado realidade. Mais do que isso, sua previsão virou lei, sendo denominada Lei de Moore e tornou uma meta industrial! Toda a comunidade científica passou a buscar criar processadores cada vez mais rápidos, e parecia sempre muito gratificante ver o crescimento da tecnologia acompanhar a reta descrita por Moore. Mas uma falha muito óbvia em sua lei é que nada cresce para sempre! Tudo tem um fim.
Hoje em dia, a base da Arquitetura de von Neumann, o software, pode ser considerada um overhead. A vantagem do software é a flexibilidade que ele permite ao hardware. Cada instrução pode detalhar o que o hardware deve executar. Mas ao mesmo tempo, os passos básicos de processamento de instrução é geralmente muito custoso: carregamento, decodificação, carregamento de dados, execução e armazenamento de resultados. Como o avanço das memórias não acompanhou o avanço da velocidade de processamento, os processadores hoje são cerca de 3x mais velozes que as memórias mais rápidas. Sendo assim, o excesso de dependência dos processadores de acesso a memória (típico da Arquitetura de von Neumann) torna os computadores máquinas de baixíssima eficiência, tanto no processamento, quanto no consumo de energia! Para se ter uma visão mais concreta dessa ineficiência, basta observar quanto tempo o processador passa realmente processando dados. Numa máquina RISC típica, 5 ciclos de clock são necessários para cada instrução. Desses, apenas um (20%) é usado na execução propriamente dita da instrução. Se os dados necessários não estiverem na Memória Cache, isso pode piorar, caindo para cerca de 14,3%. Essa ineficiência pode ser reduzida se o processador usar Pipeline, mas isso dependerá de um bom compilador, de boa técnica de programação e de como o usuário irá usar o sistema.
Uma pergunta que você deve estar fazendo no momento é, se as computadores que conhecemos hoje não são eficiente, o que seriam então? Estariam todos errados e apenas esse cara que escreve esse blog estaria certo?
Há outras arquiteturas de computadores mais eficientes do que os processadores que conhecemos. A Computação Reconfigurável é uma tendência muito forte nesse sentido. Ela pode ser muito mais rápida, mais barata e consumir menos energia do que os processadores que conhecemos. A diferença é que ela não é tão fácil (ainda) de programar, nem tão flexível quanto os softwares. Entretanto, pesquisas já têm mostrado que chips Dinamicamente Reconfiguráveis podem adicionar o grau de flexibilidade – e de competitividade – que essas arquiteturas precisavam para competir diretamente com processadores de propósito geral.
Mas se fôssemos adotar essas arquiteturas, o que nós profissionais precisaríamos? Mudar a arquitetura tão radicalmente necessitaria de novas linguagens, paradigmas e técnicas de programação. Esse é o principal problema! Teríamos que causar uma revolução na educação básica da computação! O que temos que nos perguntar é, vamos esperar os computadores entrarem em colapso para mudarmos de paradigma, ou devemos estar preparados para essa mudança? Se os computadores são tão ineficientes no uso da energia elétrica, o que diriam os grandes servidores espalhados pelo mundo? Vamos nós da Ciência da Computação estarmos entre os principais causadores dos danos causados ao ambiente devido ao uso indevido da energia elétrica? Essas são questões que serão discutidas em outros momentos nesse blog. Mas uma coisa é certa, eu não vou ficar esperando quieto. E você?

segunda-feira, 27 de julho de 2009

Twitter para iniciantes

O Twitter é uma rede social mas com propósitos diferentes de outras redes, como Orkut, Facebook e MSN. A idéia é você acompanhar (ou seguir, como eles mesmo chamam) pessoas que você admira, que tenha idéias afins ou que simplesmente você conhece. Um usuário do Twitter é sempre estimulado a postar o que ele está fazendo no momento ("what are you doing?"). Sendo que (segundo os próprios criadores do Twitter) esta pergunta é muitas vezes mal interpretada. Ela deveria ser reformulada para "O que você está fazendo de interessante?" ou "O que você está fazendo que recomendaria que outras pessoas fizessem também?".

Então, se você segue uma pessoa que admira, conhece ou é amigo, e esta realiza atividades interessantes, é muito provável que você também se interesse em fazer o mesmo. Por exemplo, imagine que você é fã de um artista. Não seria interessante saber que filmes ele têm assitido, que livros tem lido, a restaurantes tem frequentado?

Pois, devido à novidade do Twitter para muitas pessoas (apesar de ter sido fundado em 2007), resolvi transcrever em português dicas para iniciantes do Twitter algumas escritas por mim e outras compiladas do site Mashable (http://mashable.com/2009/07/20/twitter-new-users).

Dica 1: Encontre pessoas que você conhece e tenha afinidade
Procure pessoas que voce conhece e admira para seguir. Diferente de outras redes sociais, a quantidade pessoas que voce segue nao é um bom parâmetro sobre seu "grau de socialização". O importante é que as pessoas tenham algo a dizer que realmente te interessem.

Dica 2: Instale um cliente Twitter
É essencial que você possua um bom cliente Twitter para utilizar os serviços da melhor forma. A página do Twitter não é atualizada automaticamente, o que obrigará você a pressionar F5 constantemente para saber o que há de novo! Para quem usa Firefox e está iniciando no mundo do Twitter eu recomendo bastante o TwitterFox (https://addons.mozilla.org/pt-BR/firefox/addon/5081). Ele é bem simples, pequeno e bem eficaz. Para quem já tem alguma experiência e já segue muitas pessoas, eu recomendo o TweetDeck (tweetdeck.com). Ele já oferece bem mais funcionalidades e a possibilidade de organizar grupos de pessoas, fazer buscas por assunto e pessoas na rede Twitter.

Dica 3: Monte uma boa rede
Como eu falei antes, montar uma rede grande não é o objetivo do Twitter. Se você segue muitas pessoas, seu cliente ficará abarrotado de novas mensagens, onde muitas delas não serão interessantes para você! Uma pessoa te seguir não significa exatamente que você também deve segui-la. É normal que você tenha mais pessoas te acompanhando do que o contrário!

Dica 4: Saiba o que escrever
Evite levar a frase "What are you doing?" ao pé da letra. Não escreva simplesmente tudo o que você está fazendo. Antes de escrever, pense "isso que estou fazendo realmente interessa às pessoas que estão me seguindo?". Postar mensagens demais e sem necessidade pode fazer com que alguns de seus seguidores cansem de você e deixem de segui-lo. Cada pessoa deve saber realmente o que é interessante para seu grupo de amigos (seguidores) e uma regra não se encaixa a todas as pessoas.

Dica 5: Textos e URLs curtas
O Twitter só permite mensagens de no máximo 140 caracteres. Então se o mais direto e preciso possível. Apesar de muitos inicialmente acharem que isso é uma limitação, é na verdade uma ótima estratégia. Isso obriga todos a serem breves, fazendo com que em alguns poucos minutos você acompanhe o que dezenas de pessoas (e empresas) estão fazendo, recomendando, anunciando. Para isso um serviço de redução de URLs é muito importante, como o TinyURL (www.tiny.cc) ou o bit.ly. Alguns clientes já encurtam a URL sem que você precise acessar o site deles para tal. Mais uma razão para eu recomendar o TweetDeck que oferece mais essa facilidade!

Dica 6: Uso do arroba
O arroba (@) é usado para mencionar outros usuários. Alguns programas a usam automaticamente quando você clica num usuário e pede para escrever algo para ele. Mas isso não é mandatório. Se você vai escrever, por exemplo, uma mensagem para mim, escreva @alissonbrito ao invés do meu nome normalmente. Isso servirá para que as ferramentas clientes localizem quem é o destinatário da mensagem e a faça ser exibida no cliente na categoria "mentions" (menções), assim a pessoa saberá que você está se dirigindo diretamente para ela.

Dica 7: Uso do "jogo da velha" (#)
Já o "jogo da velha" pode ser usado para indexação de termos de uma mensagem. Palavras chaves podem vir com o # antes da palavra para que ferramentas clientes possam localizar mensagens por assunto.

Agora conhecendo estas dicas, vou escrever no meu Twitter, ressaltando termos que caracterizam os assuntos de minha mensagem e com url reduzida: "Escrevi um #tutorial para iniciantes sobre como iniciar no #twitter".

quinta-feira, 2 de julho de 2009

Minha experiência por Buenos Aires e a gripe suina

Estive em Buenos Aires há uns 10 dias atrás e me surpreendi com o que vi! Não foi com relação ao pavor da população da gripe suína, mas exatamente pelo oposto, pela total indiferença dos portenhos e da imprensa.
Tanto foi que durante toda a viagem simplesmente me esqueci que a tal gripe existia. Os argentinos parecem fazer isso propositalmente. O comércio super aquecido, muita gente nas ruas, lojas e cafés. Apenas voltando ao Brasil que vi o alarde. Alguns brasileiros usando máscaras e agentes de saúde nos aeroportos. Quando cheguei em João Pessoa, cidade onde moro, que vi que o pavor era maior. Parece que quanto mais distantes estamos dos principais focos, maior o pavor! O mais curioso foi o reporter, com feição de assustado, destacando que já havia dois casos da gripe em nosso estado! Logo em seguida, bem naturalmente, ele anuncia que durante o feriado de São João (cerca de 4 dias) aproximadamente 30 assidentes ocorreram nas estradas ocasionando 7 mortes.
Para piorar, eu saí gripado do Brasil, e voltei até pior de lá, devido ao frio, eu acho. Algumas pessoas até evitaram me visitar ao saber que eu tinha ido à Argentina e estava gripado. Sendo bem pragmático, o índice de mortalidade da gripe suína é o mesmo de uma gripe comum (http://odia.terra.com.br/portal/cienciaesaude/html/2009/6/ministro_confirma_1_morte_por_gripe_suina_no_brasil_20499.html), então eu estava correndo risco desde o início!
Ontem um amigo, sabendo que estive em Buenos Aires e com passagem marcada para lá também, me questionou se eu considerava seguro ele fazer essa viagem. Então respondi: "Recomendo com toda tranquilidade, só tenha cuidado na estrada no trajeto até o aeroporto, isso sim é perigoso!".

segunda-feira, 26 de maio de 2008

Por que esse título?

Primeiramente, para iniciar esse blog, gostaria de escrever um pouco o porquê deste título. A razão é simples, para mim, essas são as três palavras mais importantes que circulam por minha mente, e elas estão estritamente relacionadas.
Inicialmente vinculamos a palavra tecnologia diretamente com máquinas, dispositivos eletrônicos, automóveis, lasers ou armas sofisticadas, e consideramos que isso nada tem a ver com a vida, ou com os seres vivos. Porém para mim o foco principal da tecnologia é exatamente o oposto dessa idéia. A tecnologia possui como principal objetivo, apoiar a vida, e é nisso que estou apoiando meus estudos de hoje em diante. A partir de agora, o melhor projeto tecnológico será aquele que mude positivamente a vida das pessoas.
E quanto à ciência? A ciência é o elo de ligação entre a vida e a tecnologia. Sem ela as tecnologias são sempre as mesmas. O papel da ciência é estudar a vida, detectar problemas, encontrar soluções e desenvolver novas tecnologias para desenvolver as soluções da melhor forma possível. Sempre pensando e focando o bem estar das pessoas.
De hoje em diante decreto: "Faço ciência, crio tecnologia e vivo a vida!"