Que a Força esteja com você, Bill !!!

Não podíamos deixar de destacar este grande marco no mundo da Tecnologia. O dia em que Bill Gates se “aposentou”. Depois de 33 anos a frente da Microsoft, é hora do rei deixar o trono.

Mas um rei nunca perde a majestade. Gates pra mim, e tenho que certeza pra muitos, continua sendo um dos gênios do empreendedorismo. Com sua filosofia de integração de pessoas e tecnologia ele levantou um império.

Steve Ballmer (amigo de faculdade de Bill Gates) assumirá a presidência enquanto Gates ainda fica a frente do Conselho Administrativo.

Bom, o que essa mudança estratégica impacta no mundo dos negócios e afeta as nossa vidas como pobres mortais? Aparentemente nada, mas muda muita coisa. É uma nova Era pra Microsoft, que está mudando um pouco de foco nos últimos tempos. Olhando com novos olhos pra internet. Essa “saída” do Bill Gates, ao meu ver,  não vai influenciar em nada negativamente no que a Microsoft tem pela frente.

Bom, é isso aí, só queria deixar algumas palavras sobre esse fato ocorrido. Estou deixando para vocês algumas frases marcantes de Bill Gates atualmente:

Relatividade
“É possível, nunca se sabe, que o universo exista apenas na minha cabeça. Se for assim, ele com certeza está indo bem para mim, devo admitir”
Entrevista à revista Time, janeiro de 1997

Spam
“Como quase todo mundo que usa e-mail, eu recebo muito spam todos os dias. A maior parte deles oferece ajuda para me tirar das dívidas ou ficar rico rapidamente. Seria engraçado se não fosse tão irritante”
Comunicado oficial, 2003

Xbox e o mercado de games
“Conseguimos uma boa credibilidade, e mostramos que estamos falando sério sobre esse negócio”
Entrevista à BBC, janeiro de 2004

Blu-ray
“Este é o último formato de mídia física que vai existir”
Entrevista ao The Daily Princetonian, outubro de 2005

Mais rico do mundo
“Eu preferia não ser. Não há nada de positivo nisso”
Palestra, maio de 2006

Internet x TV
“Algumas coisas, como as eleições e as Olimpíadas, realmente mostram como a TV é horrível. É preciso esperar o cara falar sobre o que nos interessa ou se perde o evento e se tem vontade de voltar para vê-lo”
Fórum Econômico Mundial, janeiro de 2007

Filhos no computador
“Meu filho perguntou se ele teria limites como esse por toda sua vida. Eu respondi: ‘não, quando você sair de casa poderá definir seu próprio tempo de uso do computador”
Reunião de negócios, fevereiro de 2007

Políticas de imigração
“Eu acredito que, no limite do possível, e existem óbvias limitações políticas, a liberdade de migração é positiva”
Entrevista coletiva, março de 2007

Yahoo
“Podemos arcar com os grandes investimentos em engenharia e marketing que precisam ser feitos. E o faremos com ou sem o Yahoo”
Entrevista à Reuters, fevereiro de 2008

Windows 7
“Estou muito animado com tudo que o programa fará, de muitas maneiras. Isso acontecerá em algum momento do ano que vem, teremos uma nova versão”
Entrevista coletiva, abril de 2008

Potência mundial
“O fato é que os Estados Unidos têm cinco por cento da população mundial. Em algum momento, teremos 5 por cento de influência mundial, e não há problemas nisso”
Encontro do Banco de Desenvolvimento Interamericano, abril de 2008

Concorrência
“A maioria dos nossos concorrentes era muito mal administrada. Eles não entenderam como unir pessoas com experiências em negócios e em engenharia. Eles também não sabiam como se deslocar pelo mundo”
Entrevista à BBC, junho de 2008

Abraços e até a próxima…!!! Que a força esteja com vocês

Nem LCD, nem Plasma.. OLED!

Olá pessoal..

Como prometi, estou me esforçando para não deixá-los desatualizados.. desatualizado, desatualizado, desatualizado.. parece um mosquito chato voando ao lado do meu ouvido. Eu tento espantar a desatualização e não consigo! Foi assim que me senti quando fiquei sabendo do OLED. Como assim eu não sabia disso?! Ele está sendo desenvolvido desde o ano passado e só fiquei sabendo há alguns meses? Meu Deus.. fui pego pela exclusão digital! kkk choradeira a parte vejam só que interessante.

OLEDOLED é sigla de Organic Light-Emitting Diode, o que significa Diodo Orgânico Emissor de luz traduzindo ao pé da letra. Mas o que isso realmente significa? São células de diodo impressas na tela que são polarizadas de acordo com a imagem. Muito básico né? Bom.. não vou colocar a especificação técnica e manual de construção, mas com certeza você encontrará algo bem detalhado na internet. O que eu quero realmente destacar são as características dessa tecnologia que tem um futuro promissor.

Bora lá ?!?

O OLED emite luz própria, ou seja, as luzes auxiliares não existirão mais (backlight e sidelight) e com isso os dispositivos serão mais finos, leves e econômicos. Mas como assim não tem luz de fundo? Para quem já teve aula de Fundamentos de Sistemas Multimídia sabe muito bem a importância da luz. A cor, e consequentemente a imagem, não existem sem luz. No caso do LCD, um líquido é polarizado e com a ajuda da luz auxiliar podemos ver o resultado gerado por essa polarização, caso contrário, veríamos uma tela praticamente preta.

Ultra fino

Uma outra característica interessante é que quando o diodo não é polarizado, ele volta ao seu estado original e produz a cor preta, ou seja, nos “pixels” que forem preto, não serão gastos nem um watt para deixá-lo preto. Dando ainda um maior contraste que pode chegar a 1.000.000:1 (detalhe que meu monitor de LCD é de 2.000:1). Além disso tudo, os visores OLED tem um baixo tempo de resposta e uma maior visibilidade angular, que pode chegar a 180º.

Então vamos analisar o potencial dessa tecnologia. Com o OLED, os fabricantes de eletrônicos poderão desenvolver produtos mais atrativos e bem inovadores. Como por exemplo a Samsung produziu uma TV de 31″ de apenas 4.3mm.. sim 4.3mm! A Sony, principal concorrente anunciou na CES 2008, um modelo de 11″ com 3mm que causou até tumulto e no evento Display 2008 mostrou um display de apenas 0.2mm.. sem comentários.

Então levando em consideração a espessura, vocês se perguntaram.. será que dobra?! A resposta é sim. Display dobrável já foi desenvolvido e pode ser vistos nesse vídeo abaixo.

Pronto! Agora que você já levantou da cadeira e voltou a realidade pense nas possibilidades. Imaginem um dispositivo que seja similar a uma folha A4. Fina como ela e dobrável como ela. Ele detêm uma memória suficiente para armazenar a imagem atual e assim se manter até que o usuário a atualize. Diria que virou um jornal ou revista digital. Mas digital mesmo! Quase diria adeus a mídia impressa se não soubesse da lentidão envolvida na mudança de paradigmas.

Dúvidas, sugestões e críticas são bem vindas.

Abraços

Raio-X Firefox 3.0

Para incendiar ainda mais a briga entre a Google e Microsoft, a empresa fundada por Bill Gates anuncia a nova versão do seu navegador Internet Explorer 8ª versão. Em contrapartida a Mozilla Foundation apoiada pela Google (que deve receber uma pequena fortuna em um contrato que se estende até novembro próximo), lança a terceira versão do imbatível Firefox . O foco das duas empresas em seus respectivos projetos está voltado para a compatibilidade e segurança (nessas o Firefox aplica uma goleada). O time do IE8 garante estar trabalhando aliado ao The Web Standards Project para melhorar este quesito em relação ao antecessor IE7.

Bom, tendo em vista o lançamento oficial do Firefox, vou fazer um raio-x da nova versão.

Primeiramente, a média 9.000 downloads por minuto no seu primeiro dia de vida é de impressionar a todos. Creio que a estatística de 95% dos usuários de internet terem o Internet Explorer como navegador principal já deve estar bem desatualizada. Com uma campanha de marketing intitulada de Download Day, na qual aos usuários se inscreviam para receber um alerta quando a versão final estivesse disponível. O objetivo é o de atingir a conquista de software mais baixado em um único dia. Foram mais de 8 milhões de downloads no dia do lançamento. O Livro do recordes (Guinnes Book) está avaliando a tentativa de recorde mundial. Os números já estão na casa dos 12 milhões.

Inovações:

A Mozilla aposta ainda mais na performance, segurança e sustentabilidade, sem perder a interatividade, adotando a filosofia de um browser cada vez mais pessoal através de seus complementos (add-ons) , que consiste em “mini-aplicativos” que funcionam dentro do próprio navegador.

A interface, substituída pela Gecko 1.9, melhora obviamente o visual, mais agradável e moderno, além do desempenho e estabilidade, suportando ainda mais os avanços da internet atualmente (Web 2.0). Além disso ele já suporta JavaScript 1.8, que agiliza os processo de execução de vídeos, Flash e muito mais. O interessante dessa interface foram os botões de navegação que seguem um padrão de acordo com o sistema operacional.


Uma inovação (chamei de inovação, pois nesta versão isso ficou mais evidente) que vinha sendo experimentada pela Mozilla e eu particularmente achei sensacional, foi a do Campo de Endereço Inteligente. Convenhamos que é meio inconveniente ficar memorizando aquelas URL’s gigantescas de determinados sites. De acordo com seu histórico de navegação, favoritos, marcadores e associações o termo digitado se adapta e completa com sites relacionados, trazendo uma forma de visualização fácil do site a ser navegado.

Mais algumas novidades:

- Proteção contra sites que tentam instalar vírus, trojans, spywares e outros tipos de malware.

- Integração com programas anti-vírus quando se faz download de arquivos executáveis (com extensão .exe).



São uma infinidade de mudanças que você pode encontrar com mais detalhes no site do Firefox.

Testes:

Não ficou devendo em nada na parte de performance no Windows Vista. Com alguns complementos instalados e navegando em alguns sites de conteúdo relativamente pesado, chegou a 150.000k de uso da memória virtual. O ponto fraco ficou apenas com a incompatibilidade com os programas de segurança de determinados bancos.

Agora é esperar pelo IE8. Não faremos nenhuma comparação dos dois browsers, sendo injusto comparar uma versão beta com uma final. Esta guerra promete e quem ganha somos nós internautas.

Abraços…

What about iPhone 3G !?

Logo da AppleBom.. antes de mais nada eu gostaria de pedir desculpas a todos os visitantes pelo conteúdo desatualizado. Todos nós (autores) estamos passando por um período complicado na faculdade (final de semestre, provas, trabalhos, monografias e etc) mas iremos nos esforçar para que isso não aconteça novamente.

E o que aconteceu no mundo digital enquanto estivemos fora? Hum.. muita coisa! Fica até difícil falar todas novidades, mas escolhi a que me deixa mais inquieto, o tal do iPhone 3G. Assim como a maioria, eu fiquei fascinado pelo lançamento da primeira versão do iPhone. Mas não fui muito atraído pelo preço já que aqui no Brasil é vendido por mais ou menos R$ 1.300,00, valor este muito elevado para um celular. Tudo bem que ele é multi-touch, lindo e tem um tela gigante com ícones coloridos.. mas ainda sim ficou reservado a poucos. E afinal de contas, ele não estava tão atualizado assim no quesito tecnologia. O Nokia N95 ao meu ver é um aparelho mais avançado, porém, não mais bonito!

A Apple cansada disso resolveu dar uma atualizada no celular. No dia 09 de junho no WWDC 2008, data óbvia prevista pelos gurus da internet, Steve Jobs anunciou o tão esperado iPhone 3G. Em um keynote de apenas 50 minutos, Steve apresentou as novas funcionalidades do celular. Sendo então duas grandes mudanças: 3G e GPS.

Ambas tecnologias não são novidades no mundo digital, principalmente para os proprietários do Nokia N95 ou Sony Ericsson W910i, mas o legal é o que essas tecnologias trazem consigo.

Vamos ao 3G primeiro: os usuários podem fazer downloads mais rápidos do que com as tecnologias anteriores e fazer video-conferências. Para fazer vídeo-conferência, deve-se ter uma câmera na frente do celular para que você possa se filmar enquanto visualiza a outra pessoa. Detalhe que eu procurei minuciosamente nas fotos, a câmera frontal e não encontrei. Será que é uma limitação do iPhone ou da minha visão?

Quanto ao GPS confesso que achei muito inteligente. Normalmente, os dispositivos que dispõe de GPS apenas se conectam a um satélite que devolve sua latitude, longitude e altitude e seu dispositivo exibe sua posição em um mapa, o que já é bastante útil. Mas agora o sistema GPS do iPhone pode se conectar a uma rede Wi-Fi, triagular sua posição e conseguir informações referentes a sua localização ou itinierário. Por exemplo, ao traçar um trajeto no GPS, a minha operadora pode me informar quais são as farmácias no caminho ou ainda, desviar o minha rota para fugir de um engarrafamento ou acidente. Quase um mashup entre Google Maps e iPhone GPS né kkkk.

O iPhone será vendido com os volume de memória 8GB e 16GB. Ai entra minha dúvida.. pq não lançar um de 80GB igual o iPod?! Eu ainda me pergunto se preciso de um celular com 16GB, mas se tivesse 80GB eu com certeza ocuparia todo o espaço. Uma outra funcionalidade que não sofreu melhoria foi a câmera do aparelho. Ela ainda continua com a resolução de apenas 2.0 Megapixels, mesmo com todas as especulações e ainda tendo concorrentes com 6.0 Megapixels. Outras funcionalidades básicas que esperamos em um celular desse porte não foram implementadas, sendo: MMS, suporte a Java, Flash e comandos de voz. A ausência dessas funcionalidades deixaram a desejar. Quase penso ser ridículo você ter um celular que navega na internet, em alta velocidade e não suporte a essas funcionalidades.

Mas a grande inovação, no meu ponto de vista, não é tecnológica. A Apple anunciou que venderá os dois modelos do aparelho por $199 (8GB) e $299 (16GB), ou seja, uma queda de $200 (iPhone de 4GB). A empresa mudou sua estratégia de pedir uma parcela da conta dos usuários e agora pediu as empresas de telefonia que subsidiem o aparelho. Com essa jogada, o iPhone será vendido em 70 países e provavelmente alcancará a marca de 10 milhões de aparelhos vendidos até o final do ano. Porém, nós usuários estamos nas mãos das empresas que irão vender o aparelho com planos de fidelidade de 2 anos e franquia de R$120,00 e se der mole sua alma também entra no acordo.

Mas se depender de mim, eu ajudarei a alcançar essa meta do Steve Jobs pois já estou atrás do meu, mas ficarei com minha alma! rs.. Esse broadcast que a Apple tá anunciando nos leva a uma outra questão. A Vivo e Claro anunciaram que irão lançar iPhone 3G até o final do ano. Quando li a notícia, duas dúvidas surgiram. Qual o preço e a Apple vendendo celular desbloqueado? O iPhone ficou marcado pela exclusividade com a AT&T e venderá aparelhos desbloqueados? Bom, com certeza essa liberdade terá um preço.. e espero que não muito salgado.

Então depois disso tudo, vamos analisar. Será que vale a pena mesmo pagar caro por um celular que é bonito e ordinário? Bom.. não sou mulher e nem mesmo mulher de malandro, mas estou disposto a pagar pra ver.

A Apple está lançando também um sistema chamado MobileMe que irá concorrer com o atual ActiveSync da Microsoft, mas vou deixar para um outro post, pois seu chefe já deve estar de nariz torcido pra você que já voltou do almoço e não começou a trabalhar até agora! kkk

Só para despedir, marquem a folhinha que está atrás da porta do banheiro lá.. dia 11 de julho começarão as vendas. Quem chega primeiro bebe água fresca?! Será? rs..

Até mais.

Evoluções no conceito de linguagem de programação

Já estamos acostumados a encarar a evolução na tecnologia da informática como algo rápido e constante, sempre inovando. Entretanto, muitas das tecnologias que estão sendo usadas nos dias de hoje evoluem lentamente. As linguagens de programação é um bom exemplo.

A primeira gama de linguagens de programação de alto nível foi criada na passagem da década de 50 para década de 60, e foi fortemente identificada pelas linguagens como o Formula Translation ( FORTRAN) e COBOL, que por sinal ainda sobrevivem apesar de estarem na sua premeditada extinção.

A segunda gama de linguagens de programação de alto nível surgiu mais ou menos 10 anos depois, na passagem das décadas de 60 para a década de 70 sob uma forte influência das nomeadas técnicas de programação estruturadas. Essa tecnologia foi encabeçada pelas linguagens C (no qual as primeiras versões do Windows foram construídas) e o Pascal, que ainda estão presentes nos dias de hoje, mas estão diminuindo cada vez mais.

Em meados da década de 80 pegou uma febre e uma grande evolução na tecnologia, se tratando de linguagens de programação, foi chamada de linguagem de quarta geração, mas ficou realmente conhecida como Programação Orientada a Objetos, representadas por linguagens que nasceram desse conceito como a linguagem Smalltalk, e representadas também pelas evoluções das linguagens C e Pascal, as linguagens C++ e Delphi respectivamente. Já na década de 90 e atingindo a virada do milênio, nasceram novas tecnologias que hoje dominam o mercado mundial de desenvolvimento, nesse tempo nasceram linguagens como Java, C#.NET, Visual Basic.NET, que são linguagens Orientadas a Objetos.

Houve evoluções, mas nada radicalmente, ou seja, depois da idéia de Programação Orientada a Objetos em meados da década de 80, não houve uma revolução conceitual em programação como foi nos anos anteriores.

A empresa Microsoft está criando, ou pelo menos tentando, introduzir no mercado um novo conceito de linguagens de alto nível. A primeira considerável diferença é o que a Microsoft intitulou de LINQ (Language Integrated Query), que atende a biblioteca da Framework .NET 3.5 da Microsoft, e é suportada às linguagens C#.NET e Visual Basic.NET. Essa nova tecnologia reconceitua toda a arquitetura de acesso e consulta a dados da sua aplicação. E não parou por aí, a Microsoft recentemente anunciou suporte no pacote comercial do Microsoft Visual Studio 2008 à linguagem F#.NET (lê-se Fsharpdotnet), que possui características únicas de script de programação. Essa linguagem certamente não irá substituir as linguagens que temos hoje, mas acredito que ela será de grande importância no mundo dos jogos e programação científica, por ser uma linguagem funcional. Também existe o estudo da Microsoft em dar maiores e melhores ferramentas para a programação multi-core, ou seja, programação para computadores com múltiplos processadores.

 

Você pode fazer o download das duas tecnologias novas da Microsoft, que por enquanto estão em fazes de testes.

 

Sobre o LINQ, você pode pesquisar no site:

http://msdn2.microsoft.com/netframework/aa904594.aspx

 

Sobre o F#.NET, você pode conhecer no site:

http://research.microsoft.com/fsharp/fsharp.aspx

 

Muito obrigado pela visita, aguardem por novos posts.

Estimativa de uma realidade paralela

Java, uma tecnologia criada há 12 anos é nada mais que uma linguagem de promoção se baseando em uma arquitetura orientada a objetos, e o Java Development Kit (JDK) 1.0 só veio ao mundo no início de 1996, mas a tecnologia Java só tomou proporções importantes no mercado a partir de 1997 com o JDK 1.1.x, e ainda assim, só passaria a ser referenciado depois de exibir um desempenho e funcionalidades que competiam com outras tecnologias, como o C++ a partir do ano de 2000 com a versão Java 2 (JDK 1.2).

Contudo, o mercado mundial de desenvolvimento de software virou de pernas para o ar, e não foi só na adoção do Java mas ao mesmo tempo explodia o que hoje a humanidade fascina diante dela, a Internet. Caminhando por fora, nascia a idéia de software livre e openSource. Então nos perguntamos, o que será de novo daqui a uns 8 anos? Tentarei mostrar um pouco das novas tendências e chegar em um conclusão.

Primeiro, nenhuma nova linguagem não é inventada por nada, como se fosse um brinquedo. Existem, de fato, duas importantes forças que incentivam a criação e modificação dessas linguagens: a Evolução da Tecnologia e a Pressão das demandas de mercado. Mas isso é o que acontece nos dias de hoje, nos próximos anos, acredito veemente o incremento de mais algumas importantes forças.

Dentre as possíveis forças que irão entrar no mercado, uma delas são as adequações aos novos hardwares, sendo mais específico, a Escalabilidade por paralelismo. Podemos definir esta escalabilidade pelos padrões modernos de construção de hardware, basta imaginarmos que há alguns anos não tinhamos processamento em paralelo, e mais, hoje em dia está virando febre mundial os processadores com 2 ou 4 núcleos, é o caso da Intel lançando para o mercado comercial de computadores domésticos o Intel Core-Duo, o Intel Core 2 Duo (ambos com dois núcleos de processamento), e o Intel Quad-Core (este com 4 núcleos de processamento).

Mas, o que isso tem a ver com a programação? É simples, toda e qualquer programação, ou melhor dizendo, todo programa executa uma série de trechos de códigos no processador, e, por exemplo: quando você está executando uma música, abrindo fotos, navegando na internet, na verdade o processador do seu computador está trabalhando a uma velocidade tão alta, mas tão alta que você tem a sensação de que tudo acontece ao mesmo tempo, mas na prática isso não acontece (no caso dos processadores com apenas um núcleo). O processador pega um “pouco de código aqui e executa, logo em seguida pega mais um pedacinho de código ali e executa”, e assim vai a uma velocidade monstruosa. A esses pequenos trechos de códigos que são executados pelo processador damos o nome de thread.

Então, quando se trata de um processador com dois núcleos, ou com mais núcleos - existe um chip Vega2 da empresa Azul Systems, que possui 48 núcleos, sinceramente, eu nunca vi um. Voltando ao assunto, quando se trata de um processador mult-core neste caso sim, podemos ter threads sendo executadas ao mesmíssimo tempo, com certeza você está se perguntando, mas isso não seria uma coisa boa? Sim, com certeza isso é um avanço e uma coisa ótima, entretanto, a programação desse código deve ser também de fato adequada ao tipo do processamento, basta pensarmos e analisarmos, uma thread pode estar executando uma função e uma outra thread do mesmo programa também está sendo processada, o maior problema é que alguns dados que fazem a segunda thread funcionar corretamente dependem da resposta da primeira thread. Fazendo um analogia, é como se um atacante de futebol (segunda thread) precisasse da bola (dados resultantes da primeira thread) para fazer o gol, mas a bola está com o zagueiro (primeira thread) do outro lado do campo, e aí? O que fazer? Tem jeito?

Citei o Java no início do post, pela tecnologia estar mais adequada ao controle das threads (não quero dizer que o .net ou qualquer outra linguagem não seja capaz disso, apenas digo que o Java, atualmente está mais preparado ao controle de threads e o seus específicos detalhes), enfim, o Java através de sua tecnologia de controle de thread, pode funcionar e trabalhar em processamento paralelo através de palavras reservadas e métodos da biblioteca disponível no JDK. No caso do Java, usando synchronized, como palavra reservada ao declarar os métodos e objetos que serão trabalhados por uma thread, e os métodos da biblioteca do Java wait/notify, o programador pode construir um aplicativo capaz de rodar em diferentes processadores sem que haja grandes riscos ao código. Mas devo dizer que o nível de conhecimento nos dias de hoje é praticamente insuficiente, até mesmo para os “monges do Java”. Escrever um código com 200 linhas de códigos é algo tranquilo, mas escrever um sistema com milhares e milhares de linhas de código (esse número varia bem, podendo a chegar na casa dos milhões) e, com esse emaranhado de código o programador sincronizar a sua lógica com os vários processadores do computador é algo tecnicamente imporvável. Aí está o X da questão. Mesmo com a maravilhosa tecnologia que temos hoje, mesmo que a princípio ela dê o suporte necessário para acompanhar a evolução da tecnologia de hardware, mesmo que tenhamos programadores feras do mercado estudando com o material que temos hoje, acredito que não teremos uma evolução realmente marcante em um prazo de tempo curto, o que eu acredito é que:

Com a demanda de mercado crescendo em números altíssimos, com a nova gama de tecnologia de hardware e com o devido investimento, podemos enfim elaborar ou melhorar uma nova linguagem, de fácil manuseio nos novos hardwares. Hoje, linguagens como Java, .NET, Ruby e etc estão em constante evolução e inovação, então creio que essas linguagens se adaptarão aos novos hardwares, e que elas serão as nossas novas tecnologias daqui a alguns anos, talvez com outro nome, talvez apenas com uma nova versão. E quem ganha com isso somos nós, usuários. Toda evolução tecnológica só nasce para trazer benefícios.

Obrigado, e aguardem por novos posts

Google Reformula Busca por Imagens

Não é novidade para ninguém que a Google é um dos maiores ícones da Internet. A empresa virou referência em busca e teve uma aceitação tão grande que seu nome até foi incluído em alguns dicionários com o significado de busca. Diante desse fenômeno e tendo em vista o tema do nosso blog, não é surpresa de que a cada dez posts, pelo menos cinco tratarmos a Google como foco principal.

Como sempre pioneira nas inovações e facilidades para web, a empresa anunciou no seminário World Wide Web que aconteceu em Beijin que está pesquisando e desenvolvendo um protótipo de busca precisa de imagens. Os palestrantes da Google, Yushi Jing e Shumeet Baluja, disponibilizaram um documento muito interessate que vale a pena ser lido. Atualmente, a busca de imagens ainda é uma busca textual, ou seja, a busca se limita à descrição feita sobre a imagem e/ou ao nome do arquivo. Esse tipo de busca é limitado e falho, uma vez que a descrição da imagem pode na verdade não ser relevante ao real conteúdo da imagem.

Imaginem quantas referências podem ser feitas a uma foto de um pôr-do-sol, por exemplo. Sol, pôr-do-sol, estrela, vermelho, laranja e horizonte são só algumas das possíveis características. Ou seja, se tivermos uma imagem de um carro e salvá-la como pordosol.jpg o Google iria encontrá-la quando pesquisar por pôr-do-sol. Para testar essa falha, basta procurar por foto1 na busca de imagens do Google que você verá que o resultado trouxe fotos com esse nome apenas, independente de seu conteúdo.

O exemplo citado em um artigo do TechCrunch é bem interessante. A busca atual funciona da mesma forma que um daltônico ou um cego buscaria uma figura da cor verde. Se a descrição da figura estiver incorreta ou incompleta, provavelmente eles não encontrariam a figura desejada.

Agora, quando o sistema analisar o conteúdo da imagem e identificar os padrões que a compõe, será possível então buscar pelo real significado da imagem e não pela descrição textual. É como se adicionássemos mais uma dimensão no processamento de imagens. Imagine se tirarmos uma foto da Angelina Jolie em uma praia com um pôr-do-sol no fundo. Essa foto ao ser analisada por um sistema de inteligência artificial, deveria adicionar referências como: atriz, Angelina Jolie, pôr-do-sol, praia, areia, sol, estrela (para ambos os sentidos) e por ai vai. Então quando algum usuário pesquisar por Angelina Jolie iria encontrar essa foto independente do nome do arquivo ou das características cadastradas por um humano.

Esse sistema é complexo e para quem entende um pouco de I.A sabe que é preciso treinar o sistema. Por isso, foi criado um jogo chamado Google Image Labeler, em que o visitante colabora inserindo etiquetas (tags) manualmente em imagens que são exibidas. Assim, o sistema consegue treinar e validar os padrões encontrados com os que nós humanos encontramos.

O impacto dessa tecnologia no mundo de TI é muito interessante. Acredito que esse protótipo irá motivar pesquisas de reconhecimento facial, arquivos multimídia em geral e etc.

Existe uma tecnologia da Microsoft que analisa fotos digitais e constrói um ambiente tridimensional baseado nos padrões encontrados nas imagens. Várias fotos de um mesmo objeto porém em perspectivas diferentes formam a visão completa do mesmo, facilitando a criação do ambiente. Mas o difícil mesmo está na identificação de padrões, que abusa de algoritmos para identificar as quinas, portas, rostos, árvores e etc.

Se houvesse uma parceria entre essas duas empresas (que eu julgo impossível), as duas tecnologias evoluiriam mais rápidas e quem sabe, outras novas surgiriam. Sistemas de segurança poderiam se beneficiar largamente dessa tecnologia. Imagine uma câmera de um aeroporto que irá identificar todos os passageiros a medida que se locomovem no saguão e então identificar possíveis terroristas (síndrome dos norte-americanos). Este é um exemplo dentre muitos outros que irão surgir com o reconhecimento de imagens.

Para quem quiser maiores detalhes do protótipo da Microsoft, acesse o site do PhotoSynth no Microsoft Live Labs.

Abraços!!!

Google Developer Day 2008 Brasil

Google Developer Day 2008 BrasilRealmente São Paulo é a capital comercial do Brasil. A Google anunciou o Google Developer Day 2008 e ele acontecerá em Sampa.. de novo! Aos paulistas que estão lendo este post, não fiquem chateados com meu comentário pois só estou dando uma ênfase que a maioria dos eventos acontecem em São Paulo. O motivo é claro e até entendo, só não gosto! rs.. O evento irá acontecer no dia 27 de junho no WTC e contará com palestrantes de peso no mundo de TI. Só pra você ter uma idéia, os famosos evangelizadores do Google Chris Schalk e Dick Wall estarão lá e irão falar sobre os padrões do OpenSocial e o FrameWork Android, o tão comentado S.O Mobile Open Source da Google.

A idéia principal do evento, como em todos os anteriores, é divulgar as novidades e técnicas de desenvolvimento para os desenvolvedores que usam as tecnologias fornecidas pelo Google, obviamente. Terão codelabs e seminários para disseminar as API´s, OpenSocial, Google Maps, Android, Gears e o Google Toolkit.

Para quem se interessar segue os dados do evento abaixo:

Data: 27 de junho de 2008
Horário: 08h00 às 18h00
Local: World Trade Center São Paulo
Av. das Nações Unidas, 12.551 - Brooklin Novo - CEP. 04578-903 São Paulo-SP

Agenda:

  • Inscrição (08:00 - 09:00)
  • Linha de ação (09:00 - 10:00)
  • Sessão (10:00 - 10:50)
  • Sessão (11:00 - 11:50)
  • Almoço (12:00 - 12:50)
  • Sessão (13:00 - 13:50)
  • Sessão (14:00 - 14:50)
  • Sessão (15:00 - 15:50)
  • Sessão (16:00 - 16:50)
  • Bate-papo com Palestrante (17:00 - 18:00)

Vocês encontraram informações mais detalhadas sobre o evento no site do evento.

Até mais e volte sempre.

Inteligência de Sistemas

Salve salve internautas, mais uma vez estou aqui postando um tema bacana pra vocês. Pra começar, no mundo em que estamos hoje, sabemos que grande parte da evolução dele se deve aos avanços da tecnologia, estamos em um mundo literalmente integrado. Ainda que existam argumentos de diplomacia de países, divisas e guerrilhas, é evidente que estamos integrados, afinal, você não saberia dos acontecimentos do mundo se não houvesse um meio de comunicação que que o divulgue, a televisão por exemplo. Beleza, já sabemos que de certa forma o mundo é integrado graças a tecnologia, mas como isso é possível?

A resposta é bem complexa, mas serei breve em minhas explanações. A idéia de inteligência de sistemas nasceu há muitos e muitos anos, antes mesmo da energia elétrica, para ser mais exato na Grécia antiga, quando soldados precisavam se comunicar à longas distâncias em um prazo de tempo curtíssimo, e o que os gregos fizeram? Criaram o primeiro padrão de comunicação, mais ou menos assim: a uma grande distância, dois solados se postavam com uma tocha de fogo em cada mão, o primeiro levanta uma tocha, o segundo (que está a centenas de metros dali) levanta duas vezes a tocha confirmando o primeiro contato, e logo em seguida o primeiro comunica por uma série de códigos movimentando as suas tochas, e finalmente fazendo um sinal que mostra o fim da sua mensagem, e novamente o segundo confirma o entendimento da mensagem.

Se você entrar no contexto de 1000 a.C. isso com certeza é um avanço memorável de uma tecnologia da época, e o mais interessante, essa técnica grega é a base de criação da Internet, sabia? Mas a arquitetura da Internet, e os seus protocolos que as fazem funcionar não é o foco deste post, entretanto foi uma inteligência de muitos anos atrás que fazem os sistemas de hoje. Um outro exemplo muito interessante são os jogos. A inteligência artificial, aquela inteligência que foi programada em um sistema, de jogos é muito interessante, tomamos um exemplo um jogo famoso do console Sony PlayStation, o jogo de futebol Winning Eleven.

A versão do jogo aqui importa se falarmos de detalhes da inteligência, mas desde a primeira versão poderá ser levada como parâmetro da nossa discussão. Imagine você criar, por meio de um computador, 22 jogadores em um plano de 3 dimensões (Gráficos 3D), estaria tudo bem quando você controla um jogador, e dispara a correr atrás da bola, chutar e fazer os comandos de um jogo de futebol… mas… e os outros 21 jogadores? Quem os controla? Como faço pra cada jogador correr atrás da bola? Mas se todos correrem atrás da bola, ficaria tudo embolado? Mas a bola corre o campo muito rápido, seria no mínimo esquisito ver vários jogadores tentando chegar na bola e na verdade nem chegar perto dela. A resposta para essa gama de pergunta é simples: a inteligência artificial implantada em sistenas.

Literalmente é inteligência, falando em uma linguagem mais técnica, são milhões de cálculos por segundo que o console consegue processar, e assim traçando as milhares de jogados possíveis, escolhendo sempre a melhor jogada disponível, e a partir desse conceito podemos definir o nível do adversário, se você quer um adversário mais fácil, no caso a máquina, basta que o processamento escolha outras jogadas, ou que o tempo de resposta seja mais lento.

É muito interessante aprofundar no nível de inteligência que podemos ter em sistemas. Não só em jogos, mas em sistemas de internet, em sistemas desktops, em arquitetura tecnológica de cartões, javacards, GSMs, messengers, SMSs, enfim, a inteligência de sistemas são os verdadeiros “culpados” pela maravilhas tecnólogicas que hoje podemos desfrutar.

Criar um sistema inteligente requer muito mais do que inteligência humana, requer estudo, requer recursos, requer companheirismo e trabalho em equipe, só assim podemos construir algo realmente integrado e inteligente. Um detalhe que vale a pena lembrar é que quanto mais inteligente um sistema puder ser mais fácil será o manuseio por parte do usuário, afinal o sistema é suficientemente inteligente pra operar sozinho parte das operações que o usuário teria de fazer por si mesmo.

Espero que vocês tenham gostado desse assunto, é um assunto interessante e que vale a pena conferir algum material sobre ele, estar por dentro do que acontece no mundo da tecnologia é ser inteligente.

Obrigado pela visita.
João Paulo Cheab

CSS Reset: seus problemas acabaram

Sempre que desenvolvemos um site na web nos deparamos com problemas de layout e posicionamento de div´s.

Que desenvolvedor ou designer nunca passou por uma situação dessas? Você desenvolve um site para web com um layout impecável e os com controles funcionando perfeitamente, mas o desafio é fazer esse conjunto funcionar perfeitamente na gama de browsers que temos hoje no mundo da TI. Essa é uma questão que mata de raiva qualquer profissional. O IE não funciona isso ou o Firefox não aparece aquilo.

Há algum tempo foi desenvolvida uma técnica chamada CSS Reset que consiste em literalmente ”resetar” as TAGS de propriedades padrão dos browsers (margin, padding e align por exemplo). O que acontece é que esse valores pré-definidos se fazem necessários quando o usuário abre alguma página sem estilo algum, e o browser ajusta a mesma com esses valores padrão para melhorar a legibilidade. O problema é que cada browser pode usar um valor diferente.

Como funciona:

  • O arquivo reset.css redefine as propriedades padrão dos browsers.
  • O arquivo generic.css re-constrói e redefine como o HTML é renderizado pelo browser.
  • O arquivo ie.css contém as propriedades específicas do IE, para que o CSS Reset funcione.
  • E por último o arquivo print.css torna legível o HTML quando impresso.

Agora só implementá-los na sua página HTML.

Essa técnica de CSS Reset é chamada de Tripoli e foi desenvolvido pela MONC. Lá é fornecido um HTML de exemplo utilizando a técnica. (http://www.monc.se/tripoli/sample.html).

Espero que seja útil para vocês!

Bom feriado e até logo!