97 Coisas que todo Programador deve Saber

March 9th, 2010 davi No comments

A editora O’Reilly acaba de lançar o livro “97 Things Every Programmer Should Know“.

Lançado em Fevereiro/2010, o livro é uma coletânea de boas práticas que todo programador deveria, no mínimo, conhecer. Nomes como Bob Martin, Scott Meyers, Dan North, Linda Rising, Udi Dahan, Neal Ford, estão entre as dezenas de colaboradores deste trabalho.

Um pequeno trecho, chamado “A Regra do Escoteiro”, escrito por Uncle Bob (Bob Martin), está disponível em PDF.

A edição impressa custa US$ 29.99 e o e-book (PDF, Android, ePub, Mobi), US$ 23.99. Um investimento que vale a pena.

Categories: Uncategorized Tags:

O e-book da Microsoft: Courier Tablet

March 8th, 2010 davi No comments

Simplesmente fantástico. Eis um concorrente de peso para o iPad. Se o Windows CE 6, sistema operacional do “Courier” for tão estável quanto o da Apple… …a briga será boa:

Fonte: Engadget

Categories: Apple, Microsoft, gadgets Tags:

Google App agora com backup nas “nuvens”

March 6th, 2010 davi No comments

Empresas como Motorola (unidade de celulares), Capgemini, SalesForce, já estão utilizando a suite de  aplicativos Google App.

Quais as reais motivações que levaram cada uma destas grandes empresas a confiar suas mensagens, documentos, planilhas, apresentações, milhares e milhares de informações confidenciais… …à “nuvem” do Google?

Tudo bem que US$ 50/ano/funcionário é um grande motivador, e todos sabemos qual foi o voto do VP de finanças quando perguntado se ele concorda com a adoção do Google App. Ter também 25 GB de espaço no espaço de e-mail de cada funcionário, com backup incluido neste preço, é um “luxo” que poucas empresas podem oferecer hoje em dia (a US$ 50/ano/funcionário?).

Imagine um custo de uma unidade mundial da Motorola com dezenas, talvez centenas de servidores Microsof Exchange, técnicos e analistas de suporte 24×7, espaço e energia em data-centers, unidades de backup, atualização de softwares, licenças anuais etc etc. Não é preciso fazer nenhuma conta para ter certeza que US$ 50/ano/funcionário é uma fração do que eles gastavam, apenas para manter esta infra-estrutura gigantesca e garantir a entrega de e-mails.

Disaster Recovery in the Cloud, by Google

Em um anúncio (04/Março/2010), o Google informa como funciona a “replicação síncrona” em caso de qualquer desastre. O “restore” seria não apenas dos e-mails, mas também das informações no Google Calendar, Google Docs, e Google Sites.

E aqui uma informação sobre como mensurar se  a solução de disaster recovery é adequada? De acordo com Rajen Sheth, Senior Product Manager do Google Apps, existem 2 (dois) indicadores básicos:

RPO indica quanto de informação você está disposto a perder quando uma catástrofe ocorre (e convenhamos nestes últimos meses, desastres estão cada vez mais frequentes).

RTO é quanto tempo você está disposto a esperar até que o processo de restore finalize e os funcionários possam voltar a seus postos.

Com uma solução destas nas “nuvens” uma das vantagens é que o RPO=zero.

Existem muitas outras variáveis que você deve avaliar antes de disponibilizar e confiar todas as informações de sua empresa nas nuvens mas, certamente, um cenário de disaster recovery como este descrito acima, deve pesar na decisão pró “nuvem”.

Documentos do Microsoft Office na nuvem do Google: Aquisição da DocVerse

Em 2007 dois ex-engenheiros da Microsoft fundaram uma start up para desenvolver um plug-in que seria adicionado ao Office da toda-poderosa de Redmond. O objetivo do plug-in é permitir um processo de colaboração na “nuvem”.

O que o Google fez na Sexta, 05/Mar? Assinou um cheque de US$ 25 milhões e adquiriu a DocVerse. Isto é alinhamento estratégico. Veja porque: MS Office tem, aproximadamente, 600 milhões de usuários no mundo; como facilitar ao máximo migração de parte destes usuários para a suite do Google? Disponibilizando um plug-in para sincronizar todos os documentos do Office para sua “nuvem”. Entenderam?

(nota: ainda não está claro se o plug-in da DocVerse será distribuido gratuitamente; minha aposta é que sim!).

Um dia antes, Steve Balmmer, CEO da arqui-rival conseguiu a proeza de não apresentar nenhuma novidade no assunto “Cloud Computing” em um evento na universidade de Washington (confira os detalhes neste post de uma das analistas mais atualizada em assuntos da Microsoft, Mary-Jo Foley/ZDNet.com).

Nas palavras do CEO e fundador da  DocVerse, Shan Sinha, a Microsoft não está mesmo se movimentando rápido em direção à computação nas nuvens:

“We recognized this trend was happening, It’s one of the reasons we left Microsoft to start DocVerse. Getting to the cloud means there’s going to be a large number of people who are starting from software that’s 20 years old. [Our concern] was how best do we bring people into the cloud? When we think about Google, what see see is the company that’s really starting to define, and has defined, how cloud-based applications should work.”

Veja que a opinião é de um ex-funcionário da Microsoft.

Sincronização com o Outlook

Para quem ainda não conhecia, segue o anúncio da funcionalidade de sincronismo do MS Outlook com o Google App (Junho/2009):

(atualizada às 19:52 para inclusão de informações)

50 Milhões de Tweets por dia?

February 22nd, 2010 davi No comments

Pois é, de acordo com o blog do Twitter publicado hoje (22/Fev/2010), chegamos a 50 milhões de tweets por dia, ou 600 tweets por segundo (TPS!).

Como eles mantém este serviço relativamente estável? Qual arquitetura que eles utilizam? Veja estes detalhes no post “Arquitetura do Twitter e Google Talk: Lições Aprendidas“.

Categories: monitoring, web2.0 Tags:

Tecnologia: uma história épica

February 21st, 2010 davi No comments

Os pouco mais de 16 minutos de apresentação de Kevin Kelly, editor executivo da Wired, são imperdíveis.

Se você quer fugir de qualquer discussão superficial sobre tecnologia e conhecer a origem e evolução da tecnologia, invista 16min32seg do seu precioso tempo e veja a apresentação feita durante a TEDxAmsterdam, Nov 2009.

Quando surgiu o termo “Tecnologia”?


Você sabia que a primeira menção ao termo “tecnologia” foi feito em um documento datado de 1829?

Veja o vídeo e descubra isto e muito mais….

A Apresentação de Kevin Kelly

Categories: innovation Tags:

Onde Google, Yahoo, Apple e Microsoft competem?

January 23rd, 2010 davi No comments

Nick Bilton do NYTimes.com fez um resumo dos produtos ou serviços onde as gigantes Google, Microsoft, Apple e Yahoo competem.

O quadro-resumo tem 25 áreas e a indicação se a empresa tem solução que atende total ou parcialmente.

O Google, por exemplo, é 2a. empresa que mais tem produtos ou serviços de acordo com esta lista. A duas exceções são: MP3 player (dispositivo e loja virtual) e o mercado de jogos (consoles e software).

A Microsoft tem solução para quase tudo, menos o hardware do dispositivo móvel (celular ou smartphone).

A Apple não se interessa por console de jogos e nenhuma solução de busca on-line ou redes sociais.

E o Yahoo parece que está parado no tempo, com poucas inovações fora do mundo on-line.

Estratégia

Mesmo que de uma forma muito simplificada, o quadro apresenta um resumo da estratégia de cada empresa.

O Google, como a Apple, descobriu que as informações irão convergir para os dispositivos móveis. Investir no sistema operacional Android e em seu celular Nexus One são a comprovação. Concluíram também que tudo estará na “nuvem” da Internet e que o mercado de sistema operacional para desktops não será tão lucrativo como foi um dia. O seu Chrome OS vai levar à criação e migração de mais e mais aplicativos para a Web, e vai definir o HTLM v.5 como o padrão para tal.

A Microsoft não emplacou seu tocador de MP3 (Zune), está indo muito bem no mecanismo de pesquisa on-line (Bing), mas ainda não tem registrado o crescimento fantástico registrado pelo Google que, no último trimestre de 2009 quintuplicou (5x) seu lucro líquido em relação à 2008, e registrou um aumento de 17% nas suas vendas (detalhes neste link).

Se, no final das contas o que vale é o resultado financeiro, o comportamento das ações mostra uma face desta estratégia. Veja abaixo o comportamento das ações da Apple, Google, Microsoft e Yahoo nos últimos 5 anos. Em qual você investiria?

Categories: Microsoft, business, google Tags:

Um mapa das tecnologias que estarão disponíveis até 2050

January 15th, 2010 davi No comments

Quando teremos portas inteligentes que poderão realizar reconhecimento facial (e você saberá que é sua sogra que apertou a campainha)? Quando todo os bebês já sairão da maternidade com sua identificação RFID implantada no corpo? Quando todos os automóveis estarão equipados com GPS?…

Algumas questões importantes, e outras nem tanto, estão condensadas em um único gráfico entitulado “Trends & Technology Timeline 2010+” (PDF).

Este “mapa do futuro” mostra 16 áreas (economia, petróleo, saúde, ciência e tecnologia, TI e telecom, mídia…), e quais e quando surgirão as próximas inovações de cada uma destas áreas, com previsões até o ano de 2050. Um trabalho e tanto.

Aparentemente, a fonte deste mapa parece ter sido o livro “Future Files – Next 50 Years“. No site de divulgação, o autor Richard Watson, lista a fonte das centenas de previsões futurísticas que ele utilizou.

Alguns exemplos:

Capítulo 1 – Sociedade e Cultura disponível em PDF

Se você se interessa pelo assunto, o capítulo 1 do livro, que trata sobre sociedade e cultura está disponível em PDF (23 páginas). É só clicar e ler.

Um pequeno trecho sobre o volume de informação produzido hoje (página 15):

Things cannot get faster or more complicated forever. Our minds (at least our current minds) won’t be able to cope — there is only so much information we can take on board. For example, there’s a trend called too much information (TMI) that has a distant cousin called too much choice (TMC). In a nutshell, mankind is producing too much stuff. The amount of new information we now produce is estimated to be around 2 billion exabytes annually. That’s (very roughly) 2 billion billion bytes or about twenty billion copies of this book. The average large corporation similarly experiences a doubling of the amount of information it produces annually.
It is no longer information that is power; it is capturing and maintaining a person’s attention. The problem is so bad that the world’s largest bank (Citibank) is testing something called Auditory Display Software as a way of delivering vital information to traders via music because visually based information just isn’t getting through.
Categories: Trends, off-topic Tags:

Mercado de TI no Brasil cresce acima dos US$ 30,2 bilhões?

January 12th, 2010 davi 1 comment

Dados sobre tecnologia da informação do mercado brasileiro são tão raros que faço questão de compartilhar aqui qualquer informação a qual eu tenha acesso.

O jornal Brasil Econômico de ontem (11/01/2009) publicou uma série de reportagens muito interessante sobre o mercado de TI em 2009 e as perspectivas de crescimento.

Preparei o gráfico acima com os dados do IDC publicados na reportagem. Vou resumir todos os números abaixo.

Antes, pegue um café e pense…

As empresas que chegam a determinado patamar de utilização de tecnologia não retornam à “era da pedra lascada”. Ou seja, o mundo moderno, as forças de redução de custos e de pessoal e, principalmente, o seu cliente, exigirão sempre mais e mais serviços rápidos, produtos inovadores, sites de fácil utilização, auto-serviço a custo baixo, atendimento 24 hrs… …tudo isto requer uso intensivo de tecnologia. Implantar uma nova tecnologia quase sempre é um caminho sem volta.

A inovação é necessária para a sobrevivência da sua empresa, do seu serviço ou produto. Ou você é um gênio como Steven Jobs (Apple), ou você vai precisar investir em tecnologia e, mais do que nunca, em conhecimento e entendimento do seu mercado.

Esqueça seus concorrentes. Inovações verdadeiras não se copiam. Estratégias conduzidas em todos os níveis da organização não podem ser simplemente “copiadas e coladas” de uma organização para outra.

O valor a ser investido não significa retorno em produtos diferenciados. Por falar em Steve Jobs, veja o que ele comentou sobre investimento em R&D:

Innovation has nothing to do with how many R&D dollars you have. When Apple came up with the Mac, IBM was spending at least 100 times more on R&D. It’s not about money. It’s about the people you have, how you’re led, and how much you get it.

– Steve Jobs, Fortune, Nov. 9, 1998

Viram a palavra mágica? O segredo são as pessoas. Parece óbvio? E é.

Números, números…

Voltando ao mercado nacional de TI…

  • Participação de TI no Produto Interno Bruto (PIB) em 2009: 1,8%
  • Perspectiva de crescimento deste percentual: 3%
  • Investimento em TI de empresas brasileiras: 2,3%
  • Investimento em TI nas empresas dos “países de meia-idade” (Alemanha, França e Bélgica): 2,3%
  • Investimento em TI nas empresas dos “países maduros” (Suiça, Cingapura e Inglaterra): + 3%
  • Empresas que mais investem em TI no Brasil: setor financeiro, seguido pelo de telecomunicações (nestas, o investimento chega a 10% do faturamento)
  • 76% das empresas de pequeno e médio porte do Brasil investem entre 0,5% e 2% do faturamento bruto em TI (vejam o potencial do mercado!)

nota: os dados de percentual de investimento referem-se ao % do faturamento bruto (fonte: IDC)

Qual o tamanho do mercado brasileiro de TI em 2009? US$ 30,2 bilhões

Deste total de US$ 30,2 bilhões, as empresas dividem o “bolo” neste percentual:

  • Hardware: 48%
  • Serviço: 35%
  • Software: 17%

Mesmo com este percentual, o hardware teve uma queda de 10% em 2009.

De uma forma geral, o mercado de TI cresceu 2,1% no último ano graças ao crescimento de mais de 10% em software e dos serviços (que incluem apenas os contratos locais; exportações e terceirização de serviços não fazem parte da conta acima).

Mais alguns números:

  • 2,7 mil é o número estimado de novas empresas de tecnologia até 2013
  • 53% dos empregos serão para a turma do software
Categories: statistics Tags: ,

Em uma imagem, porque o Google Nexus One será um sucesso

January 7th, 2010 davi 1 comment

Consegue ver a imagem de um “Nexus One“, o novo smartphone do Google, abaixo da barra de pesquisas? Como lembrou Nick Bilton, do blog Bits/NYTimes.com, qual produto ou empresa não gostaria de aparecer na página com maior número de acessos diários do mundo?

São mais de 2,5 bilhões de acessos/mês (vide abaixo)!

Vamos a alguns números (fonte Compete.com, dados consolidades de Novembro/2009):

-   146,063,379 de visitantes únicos / mês

- 2, 636, 325,410 acessos /mês

Qual a possibilidade de um *bom* produto ou serviço ter sucesso com esta visibilidade? Responda você mesmo!

Ok, é bem verdade que a página acima ainda não é disponibilizada para todos os países mas, certamente é uma questão de tempo. Lembrando que já são mais de 16,000 aplicações disponíveis para o sistema operacional do smartphone (Android).

Aproveitando que estamos falando em volume de acesso: Google X Yahoo X MSN

(FONTE: COMPETE.COM)

Categories: google Tags: ,

A complexidade de Java e o comprimento da roupa das mulheres

December 17th, 2009 davi 2 comments

Em 1926, George Taylor, um economista americano,  formulou a teoria do “Hemline Index“. A teoria correlaciona o comprimento dos vestidos da mulheres com a saúde da economia: quanto mais curto o vestido/saia, mais forte a economia.

Nos anos 40-50 a moda eram saias longas, até o tornozelo. A exuberância dos anos 60 veio com os mini-vestidos e o surgimento das mini-saias. A recessão e a crise do petróleo nos anos 70 aumentou o comprimento da roupa feminina, que diminui novamente no início dos anos 80. Na recessão que iniciou em 1987, fez com que a moda das longas saias e vestidos aumentasse novamente, até serem reduzidas novamente nos anos 90. No mínimo é uma estranha coincidência, certo?

Esta teoria foi validada e revista por Terry Pettijohn, um professor de psicologia na universidade da Carolina (EUA) e por vários outros pesquisadores e institutos de pesquisa de comportamento de consumo. Um resumo muito interessante está resumido neste artigo do jornal New York Times, de agosto de 2008. Desmond Morris utilizou esta teoria como base do seu livro “The Naked Ape“.

Nosso comportamento muda muito de acordo com a situação econômica. Isto já é um fato comprovado. A venda ou não de alguns itens só pode ser explicado por estes “up” e “down” da economia.

O que isto tem a ver com java?

Rod Johnson é um dos líderes da comunidade Java e Java EE. Ele é autor de livros importantes como “Expert One-on-One J2EE Design and Development (2002)“, “J2EE without EJB (Julho 2004, com Juergen Hoeller)“, “Professional Java Development with the Spring Framework (Julho, 2005)”.

Mais um detalhe. Ele é o idealizador do Spring Framework, indiscutivelmente, um dos melhores frameworks Java.

economyJavaEEcomplexity Foi ele quem apresentou um o gráfico ao lado que, utilizando o “Hemline Index“, expõe seu ponto de vista na tentativa de explicar, porque a plataforma Java tornou-se tão complexa.

Veja como temos uma tendência a complicar as coisa – como o comprimento longo das saias femininas -, quando a economia vai mau. E a complexidade diminui nas crises, como esta de 2008/2009.

Ele apresentou suas idéias durante o evento QCon, London 2009. É uma palestra de  pouco mais de 1 hora onde ele explica, com exemplos, alguns motivos que inseriram complexidade na plataforma Java.

Uma das razões é a abordagem de decisão por comitês, utilizado na JCP, que precisa “dar a benção” em toda mudança na linguagem.

Antes de mais nada, eu concordo com o ponto de vista colocado na apresentação. Não leve em conta minha opinião, ou mesmo do autor da apresentação: veja os fatos, os argumentos e tire suas próprias conclusões.

Meus R$ 0,10 na discussão. Como tudo na vida, a decisão por comitês (innovation by committee) é um processo de “trade-off“: ao controlar e burocratizar todo o processo de mudança, eu estou permutando estabilidade por uma menor inovação. É assim com as decisões do JCP e de todo comitê que você criar na sua empresa para controlar mudança.

Veja que isto não é necessariamente ruim. O ponto da discussão não é este. Existem épocas em que as saias são longas e em outros elas são curtas. Mas, tudo tem seu preço. No caso da plataforma Java, o preço foi o incremento de uma complexidade desnecessária.

Você quer saber algumas das razões?

Assisti a palestra do Rod Johnson e fiz um resumo. Se você se interessa pelo assunto, assista a palestra (1h 3min) ou leia meu resumo a seguir.

Que lições podemos tirar dos últimos 10 anos de desenvolvimento da linguagem Java?

Foi assim que R. Johnson iniciou sua palestra. Vou resumi-la em forma de bullets para simplificar a leitura.

Que lições podemos tirar dos erros no desenvolvimento da plataforma Java nos últimos 10 anos?

Dois fatores se destacam:

- O poder que os desenvolvedores tiveram com Java
- Flutuações na economia
- Java iniciou como uma linguagem fácil (ao contrário do que muitos acham), era como “C++–”. Mesmo hoje ainda é simples.
- O DNA de Java é a simplicidade
- O problema não é a linguagem em si. A complexidade foi introduzida ao longo do caminho

Um dos erros foi trazer o “Enterprise” para a linguagem. À esta palavras, em qualquer abordagem, está associada a complexidade. Quem se lembra das “Entity Beans”?

- A complexidade da indústria. Grandes companhias, como IBM, terem “abraçado” Java também tem pontos negativos. “É simplesmente impossível IBM adotar uma tecnologia e não complica-la”, de acordo com R. Johnson
- Abordagem “No pain no gain” (convenhamos, isto é uma falácia)
- Era legal ser complexo. Como desenvolvedor sou diferenciado (isto valeu no início)

Como J2EE evolui para Java EE

- Nos anos 90 Java começou a migrar para o servidor.
nota do autor do blog: Você já programou um “Applet”? Eu já! E utilizava o Notepad! (como sofremos…)
-Não existia muita “regulamentação” para a linguagem (nem havia muitas razões para)
-Ambiente de muita competição: ToLink, Apple WebObjects etc

O Bom e o Ruim

- Muita inovação, muitas opções (bom)
- Mercado de “server-side” era muito fragmentado (bom)
- Risco de ficar “preso” a um fornecedor (ruim)
- Muitas soluções caras (preço da inovação, ruim)

1999 – 2003

- Especificações começam: JCP
- Non-standard não podiam competir com uma plataforma J2EE padronizada:
- ORM versus EJB entity beans
- Velocity versus JSP
- WebObjects versus web tier

1999 – 2003: Bom e Ruim

- Cria-se um grande mercado
- Fornecedores com opções fechadas diminuiram, mas não foram eliminados
- Controle (JCP) estrangula a Inovação
- Idéia de que todos os business objects (EJB) deveriam ser distribuídos
- 2003: início de aplicações Java “leves” (lighter-weight solutions). Exemplo: a adoção em massa do Tomcat
- Os projetos open-source ajudaram a definir o futuro da plataforma e trouxeram inovação: Eclipse, Spring, AspectJ

As “armadilhas” ou Ideas que trouxeram complexidade no J2EE

- Design by committee: tudo precisava ser padronizado. JCP fala de forma privada; composto de grandes fornecedores de software
- Ferramentas que traziam excessiva complexidade
- Não abertura para outras plataformas, a abordagem “Java puro sangue”
- “Desenvolvedores são estúpidos e devem ser controlados”
- “Soluções complexas são melhores”
- “Eu preciso de uma solução que habilite minha arquitetura corporativa”

Os comitês queriam padronizar tudo em Java. Uma verdadeira obsessão do JCP. Citando, Jim Waldo, um engenheiro da Sun:

Reverenciando tudo de bom que os padrões nos trazem, eu acredito que, de certa forma, trazem um grande dano para nossa indústria e a ciência. Ele transforma discussões técnicas em debates políticos. Isto gerou um problema de entendimento do verdadeiro significado dos padrões. Pior de tudo, nos levou a fazer escolha tecnológicas absurdas, que nunca haviam sido implementadas e que não eram a escolha adequada para os problemas que tínhamos em nossas mãos

Exemplos do que foi dito acima:
- CORBA (1990s)
- CMP entity beans
- Muitos ignoraram o sucesso do “TopLink”

O bom exemplo do Linux

Linux é um exemplo de inovação que não fica restrita aos processos de padronização, que são restritos ao Kernel. Na minha opinião, se o processo de desenvolvimento do Linux fosse semelhante ao do Java não teríamos uma distribuição como o Ubuntu.

Qual deveria ser o papel do JCP?

Criar um “mercado” onde as inovações podem ser desenvolvidas a partir dos padrões. Inovação a partir de comitês (innovation by committee), historicamente, produzem resultados medíocres.

Por que a complexidade é “boa”?

- Temos uma tendência natural de achar que “sem dor não haverá ganhos”, ou o adágio “no pain no gain
- Síndrome da “Nova Roupa do Imperador”, ou seja, “não entendi muito bem, é muito complexo, então deve ser bom!”

“É a economia, estúpido!”

[nota do autor do blog: você já leram várias vezes esta frase aqui. E ela é citada por Rod Johnson como um dos motivos de mudanças no horizonte da complexidade. Veja o post sobre a versão 6 da plataforma Java]

- Em um cenário de pós-recessão temos que repensar os investimentos. Economia, economia.
- “Hemline Index”
Economista americano, George Taylor (1926). Relacionou a “exuberância irracional” de nossas ações (pessoas e empresas), com a exuberância da economia.

Inovações da comunidade que fizeram diferença

- Spring
- Hibernate
- Ruby on Rails
- Django
- Grails

Da comunidade open-source para simplificar a vida dos desenvolvedores!

Previsões

- Não teremos um retrocesso para um sistema com complexidade desnecessária
- Portfolio complexos não tem mais espaço. Foco na agilidade, simplicidade. Economia, economia.
- Processo Ágeis vieram para ficar
- Desenvolvedores ainda terão, e precisarão ter mais poder e mais responsabilidades
- Ainda é necessário termos uma plataforma Java que permita uma maior produtividade
- Tradicionais aplicações residentes no servidor cairão em desuso

Resumo

- A pessoa-chave para as mudança é o desenvolvedor
[nota do autor do blog: o desenvolvedor, o arquiteto tem que exercitar o Pensamento Crítico e não aceitar a complexidade simplesmente porque algum comitê, mesmo que seja o JCP, assim o definiu]
- Veja as alternativas, simplifique, estude e tire suas próprias conclusões. Não utilize uma solução porque alguém decidiu que esta é “a” solução

Categories: Architecture, JavaEE, lightweight Tags: