1 Aug 2010

There's no speed limit. (The lessons that changed my life.)

Whether you're a student, teacher, or parent, I think you'll
appreciate this story of how one teacher can completely and
permanently change someone's life in only a few lessons.

I met Kimo Williams when I was 17 - the summer after I graduated high
school in Chicago, a few months before I was starting Berklee College
of Music.

I called an ad in the paper by a recording studio, with a random
question about music typesetting.

When the studio owner heard I was going to Berklee, he said, “I
graduated from Berklee, and taught there for a few years, too. I'll
bet I can teach you two years' of theory and arranging in only a few
lessons. I suspect you can graduate in two years if you understand
there's no speed limit. Come by my studio at 9:00 tomorrow for your
first lesson, if you're interested. No charge.”

http://sivers.org/kimo

12 Jul 2010

Aprendendo a programar para o Android com o App Inventor

O Google acaba de lançar o App Inventor, uma ferramenta visual para criação de aplicativos para o Android. Ela usa o conceito de blocos, usando a biblioteca Open Blocks. A ideia é que você monte a interface do seu aplicativo visualmente, como em um RAD qualquer, e defina a interação entre os elementos unindo peças. Me lembra o Lego.

Screenshotabout2

Em um primeiro momento, o aplicativo está em beta fechado. O Google está convidando principalmente professores, para usar a ferramenta em classe.

Houveram alguns comentários no vídeo de demontração no YouTube reclamando, dizendo que não se deve deixar qualquer um programar. Que, com ferramentas como essa, o salário/número de empregos para programadores iria diminuir. Eu discordo. Já ouvi comentários como esse várias vezes, sobre outros RADs. Mas, por melhores que sejam essas ferramentas, não dispensam o conhecimento de um desenvolvedor. O que elas fazem é reduzir o esforço que precisamos fazer para chegar a um determinado ponto mas, passando deste ponto, o conhecimento do programador faz a diferença.

E, além do mais, só conseguiram (até agora) diminuir o esforço em tarefas repetitivas. Isso é ótimo! Se eu preciso passar menos tempo fazendo esse tipo de tarefa, posso dedicar mais a parte realmente divertida.

Conversando com o Rasmus Lerdorf no último ENSOL, ele me disse que PHP, apesar de não ser um exemplo de linguagem bem projetada, era uma boa linguagem para você começar a programar. Na época dele, não havia essa diferenciação entre usuário e programador. Todo usuário era um programador. Você ligava o PC e aparecia simplesmente uma linha de comando esperando suas instruções.

Como não haviam jogos no seu computador, ele uns que vinham em umas revistas. Mas não existia CD ou disquete. Ao invés disso, nas revistas tinha uma screenshot e o código do jogo, normalmente em BASIC, impresso. Ele colocava a revista no colo e começava a digitá-lo. Depois de umas 2h, se não tivesse errado nada, poderia começar a jogar. Depois de terminar, tinha que deixar o PC ligado. Se desligasse, teria que fazer tudo de novo. Não havia uma forma de salvar o programa. Foi assim que ele começou.

Mas isso era divertido. O jogo não terminava quando você zerava ele. Como você estava digitando o código, poderia fazer uma modificação aqui, outra ali, e ir brincando com os resultados. Programar também era um jogo. Depois, se você fizesse alguma coisa legal, poderia mostrar para seus amigos. Trocar figurinhas. E, segundo ele, não era muito difícil fazer algo que parecesse tão bom quanto os jogos comerciais da época. Hoje em dia não podemos falar o mesmo. Todos os computadores tem uma interface gráfica sofisticada, e fazer um programa que não pareça tão amador não é uma tarefa fácil nem para programadores experientes, imagine para quem está começando.

Já em PHP, é fácil fazer um site e colocá-lo no ar, onde qualquer um pode ver. E a diferença entre um site feito um programador inexperiente e um experiente não é tão absurda, em termos visuais. É fácil fazer um site com a interface do Google, por exemplo. E isto, segundo o Rasmus, anima quem está começando, a continuar.

O mesmo pode ser dito para o App Inventor. Se uma criança/adolescente tiver acesso a uma ferramenta como esta, e conseguir fazer alguns programinhas simples para o seu celular, isto pode puxá-la para nossa área. Mesmo para um fera de computação, ferramentas assim podem ajudar a diminuir a evasão do curso. Com um déficit tão grande de profissionais na nossa área, iniciativas como essa são extremamente importantes.

7 Jul 2010

Multi-Layered Images Projected Onto Water Droplets With New Carnegie Mellon Display Technology

Carnegie Mellon University (CMU) researchers have developed AquaLux 3D, projection technology that can direct light onto and between individual water droplets, which enables text, video and other images to be displayed on multiple layers of falling water. AquaLux 3D makes it possible to create 3D images in water by using multiple layers of precisely controlled water droplets, says CMU professor Srinivasa Narasimhan. “By carefully generating several layers of drops so that no two drops occupy the same line of sight from the projector, we can use each drop as a voxel that can be illuminated to create a 3D image,” Narasimhan says. The system can generate drops at a rate of 60 per second, and increasing the number of drops per second increases the brightness of the display. The researchers have used the water drops to display video images, text, a simulation of fish swimming in an aquarium, and alternating sheets of solid colors. “People can touch the water drops and alter the appearance of images, which could lead to interactive experiences we can’t begin to predict,” Narasimhan says.

http://www.cmu.edu/news/archive/2010/July/july6_waterdisplay.shtml

5 Jul 2010

Meu objetivo para o blog: um post por semana

Desde 2006 eu tento manter um blog. Mas, como em diversas outras coisas, tenho épocas que me empolgo e escrevo bastante, e épocas onde não escrevo nada. Normalmente, como dá pra perceber, eu não escrevo nada. Nos últimos meses, conheci o posterous, através do Alan Kelon, e gostei.

 
Apesar de demorar muito para postar no blog, eu escrevo diversos e-mails diariamente. Assino ~10 listas e recebo ~50 e-mails por dia. Então resolvi tentar uma coisa: vou atualizar o blog a partir do e-mail. É aí que entra o posterous.
 
Ele tem um serviço muito interessante: você envia qualquer coisa para post@posterous.com e, automaticamente, ele atualiza sua página e todas as redes sociais que você cadastrar. E o mais legal: mandou uma foto? Ele adiciona. Mandou várias fotos? Ele faz um slideshow. Mandou vídeo? Música? Tudo ele trata. Até, se você cadastrar o YouTube ou o Flickr, ele já envia as coisas pra lá também.
 
Enfim, gostei muito da ideia deles, e da implementação. Veremos se é o suficiente...