Sites e sistemas rápidos, acessíveis, bem posicionados no Google e, o que é mais importante, fáceis de usar.

Arquivos da tag 'Geral'

Concorrência Estranha nos Buscadores

18/06/2007

Busquei por "teste" no Yahoo! Brasil e olha os dois primeiros resultados:

Buscando por teste no Yahoo! os primeiros resultados são Google e UOL!

Estranhíssimo. Alguém me explica?

9° ELPI em São Paulo

12/06/2007

Você, que não sai de casa sem dar uma lida em seus feeds, não se esqueça de levar uma extensão a minha palestra no 9° Encontro Locaweb de Profissionais de Internet hoje. Será no Teatro Frei Caneca e, desta vez, infelizmente, não haverão inscrições no local. Então, se você não se inscreveu com antecedência, só ano que vem…

Ah, eu devolvo a extensão ao final, prometo.

Microsoft, Google e o poder da massa crítica

04/06/2007

Está todo mundo por aí falando sobre:

  • Microsoft Surface, um computador-mesa realmente impressionante. Entre no site e veja alguns dos videozinhos que você vai entender.
  • Google Gears, uma extensão para Firefox/Internet Explorer que permite ao desenvolvedor web guardar dados locais, na máquina do usuário.
  • O Orkut agora permite que você cadastre feeds em seu perfil.

Quando olhei cada um desses lançamentos, tive a mesma reação: "Ah, grande coisa!"

Nenhuma dessas idéias é nova ou revolucionária. Começando pelo Surface, é uma coleção de idéias velhas. Já vimos parte delas implementada no iPhone e na maneira como o sujeito pode usar os dedos nele. A idéia de colocar um computador numa mesa ou permitir seu uso por mais de uma pessoa também não é nova. E a maquininha da Microsoft está saindo por 10 mil. Dólares.

O Google Gears merece um pouquinho de explicação antes de dizer que a idéia não é nova. O Gears tem três componentes importantes. O primeiro é um tipo de servidor proxy com cache local. É um pouquinho mais do que isso, mas no fim permite a uma aplicação web responder dados ao usuário uma única vez, e ele terá esses dados em sua própria máquina a partir daí. O segundo é um banco de dados local, que permite a uma aplicação web, por exemplo, funcionar offline. O terceiro é um mecanismo para fazer com que seus scripts possam ser executados em segundo plano, sem congelar o navegador. De verdade? Isso não é nem tão novo, nem tão revolucionário assim. Para o sujeito que está desenvolvendo um Gmail, pode fazer diferença. Mas para pequenas aplicações, ou mesmo as medianas, dessas que a gente desenvolve todo dia, tudo poderia ser resolvido com cookies e um pouquinho de inteligência, sem demandar a instalação de um plugin.

Por fim, os feeds no Orkut. Aqui a experiência de quem esperava algo realmente novo pode ser decepcionante. Leia os comentários do Charles Pilger sobre o assunto, por exemplo.

Apesar disso, há algo que pode realmente fazer diferença nesse tipo de produto: massa crítica, quantidade de usuários, visibilidade. O Surface pode mostrar ao mundo a idéia nova. Talvez eu nunca venha a ter um Microsoft Surface, mas quem sabe eu daqui a algum tempo comecem a vender o XingLing Surface, o Itautec Surface ou o Positivo Surface? Tenho perguntado ao auditório, nos Encontros Locaweb, quem usa leitores de feeds e quem fornece RSS de qualquer maneira. Num público de desenvolvedores, o número de pessoas que levantam suas mãos é assombrosamente baixo. Imagino que entre os seres humanos comuns este números deve ser ainda menor. Feeds no Orkut podem ser um excelente recurso educativo. Isso pode fazer muita gente descobrir o RSS.

Em relação ao Gears, assim como em relação ao Silverlight, que não está na lista acima porque já tem um tempo, acontece algo curioso. Quem teria coragem de apostar hoje numa tecnologia que exige a instalação de um plugin para que seu site seja usado? Se fosse qualquer empresa pequena que estivesse lançando um desses produtos, ele logo seria descartado como algo ridículo. Mas todo mundo tem suas em relação ao poder de empresas como a Microsoft ou o Google de fazer com que as pessoas instalem algo em suas máquinas.

Em suma, quando você tem metade da Internet usando seus produtos, as regras podem ser diferentes para você. E quando você lança um Google Notebook ou um Zune, as pessoas parecem se esquecer muito rápido que você fracassou.

Em relação ao fato de não haver nenhuma novidade nesses produtos, vale lembrar o que diz o Getting Real: uma boa idéia não vale quase nada, o que vale mesmo é uma boa execução. Embora o Surface não seja novo, parece pelos vídeos que foi executado de maneira exímia.

E, claro, a história dos computadores mostra que nem sempre os melhores vencem. Nada de certezas, por enquanto.

Links interessantes:

ELPI Rio em algumas horas

29/05/2007

Começa dentro de algumas horas o Encontro Locaweb de Profissionais de Internet no Rio de Janeiro. Você que não consegue sair de casa sem primeiro ler seus feeds, não se esqueça de levar uma extensão para a minha palestra. Eu devolvo ao final, prometo.

Python X Java X Smalltalk

22/05/2007

Achei muito interessante este artigo comparando a sintaxe de Smalltalk com Java. Implementei os mesmos exemplos em Python, para que você possa comparar a sintaxe:

Problema: cálculo de fatorial

def factorialRecursive(n):
  if n<0:return 0
  if n==0:return 1
  return n*factorialRecursive(n-1)

Ou assim:

def factorialNonRecursive(n):
  if n<0:return 0
  return reduce(lambda a,b:a*b,[1]+range(1,n+1))

A recursividade pode parecer uma solução elegante, mas o consumo de memória é assombroso nesse caso, em qualquer linguagem. Calcular a fatorial de um número grande qualquer pode ser um problema com a recursividade. Por isso, prefira a versão não recursiva.

No novo Python 2.5 você pode fazer:

def fact(x): return (
  0 if x<0 else
  reduce(lambda a,b:a*b,[1]+range(1,x+1))
)

Aqui é difícil dizer qual é mais prática, Smalltalk ou Python. Você pode palpitar sobre qual é mais elegante, uma vez que as soluções são radicalmente diferentes, mas a escolha final é subjetiva.

Problema: imprimir os números de 1 a 10

Eu faria usando os recursos de programação funcional:

print "\n".join(map(str,range(1,11)))

Mas você pode preferir:

for i in range(1,11):
  print i

De qualquer maneira, ponto para o Python[bb] aqui.

Problema: trabalhando com Collections

l=[
  'Em Python,',
  'chamamos as',
  'collections',
  'de "listas"',
]
print "\n".join(l)

Aqui, indiscutivelmente, ponto para o Python.

Problema: mostrar os pares e ímpares entre 1 e 10

for i in range(1,11):
  print i,["is even","is odd"][i % 2]

Novamente, o Python ganha disparado.

Problema: invocar um método via Reflection

É bem fácil:

o=MyClass()
getattr(o,"showMessage")()

Aqui o páreo é duro, Python e Smalltalk correm cabeça-a-cabeça. Na minha opinição, Python ganha por um focinho.


PythonPara saber mais sobre Python recomendo o PythonBrasil.

Além disso, sou professor do Curso de Python da Visie.

Entendendo os programadores

19/05/2007

Deve-se perceber que nenhum engenheiro de software eticamente preparado jamais vai consentir em escrever uma procedure DestroyBaghdad. A ética profissional básica vai, por outro lado, pedir dele que escreva uma procedure DestroyCity, para a qual Baghdad possa ser passada como um parâmetro.

Mais aqui, inclusive muitos links sérios e interessantes.

Ubuntu e o poder do Open Source

16/05/2007

Bill Gates recomenda Ubuntu

Uma das grandes vantagens do open source, algo que na maioria dos softwares conhecidos é o que realmente movimenta o projeto, é o fato de que qualquer um pode colaborar. Você pode alterar e melhorar um software, enviando as correções para o autor, ou pode criar um "fork", uma versão sua daquele software. Pode também criar ferramentas para o software, criar arte como temas, templates, ícones, e até criar suas próprias campanhas de divulgação.

Veja por exemplo o Wubi. É um instalador de Ubuntu para usuários de Windows[bb]. Com ele você pode instalar o Ubuntu em seu computador com Windows no tradicional esquema Redmond "Next-Next-Finish". O Wubi instala o Ubuntu numa "partição virtual", um arquivo dentro do sistema de arquivos do Windows. Ou seja, você não precisa se preocupar em gravar um CD, formatar ou particionar seu HD e outras tarefas espinhudas.

O Wubi não é uma ferramenta oficial da distribuição. Foi feito por alguém que queria colaborar com o Ubuntu. Software livre é isso aí.

Você pode colaborar como quiser. Por exemplo, criando uma capa personalizada para o seu DVD do Ubuntu e compartilhando com quem quiser.

Se meu fusca falasse

14/05/2007

Se você é usuário de Mac OS X[bb], abra um terminal e digite:

$ say hello

Divertido.

Encontro Locaweb de Profissionais Web em Curitiba amanhã

09/05/2007

No encontro lá em Porto Alegre mais de 300 pessoas. Foi muito divertido.

Amanhã é a edição do evento em Curitiba, e como nos outros, vou estar apresentando a palestra "Microformats[bb], a web semântica com letra minúscula". Você pode se inscrever direto no local (Estação 21 Convention Center.)

E a brincadeira continua. Se você for e tiver condições, leve uma extensão para me emprestar. Uma extensão elétrica comum, com tomada de pinos redondos, qualquer uma serve.

Tudo Mais

08/05/2007

Meu outro blog. Será que vai dar certo?

Songbird ainda não está pronto para mim

07/05/2007

Como todo mundo anda elogiando, resolvi testar o Songbird. O programa é lindo! Mas eu acho que ainda não vou conseguir usá-lo. Talvez eu não tenha entendido direito o funcionamento do programa, e algum leitor mais esperto do que eu possa me ajudar.

Eu entendi errado ou o Songbird não entende feeds de Podcast? Só consegui pedir ao programa para assinar o conteúdo de uma página, que carregue no navegador, não um feed XML[bb]. No caso de feeds que possuem uma folha de estilo XSLT para o navegador, como os do Feedburner, a coisa funciona porque o Songbird os entende como uma página web:

Songbird vendo um feed no Feedburner

Já se o arquivo XML não tem nenhuma mágica associada a ele, veja o que acontece:

Songbird vendo um feed XML

Ou seja, eu preciso visitar o site, e mandar o Songbird "assinar" a página que contém a lista de arquivos mp3. Há uma série de problemas com essa abordagem:

  1. Nem todos os feeds tem uma página HTML[bb] que liste os arquivos. Estes eu não posso assinar.
  2. O endereço da página pode mudar. Não deveria, claro, "cool URI don't change" certo? Mas pode. E muita gente publica conteúdo só no feed, exclusivo para quem assina.
  3. Preciso navegar na minha coleção de podcasts e repetir este processo um a um.
  4. Por falar nisso, não há uma maneira de importar meu OPML. Incluir os podcasts um a um não é divertido. E como ele também não exporta, usar o Songbird significaria repetir o processo no dia em que eu resolvesse migrar para outro programa.

Ou seja, por enquanto ainda não vou me arriscar com o Songbird. É um projeto open source, baseado em XUL, logo é muito fácil criar extensões para ele e melhorá-lo. Qualquer um que saiba javascript pode colaborar. Quem sabe eles não resolvem isso rápido?

Speedy Power de 2MB, da Telefonica, pelo mesmo preço do 512Kbps

03/05/2007

Hoje, logo depois do almoço, alguém da Telefônica me ligou. Para oferecer um aumento na velocidade[bb] em meu Speedy Power 512Kbps. Vai passar para 2Mbps, sem aumentar o preço. A gente reclama tanto deles que, quando eles fazem alguma coisa assim, até se surpreende.

Deve ser a pressão da concorrência. Meu Speedy Power custa R$79,90/mês, e o provedor custa 24,90. O custo total é de R$ 104,80. Com Virtua, que infelizmente não está disponível aqui onde eu moro, eu conseguiria 2Mbps por R$ 99,00. E ainda teria 2Mbps 300Kbps de upload. Com Speedy, mesmo tendo 2Mbps de download, o upload é de apenas 128Kbps, o que faz uma grande diferença para quem trabalha com Internet.

O Diego já tinha me avisado que isso ia acontecer. O dele já está assim há algum tempo.

Update: Upload do Virtua corrigido. Eles já tiveram upload e download iguais no passado, mas faz tempo. Obrigado aos bem informados Matheus e Mikele que comentaram.

Desenvolvimento web com ferramentas open source ou proprietárias?

30/04/2007

O Fred, a quem eu finalmente tive o privilégio de conhecer pessoalmente no Encontro Locaweb em Porto Alegre, me entrevistou no aeroporto. O tema: ferramentas open source[bb] ou proprietárias? Confira o podcast.

Eu ao vivo no Encontro de Desenvolvedores Locaweb

19/04/2007

Vou estar no Encontro de Desenvolvedores Locaweb este ano, apresentando a palestra "Microformats[bb], a web semântica com letra minúscula". É na próxima quarta-feira, dia 25, em Porto Alegre, 10 de maio em Curitiba, 30 de maio no Rio de Janeiro e 12 de junho aqui em São Paulo.

Se você for e tiver condições, leve uma extensão para que possamos fazer uma brincadeira lá. Uma extensão elétrica comum, com tomada de pinos redondos, qualquer uma serve.

Desafio dos 4KB

26/03/2007

Momento Jabá: Quanta coisa você consegue fazer com apenas 4KB?

Crie uma página que faça algo impressionante com apenas 4KB de código. Pode usar HTML válido ou inválido, XML, Javascript, CSS e o que mais você quiser, desde que esteja tudo em uma única página. Nada de Flash, imagens externas, scripts externos ou Ajax. O resultado pode ser o que você quiser, desde que seja impressionante. Pode também funcionar apenas no Firefox, se você preferir. Afinal, você vai programar só por diversão.

Inclua a frase "Visie, ensinando os melhores", publique em algum lugar e envie o link para a gente. Vamos mostrar para o pessoal da Visie e ouvir o "Uau!" da galera. A página que conseguir o maior número de decibéis na reação dos espectadores, a mais impressionante, a mais surpreendente, vai ganhar um curso online de Javascript Crossbrowser da Visie, para você ou para doar para alguém.

Para que todos possamos ver os trabalhos, deixe um comentário aqui com o link para o seu. Você tem até sexta-feira, às 11h da manhã para enviar seus impressionantes 4KB de código. Vamos começar a avaliação na sexta-feira ao meio-dia, e a hora em que vai sair o resultado depende da quantidade de participantes.

Vamos mostrar para esse pessoal boboca por aí que programar[bb] é muito mais divertido que ficar escrevendo frasezinhas de efeito.

Divirtam-se!

Terno e gravata ou bermuda e chinelo?

15/03/2007

Não sei se foi de propósito, mas esse artigo:

Dez itens para que os geeks trabalhem em paz

Tem tudo a ver com esse:

Estilo da Americanas contrasta com o do Submarino

Como é aí, onde você trabalha? Você bate cartão? Tem que usar gravata? Como são os processos de trabalho? Que tipo de prestação de contas do seu trabalho você precisa fazer?

Os 20 blogs favoritos do Br-Linux

27/02/2007

Estou entre os 20 blogs favoritos do Br-Linux. Fico muito contente, principalmente porque o Br-Linux[bb] é um dos meus sites favoritos. Obrigado a todos os que votaram.

Web 2.0 … The Machine is Us/ing Us

06/02/2007

Bastante interessante. Meio utópico, romântico demais para o meu gosto, mas interessante:

view video[bb]

Vi na radinho.

Aprendendo a programar, em Python, Ruby, C++, Java ou Logo.

04/02/2007

Eu já tinha lido este excelente livro (e-book grátis):

How to Think Like a Computer Scientist: Learning With Python

Eu costumo recomendar a todo mundo que está tentando aprender lógica de programação, e o uso quando preciso ensinar alguém a programar. Eu já sabia que ele é uma versão em Python[bb] do original, em C++

Mas só hoje fiquei sabendo que o mesmo livro também está disponível nas versões Java, Ruby e Logo.

Agora você pode ensinar seus sobrinhos a programar usando sua linguagem de programação predileta. E, se eles ainda não tiverem idade para coisas como orientação a objeto, e precisarem de algo mais concreto, pode usar Logo.

Ajude o Open Source encontrando defeitos

02/02/2007

Você pode ajudar um projeto Open Source sem saber programar e sem gastar horas com isso. Basta escrever um bug report minimamente detalhado.

Por exemplo, o Automatix travou aqui no meu Linux durante uma instalação. Se eu usasse um sistema de código fechado, dificilmente poderia entender o que estava acontecendo. Mas na arquitetura aberta e flexível de sistemas Unix[bb], eu pude ajudar mesmo sem escrever uma linha de código. Escrevi um bug report.

Mesmo com meu inglês miojônico, o sujeito entendeu o que eu disse e já consertou o problema. A versão corrigida já está inclusive em minha própria máquina, atualizada sozinha pelo Ubuntu[bb].

Compare isso com as alternativas que você tem ao encontrar um defeito num produto de código fechado, rodando num sistema fechado e complicador como o Windows. O Linux[bb] também tem bugs, claro. A diferença é que com Linux você não está impotente. Você pode ajudar.