quarta-feira, setembro 29, 2010

O que é Coding Dojo?

dojo
Segundo o http://codingdojo.org/: “Um Coding Dojo é um encontro onde um grupo de programadores se reúne para trabalhar em conjunto em um desafio de programação. Eles estão lá para se divertir, e, através de uma metodologia pragmática, melhorar suas habilidades de programação e de trabalho em grupo.”
O Coding Dojo tem algumas regras básicas:
  • Desenvolvimento guiado por testes: Antes de fazer qualquer implementação, deve ser escrito um teste, que ao passar indica que a implementação está correta.
  • “Passos de bebê”: Se um teste não está passando, você deve escrever o código mais simples possível que faça o teste passar. Quando for escrever um novo teste para o mesmo método, escreva um teste que teste só um pouquinho a mais da funcionalidade desejada.
  • Pair programming: A programação é feita em duplas. Cada dupla tem umpiloto e um co-piloto. Ambos pensam em como passar no teste atual, mas só o piloto digita. Cada par tem por volta de 5 a 10 minutos no seu turno. Quando esse tempo acaba:
    • O piloto volta para a platéia
    • O co-piloto assume o lugar do piloto
    • Um novo co-piloto vem da platéia
  • Todos devem entender: O piloto e o co-piloto devem sempre explicar em voz alta o que estão tentando fazer para solucionar o problema. Qualquer um na platéia pode pedir explicações se não entender algum raciocínio.
  • Três fases: Um Coding Dojo sempre está em alguma dessas 3 fases, dependendo do estado dos testes:
    • Vermelha: Pelo menos um teste não está passando. A dupla da vez deve se concentrar em fazer o teste passar. A platéia não deve falar nessa fase, para não atrapalhar piloto e co-piloto.
    • Verde: Os testes acabaram de ser rodados e todos estão passando. Essa é a hora de quem está na platéia dar sugestões para melhorar o código.
    • Cinza: O código foi modificado de acordo com as sugestões, mas a bateria de testes ainda não foi rodada. Deve-se evitar fazer grandes modificações no código nessa fase.

terça-feira, setembro 21, 2010

Top 5 maneiras de evitar e corrigir o bug onmouseover do Twitter

Hoje milhares se não milhões de usuários do Twitter foram afetados pelo bug Twitter onmousover,  o que criou pop-ups mal-intencionados e também envio de uma atualização de status em seu nome. 


Aqui estão os nossas  5 Dicas sobre como evitar o worm até o Twitter corrige o problema:

1. Não use o site Twitter, especialmente a versão mais velha. No entanto, há relatos de que a nova versão, se você tem isso, não está a produzir os mesmos efeitos.Mas apenas para ser seguro, fique fora Twitter para as próximas horas pelo menos.
2. Use um cliente de desktop ou aplicativo cliente baseado na web como Tweetdeck, Seesmic, DABR ou similar. Embora os tweets afetados ainda não aparecem no seu timeline como um amontoado de palavras, eles não vão produzir o efeito mouseover. Alguns clientes desktop também permitem filtrar palavras como "onmouseover", assim você não precisa ver o fluxo de tweets afetados.
3. Se você não pode usar um cliente de desktop ou aplicativo cliente baseado na web, use o Twitter site móvel http://mobile.twitter.com/, o que parece não ser afetado.

4. Excluir os tweets afetados, através do site móvel. Em seguida, exclua os Retweets. Exclua todos estes tweets para que o worm não se espalhe para seus amigos e seguidores.
5. Se você quiser um extra de segurança, altere sua senha, mas vale a pena ressaltar que este bug não está relacionado com senhas.

Vulnerabilidade no Twitter: Posts com Javascript Onmouseover invadem a web

Hoje me deparei com um monte de posts com instruções javascript usando onmouseover no Twitter.

Esta falha permite que mensagens pop-up e redirecionamentos para sites de terceiros apenas movendo o mouse sobre um link. As mensagens também são propagadas de forma viral explorando a vulnerabilidade, sem o consentimento dos usuários. O usuário dá um retweet do vírus automaticamente.
Milhares de contas de Twitter postaram mensagens explorando a falha. As vítimas incluem Sarah Brown, mulher do ex-primeiro-ministro britânico.



Hacker por acaso: qual a pior cena de invasão de sistemas do cinema?




A ação de hackers no cinema nunca tiveram muito compromisso com a realidade. Acima, cenas de Hackers (1995), Superman 3 (1983) e Parque dos Dinossauros (1993).
Senhas mágicas descobertas na segunda tentativa, invasões de sistema épicas realizadas por crianças superdotadas e interfaces tão interessantes quanto inexplicáveis.Esses são elementos comuns em filmes de Hollywood que insistiram em retratar hackers (ou crackers) e regras da computação sem muito compromisso com a realidade.
Pensando nisso, o site de tecnologia io9 fez uma lista com as 10 cenas “hackers” mais patéticas da história do cinema. Ok, essa lista poderia ter 100 posições, e ainda faltaria lugar para tanto filme. Mas as escolhas do io9 são interessantes evalem a visita.
A lista inclui Parque dos Dinossauros (1993), Superman 3 (1983) e o clássico supremo Hackers (1995), que fez toda criança com pouco conhecimento da vida chegar onde estamos hoje: sentados na frente de um computador o dia inteiro, ainda com a ilusão de um dia conseguir invadir a programação de emissoras de TV ou programar as luzes de um prédio enquanto beijamos Angelina Jolie na piscina.
Tento me lembrar de outros filmes com cenas patéticas (ou heróicas e inspiradoras), mas a memória falha. No máximo, lembro de um filme em que Al Pacino corria contra o tempo para aniquilar um vírus que se transmitia pela rede elétrica. Deve ter sido uma batalha dura. E vocês, lembram alguma cena “insuperável” envolvendo hackers ou invasões de sistema?


Hackers no cinema: As 10 cenas mais patéticas (io9).
Imagens: Reprodução / YouTube.

Autoria: UOL/Renato Bueno

segunda-feira, setembro 20, 2010

Conheça o Linguee – A Web é um Dicionário

Linguee é um serviço online gratuito que oferece um dicionário português-inglês combinado com uma ferramenta de busca de traduções. Linguee em português juntamente com as versões espanhol-inglês (linguee.es) e francês-inglês (linguee.fr) estão online desde o dia 12 de Agosto de 2010. A versão alemã (linguee.de) existe há pouco mais de um ano e já conta com meio milhão de buscas diárias.


linguee 500x305 Conheça o Linguee   A Web é um DicionárioLinguee é um serviço gratuito com um diferencial que irá revolucionar o conceito de dicionário online. O nosso banco de dados possui aproximadamente 1.000 vezes mais material traduzido do que qualquer outro dicionário online tradicional. A maioria deste material é constituída por frases completas traduzidas por seres humanos. O Linguee oferece o contexto em que as palavras foram traduzidas. Isso permite a busca de expressões e até mesmo frases e não somente de palavras soltas. Dessa maneira, o usuário pode encontrar a tradução de termos compostos como “chuva forte”, “vermelho forte”, “forte potencial”, etc. Em dicionários online tradicionais a busca por tais termos não oferece um correspondente satisfatório em inglês.


Entre as fontes mais importantes utilizadas por Linguee, destacam-se documentos da União Européia e de outras instituições internacionais renomadas, patentes e páginas da rede bilíngue. Em cada exemplo fornecido é possível encontrar um link que redirecionará o usuário para a respectiva fonte.

quinta-feira, setembro 16, 2010

Microsoft lança Internet Explorer 9 mais rápido e mais limpo

Análise da primeira versão beta pública do novo navegador da Microsoft revela mudanças muito bem vindas - e outras que ainda poderiam melhorar.



O Microsoft Internet Explorer 9 – agora em beta público– é a mais nova versão do navegador da Microsoft. Comparado com o IE8, ele é mais rápido e com uma interface mais simples. Mas ainda é um beta e, como era de se esperar, algumas áreas ainda precisam de refinamento.
Uma nova interface
A primeira coisa que você vai notar no Internet Explorer 9 é sua interface despojada. No uso, descobri que a nova interface tem seus prós e contras. A Microsoft construiu o IE9 em torno da ideia de colocar a página web à frente de tudo, reduzindo o número de botões e controles visíveis. E, sob muitos aspectos, isso funciona: quando você carrega o IE9, tudo que vê é uma barra de ferramentas, com uma quantidade mínima de controles.
Os controles e as barras são semitransparentes, da mesma forma que as molduras das janelas do Vista ou do Windows 7, e foram projetadas para não distrair a atenção do usuário, que permanecerá focado no conteúdo da página.
Mas é possível perceber outros efeitos em uma interface tão reduzida, como descobri rapidamente. Como padrão, o IE9 dá apenas uma indicação breve de que a página está sendo carregada: ela mostra um ícone circular na aba por um segundo ou dois, quando você clica em um link ou digita uma URL; depois, mais nada. Isso pode ser frustrante em conexões lentas – eu não podia ter certeza de que o IE ainda estava carregando a página ou havia desistido. E não sou fã da decisão da Microsoft de juntar abas e barra de endereço na mesma linha; a área pode ficar bastante congestionada, especialmente se você abre dúzias de abas ou tem uma tela pequena.
Os usuários tradicionais do IE podem ser atrapalhar com a nova interface: eu tive alguns problemas para descobrir meus recursos favoritos nesta nova versão. O objetivo da empresa foi mostrar apenas os recursos que a maioria dos usuários realmente usará (por exemplo, você notará que a barra de favoritos permanecerá oculta como padrão), mas a Microsoft afirmou também que não retirou nenhum recurso do IE. Enquanto isso, alguns elementos permanecem fundamentalmente intocados; por exemplo, o painel Internet Options ainda é um emaranhado poluído de botões, caixas, abas e opções de configuração que podem confundir o iniciante.
Dito isso, o IE9 marca um claro avanço, com caixas de alerta e de diálogo que são menos intrusivas que as das outras versões. Por exemplo, quando você baixa um arquivo, você verá uma barra não obtrusiva no rodapé da tela perguntando se você quer rodar ou gravar o arquivo, ao contrário da caixa de alerta que você recebia no IE 8 e nas versões anteriores.
Se você está rodando o Windows 7, poderá criar atalhos para links e sites na barra de tarefas e no menu Iniciar. Para marcar o site à barra de tarefas, arraste o “favicon” – o pequeno ícone localizado ao lado da URL da página – ou a aba do navegador à barra de tarefas. Se você abrir a página clicando o atalho da barra de tarefas, a janela resultante do IE usará a cor do “favicon”, e mostrará na barra de ferramentas do browser, como ajuda visual.
Quando você clica num desses ícones de sites com o botão direito, você terá uma “jumplist” que, por padrão, inclui uma opção para habilitar a navegação InPrivate (um modo de navegação que não deixa cookies, arquivos cachê, ou histórico de navegação). Mas a Microsoft diz que os projetistas de sites poderão acrescentar algum código para incluir itens personalizados a este menu.
Eu achei o recurso de marcação de sites na barra de tarefas bastante útil, especialmente para sites que eu visito com regularidade. Mas você não pode combinar páginas juntas em um segmento da barra de tarefas, o que seria ainda mais útil e reduziria o congestionamento (é muito fácil fazer sua barra de tarefas ficar completamente tomada por links para sites).
O IE9 inspira-se no Google Chrome com uma caixa simples que funciona tanto para buscas como para digitar URLs. A Microsoft chama esta caixa combinada de Onebox. O Onebox funciona tal como prometido: comece digitando uma URL e ela lhe mostrará sugestões de autocompletar à medida que você digita, tal como no IE8 e nos anteriores. Digite um termo de busca e aperte Return, e o navegador lhe devolverá os resultados (obtidos pelo Bing). Como o IE8, o Internet Explorer 9 não se limita à busca no Bing. Clique no botão Add em um menu drop-down do Onebox e você poderá acrescentar outras ferramentas de busca.
Apesar de todas essas novidades na interface, sinto que a Microsoft não foi tão longe na simplificação e no despojamento estético de seu navegador. O painel Internet Options, por exemplo, parece datado e precisando seriamente de uma reforma. Esperamos que na versão 10 a Microsoft possa ir mais fundo e limpar algumas das rebarbas que ainda lembram os velhos IEs.
Download Manager e Avanços na Segurança
Um acréscimo bastante esperado ao IE9 é um gerenciador de downloads que, como se esperaria, mostre todos seus downloads ativos, tal como conseguimos fazer com outros navegadores web. A janela de gerenciamento de downloads lhe dá os sinais vitais do progresso de seu download e lhe permite pausar ou cancelar. Isso já é padrão em outros navegadores, mas muito bem vindo aqui, de qualquer forma.
A Microsoft também acrescentou algumas novas proteções contra downloads maliciosos. O recurso de reputação de download SmartScreen pode identificar downloads populares seguros, e deixará que esses arquivos sejam baixados sem emitir mensagens de alerta (você ainda verá a mensagem para downloads menos populares, aqueles que o IE não tem certeza se são seguros). A ideia é diminuir o número de vezes que você veja a mensagem “Este arquivo pode danificar seu computador” e mostrá-la apenas quando for necessária. Ele ainda lhe perguntará se você quer rodar ou salvar o arquivo depois de ter sido baixado, mas para downloads populares (iTunes, Flash Player, etc), isso é tudo que você verá.
Em meu uso, isso pareceu funcionar razoavelmente bem; não fui capaz de ativar a mensagem “este arquivo poderá danificar seu computador” com os arquivos legítimos que baixei.
Desempenho
Com o IE9, a Microsoft está dando um grande salto no suporte às últimas tecnologias da web, e melhorando o desempenho da navegação. Não tivemos chance de testá-lo em sites normais, do dia-a-dia, mas executamos o teste de benchmark JavaScript da SunSpider.
O resultado? Uma melhoria dramática sobre o desempenho de JavaScript no IE8, o qual, em testes anteriores, tinha ficado bem atrás da concorrência. Em meus testes informais, o IE9 completou o teste em 484 milissegundos. Em comparação, em meu sistema de teste – um desktop Intel Core 2 Duo de 2,13 GHz rodando Windows Vista  - o Chrome completou o benchmark em 397 milissegundos, o Opera em 354, o Safari em 445 e o Firefox 3.6.9 em 1.067 milissegundos.
Tenha em mente que os resultados reais de desempenho podem variar dependendo da configuração do seu PC, e de outros fatores como os tipos de sites que você visita, sua velocidade de conexão, e assim por diante. Lembre-se, também, de que não testamos em sites reais ainda. Mas o fato de que o IE9 apresenta números drasticamente melhores neste teste já é um bom sinal.
Velocidades de carga de página à parte, o IE9 também verificará para ver se algum add-on que você instalou está retardando o tempo de carga de seu navegador. Se estiver, ele o notificará assim que abrir. Graças a este recurso, percebi que tinha alguns add-nos instalados que nem sabia que estavam lá. Esta verificação do IE9 é uma adição pequena, mas também muito bem-vinda.
A questão que fica é: Você deveria baixar o IE9? O beta mostrou-se sólido o bastante para que eu não encontrasse qualquer questão séria em meu uso nos últimos dias, mas se você tem receio de usar um software beta, poderá querer esperar até o próximo round. Dito isso, o Internet Explorer 9 tem jeito de ser um navegador muito bom, e como tal uma atualização obrigatória para o IE8 quando for lançada oficialmente.
Nota: lembre-se de que o IE9 ainda é um beta. Você poderá encontrar bugs e outras falhas. E, embora tenhamos dado uma nota so IE9, pode ser que ela seja diferente quando a versão final for lançada.
Autoria: (Nick Mediati) IDGNow


quarta-feira, setembro 15, 2010

TI - 9 passos para garantir que usuários não traiam sua confiança


Veja a lista dos principais perigos que vêm com o acesso remoto irrestrito, assim como dicas de mitigação para cada um deles


Usuários remotos são cada vez mais comuns e suas conexões representam um fator de risco em constante crescimento. Entre os entrevistados pela pesquisa sobre Estratégias de Segurança, realizada pela InformationWeek Analytics, que disseram que suas empresas estão mais vulneráveis hoje do que em 2009, 66% citaram as novas formas de ataque às redes corporativas, incluindo conexão wireless. Ainda assim, a área de TI precisa garantir que os usuários móveis tenham o acesso necessário para se manterem produtivos.
Esse é um ponto em que os CIOs, geralmente, não prestam atenção: Oferecer esse tipo de suporte 24 por 7 significa muitos funcionários com privilégio de acesso trabalhando remotamente - e não apenas executivos, mas equipe de suporte de TI também. Muitas empresas não têm opção senão abrir seus sistemas para o mundo. O desafio é fazê-lo de forma comedida e que permita rastrear acesso, enquanto os dados permanecem protegidos. Abaixo está nossa lista dos nove principais perigos que vêm com o acesso remoto irrestrito, assim como dicas de mitigação para cada um deles.

1| Perigo: Regulamentos confusos.
Mitigação: Documentar os dados corporativos e propriedade intelectual que devem ser protegidos.
Um exercício básico e vital. Não é possível examinar e proteger os dados da empresa até que se saiba onde estão todos os dados importantes. Os resultados de um processo de descoberta de dados podem influenciar diferentes projetos, inclusive iniciativas de compliance, avaliação de risco e prevenção de perda de dados (DLP).

2| Perigo: Não é fácil correlacionar uso e atividade de contas.
Mitigação: Tome as rédeas de sua política de contas e senhas.
Quer algo que te abra os olhos? Peça um relatório sobre o número de contas gerais no seu diretório de infraestrutura de serviços. Falo daquelas contas chamadas "Suporte" ou "Folha de Pagamento" - aquelas que todos os 5 mil funcionários da empresa têm a senha. Se você usa contas de propósito geral para qualquer atividade de autenticação sem controlar, corretamente, os direitos de acesso, você está brincando de roleta russa. Elimine-as até onde puder. E enquanto estiver eliminando contas anônimas, pense melhor em sua política de senhas.
Programar senhas fortes é, comprovadamente, a tarefa de mitigação mais simples de sua lista. É claro que pode parecer, também, a que irá gerar o envio de centenas de e-mails raivosos para a equipe de TI, mas não dá pra negar o fato de que você não pode permitir que os usuários selecionem suas próprias senhas.

3| Perigo: Seu chefe de marketing esquece o iPad em uma feira comercial.
Mitigação: Autenticação de dois fatores.
Não é questão de que os mecanismos de autenticação que usamos hoje sejam ineficazes - mas, geralmente, não são o bastante. Por exemplo, quando se trata de autenticação Active Directory, a Kerberos usa RC4 ou AES (depende do sistema operacional) para proteger e codificar o processo de autenticação em si. No entanto, se as credenciais de um funcionário forem comprometidas, nível nenhum de codificação no processo de autenticação irá te salvar. E é por isso que a autenticação de dois fatores é tão essencial para a segurança de bens de alto valor.

4 | Perigo: Inabilidade de examinar a atividade de usuários e equipes de suporte remotos
Mitigação: gerenciamento de registros e relatórios de sessões
Vamos imaginar que o CEO esteja de férias. Como você explicaria múltiplas conexões na rede VPN da empresa, usando as credenciais de acesso do CEO, vindas de diversos endereços IP, constando nos relatórios ARIN, originadas em diversas localizações geográficas?
Como equipes acessam a rede remotamente, entrando em contato com todos os dados da empresa e o pessoal do suporte se conecta remotamente a vários sistemas diferentes, você precisa checar uso e atividades irregulares, de alguma forma. Uma ferramenta de gerenciamento de registro é uma forma de solucionar o problema.

5 | Perigo: Um malware destrói o laptop do seu melhor executivo de vendas, um dia antes de uma importante apresentação.
Mitigação: Segurança via SaaS e Web.
Malwares são sempre uma dor de cabeça intensa, as infecções acontecem sempre nos momentos mais inoportunos. Usuários corporativos, protegidos por ferramentas locais de segurança Web, geralmente, têm proteção robusta contra malware. No entanto, estender essa proteção, de forma eficaz, para os usuários remotos nunca foi uma opção, simplesmente porque não faz sentido usar proxy para o tráfego Web de um funcionário que trabalha em San Diego, acessando um banco de dados em Boston. No entanto, os fornecedores de segurança via SaaS podem ter locais suficientes para que um deles seja próximo dos usuários remotos. Ao utilizar proxy de saída para tráfego web por meio de uma nuvem de segurança web terceiriza, é melhor obter performance junto com a proteção anti-vírus e malware.

6 | Perigo: O CEO esquece o laptop em um avião, junto com o plano de estratégia para os próximos 10 anos da empresa.
Mitigação: Criptografia completa de disco
Sim, nós sabemos que criptografia completa de disco pode ser extremamente trabalhosa para implementar e gerenciar. Infelizmente, é uma necessidade crescente nas leis federais e estaduais para proteção de dados. Além dos benefícios de compliance, a criptografia completa é um bom negócio porque os casos mais sérios de vazamento de dados ocorreram devido a roubos de laptops e mídias removíveis.

7 | Perigo: O CTO decide que tem o direito de levar consigo o código fonte para o novo emprego
Mitigação: DLP em rede e endpoint
DLP é uma valiosa ferramenta para prevenir o vazamento acidental ou proposital de dados vitais, especialmente quando se trata de assegurar e examinar acesso remoto. Em endpoint, é possível implementar políticas que desabilitam as opções de impressão ou capturação de imagem de tela de certos documentos ou a opção copiar/colar em campos específicos. Caso dados sigilosos circulem pela rede, as ferramentas DLP podem examinar com atenção cada pacote em busca de dados que violem as políticas e, então, tomar as providências necessárias.

8 | Perigo: De repente, alguém na Indonésia está acessando seu sistema CRM.
Mitigação: Análise de comportamento
Sem as ferramentas adequadas, é muito difícil detectar quando um sistema crítico foi comprometido. Até que a empresa note o que está acontecendo, o dano foi feito. Enquanto não existe outro método de detecção de acesso não-autorizado a sistemas críticos, ferramentas NBAD (ou detecção de comportamento anormal na rede) podem ser a primeira opção de defesa ao identificar eventos fora do normal, em tempo real. Ao analisar a performance de rede entre cliente e servidor, os sistemas NBAD alertam os administradores quando uma nova conexão é feita de um endereço IP não reconhecido. Embora os sistemas NBAD não sejam tão populares, eles podem te poupar sérios problemas.

9 | Perigo: Alguém na equipe de suporte está usando seus direitos administrativos para roubar dados sigilosos de um local remoto
Mitigação: Política de acesso remoto
Nas mãos de uma equipe de suporte ética e leal, acesso remoto é uma ferramenta valiosa. Nas mãos de um ladrão de dados, pode ser letal. Felizmente, os CIOs têm o poder de mitigar essa ameaça. Nosso principal conselho: desative acesso remoto a desktops via política de domínio.
Se um funcionário administrativo ou de help desk precisar de acesso remoto ao sistema de outro funcionário, então tal funcionário deve dar permissão ao acesso requerido por meio de uma ferramenta de colaboração baseada em web.


Autoria: Randy George | InformationWeek EUA
15/09/2010

terça-feira, setembro 14, 2010

Som em 3D

sky 390 Som em 3D
A pouco tempo atrás foi lançada a novidade de que teriamos televisão em 3D, que poderiamos ver tudo o que se passa nos canais em terceira dimensão.

Mas como ninguém nunca cansa de inventar novidades, surgiu algo muito interessante. Para os admiradores de um bom som, surgiu o 3D60, que não é nenhuma aplicação de software, mas sim, um grupo de músicos e engenheiros sediados no Reino Unido, que estão produzindo novas experiências de som que podem ser escutados com fones de ouvido convencionais.

A técnica de gravação e produção digital desenvolvida pelos mesmos permite que os sons possam mover-se em diversas zonas em relação com o ouvinte, pela frente, atrás ou por cima. Os sons podem deslocar-se em qualquer direção ao redor do usuário. Uma idéia simples mas que promete revolucionar o mundo 3D.

Fonte: 3D60

segunda-feira, setembro 13, 2010

Primeiro vídeo em HDR é apresentado

Nós somos grandes fãs de fotografia em HDR, e agora que o iPhone 4 também tem o sistema, nós veremos imagens mais vibrantes com frequência maior. Mas algo que vale ainda mais a pena são os vídeos em HDR.

Esse exemplo da Soviet Montage Productions foi filmado usando duas Canon EOS 5D Mark II, escolhidas porque “elas são câmeras fantásticas que são mais acessíveis e até os mais amadores dos cineastas podem se arriscar com elas”, de acordo com Michael Safai, que fez a produção do filme.

Enquanto eles não revelam como eles controlaram as camadas para gerar uma imagem idêntica e perfeita, nós já sacamos que eles usaram um divisor de feixes e as duas câmeras estavam com tempo de exposição diferentes – uma superexposta, e outra subexposta. Não há dúvidas de que várias ferramentas de pós-produção foram usadas, mas enquanto a Soviet Montage não nos conta seus segredos, nós continuaremos escrevendo cartinhas para a Canon incluir o vídeo em HDR em suas câmeras. [Soviet Montage via Planet5D]

HDR Video Demonstration Using Two Canon 5D mark II's from Soviet Montage on Vimeo.

Autoria: Gizmodo

quarta-feira, setembro 08, 2010

O Google Wave não vai acabar

wave O Google Wave não vai acabarOntem, ao fim do dia, o Engenheiro de Software do Google Wave, Alex North, lançou um comunicado oficial à toda a comunidade do Google Wave, dizendo que o produto não irá fechar as portas completamente: seu código aberto será lançado, para que desenvolvedores utilizem-o e tudo o que foi criado a partir dele para o eventual lançamento de novos produtos e serviços baseados no antigo Google Wave, transformando o produto em um aplicativo funcional a ser executado pelos usuários em seus próprios servidores.


O aplicativo se chamará “Wave in a Box“, e conta com alguns recursos interessantes:


  • Suporte para API de dados
  • Suporte para importar dados das Waves criadas no site oficial
  • Protocolos para desenvolvimento
  • Uma “loja de Waves” (ainda em desenvolvimento)
  • Um pacote de aplicações com um cliente web em tempo real usando a estrutura oficial do sistema Google Wave.

Isso pode se tornar um negócio promissor para grandes desenvolvedores, que podem aproveitar o código do Google Wave, que não rendeu muito bem na web, para criar ferramentas de colaboração muito interessantes.

Ainda segundo o Google, quem ditará o futuro do código aberto do Google Wave nos próximos meses e anos será a colaboração dos próprios desenvolvedores.

Não foi definido um prazo de lançamento do código com o aplicativo até agora, mas provavelmente estará por aí até o fim do ano, com a retirada do site do ar.


Fonte: IDG Now!



blablabra – O que o Brasil anda twittando?

O blablabra é um site no qual monitora tudo o que nós brasileiros falamos pelo twitter. Chegam a ser 3 postagem por segundo, algo quase inacreditável, mas nada duvidoso quando é relacionado ao twitter! O Brasil chega a ser o segundo mais ativo do twitter!


O site faz esse trabalho, com possibilidade de buscar por palavra, usuário ou hashtag, podemos comparar a quantidade de menções de diferentes elementos, como se estivéssemos no Google Trends.


Assuntos mais populares, links mais comentados, últimos tweets, usuários mais recomendados. Enfim, uma enorme lista de funcionalidades que podem nos ajudar a melhorar nosso conhecimento sobre como é usado o Twitter no nosso país.


blablabra 01 500x253 blablabra   O que o Brasil anda twittando?


bv 500x274 blablabra   O que o Brasil anda twittando?

quinta-feira, setembro 02, 2010

As 7 práticas para um site otimizado

Todo mundo gosta de sites rápidos. Seus primos não sabem dizer se você tem um arquitetura escalável, se seu banco NoSQL é mais robusto ou se é melhor usar Web Services SOAP ou REST. Mas eles sabem dizer duas informações com precisão: se seu site é bonito e se ele é rápido. Performance, medida pelo usuário, é o que te diz se a velocidade de resposta da sua aplicação é aceitável. E, assim como usuários não se cansam de bordas redondas e sombrinhas bonitas, sempre haverá otimizações possíveis para tornar seu site mais rápido.


Inspirado pela recente edição 2010 da Velocity Conference organizada pela O’Reilly e por uma palestra recente que dei com o Alberto Souza aqui na Caelum, além de discussões que aparecem no nosso curso que trata de HTML, CSS e Javascript, selecionei um punhado de dicas para deixar qualquer site ou aplicação Web mais rápido em instantes. Meu TOP 7 não pretende ser uma lista completa e nem detalhada de boas práticas. É mais um guia rápido sobre tudo o que você deveria fazer em qualquer site antes de perguntar a opinião dos seus primos – ou do seu chefe, ou de qualquer usuário. Eis então:

TOP 7 das Otimizações na Web:

0. Habilite GZIP em todas as suas páginas. Se você ainda não fez isso, pare imediatamente de ler esse post e faça. É o passo zero, nem vou contá-lo. Dicas de como fazer no Tomcat, Jetty, Apache, IIS.

1. Agrupe arquivos JavaScript/CSS. 90% do trabalho de otimização consiste em diminuir o número de requests feito na página e o peso de cada um deles. Você usa JQuery (ou qualquer outro framework) com JQuery UI e mais meia dúzia de plugins, sem contar o código JS da sua aplicação? Junte tudo no menor número de arquivos possíveis para evitar muitos requests. Mesma coisa com CSS, um arquivo com tudo basta. Mas gosta de manter as coisas organizadas ao invés de escrever um arquivo com milhares de linhas? Então junte essas coisas dinamicamente como faz o pessoal do Digg ou faça o serviço no build da aplicação como preferimos aqui na Caelum.

2. Comprima o JavaScript/CSS. Você escreve JS/CSS elegante, bem documentado, com código organizado e variáveis de nomes legíveis. Mas seus primos não se importa com isso, eles querem um site rápido e isso significa não trafegar no request bytes e mais bytes de documentação ou de código legível. Comprima todo o seu código JavaScript e CSS usando o YUI Compressor ou o Google Closure Compiler. Faça isso em build time ou dinamicamente.

3. Otimize suas imagens com Smush-it. Nem todos os KB de suas imagens são necessários para o cliente. Arquivos JPEG possuem uma série de metadados e PNGs possuem palhetas de cores. Remova vários KBs desnecessários de suas imagens usando o Yahoo Smush-it em todas elas.

4. Coloque CSS no topo e JavaScript embaixo. Simples assim. Referencie os seus CSS no com para evitar o flash effect, e coloque seus scripts logo antes do fechamento do para não atrasar a renderização da tela.

5. Não redimensione imagens no HTML. Não use os atributos width e height das imagens para redimensionar seu tamanho. Sirva as imagens já com tamanho certo e otimizadas. Mas coloque sempre o width e height de todas as imagens para ajudar o browser nos cálculos da renderização da página.

6. Configure o Expires corretamente. Use o cache do navegador para prover uma melhor experiência ao usuário no segundo request – seja no retorno ao site ou navegando para a próxima página. Permita também que Proxies entre seu servidor e o cliente cacheiem elementos do seu site para evitar um download demorado. Configure o header de Expires de todo seu conteúdo estático (JS, CSS, imagens) com alguns dias de duração.

7. Use YSlow e PageSpeed. Depois que você fez todas as otimizações anteriores, instale o YSlow e o PageSpeed para um diagnóstico detalhado de seu site. Monitore sua performance constantemente e vá implementando sempre novas otimizações. Seus usuários agradecem.

Esse TOP 7 são todas as otimizações que você deveria ter feito ontem em qualquer site seu antes de começar a falar em performance. Há muitas outras práticas, algumas mais complicadas, como CSS Sprites, usar CDNs, otimizar seus cookies, fazer preload e postload de conteúdo, ou comprimir seu HTML. Dependendo da tecnologia que você usa no seu sistema, você terá maior ou menor facilidade de aplicar todas essas práticas: no JSF e ASP.NET você terá benefícios para desenhar sua interface, mas muito mais trabalho de fazer esse ajuste fino; com Struts, Rails, ASP.NET MVC, VRaptor e frameworks action based, será o contrário.

Autoria: Sérgio Lopes - caelum.com.br

Então você quer ser um arquiteto Java?



Durante o atual processo de revisão do livro de Arquitetura e Design de Software, discussões apareceram sobre o termo arquiteto. Antes de definir o que faz um arquiteto, há o termo arquitetura.



O que é a arquitetura de uma aplicação?
Uma pergunta difícil de responder. Entre as definições mais antigas, Roy Fielding possui um bom texto no primeiro capítulo de sua dissertação de doutorado. O Instituto de Engenharia de Software da Universidade de Carnegie Mellon apresenta diferentes definições, algumas clássicas e bastante conhecidas, como “arquitetura é a estrutura do sistema, composta de componentes, as propriedades que são visíveis externamente desses componentes e o relacionamento entre eles“.

Nas palavras de Martin Fowler, “o termo arquitetura envolve a noção dos principais elementos do sistema, as peças que são difíceis de mudar. Uma fundação na qual o resto precisa ser construído“. Fowler reformula sua definição de arquitetura e a define como “as peças que as pessoas acham que é difícil de mudar“. No mesmo artigo Ralph Johnson, do GoF, diz que arquitetura “é o conjunto de decisões de design que gostaríamos de ter feito no começo do projeto” e termina com uma definição mais abrangente: “arquitetura é tudo aquilo que importa“. Com tantas definições, talvez seja mais fácil diferenciarmos design de arquitetura.

Qual é a diferença de design e arquitetura de software?
Aqui também temos uma resposta clássica na literatura: a arquitetura é responsável pelos requisitos não-funcionais, e o design pelos funcionais. Mas parece que essa distinção não é tão clara assim para muitos outros autores.

Neal Ford apresenta uma distinção simples, realçando que o design é feito em cima do que foi decidido pela arquitetura, e por isso o que faz parte da arquitetura é mais difícil de mudar. Devemos minimizar as peças que dificultam mudanças do nosso design, mas é impossível eliminar todas, além de que flexibilidade sempre vem a um custo de complexidade.


É difícil criar um distinção maior entre os dois. No livro Patterns of Enterprise Application Architecture, Fowler diz que “alguns dos padrões nesse livro podem ser chamados arquiteturais, já que representam decisões importantes sobre essas partes; outros são mais sobre design e te ajudam a implementar essa arquitetura. Eu não faço nenhuma tentativa forte de separar esses dois, já que é o que é arquitetural ou não é subjetivo“.

O arquiteto deve saber programar na plataforma em questão?
Sem dúvida. Cada vez mais vemos que o design e a implementação devem ser trabalhados juntos. A imagem de um arquiteto distante sem profundo conhecimento técnico que apenas toma as grandes decisões ficou pra trás: conhecimento técnico e a capacidade de liderança são as características fundamentais.

Mais do que querer ser o poderoso arquiteto que apenas despacha ordens e toma todas as grandes decisões, cada vez mais enxergamos que o caminho é ser o líder que incentiva essa tomada de decisão, além de ser um exímio programador. Parafraseando mais uma vez Martin Fowler, “…o arquiteto deve ser como um guia… que é um experiente e capacitado membro da equipe que ensina aos outros a melhor se virarem, ainda assim ele está sempre lá para as partes mais complicadas“.


Autoria:  Paulo Silveira - caelum.com.br

quarta-feira, setembro 01, 2010

Está com sobrecarga de e-mails? Experimente a Caixa prioritária


As pessoas sempre nos dizem que estão sendo simplesmente inundadas por e-mails. Nós entendemos a sua situação, afinal, aqui no Google, o e-mail é a nossa principal ferramenta de trabalho. Nossas caixas de entrada estão diariamente abarrotadas com centenas, às vezes milhares de mensagens: e-mails de colegas, de listas, sobre horários marcados e correio automatizado, mas que nem sempre são importantes. Leva muito tempo separar o que tem de ser lido do que tem de ser respondido. Hoje, temos o prazer de apresentar a Caixa prioritária (na versão beta), uma maneira experimental de lidar com a sobrecarga de informações no Gmail.


O Gmail sempre escolheu muito bem o lixo eletrônico que deveria ir para a pasta de “spam”. Mas, hoje em dia, além do spam, as pessoas recebem muitas mensagens que, apesar de não serem lixo, também não são importantes. São aquilo que se costuma chamar de “encheção de linguiça”: você até vai ler, mas não naquele exato momento. Portanto, aumentamos a capacidade do filtro do Gmail para que ele lidasse com este problema e fosse além do spam – assim, o usuário recebe um auxílio na hora de separar a "encheção de linguiça" do material importante. A Caixa prioritária é quase como o seu assistente pessoal: ele lhe auxilia a se concentrar nas mensagens que realmente importam sem a necessidade de configurações complexas.

Popout

A Caixa prioritária divide a sua caixa de entrada em três seções: “Importante e não lidas”, “Marcado com estrela” e “Tudo mais”:



(Texto da imagem)
Leia as mensagens "Importantes e não lidas"

Marque com uma estrela aqueles e-mails que você quiser ver depois

Dê uma olhada em "Tudo mais" apenas quando tiver tempo
(e marque qualquer mensagem importante que tenha ficado para trás)



Assim que as mensagens chegam, o Gmail automaticamente marca algumas como importantes. O Gmail usa várias pistas para predizer que mensagens são importantes, incluindo os seus destinatários frequentes (se você manda muitos e-mails, por exemplo, para o João, uma mensagem dele deve ser importante) e quais mensagens você abre e responde (estas devem ser mais importantes que as que você passa direto). E, quanto mais você usar o Gmail, melhor ele classificará as suas mensagens. Ainda assim, você pode ajudar a torná-lo ainda melhor, clicando em  ou  para determinar quais são as mensagens de prioridade.

Depois de termos realizado muitos testes internos aqui no Google, bem como com vários usuários do Gmail e do Google Apps, estamos prontos para que mais pessoas experimentem este novo produto. A Caixa prioritária ficará disponível para todos os usuários do Gmail, incluindo aqueles que utilizam o Google Apps, até a semana que vem. Assim que aparecer um link “Novidade! Caixa prioritária”, no canto superior direito da sua conta do Gmail (ou a nova guia Caixa prioritária nas Configurações do Gmail), experimente você mesmo.
Autoria: Doug Aberdeen, Google Brasil