O Diabo veste Prada em Portugal

Eu gostaria de dizer que eu curti muito o filme “O Diabo veste Prada”. Primeiro, claro, porque ele discute de forma inteligente a indústria da moda, que eu mesmo gostava de achar que era apenas uma grande fogueira de vaidades (claro que há, mas não se resume a isso), fútil e vã.

Segundo porque Meryl Streep é Meryl Streep e ela ganha prêmios não é à toa. E eu curti muito o papel dela de CEO durona, o que aliás, nos faz pensar “porque uma CEO durona mulher vira O DIABO e o CEO homem, nos filmes, pode até ser durão, mas tende a ficar com mais ar de competente que de malvado?” (ou é impressão minha?)

Que diabos isso tem a ver com inovação e tecnologia?

Ó, gajo, pois tem tudo a ver. Começa hoje a segunda edição do Minas Trend Preview, e a moda movimenta uma grande indústria que movimenta a roda da inovação. Então moda nos interessa :-) .

Tente pensar em moda nem tanto no extremo das piadinhas da moça que quer pintar o teto de bege nem no extremo quase esotérico das tecnologias de tecidos que se auto-reparam ou qualquer outro milagre graças às nanotecnologias.

Pense em algo mais palpável, por exemplo, como as roupas dos nadadores olímpicos têm influenciado cada vez mais o desempenho dos atletas dentro d’água. A piscina olímpica faz o mesmo papel da fórmula 1: é onde a speedo gasta milhões em pesquisa e onde os limites são testados, para em 10 ou 20 anos, uma adaptação comercialmente viável daquela inovação chegar às prateleiras na forma, digamos, do seu terno de microfibra que não precisa de ferro de passar, algo que você vai agradecer aos céus quando tirar seu terno da mala num quarto de hotel.

Eu falei gajo alguns parágrafos atrás? É porque em Portugal, aconteceu o 13o Fórum Têxteis do Futuro, promovido pela CITEVE, o centro tecnológico das indústrias têxtil e de vestuário de Portugal, este ano cobrindo os focos Habitat, Automóvel, Náutica e Saúde. Envolve inovações como paredes que absorvem odores e humidade, cortinas com células fotovoltaicas (que geram energia), supercabos em nanotubos para uso náutico (opa, não era tão esotérico assim!), e mais uma série de idéias interessantes.

Navegando pelo site do CITEVE, você pode dar uma olhada nos eventos de anos anteriores, que também falam de certificação biológica de têxteis, roupas inteligentes para reabilitação em meio aquático, e vários outros, muitas vezes esbarrando em biotecnologias e ecologia.

Tudo isto intimamente relacionado com o Departamento de Engenharia Têxtil da Universidade do Minho, que se dedica a toda forma de pesquisa tecnológica que envolva a indústria têxtil, da parte químico-biológica até o vestuário e gestão de negócios.

Tem espaço para a computação mais “tradicional” também? Sempre tem. Eu lembro, muitos anos atrás, de ter lido sobre aplicações básicas de computação para otimização de corte na indústria. É um problema clássico de otimização e com resultados palpáveis para a indústria (otimização sempre traz resultados palpáveis dada uma escala adequada).

Afinal, qualquer economia de 5% de tecido porque um computador planejou melhor o corte das peças no tecido, seja em termos de aproveitamento do tecido, seja em termos do tempo dispendido no corte, vira lucro, via competitividade.

E aí? Deu vontade de ir no Minas Trend Preview? Dispa-se dos seus preconceitos e veja a indústria da moda com outros olhos ;-)

Biotecnologia, Inovação, Otimização Industrial 0 Comentários

50 posts

Ontem completamos 50 posts no blog. Diários.

Queremos saber mais sobre quem lê, porque o que o google analytics nos diz, não nos conta detalhes, apenas mostra as pegadas de quem andou por aqui e tudo o que vemos são marcas de solas de sapatos, resquícios de terra, tamanhos e formatos, mas pouco sobre os donos dos pés…

Se alguém quiser aproveitar este post para deixar comentários, sugestões, críticas, ou até mesmo deixar um abraço, tenho certeza que todos aqui vão apreciar. :-D

Uncategorized 4 Comentários

Fusão de Dados e Longevidade

Certos fenômenos que muito interessam atualmente a Biologia têm causas difíceis de serem identificadas, e muito debate e hipóteses a respeito das mesmas. Um desses fenômenos é o aumento de longevidade associado com restrição calórica: é um fato bem conhecido há muitos anos que animais de várias espécies recebendo uma dieta mais pobre em calorias têm tendência a viver muito mais que outros com dieta normal. Dessa forma, há um grande interesse da Biologia, da Medicina e também (como não poderia deixar de ser) da indústria farmacêutica na causa ou causas desse fenômeno. Uma vez que as mesmas sejam identificadas, no melhor dos mundos talvez um “santo graal” já imaginado há um bom tempo seja alcançado: a produção de uma droga simulando os efeitos da restrição calórica - permitindo a uma pessoa ter uma dieta normal e ainda assim viver bem além da expectativa de vida atual. Seria algo que lembraria distantemente o lendário “elixir da vida eterna” - embora “elixir da vida longa” seja um nome mais apropriado, ainda que menos bombástico, nesse caso. :)

Uma das pesquisas realizada pelo Vetta Labs em parceria com a Biomind, foi aceita recentemente para publicação no renomado periódico científico Rejuvenation Research - talvez o mais importante da atualidade em matéria de pesquisa de longevidade - que de fato se ocupa do problema das causas dos efeitos de extensão de vida obtidos pela restrição calórica. Os resultados biológicos que conseguimos com essa pesquisa foram bastante interessantes, mas acho melhor deixar nosso biológo, o Maurício, escrever a respeito dessa parte e da restrição calórica em geral. Afinal, sou apenas um pobre computeiro que só tem uma vaga idéia do que são coisas como a “hipótese da hormesis”. :) Assim, vou me concentrar na nossa abordagem computacional para o estudo das bases de dados relacionadas com restrição calórica, abordagem essa que, modéstia à parte, foi bastante inovadora.

Conforme já mencionei, atualmente existem várias hipóteses concorrentes para explicar qual é o mecanismo central por trás da longevidade por restrição calórica. Ao mesmo tempo, são feitos vários experimentos com enfoques diferentes para se medir ou observar um ou outro aspecto da restrição calórica, e talvez testar um ou outro aspecto das várias teorias para a restrição calórica. Essa abordagem reducionista, porém, ao mesmo tempo que é uma força pode ser uma fraqueza: ao focar em detalhes do problema da restrição calórica, pode ficar bem difícil enxergar a “visão panorâmica” contendo os princípios universais que dão a solução definitiva para esse problema.

Assim, nossa abordagem foi um tanto quanto na contramão do que é feito - em vez de estudarmos uma ou outra base de dados isolada referente a um experimento preocupado com um ou outro aspecto da restrição calórica, integramos bases de dados produzidas por diversos experimentos diferentes - todos eles relacionados a restrição calórica - para daí tirarmos nossas conclusões.

Mais especificamente, lidamos com bases de dados de expressão genética em camundongos. Um mapa de expressão gênica, como o nome sugere, mostra o nível de atividade de um grande número de genes em um dado indivíduo. No caso das bases de dados utilizadas, alguns indivíduos haviam sido submetidos a restrição calórica, enquanto outros era os “controles”, recebendo uma dieta normal. Assim, explicando de um jeito “numérico”, cada base de dados dessas pode ser imaginada como uma planilha (ou matriz) onde as linhas estão associadas aos genes (tipicamente, milhares deles), as colunas estão associadas aos indivíduos (em geral poucos - frequentemente bases de dados de expressão gênica têm algo entre apenas dez e vinte indivíduos), e os números nas células da matriz dizem o quanto o gene X da linha estava expresso no indivíduo Y da coluna. Cada coluna tem ainda um rótulo indicando se o indivíduo correspondente é caso (sofreu restrição calórica) ou controle. As matrizes (bases de dados) que utilizamos foram feita a partir de condições experimentais diferentes, mas no fundo todas comparavam indivíduos com restrição calórica com controles: por exemplo as linhagens de camudongos usadas em uma dada matriz eram diferentes das usadas nas outras; em uma das matrizes, os indivíduos com restrição calórica incluíam camundongos velhos e jovens, enquanto que nas outras a idade era uma variável controlada; e assim por diante.

De novo explicando numericamente, o que nós fizemos foi fundir essas matrizes, e analisar a meta-base de dados daí resultante. Essa “fusão de dados” é bem trivial no caso das colunas - basta simplesmente incorporar todas as colunas de indivíduos de todas as matrizes na mesma matriz fundida. No caso das linhas, porém - isto é, na hora de fundir os genes vindos de base de dados diferentes - fazer a fusão de uma maneira que faça sentido biológica e numericamente está longe de ser elementar.

Uma das reações que a maioria das pessoas tem ao se deparar com um problema desses é pensar em escalar ou normalizar a expressão de um gene em cada base de dados individual, e então fundir as versões normalizadas, e não as contendo os números originais. Dando um exemplo disso usando um tipo de normalização bem simples, imagine que a expressão do gene X varie de 100 a 1000 unidades entre os indivíduos da matriz A, enquanto que nos indivíduos da matriz B varia de 8 a 80. Fazendo uma normalização linear, podemos então dizer que 100 unidades no dataset A mapeia para 0.0 em sua versão normalizada, e 1000 unidades mapeiam para 1.0, e escalamos todos os outros valores para o intervalo [0,1]. Fazendo a mesma coisa com a base de dados B (usando 8 como zero e 80 como 1.0 desta vez), no final temos duas matrizes onde todos os valores de expressão genética caem no intervalo [0,1], e assim a fusão das duas bases parece ser - numericamente ao menos - compatível.

O problema, com alguns já devem ter visto pelos próprios números propositalmente discrepantes usados no exemplo, é que biologicamente isso faz muito pouco sentido. No exemplo a expressão do gene X no dataset A pode ser mais de uma ordem de magnitude maior que no dataset B. Assim, embora a “miraculosa” transformação numérica passe todos os valores para a mesma faixa, o que nós estamos fazendo na prática é usar um gene X que se comporta de forma completamente diferente em dois datasets que tratam do mesmo fenômeno, a restrição calórica. Malabarismos numéricos à parte, isso parece mais um indicador de que o gene X *não é* la muito relacionado com a restrição calórica.

Porém, fomos rigorosos (alguns diriam teimosos :) e decidimos dar a essa abordagem o benefício da dúvida. O interessante na abordagem de aprendizagem de máquina usada pela Biomind e Vetta Labs é que podemos validar essas transformações de dados simplesmente gerando modelos de classificação em cima dos dados transformados, e então observando a qualidade dos resultados de classificação assim obtidos. Em termos bem simples, e restringindo a explicação ao presente caso, um modelo de classificação (ou simplesmente modelo) é uma função lógico-matemática, “descoberta” automaticamente por um método de aprendizagem de máquina, capaz de dizer se um indivíduo é controle ou com restrição calórica, com base em sua expressão gênica. No caso desta pesquisa, o método de aprendizagem usado foi Programação Genética - “evolução” de programas inspirada em princípios Darwinianos. Os programas em si eram bem limitados, na verdade expressões lógicas do tipo “se o gene X tem expressão maior que 0.5 e o gene Y tem expressão menor que 0.2, então o indivíduo tem restrição calórica, senão é controle”, para dar um exemplo simples. Pois bem, aplicando esse processo em bases de dados fundidas por meio de normalização (como exemplicado acima), os modelos alcançaram resultados bem ruins - os modelos acertavam o diagnóstico restrição calórica/controle apenas em 70% dos indivíduos.

O resultado bem melhor, próximo dos 91% de acerto, que efetivamente analisamos, foi obtido com uma abordagem bem diferente, que ao mesmo tempo faz sentido numérica e biologicamente. Nesta abordagem, em vez de forçarmos todos os genes a se conformarem em faixas de valores compatíveis, propositalmente deixamos de usar todos os genes, selecionando apenas aqueles genes cujas faixas de variação de nível de expressão são parecidas nas duas (ou mais) bases de dados sendo integradas. Criamos uma simples medida de “sobreposição” (baseada na média e desvio padrão expressões de um gene em um dataset e em outro) para escolher apenas aqueles genes com faixas de valores mais sobrepostas nas duas ou mais bases de dados em fusão. (Exemplo numérico: suponha um gene X com média de expressão 100 e desvio padrão 10 na matriz A, e média 105 e desvio 15 na matriz B. Isso daria uma sobreposição de cerca de 0.67 para X em A e B, e o gene passaria no limiar de 0.5 usado para a seleção, indo para a matriz fundida final.) Biologicamente falando, se esses genes naturalmente se comportam de forma numérica parecida em bases de dados de restrição calórica diferentes, as chances parecem ser de que os mesmos são intrinsecamente relacionados ao problema da restrição calórica…

Fundimos três bases de dados diferentes - e mais tarde quatro - usando esse método. Na fusão tripla diminuímos o conjunto inicial de mais de oito mil genes para pouco mais de 500; na fusão quádrupla, conseguimos uma lista de genes muito parecida (apenas ligeiramente menor) com a da fusão tripla, indicando que o nosso método realmente estava convergindo para um conjunto de genes particularmente estáveis, robustos, no que diz respeito ao seu comportamento em estudos de restrição calórica.

As matrizes fundidas produzidas por essa abordagem passaram por toda a “linha de montagem” de análises do OpenBiomind, o software aberto para análises de dados de bioinformática desenvolvido pelo Vetta Labs e Biomind. Assim, pudemos gerar modelos de classificação (que conforme já dito acertavam o diagnóstico em mais de 90% dos casos), analisar esses modelos em busca dos genes mais importantes para a classificação, e finalmente montar redes de múltiplas relações entre os genes - mostrando importância de genes, co-ocorrência de genes nos mesmos modelos, co-expressão dos genes nos mesmos indivíduos, etc - que permitiram fechar o cerco em torno dos mecanismos da restrição calórica. Mas aqui, como eu já disse, acho que o Maurício é a pessoa indicada para falar com mais propriedade do que nosso estudo concluiu a respeito dessas redes de relações.

Este estudo de fato representa no campo de aplicação particular da Bioinformática uma lição “a união faz a força” que é recorrente em estudos de mineração de dados: às vezes, integrando múltiplas fontes de dados heterogêneas e indiretamente relacionadas (mesmo que essa integração não seja nem óbvia e nem simples), seus resultados são bem melhores, e lançam muito mais luz sobre o problema em questão, que visões “míopes” focando em um ou outro aspecto do mesmo…

Biotecnologia, Data Mining, Inovação, Inteligência Artificial 4 Comentários

Durma-se com um barulho destes

Este é um post sobre uma inovação de muitos anos atrás :-). Ou seja, uma “ivelhação”.

Alguns anos atrás, eu morava num apartamento alugado onde o vizinho de baixo era simplesmente um animal. Um monstrinho de falta-de-educação, impróprio para o convívio com seres humanos. Era barulho todo dia, até umas 2 da matina, gerando reclamações dos 20 moradores do prédio que, pela primeira vez em 50 anos, fizeram um abaixo assinado e enviaram à imobiliária pedindo a saída do Mogli, o vizinho-lobo.

Se meu vizinho fosse um helicóptero, seria bem mais fácil, porque em 1934, já estava patenteado o primeiro sistema de cancelamento ativo de ruídos, e em 1950, já existia um usado para cabines de helicópteros e aviões, que embora bem mais barulhentos, ainda assim são mais educados que meu fatídico ex-vizinho.

O cancelamento ativo de ruídos consiste em gerar anti-ondas sonoras que cancelam as ondas sonoras indesejáveis. O princípio é simples. Se a sua onda sonora consiste em um pico e um vale, uma outra onda sonora de igual intensidade, sincronizada, de um vale e um pico cancela a primeira.

O problema aqui, obviamente, é não só sincronizar direitinho essas ondas, mas a sua capacidade de prever qual vai ser a próxima onda, porque se você errar, uma onda vai somar à outra e o resultado pode ser um barulho ainda pior que o que você quer cancelar.

Felizmente, com algumas técnicas matemáticas como os filtros LMS, essas maravilhas inventadas na década de 60, é possível, usando hardware especializado em processamento digital de sinais (DSP), cancelar ruídos periódicos e repetitivos com uma boa eficiência.

Claro que as coisas começaram a ficar economicamente viáveis só de uns 10 anos prá cá.

Essa tecnologia é usada em um monte de lugares, sem que muita gente saiba. Em britadeiras, turbinas de aviões, motores de carros e caminhões e até fones de ouvido que nem são tão caros assim. Um amigo meu comprou um destes fones muitos anos atrás por uma centena de dólares e a sensação é que você está ouvindo sua música embaixo d’água, porque microfones externos ajudam a cancelar o som externo.

Já uma inovação tecnológica que eduque as pessoas, esta sim é difícil de criar.

Inovação, Processamento de Sinais 0 Comentários

Automação residencial - 3/3

Concluindo o post sobre automação residencial, vou falar um pouco sobre os demais subsistemas que citei no artigo original.

Controle de iluminação

Tradicionalmenete a maioria dos projetos de automação residencial começam por esse sistema. Você pode entendê-lo como uma parte do sistema de controle de eletricidade mas resolvi deixá-lo separado para acrescentar algumas coisinhas legais que se pode fazer aqui:

  • O uso de RFID permite um controle muito acurado dos locais da casa que precisam estar iluminados em um dado instante de tempo. Se cada morador usa, por exemplo, uma pulseira com um tag RFID o sistema pode usar antenas estrategicamente colocadas para ir acendendo ou apagando lâmpadas conforme necessário. Isso proporciona uma economia de energia muito grande principalmente se você integrar o HVAC ao mesmo mecanismo de controle).
  • Painéis centralizadores para monitorar/atuar em todo o sistema de iluminação também podem ser bem úteis. Por exemplo, na hora de dormir, o usuário pode ir ao painel e ligar/desligar as luzes conforme seu desejo ao invés de ir fazendo uma peregrinação pela casa e áreas externas para verificar se tudo está como ele quer.
  • Integrado ao sistema de monitoramento patrimonial, o sistema de iluminação pode ser uma ferramenta bastante eficaz na defesa da casa. Seja iluminando automaticamente áreas onde foram detectadas violação, seja fazendo simulação de presença no imóvel quando todos estão fora.

Detecção e combate a incêndios

Há no mercado uma infinidade de sensores capazes de detectar diversos tipos de situação de perigo (fumaça, emissão de gases, temperatura elevada, chamas etc). Uma integração desses sensores com um bom sistema de alarmes pode ser a diferença entre um simples incômodo e uma catástrofe. Além dos tradicionais alarmes visuais e auditivos, o sistema pode ser programado para entrar em contado com brigadas de incêndio ou com o corpo de bombeiros. Ou soluções intermediárias como enviar SMS, e-mail ou ligações telefônicas com mensagens previamente gravadas.

Os atuadores também são figurinhas repetidas no mercado. Sistemas de esguichos de água ou pó químico podem ser facilmente integrados e monitorados se estiverem em perfeita integração com os demais sistemas da casa (controle de fluidos, vigilância, elétrico etc).

Sistemas de vigilância e segurança patrimonial

Esse é talvez o sistema mais popular hoje quando se fala em automação residencial. Muita gente já tem um sistema de vigilância sofisticado, integrado à rede da casa e à internet que permite monitoramento remoto via WEB. Na verdade não há o que inventar aqui. Tais sistemas podem simplesmente ser integrados aos demais sistemas da casa. Talvez o maior ganho seja integrar os mecanismos de alarme e interface com o mundo externo usados pelos outros sistemas (e-mail, SMS, chamadas gravadas etc).

Outra coisa interessante é integrar o sistema de vigilância aos canais de distribuição de vídeo da casa. Isso permite tratar as imagens do sistema como qualquer outro tipo de vídeo, chaveando o aparelho para onde será transmidido, permitindo o arquivamento digital, permitindo a distribuição para mais de um ponto da casa etc.

Controle de acesso

Os mecanismos de controle de acesso evoluiram muito nos últimos anos. Há no mercado soluções de todas as faixas de preço e com propriedades variadas. O mais simples continua sendo o tradicional interfone (com ou sem vídeo). Bastante seguro, principalmente se for integrado a múltiplas câmeras e sistema de iluminação adequado. A principal desvantagem é a usabilidade: você precisa esperar que alguém de dentro da casa atenda, te identifique e abra a porta. Na verdade essa espera pode não ser apenas um problema de desconforto: em muitos casos essa espera pode ser uma falha de segurança, por expor o usuário desnecessariamente a uma possível abordagem por um bandido exatamente na hora em que ele quer entrar na casa (tenho uma amiga que foi assaltada exatamente nessas circunstâncias).

Para evitar essa espera há alternativas que vão desde soluções mais baratas (cartões com código de barra, ópticos ou magnéticos, smart cards, bótons etc) até soluções mais dispendiosas como reconhecimento de digital, íris, retina e face.

Os mecanismos baseados em “tokens” (cartoes, bótons etc) tem a desvantagem de serem fraudáveis com mais facilidade. Já os sistemas de biometria não podem ser fraudados facilmente. Desses, o mais eficaz em termos de taxa de acerto (e também o mais caro) é o reconhecimento de íris e retina. O reconhecimento de digital, embora sua utilização esteja em franca expansão no mercado, é muito suscetível a erro. Condições de oleosidade adversa nos seus dedos podem fazer com que o sistema te deixe dormir do lado de fora se você estiver “naquele dia”. Mas o sistema mais interessante na minha opinião é o baseado em reconhecimento de face. Ele tem várias vantagens:

  • Não ser intrusivo: você não precisa pôr seu olho ou seu dedo em um aparelho. Simplesmente ande em direção à porta normalmente e ele faz o trabalho de pegar sua imagem na câmera previamente colocada para isso e te identificar.
  • O sistema possibilita um esquema de auditoria muito bom. Você tem as fotos dos rostos de todas as pessoas que fizeram uso do acesso controlado. Isso pode ser usado de diversas maneiras úteis, por exemplo, voce pode receber em seu celular a foto de qualquer pessoa que esteja entrando em sua casa.
  • O sistema tem um efeito inibidor mais eficaz sobre pessoas mal intencionadas. Sabendo que seu rosto está sendo filmado, um engraçadinho se sentirá menos disposto a tentar burlar/danificar a porta, portão ou outro dispositivo de bloqueio do acesso.

O Labs desenvolveu uma solução completa de controle de acesso via reconhecimento de face. Eu trabalhei diretamente no projeto e talvez seja por isso que tenha minha preferência biased para essa opção ;-).

Serviços de telefonia

Integrar sua rede doméstica com um sistema de telefonia digital traz uma série de benefícios:

  • Extrema facilidade para fazer auditoria nas ligações.
  • Auditoria na qualidade/aferição de uso por parte das operadoras.
  • Maior facilidade de interface com os mecanismos de monitoramento remoto.
  • Maior facilidade com as interfaces de alarme.
  • Chaveamento apropriado para os diversos cômodos da casa.
  • Facilidade para realização de tele-conferências

Distribuição de áudio e vídeo

Muita gente hoje tem os chamados “media centers”. Computadores ou vídeo-games com capacidade de armazenamento e decodificação de aúdio e vídeo (em diversos formatos) integrados a canais de distribuição para os diversos cômodos da casa. Se bem implementado, esse sistema permite um grande conforto na distribuição de áudio e vídeo pela casa. A grande dificuldade está em fazer com que a interface seja simples, intuitiva e eficaz, não para um nerd analista de sistemas, mas para usuários leigos (sua mãe ou sua irmã que faz direito e ODEIA computadores ;-)).

Um pouco mais do mesmo

Além das menções explícitas às integrações entre os sistemas comentados acima há inúmeras outras maneiras de se integrá-los de forma a extrair o máximo de usabilidade do seu sistema como um todo. Como eu disse anteriormente, pensar nessa integração é um dos grandes desafios da domótica. É através da sinergia entre os sistemas que o usuário vai sentir os maiores e mais relevantes benefícios de um sistema de automação residencial. Se você estiver pensando em projetar um sistema desses (ou contratar alguém para projetar), não cometa o erro comum de implementar um sistema de cada vez, se preocupando com a integração na medida que cada sistema é implementado. Projete pelo caminho inverso. Pense em uma arquitetura que vá comportar tudo que o mercado tem disponível e vá implementando sistema a sistema depois. E não se esqueça de me convidar para um churrasco em sua casa quando tudo estiver “no ar” :-).

Automação, Inteligência Artificial, Reconhecimento de Faces 1 Comentário

Visão das empresas brasileiras

Li uma notícia no site da Época Negócios sobre uma empresa de tecnologia chamada SAS (www.sas.com) localizada nos Estados Unidos, no estado da Carolina do Norte. A notícia apresenta a empresa como um excelente local para trabalhar. Ela está instalada não em grandes prédios de áreas centrais, mas em um enorme campus cercado de área verde e que possui piscina semi-olímpica, campos de golfe, futebol, beisebol, dentre outros. A jornada de trabalho dos funcionários é de 35 horas semanais, a menor da área de tecnologia. Além disso, eles possuem regalias como restaurantes, serviços de cabelereiro, tratamento de pele, facilidades para as mães, etc. A SAS está desde 1998 na lista das melhores empresas para se trabalhar. Diz a reportagem que os executivos do Google buscaram lá as idéias para a criação dos
seus fomosos escritórios.

Porém esse post não é sobre o ambiente de trabalho da empresa, mas sim sobre o que ela faz e os seus resultados. A SAS desenvolve software de business inteligence, que na minha opinião, de uma maneira simplória, é a aplicação de técnicas de mineração de dados e aprendizado de máquinas em bases de dados empresarias. O objetivo do software pode ser o mais variado, como por exemplo a categorização de pessoas com potencial de inadimplência (adotado por empresas de cartão de crédito) e a avaliação do risco assumido ao se vender um seguro (adotado por seguradoras).

O que mais me impressionou na notícia é que a SAS é a maior empresa privada de software do mundo, possuindo mais de 40 mil clientes. Ela faturou 2.1 bilhões de dólares em 2007. Fiquei impressionado não com a SAS, mas com a visão dos seus milhares de clientes que adotam softwares de business inteligence para buscar melhores resultados. Me lembro de uma aula do mini MBA que tivemos aqui na Vetta e o André disse que, no Brasil, muitos contratos de software não são fechados pois as empresas possuem um orçamento limitado e não consideram o software como prioridade. Isso considerando software em geral. Imagine então uma aplicação de business inteligence…….

Bom, a idéia que eu queria deixar nesse post é que acho importante uma mudança na mentalidade das empresas brasileiras. Muitas delas precisam perceber que software é investimento que trará resultados, e não despesa. Acho que falta uma visão mais inovadora das empresas. Posso estar errado, mas é o que percebo…..

Data Mining, Inovação 0 Comentários

Automação residencial - 2/3

Continuando o post sobre automação residencial, vou falar um pouco sobre cada subsistema que citei no artigo original.

Sistemas de abastecimento e controle de fluidos e detritos

O básico é o controle e distribuição de água potável e GLP. Sensores, válvulas e bombas permitem monitorar e manipular os dois subsistemas de maneira bem eficaz. Tarefas como as seguintes podem ser facilmente implementadas:

  • Controlar o nível de água na(s) caixa(s) d’água(s), emitindo alarmes em caso de pouca água e/ou acionando bombas ligadas a reservatório(s) subterrâneos.
  • Chavear entre o uso de água “da rua” e água “da caixa” em áreas externas da casa.
  • Controlar a quantidade de GLP disponível (no caso de GLP envasado) e emitir alarme em caso de necessidade e/ou fazer o pedido. diretamente junto à distribuidora.
  • Controle do nível de água quente.
  • Auditoria de consumo de água e GLP.
  • Temporização de sistemas de irrigação (hortas, por exemplo).
  • Chaveamento do uso de água potável ou pluvial coletada em caixas especiais.
  • Alarmes em caso de vazamentos de GLP e/ou água, inclusive com identificação do local onde foi detectado o vazamento.

Além dessas, o sistema pode ser responsável por monitorar/controlar os mecanismos de tratamento de esgoto normalmente presentes na casa (caixas de diluição, caixas de gordura etc). Monitorar fossas assépticas é uma feature particularmente útil que pode evitar grandes transtornos. Residências mais sofisticadas podem ainda ter sistemas de reciclagem de esgoto e detritos orgânicos captando o metano gerado por esse tipo de material e armazenando para uso futuro em sistemas de aquecimento. Outro sistema pouco usual no Brasil mas que é bastante difundido na Europa e nos EUA é o sistema central de aspiração de pó. Basicamente é uma bomba de vácuo potente ligada a uma rede de encanamento com saída em todos os cômodos da casa que se deseja aspirar. A pessoa responsável pela limpeza só precisa conectar uma mangueira à saída em um cômodo e ligar o sistema para que o pó seja sugado para o coletor central.

Sistemas de gerenciamento de energia elétrica

Esses sistemas já são bastante populares em grandes consumidores de energia elétrica mas poucas residências os possuem. Basicamente permitem:

  • Auditoria do consumo de energia.
  • Economia no consumo de energia através do controle adequado de iluminação (acender e apagar determinadas lâmpadas em sistuações específicas).
  • Monitoramento e alarme em caso de sobrecarga de utilização de circuitos, evitando desarmes desnecessários e potencialmente até mesmo incêndios.
  • Proteção eletrônica dos circuitos contra variações de tensão e corrente e contra sobrecargas devido a queda de raios.
  • Chaveamento para sistemas de reserva/emergência. Eventualmente geradores a diesel ou mesmo circuitos de iluminação de emergência ligados a baterias recarregáveis.

Sistemas de aquecimento, ventilação e ar-condicionado

Esse é um típico sistema para o qual se encontra no mercado equipamentos com interface padronizada e bastante amigável. Conhecidos no mercado como sistemas HVAC (Heating, Ventilation and Air Conditioning), são responsáveis pela climatização dos ambientes. O mais tradicional são os aparelhos de ar-condicionado tipo “split”, com o compressor/condensador separado do ventilador. Versões com aquecedores são também bastante comuns mas o aquecimento pode ser delegado a outros tipos de dispositivos (serpentinas de água ou vapor quente em paredes, chão ou espostas, como é bastante comum nos EUA). No segundo caso, a integração com os sistemas de aquecimento de água (elétrico ou a gás) é essencial.

A cara “high tech” vem quando esses sistemas são integrados a persianas para controle de luminosidade e ventilação natural. Em regiões muito frias, por exemplo, o controle da ventilação natural é essencial para um controle eficaz (em termos de qualidade e em termos de consumo de energia) de temperatura. Tais persianas vêm com atuadores na forma de pequenos motores silenciosos que abrem ou fecham placas de metal com o objetivo de vedar/deixar passar luz e vento

Redes de computadores

Acho até que eu poderia “pular” esse item. :-) Mas vale a pena ressaltar algumas coisas:

  • Conectividade: a rede tem de estar disponivel 24/7 em qualquer lugar da casa. Roteadores wireless são muito bem vindos mas não se deve contar apenas com eles. Muitos equipamentos vêm com interfaces ethernet padrão, então é importante cabear toda a casa.
  • O acesso à internet tem de ser de boa qualidade (confiabilidade e banda) para que os sistemas de monitoramento remoto e eventuais interfaces diretas com fornecedores (GLP, por exemplo) possam ser confiáveis.
  • Se o usuário quiser monitorar seu sistema remotamente e/ou ter a possibilidade de atuar a distância, é preciso se preocupar com sistemas de segurança digital mais sofisticados. Definitivamente o usuário não ia querer ver as imagens de suas câmeras de segurança sendo distribuidas na internet e menos ainda ter seu banho frustrado por um hacker que conseguiu acesso a seu sistema de controle de temperatura da água e resolveu cortar o fornecimento de água quente para os banheiros :-).
  • Todos os elementos de monitoração e atuação devem estar acessíveis via rede. Isso é essencial para permitir a integração no nível requerido pela domótica.
Automação, Inteligência Artificial 0 Comentários

O Design do Dia-a-dia

The Design of Everyday Things foi escrito pelo Donald Norman, sócio do estudioso sobre usabilidade Jakob Nielsen, na Nielsen Norman Group. Norman é formado em engenharia elétrica pelo MIT, lida com ciência cognitiva e psicologia e já foi vice-presidente do grupo de tecnologia avançada da Apple.

Este livro é uma referência para as pessoas que estudam usabilidade. É uma leitura agradável, e que descreve uma análise psicológica que tenta identificar padrões de utilização e de usabilidade, seja de objetos, seja de sistemas (a ênfase vai para os computadores mais no fim do livro)

Comprei e li porque, não é raro, pessoas da computação se vêem na dura tarefa de planejar a interface dos seus sistemas.

Não sei se vocês já perceberam ultimamente com os últimos avanços em interfaces (reactables, MS Surfaces, telefones celulares, interfaces telepáticas, etc), usabilidade tem se tornado algo cada vez mais relevante na qualidade do software, dos sites, e de outras entidades do (nosso) mundo não tão virtual assim da web.

O livro começa analisando vários casos práticos e apresentando conceitos interessantes (muito especialmente, os capítulos sobre os aspectos psicológicos que levam as pessoas a cometerem erros e sobre como as pessoas lidam com suas memórias), depois categoriza os tipos de erros e fecha juntando os conceitos em vários exemplos ilustrativos.

Em especial, gostei de dois aspectos do livro: ele traz a discussão sobre usabilidade a um nível científico e bem estruturado, ao invés de simplesmente analisar um conjunto solto de análises de casos de uso (ou desuso), e leva o leitor a refletir sobre porque as coisas são como são e como elas poderiam ser melhores. Levando em conta, claro, as restrições econômicas, de adaptabilidade e compatibilidade.

Enquanto você lê o livro, vc se vê perguntando “por que camisas com botões não vêm com uma marca no segundo botão e no segundo buraco para que as pessoas não abotoem errado?” ou “quando vc chama o elevador, o botão de baixo significa ELEVADOR, DESÇA DE ONDE VOCÊ ESTIVER ou ELEVADOR, ME LEVE PARA O ANDAR DE BAIXO?:-D (pelo menos para a segunda pergunta, existe resposta no livro)

Em especial, achei as partes que falavam sobre os aspectos psicológicos as mais úteis para a minha realidade. Úteis para quem precisa ler um bug report e descobrir onde o usuário achou o erro (ou o que ele acha que foi o erro), ou para quem precisa extrair requisitos numa fase inicial de iteração, por exemplo. E note que debugging e requisitos não têm tanto a ver assim com design de usabilidade ;-)

Será que o currículo dos cursos de Ciência da Computação e Engenharia de Software já têm disciplinas sobre isso?

Eu, acostumado com a literatura sobre processo de software, confesso que senti uma diferença muito grande em relação à abordagem sobre a psicologia deste livro do Norman, a favor do Norman. Com certeza, o background híbrido do autor, mezzo computação, mezzo psicologia, colaborarou muito em trazer uma ponte relacionando as duas disciplinas dentro um foco interessante. Um tipo de interdisciplinaridade sempre enriquecedora.

Recomendo.

Desenvolvimento, Usabilidade 0 Comentários

Automação residencial - 1/3

Fiquei devendo um post sobre domótica e computação pervasiva. Eu li um livro sobre o assunto que peca por ser muito superficial mas tem a vantagem de sumarizar amplamente a maioria dos conceitos envolvidos com automação residencial e redes domésticas de uma forma geral. Trata-se de “Residências Inteligentes“, de Caio Augustos Morais Balzoni. Aliás, “Computação Pervasiva” é um neologismo técnico medonho. A expressão se refere a sistemas de computação que “permeiam” o dia-a-dia da pessoa na medida em que ela realiza suas tarefas cotidianas, informando, auxiliando e dando suporte sempre que possível.

Na minha opinião, o grande erro dos textos sobre automação residencial é encarar esse tipo de automação como uma extensão ou um caso particular de automação industrial. Um caso típico de preguiça intelectual, onde os autores se valem de toda a estrutura didática já existente para explicar um conceito e fazem apenas os “ajustes” para explicar outro. Nem mesmo o nome “automação” é adequado para a área, uma vez que o que o pretenso usuário busca com sistemas dessa natureza não é automatizar tarefas repetitivas mas melhorar sua experiência de vida na própria casa. Claro que automatizar tarefas não é nada mal, mas isso é apenas um dos meios possíveis para se alcançar o objetivo de um sistema doméstico dessa natureza: promover o bem-estar das pessoas que vivem na casa.

No contexto de uma casa, há muitas maneiras de se tirar proveito de um equipamento eletrônico ou de um software para melhorar a qualidade de vida de seus habitantes. Alguns exemplos:

  • Sistemas de abastecimento e controle de fluidos e detritos (água, gás, esgoto, aspirador etc)
  • Sistemas de gerenciamento de energia elétrica
  • Sistemas de aquecimento, ventilação e ar-condicionado
  • Redes de computadores
  • Controle de iluminação
  • Detecção e combate a incêndios
  • Sistemas de vigilância e segurança (patrimonial)
  • Controle de acesso
  • Serviços de telefonia
  • Distribuição de áudio e vídeo

Para cada um dos pontos acima existe no mercado uma série de sensores, atuadores e outros tipos de equipamentos (assim como softwares de controle) que podem ajudar a “automatizar” os processos de maneira bem eficaz. Se você procurar um bom texto sobre automação residencial, vai encontrar sugestões sobre como implementar cada um desses sistemas com nomes e especificação de sensores e atuadores, os protocolos que cada um fala, limitações de projeto etc etc etc. Mas o grande desafio para se projetar uma casa inteligente não é isso. O grande desafio é responder a essas duas questões:

  1. Qual é o diferencial, em termos de bem-estar, que cada “feature inteligente” da casa traz para os moradores?
  2. Como eu posso integrar todos os sub-sistemas que dão suporte a essas “features inteligentes” de maneira que a casa possa ser usada por seus moradores de maneira agradável e prazerosa, como se fosse um grande organismo capaz de falar sobre si mesma e de prover serviços diversos para o entretenimento e bem-estar dos moradores?

Se você negligenciar quaisquer dessas duas questões não terá um projeto de “casa inteligente” no sentido estudado pela domótica. Terá, no máximo, uma casa high tech bem espertinha capaz de “impressionar as garotas” mas toda a parafernália eletrônica vai acabar se comportando como um exército que é muito bem equipado mas que não tem uma hierarquia de comando.

Claro que a resposta a essas questões passa por conceitos que nada ou pouco têm a ver com computação, mas um projeto bem estruturado é um bom ponto de partida:

  1. A maioria dos equipamentos de automação industrial têm alguma interface de comunicação (ethernet, serial etc) mas, infelizmente, não existe padronização nos protocolos de monitoração e controle. O primeiro passo, portanto, é criar um protocolo de comunicação padronizado com drivers para cada tipo de equipamento.
  2. Considerando tal protocolo comum é possível trabalhar em uma arquitetura que seja técnica e comercialmente viável e que, principalmente, atenda perfeitamente a todos os requisitos não funcionais de usabilidade, tempo de resposta etc. Claro que os requisitos funcionais são importantes (se voce pede ao sistema para tocar uma música, você não quer que ele entre errado num “if” e acabe te preparando um café espresso) mas nesse tipo de sistema, o verdadeiro desafio são os requisitos não funcionais.
  3. Usabilidade. Sem interfaces fáceis e intuitivas o mais sofisticado dos sistemas de IA seria praticamente inútil no contexto do uso doméstico. Planeje com muito cuidado cada tipo de interface do sistema.
  4. Parta para a ação procurando componentes que tenham interfaces de controle mais simples ou padronizadas. Subsistemas com vários componentes que falam um mesmo protocolo também facilitam o trabalho.

Com relação a cada subsistema, o mercado oferece muita coisa para automação residencial (uma boa parte dos equipamentos são, inclusive, herdados da automação industrial). Nos próximos dois posts eu trarei mais detalhes sobre cada um. É só aguardar para conferir :-)

Automação, Inteligência Artificial 0 Comentários

Aprendizado de máquina nas nuvens

Uma hora, todo mundo sabia que iria acontecer. Os algoritmos de aprendizado de máquina (machine learning) encontrariam um modelo de escalabilidade massiva (hadoop, o mesmo que o yahoo anda namorando para competir com o google) e se encontrariam num interessantíssimo novo projeto cultivado pela Apache Foundation chamado Mahout.

Este belo e promissor projeto pretende implementar cerca de 10 algoritmos descritos neste paper de Stanford incluindo K-Means, SVM, PCA e etc, numa “nuvem” de computadores, permitindo lidar com um alto grau de paralelismo e lidando com dados BEM grandes.

Não tem nada pronto ainda… na verdade o projeto ainda está começando, mas promete.

Para os curiosos interessados em acompanhar este projeto mais de perto, fiquem de olho nos blogs de Sean Owen, Jeff Eastman e no blog do Apache Lucene, mantido pelo Grant Ingersoll.

Curiosidade: Mahout é o cara que pilota um elefante, enquanto Hadoop é o nome do elefantinho de pelúcia do filho do Doug Cutting, criador do projeto. Que por sinal, hoje trabalha no Yahoo. Nada como uma concorrência saudável. ;-)

Data Mining, Inteligência Artificial, Paralelismo 0 Comentários

« Previous Entries