Links do dia: Computação em foto

  • The history of computer data storage, in pictures
    Pequeno resumo em imagens da evolução dos mecanismos de armazenamento de dados em computadores.

  • Programming Languages and their Celebrity Equivalents

    Comparação divertida entre linguagens de programação e pessoas famosas. Minha comparação favorita foi a do PHP.

  • If a programming language was a boat…

    A idéia é a mesmao do link anterior, mas desta vez a comparação é com barcos. É fácil notar que os autores de cada um dos posts tem visões muito diferentes sobre o mundo da programação. Aquele que compara linguagens com pessoas famosas parece gostar muito de Java, da MS e não ser fã de linguagens dinâmicas e script. Já a comparação com barcos claramente puxa a sardinha pro lado de Ruby.

Ainda sobre o MacBook Air

Antes de mais nada tenho que dizer que não acompanho os lançamentos da Apple com muita atenção. Nada contra a Apple em si, mas acabo acompanhando outras coisas que me interssam mais. Mas parece que o maior lançamento deles feito na maior conferência sobre produtos da Apple este ano foi o MacBook Air.

Por fora, como a maior parte das coisas da Apple, o design é muito interessante. Mas confesso que não dou tanta bola pra assim para o design. É claro que gosto de ter coisas bonitas, mas prefiro ter coisas boas antes de ter coisas bonitas. E foi por isso que minha primeira impressão do MacBook Air não foi das melhores. O fato de ele não ter CD/DVD interno me deixou atônito.

Mas ai, pensando um pouco mais, quantas vezes eu uso meu drive de CD/DVD? Poucas… Então porque eu tenho um? Bom, ele de vez em quando é útil, eu diria. E já me salvou algumas vezes.

Mas pensando mais ainda, há muitos anos atrás a Apple foi a primeira fabricante que eu tenho notícia que parou de lançar computadores com drives de disquetes. E, como sabemos hoje, este foi um caminho certo. Eu não tenho drive de disquete há 4 anos. E acho que posso contar nos dedos de uma mão quantas vezes ele me fez falta. E nenhuma dessas vezes eu não consegui outra solução sem usar um disquete.

Seguindo o mesmo raciocínio, talvez as unidades de CD/DVD também estejam com os dias contados. Pelo menos em computadores portatéis.

Turing completeness (Pra que linguagens de programação?)

Pessoal, primeiro queria me desculpar por minha ausência neste blog nos últimos tempos… Infelizmente eu acho que eu sou o colaborador mais esparso por aqui e não tenho grandes perspectivas de melhorar minha taxa :-/ De qualquer forma, como o Miguel ainda não me expulsou, continuo na ativa para a felicidade (ou não) dos dois leitores deste blog (não fossem os comentários de outras pessoas e as estatísticas do blog eu chegaria a acreditar piamente que só o Raphael e o Bruno lêem este blog nos últimos tempos… obrigado pela participação de todos!). :)
Como todos devem saber, o Raphael e o Bruno vêm há algum tempo em uma discussão (às vezes) quase religiosa com dezenas de comentários sobre o artigo “Viva a diversidade!” do Miguel. Muita gente deve estar cheia de ler os comentários deles! Eu, inclusive, já passei por uma fase assim, mas acabei lendo todos os comentários em batch depois. Acho que é isto que levou o Miguel a “censurar” (será?) os dois. :) De qualquer forma, acho que este blog deve ser um meio livre de expressão. Se eles querem se matar discutindo um assunto que, a meu ver, não tem muito sentido, deixa eles lá.

De certa forma, discussões grandes como esta acabam gerando ligações com assunto muitas vezes nada a ver com a discussão principal. E foi exatamente isso que me chamou a atenção neste comentário do Raphael. Mais especificamente, a seguinte parte me chamou a atenção: “Em última análise, TODAS as linguagens são possíveis de se fazer QUALQUER tipo de construção lógica. Se não fosse assim, elas não seriam Turing-Complete, tampouco mereceriam o nome “Linguagem de Programação”.”

Isso me lembrou de um fato que eu aprendi há muito tempo e que é uma daquelas coisas que não mudam sua vida porque provavelmente você nunca mais vai ter que lembrar dele no seu dia-a-dia mas fazem com que tudo faça sentido (se um dia você estiver buscando a essência das coisas, como eu acho que o Raphael estava quando ele escreveu esta frase).

Turing completeness é um conceito que, na verdade, estrapola linguagens de programação. Qualquer máquina abstrata ou linguagem de programação que seja capaz de executar qualquer tarefa computacional é classificada como turing complete.

Quando você desce o nível, das linguagens de programação de alto nível para as coisas mais essenciais, como assembly e linguagem de máquina, você vai descobrir que ser turing complete nada mais é do que ser capaz de executar pouco mais de meia dúzia de instruções. Descendo mais o nível, veríamos que para projetar um circuito lógico capaz de executar todo este conjunto de instruções você precisaria de apenas um tipo de portas lógicas: ou só NANDs ou só NORs. Você não vai precisar de mais que dois transistores para fazer cada uma destas portas lógicas. Duvida? Aqui e aqui.

Desta forma, eu acho que toda esta discussão sobre qual linguagem de programação é melhor realmente é inócua. Parodiando o célebre post de Linux Torvalds, homens de verdade precisam apenas de máquinas turing complete. Nada mais!

E é por isso que eu conclamo todos vocês a largarem toda esta porcariada de frameworks, modelos de programação, orientação à objeto, programação funcional, lambdas e o escambal e passemos todos a projetar tudo que precisamos fazer em termos de NANDs (por um gosto pessoal eu prefiro o NAND ao NOR, mas, para não parecer inflexível, acho que podemos liberar o NOR também). Caso alguém realmente precise de algo de mais alto nível, são permitidos os instructions set mínimos ou, já que eu sou uma pessoa benevolente, o uso da linguagem Whitespace, que, segundo o artigo sobre instruction set mínimo, chega perto de algo minimalista (mas não deixa de ser uma linguagem de alto nível, na minha opinião, então use com parcimônia). Coisas como Path language nem pensar. Elas não são suficientemente minimalistas, por mais que a home page dela te faça pensar o contrário.

Com estas tecnologias (e apenas com elas!) acho que daqui há uns 200 anos conseguiremos chegar num nível tecnológico suficiente para termos blogs funcionando novamente. Quem sabe assim eu não ganho tempo suficiente para pensar no meu próximo artigo… :)
Nota: Antes que alguém me acuse de reacionário: esta é uma obra de ficção. Qualquer relação dela com seu autor ou com qualquer outra pessoa é azar deles.

Folding@HOME e PS3 (ou “Os vídeo-games e a inovação na computação - parte 3″)

Andei meio distante deste blog nos últimos três meses por diversos motivos mas voltando a escrever, queria falar de um mesmo assunto sobre o qual eu estava falando da última vez que eu escrevi aqui: Os vídeo-games e a inovação na computação. Para quem tiver interesse em ler os dois primeiros artigos sobre este assunto eles estão aqui e aqui.

Desta vez queria falar sobre como todo o poder de processamento dos novos vídeo-games podem ser usados para… não rodar jogos! Mas, se não formos rodar jogos em vídeo-games, o que faremos com eles?

Bom, como disse no primeiro artigo sobre este assunto, pelo menos dois dos vídeo-games desta nova geração, o PlayStation 3 e o XBox 360, na minha opinião, tem como objetivos se tornarem as centrais de entertenimento da casa, gerenciando conteúdo e conectando todos os dispositivos multimídia de uma casa. Mas além disso, pelo menos o PlayStation 3, já nasceu como um computador completo. Desde que foi lançado era possível conectar um teclado e um mouse a ele, rodar Linux e, com isso, usá-lo como um desktop. Vá lá que não é um desktop lá grandes coisas porque a pouco memória (só 256 MB) e o mal uso do processador Cell pela maior parte dos aplicativos do sistema operacional, que utilizam apenas um dos nove núcleos dele, tornam a experiência não muito boa.

No entanto, se bem usados todos os núcleos do processador Cell eles podem entregar até 200 GFlops, o que é muito se comparado com os cerca de 15 GFlops de um Athlon 64, por exemplo. No caso do processador Cell, as aplicações que tiram maior proveito deste poder de processamento são aquelas que possuem grande parte do seu trabalho concentrado em processamento matemático pesado e intenso.

E daí? E daí que se as aplicações forem bem escritas, podem usufruir de todo este poder de processamento e se tornarem muito poderosas. Um bom exemplo disso são as aplicações do BOINC. Para quem não conhece o BOINC, ele é um projeto criado pela Berkeley University. BOINC significa “Berkeley Open Infrastrucutre for Network Computing”. Ou seja, é basicamente um projeto que cria aplicações clientes para diversas plataformas que utilizam o tempo de processamento ocioso em computadores distribuídos em rede (na Internet, por exemplo) para processar coisas que um computador sozinho levaria milhares de anos para processar, mesmo que ele fosse bem poderoso. A rede criada pelo BOINC já possui diversas aplicações e uma das mais antigas e populares é o Folding@Home. O Folding@HOME utiliza a infra-estrutura do BOINC para fazer cálculos poderosos sobre como átomos e moléculas se juntam para formar proteínas. A formação de proteínas é um processo complexo e a forma espacial das moléculas de proteínas é importantíssima na função que elas exercem nos organismos vivos. O Folding@Home realiza cálculos para tentar entender como se dá o processo de empacotamento e desempacotamento das moléculas de proteínas e qual é a influência destes processos no desenvolvimento de doenças. Para quem quiser saber mais sobre o BOINC e o Folding@Home, pode ver aqui e aqui.

As aplicações do BOINC são um exemplo prático de aplicações que necessitam de grande poder de processamento. E, pensando nisso, o pessoal do Folding@Home ficou de olho grande no poder de processamento do processador Cell presente no PlayStation 3 e desenvolveu um cliente específico para esta plataforma para utilizar o poder de processamento ocioso dos vídeo-games! Ou seja, se você não estiver jogando, vai poder ajudar pesquisas importantes para o avanço da humanidade. Para se ter uma idéia da “ajudinha” que os PlayStation 3 estão dando para o Folding@Home, eles representam cerca de 10% dos processadores sendo utilizados de forma distribuída por esta aplicação, mas, por outro lado, entregam mais da metade do poder de processamento atual! Para maiores informações sobre isso, basta clicar aqui. Uma ajuda e tanto vindo de vídeo-games! Quem poderia imaginar algo assim há algum tempo atrás?

O ponto importante disso tudo é que o nível de convergência que estamos vivendo atualmente das várias tecnologias e mídias de distribuição de conteúdo estão fazendo com que coisas antes centradas apenas em entertenimento, como vídeo-games, já estão sendo pensadas hoje também como componentes centrais de sistemas distribuídos em todo o mundo. E, como vimos, não estou falando de jogos online.

Apple ao longo dos anos…

Apple Evolution

Clique na imagem para ver em tamanho real

Wii (ou “Os vídeo-games e a inovação na computação - parte 2″)

Continuando a falar um pouco sobre vídeo-games e o impacto que eles causam na evolução da computação (meu primeiro post sobre este assunto você encontra aqui) eu vou falar um pouco do Wii, o vídeo-game de sétima geração da Nintendo.

Wii

Olhando por fora, o Wii parece bonito. Mas todos os vídeo-games de sétima geração investiram bastante na sua imagem externa. O melhor mesmo está naquilo que os olhos não vêem (pelo menos em um primeiro momento).

Por um lado tem os processadores do Wii. O processador central é um IBM Broadway, um processador basedo em PowerPC. Como eu disse no primeiro artigo desta série, não é à toa que todos os vídeo-games de sétima geração possuem processadores IBM: eles tiram proveito da robustez das tecnologias desenvolvidas nos últimos anos pela IBM para a família de processadores Power para o mercado de processadores de servidores, que exigem uma alta carga de trabalho. Além disso o Wii vem com um processador gráfico da ATI, o ATI Holywood. Isso por si só coloca este vídeo-game com capacidade de processamento para torná-lo um representante da nova geração de vídeo-games.

É claro que, apesar do aumento do poder de processamento em relaçao ao GameCube, o vídeo-game de sexta geração da Nintendo, este, digamos assim, não é o grande diferencial deste console. Em relação aos outros consoles de sétima geração, o XBox 360 da Microsoft e o PlayStation3 da Sony, o Wii nem é assim tão poderoso em relação à sua capacidade de processamento. Apesar de existirem muito poucas informações oficiais a respeito do IBM Broadway, certamente ele possui uma arquitetura bem mais simples que a dos processadores multi-core presentes no XBox 360 e no PlayStation 3.

O Wii também tem todas aquelas coisas que os vídeo-games de sétima geração trazem: suporte a Wi-fi, Bluetooth, USB, adaptadores para redes locais, leitura de mídias óticas, etc. Além disso, ele também é compatível com os jogos do GameCube e consegue se conectar por rede sem fio com o Nintendo DS, o atual console de mão da Nintendo. Mas tudo isso, apesar de muito legal, também não é o que faz do Wii único.

O grande diferencial do Wii, para mim, é a forma pela qual os usuários interagem com os jogos e outros eventuais programas rodando no console. O nome inicial do projeto do Wii era “Revolution e, apesar da mudança do nome no laçamento do console, a forma de interação com o Wii é realmente revolucionária.

A Nintendo desenvolveu um controle sem fio, o Wii Remote. Até ai nada demais. Só que este controle é dotado da capacidade de perceber a sua posição, a direção em que ele é apontado e a velocidade em que se movimento no espaço, ou seja, ele possui um acelerômetro dentro dele. Desta forma, o Wii permite que o usuário interaja com os programas na tela através do movimento e da direção do controle.

Isto torna possível, por exemplo, que uma pessoa jogando um jogo de tênis para o Wii não fique apenas apertando os botões para que o seu “hominho” no jogo vá de um lado para o outro da tela e aperte um outro botão para “acionar” a raquete do “hominho”. Agora é possível realmente jogar tênis, se posicionando na frente da tela e, com o Wii remote, fazendo o seu “hominho” ir para um lado ou outro da quadra quando você se movimenta com o controle na frente da tela e fazendo com que o “hominho” rebata a bola quando você fizer o movimento certo com sua raquete virtual, representada pelo Wii remote, na frente da tela. Imaginem quantas novas possibilidade não podem se abrir a partir desta forma revolucionária de interação com os computadores?

Além disso, o Wii remote é expansível, o que permite a conexão de outros controles ao controle principal. Por exemplo, existe uma extensão, chamada de Nunchuk, que é parecida com um manche de avião e possui os velhos botões direcionais dos controles de arcade. Ele também possui um acelerômetro e você pode usar um Nunchuk em uma mão e um Wii Remote em outra durante um jogo! Além disso você pode conectar controles de alguns vídeo-games anteriores ao Wii Remote e jogar seus jogos do GameCube com o mesmo controle, ou, em outras palavras, com a mesma interface que você estava acostumado.

Toda esta realidade adicional, obviamente, empolga os jogadores. Não é à toa que a Nintendo está fazendo recall dos Wii Remote para subsitutir a presilha que vem com o controle para segurá-la junto ao punho do jogador: a presilha não foi feita forte o suficiente para suportar a força que está sendo imprimida por alguns jogadores no controle e os Wii Remote estão literalmente voando das mãos em alguns casos!

Esta nova forma de interação está fazendo com que o Wii, anunciado no final do ano passado, perto do lançamento do PlayStation 3, da Sony, esteja sendo mais popular e mais vendido que seu rival em muitos lugares, mesmo sendo o PlayStation 3 o vídeo-game mais aguardado dos últimos anos.

Esta nova forma de interação também pode abrir novos caminhos para a computação e para a forma como interagimos com as máquinas hoje em dia. Pode inspirar muitos sistemas no futuro. Sejam eles jogos ou não.

50 anos de HD

Segundo o blog Silicon Valley Sleuth, o HD fez 50 anos ano passado. Interessante perceber o tamanho da versão original do dito cujo.

Palm Inc adota Linux

Segundo o Palm Info Center, a Palm anunciou que irá lançar uma plataforma móvel baseada em Linux rodando entre outras coisas o navegador Opera. Depois do anuncio da separação da Palm e Palm Source (que produz o SO), parece que finalmente as coisas estão tomando um rumo decente…

Os vídeo-games e a inovação na computação

Sempre gostei de vídeo-games. Alias, lá no começo de tudo, a maior parte do tempo que eu passava na frente do MSX lá de casa era pra jogar. E continuou assim com meu primeiro PC (um 386 DX 40 MHz!). Entre o MSX e o 386 eu também tive um Phantom System. Fantástico também (para a época)!

Mas, de uns tempos para cá, por causa do meu trabalho, acabei tendo que entrar em contato com esta área dos vídeo-games sob um outro ponto de vista que se tornou, para mim, tão fascinante como aquele que eu tinha quando eu era apenas um “viciado” por jogos eletrônicos.

Este outro ponto de vista me levou a perceber coisas que, até então, apesar de parecerem naturais, não pareciam ter ligações entre si. Por exemplo, todo mundo sabe que a computação eletrônica vem evoluindo de maneira frenética nos últimos 20 anos ou mais, para não dizer desde que foi inventada. Também é meio que consenso geral que a evolução da computação, dentre outras coisas, é dirigida por necessidade de maior poder de processamento, afinal não faria sentido se aumentar o poder de processamento se não existem problemas que requeiram tal poder ou se não somos capazes de criar problemas para requererem este poder de processamento (não dizem que a computação veio para resolver os problemas que ela mesmo criou?). E ai chegamos no ponto que eu queria chegar: dentre as aplicações usadas por um usuário doméstico, quais são aquelas que, em geral, precisam de maior poder de processamento?… Jogos! Seja porque tentam renderizar gráficos com cada vez mais detalhes, seja porque tentam implementar inteligências artificiais cada vez mais complexas ou seja porque tentam criar novas formas de iteratividade com o usuário, jogos requerem um grande poder de processamento.

O poder de processamento de consoles de vídeo-games sempre foi relativamente grande se comparado com o poder de processamento de PCs. É claro que esta não é um comparação totalmente justa porque os consoles de vídeo-games não podem ser estritamente descritos como computadores de propósito geral e, por causa disso, é claro que eles sempre ganham em performance na execução de jogos quando comparados com os PCs. Mas é certo também que depois do meio da década de 1990 os PCs melhoraram bastante sua performance na execução de jogos. E, mais do que isso, parece que estamos vendo nascer uma nova indústria de consoles de vídeo-games onde o console começa a se misturar com o PC e vice-versa.

A entrada da Sony no mercado de consoles vídeo-games no meio da década de 1990 e, depois, da Microsoft no início dos anos 2000 mudaram definitivamente o rumo do mercado de consoles de vídeo-games no mundo. As duas desbancaram os fabricantes tradicionais de consoles, dos quais só sobrevive ainda hoje a Nintendo. Além disso, a entrada de ambos neste mercado marcou o início da era dos consoles que não apenas rodam os jogos mas também são capazes de muitas outras coisas.

Dos consoles atuais (de sétima geração), pelo menos dois deles apostam no aumento do poder de processamento como meio de se emplacarem no mercado. O XBox 360 da Microsoft e o PlayStation3 da Sony possuem processadores multi-core agressivos. Eles atacam nas frentes que já citei anteriormente: gráficos cada vez mais perfeitos e jogos cada vez mais inteligentes. Além disso, toda esta capacidade de processamento está tornando possível a criação de ambientes mais reais, já que o poder de processamento extra torna possível um processamento mais fino da física do jogo. Os raios de sol nestes consoles refletem nos vidros, a gravidade existe de forma mais parecida com aquilo que vivenciamos no nosso dia-a-dia e a água ondula de verdade quando jogamos uma pedra num lago.

É claro que tudo isso é muito legal, mas estes consoles vão ainda mais longe. Na minha opinião, eles querem se tornar as verdadeiras centrais de entreternimento das casas. Com tanto poder de processamento, estes consoles são capazes de tocar música e vídeos, servir como ponto de interconexão de dispositivos em rede na casa, navegar na Internet, permitir a conexão de TVs digitais e muito mais. Ah, sim, antes que eu me esqueça, eles são capazes de rodar jogos também!

Estes consoles tentam também emplacar novas tecnologias de mídia como o Blue-Ray, da Sony, que é padrão no PlayStation3, e o HD-DVD, apoiado pela Microsoft, que não é padrão no XBox 360 mas que pode ser conectado ao console.

Correndo por fora neste mercado, temos o Wii, console de sétima geração da Nintendo. Ele não possui um processador tão poderoso quanto o dos outros consoles, mas ele aposta numa nova forma de interação com o usuário que tem tudo para ser matadora neste mercado. Se os outros saem ganhando quando eles tentam ser a central de entertenimento da casa, o Wii sai ganhando por ser o console com melhor interatividade. A nova forma de interação com o usuário criada pelo Wii não é só inovadora, mas ela também justifica o que já citamos antes: ela também necessitou que houvesse um salto no poder de processamento dos consoles da Nintendo entre a sexta e a sétima geração para suportar, dentre outras coisas, este novo paradigma de interatividade. Mais ainda, ela também leva à evolução da computação de uma forma geral já que propõe novas formas de interação com sistemas de computação, se levarmos em conta que ela pode ser usada para outros sistemas que não sejam jogos.

Eu prentendo, mais pra frente, analisar mais a fundo pelo menos dois destes novos consoles de vídeo-games pois eu julgo que eles trazem inovações que irão afetar de forma definitiva a computação em geral e não só no mercado de vídeo-games nos próximos anos. Mas de qualquer forma, queria compartilhar com vocês esta minha percepção de que os vídeo-games são um dos grandes responsáveis pela evolução da computação pessoal nos últimos 10 a 15 anos, eu diria.

É claro que eu acredito que o que já citei neste post serve de prova para a ligação entre os vídeo-games e a inovação na computação, mas querem um outro argumento sobre porque eu acho que o mercado de consoles de vídeo-games está cada vez mais ligado ao mercado de computadores pessoais e à evolução da computação de uma forma geral? Sabem quem é o fabricante dos processadores dos três vídeo-games de sétima geração existentes?… A IBM, uma especialista em fazer processadores para servidores corporativos de alta capacidade de processamento e uma das maiores inovadoras nesta área.

Modelo de segurança do laptop de $100

Confesso que não acreditei muito no projeto, quando a idéia foi lançada pelo Negroponte há alguns anos atrás.

Mas vendo  o site do XO (nome dado ao computador) e o wiki, percebi que o produto final é bastante interessante. Ele contém um pacote de programas bem completo (processador de textos, RSS, leitor de emails, chat, VoIP, shell, ambiente gráfico e de áudio, debugger),  é todo voltado para funcionamento em rede e usa Python, Javascript e Smalltalk como linguagens de base.

Mas um outro ponto que chama bastante atenção é o modelo de segurança adotado. Cada programa roda em uma máquina virtual separada, com um conjunto de permissões delimitadas.  Um exemplo é o fato que um programa de visualização de imagens não pode acessar a internet, impedindo que arquivos maliciosos executem ações de rede que possam trazer problemas. Além disso, programas maliciosos tem acesso limitado ao hardware. Assim, o funcionamento padrão do sistema impede  qualquer ataque de vírus ou spyware. Um software somente pode requisitar um conjunto diferente de permissões durante a instalação caso ele seja certificado por uma autoridade certificada, ou modificado manualmente pelo usuário. Tendo em vista que o público alvo são crianças que tem pouco ou nenhum conhecimento sobre computação, isto dificilmente vai acontecer.

Autocrítica

Foto de uma palestra do pessoal da Motorola…

Será que o tema era “interface de celular” ?

Pra quem ainda não entendeu, a Nokia é finlandesa….

multi-user electro-acoustic music instrument with a tabletop tangible user interface

Seguindo a linha do post anterior, queria falar sobre uma outra forma de interatividade que, de certa forma, é parecida com a anterior por usar alguns conceitos semelhantes mas na prática se mostra totalmente inovadora e diferente.

O Reactable, definido pelos próprios autores como uma “multi-user electro-acoustic music instrument with a tabletop tangible user interface” pode ser visto como um sintetizador modular (se olharmos para ele como um instrumento musical) ou até mesmo como uma linguagem de programação de controle de fluxo (se olharmos ele como um representante fiel de sistemas de controle movidos a sinais elétricos que dão origem a muito daquilo que conhecemos de robótica e computação).

Vou postar aqui alguns vídeos que na minha opinião valem serem assistidos para entender completamente o conceito sendo explorado. O sistema é simples. Basicamente uma câmera posicionada abaixo de uma mesa que captura os objetos que são colocados em cima da mesa e os movimentos que são feitos nos objetos. O resto dos efeitos e controles é feito por luzes e por um sistema computacional de controle. Depois de mostrar os vídeos tento comentar alguma coisa em cima do que pode ser visto neles, mas, como vocês vão ver, nada melhor mesmo que os vídeos para explicar o Reactable.

You need to a flashplayer enabled browser to view this YouTube video

You need to a flashplayer enabled browser to view this YouTube video

You need to a flashplayer enabled browser to view this YouTube video

Como se pode ver pelos vídeos, o Reactable é, antes de mais nada, um sintetizador musical, um instrumento musical. E desta forma, como se pode ver por uma simples busca na internet, já foi usado em algumas festas na Europra. Imagina um que um bom DJ não conseguiria fazer com uma interface destas? Além do show musical, certamente seria um show a parte as imagens da manipulação do Reactable.

Por outro lado, como também é possível ver pelos vídeos, o Reactable nada mais do que reproduz um sistema de controle, no qual você pode compor suas ondas geradoras, retroalimentações, filtros de freqüência e etc. de forma a montar um sistema de controle. E, neste sentido, ele não deixa de ser uma linguagem de programação. Só que com uma interface muito mais intuitiva e com uma capacidade de mostrar o resultado da atuação do sistema de uma forma que realmente dá para visualizar a resposta antes de, por exemplo, ter que implementar um sistema de controle com as mesmas características para controlar um braço mecânico de um robô de uma linha de montagem.

Olhando por outro lado, também consigo ver nele uma tremenda e inovadora ferramenta educacional. Há se meus professores de física, sistemas de controle e telecomunicações tivessem acesso e disposição para usar uma ferramenta dessas durante as aulas! Certamente os conteúdos que, em geral são complexos e difíceis de entender por envolverem o espaço de freqüências, convoluções e etc. poderiam ser muito melhor compreendidos pelos alunos em um tempo bem menor!

E, ainda assim, se esquecermos tudo isso e voltarmos ao tópico sobre o qual estávamos falando originalmente, o Reactable nos mostra, de forma contundente, uma nova forma de interação homem-máquina que dá maior poder de expressão e de visualização de resultados para as pessoas que estão interagindo com o computador. É claro que vocês podem estar pensando como uma coisa como o Reactable poderia se aplicar na vida de uma pessoa comum, que usa o computador para navegar na internet e ler e-mails. Neste sentido, talvez a utilidade do multi-touch screen seja mais fácil de se enxergar. Mas não podemos de forma alguma descartar coisas como o Reactable, já que conceitos como este podem tornar possível, por exemplo, a apresentação de um objeto físico real (que não seja um quadradinho de plástico com um símbolo desenhado como nos exemplos) a um computador. Vocês já imaginaram nas possibilidades que podem se abrir se um computador conseguir a efetivamente reconhecer objetos e/ou pessoas que são apresentados a eles?

Multi-touch screen

Depois de um tempo meio sumido, estou finalmente de volta! Espero não ficar tanto tempo assim longe do blog novamente.

Para voltar, queria falar sobre um assunto sobre o qual já postei no nosso blog (ainda no endereço antigo, no ano passado) mas que voltou à minha cabeça recentemente. Vou recolocar o vídeo aqui para quem não viu ou não lembra.

[youtube=http://www.youtube.com/v/nfVnwdda9Pw]

Neste e nos próximos posts eu queria falar um pouco sobre as novas formas de interação com computadores que estão surgindo nos últimos tempos.

Quando postei este vídeo o ano passado, a única coisa que me vinha à cabeça na época era: “que massa!”. Como bom apreciador de tecnologia eu achei o vídeo o máximo e a tecnologia mostrada algo inovador e capaz de quebrar paradigmas!

No entanto, mais recentemente, por força do meu trabalho atual, venho também analisando outros aspectos relacionados à interatividade homem-máquina e me veio a cabeça que são coisas deste tipo que vão nos fazer sair do marasmo criado há mais de 20 anos quando a última grande inovação tecnologica na interação entre homens e computadores saiu do forno: o mouse.

É claro que depois disso muitas outras coisas foram inventadas, mas nada ainda é realmente tão efetivo como um teclado e um mouse. E acho que isso em breve poderá mudar.

Finalmente estamos vendo se tornarem realidade novas formas de interação com os computadores que dão gosto de ver e de usar. Comandos por voz (que funcionam de verdade) e coisas como este multi-touch screen realmente me fazem ver uma luz no fim do túnel. Mais pra frente tentarei falar um pouco de vídeo-games explorando alguns dos novos assuntos com os quais ando tendo contato ultimamente e não poderei deixar de falar também do novo controle do Wii, o novo vídeo-game da Nintendo. Ele simplesmente aposta em um conceito revolucionário de interatividade que vem se provando um sucesso de mercado. Mas poderemos falar mais sobre isto em um próximo post.

Por hora, só queria deixar aqui minha percepção que as coisas estão mudando (e desta vez parece que para melhor!).

Já era hora!

Pendrive Linux

Rodar Linux sem necessidade de instalar o sistema no HD do computador não é novidade: os CDs “bootaveis” são uma mão na roda e funcionam muito bem. O problema é que arquivos tinham que ser gravados no HD.

O pendrive da Mandriva resolve isso. O produto é um pendrive de 2GB com a disto linux Mandriva instalado, que permite o boot direto à partir do dispositivo, e tem um sistema de arquivos formatado que permite gravar os dados.

Linutop

Achei o site do Linutop no RSS do Top Links do de.licio.us. O site é bem simples e não dá muitas informações, mas a idéia parece ser bem interessante: um terminal low-cost e low-power rodando linux e um conjunto reduzido de aplicações para o dia a dia (Firefox, abiword, Gaim, Totem Media player e PDF reader). Se alguém tiver mais informações, postem comentários.

Do site:

“Linutop is a Linux-based diskless computer. It offers a completely silent, low-power operation in an extremely small package. “

Ainda do site, configuração:

“Specifications:
- AMD Geode
- 512 Mb ROM
- 256 Mb RAM
- 4x USB 2.0 ports
- audio in & out
- 100baseT Ethernet
- VGA output
- Size: 9.3 x 2.7 x 15 cm
- Weight: 280 gr
Expandability:
- USB2 , Wifi connection, Flat pannel “

Next Page »