Concorrência Estranha nos Buscadores

On 18 de junho de 2007, in Geral, by elcio

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?

Tagged with:
 

9° ELPI em São Paulo

On 12 de junho de 2007, in Geral, by elcio

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.

Tagged with:
 

Microsoft, Google e o poder da massa crítica

On 4 de junho de 2007, in Geral, by elcio

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:

Tagged with:
 

ELPI Rio em algumas horas

On 29 de maio de 2007, in Geral, by elcio

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.

Tagged with:
 

Python X Java X Smalltalk

On 22 de maio de 2007, in Geral, by elcio

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.

Tagged with:
 

Entendendo os programadores

On 19 de maio de 2007, in Geral, by elcio

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.

Tagged with:
 

Ubuntu e o poder do Open Source

On 16 de maio de 2007, in Geral, by elcio

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.

Tagged with:
 

xSpec, o emulador de Sinclair ZX Spectrum

On 16 de maio de 2007, in Sem categoria, by elcio

Para os que gostam da história da informática: o primeiro computador em que eu programei na vida foi um Sinclair ZX Spectrum, que aqui no Brasil se chamava TK-90X. Pois não é que o saudoso micrinho fez 25 anos mês passado?

Baixei nos repositórios do Ubuntu o xspec, um emulador de Spectrum, para ver se eu ainda sabia alguma coisa de BASIC, e fiz um videozinho para que os mais novos nesse negócio possam ver um pouquinho de como foi o início da programação em microcomputadores:

Ah, que saudades!

Tagged with:
 

Se meu fusca falasse

On 14 de maio de 2007, in Geral, by elcio

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

$ say hello

Divertido.

Tagged with:
 

Como acessar o Pandora de fora dos Estados Unidos

On 11 de maio de 2007, in Sem categoria, by elcio

How to: Access Pandora from outside the US

Vou explicar aqui em português os métodos 1 e 2:

  1. Firefox + anonymous proxy: o truque é simples, você visita um dos seguintes sites:
    http://tools.rosinstrument.com/proxy/
    http://www.publicproxyservers.com/

    http://www.proxz.com/
    http://www.stayinvisible.com/
    E lá você encontra o endereço de um servidor proxy[bb] aberto. Encontrando, basta ir no Firefox em Editar > Preferências > Avançado > Rede > Configurações e configurar lá o servidor proxy escolhido. A tela é mais ou menos assim:

  2. Usando um proxy CGI público: a solução acima tem resultados melhores, mas está é bem mais prática. Não precisa configurar nada, entre neste site, escolha um servidor proxy na lista, digite o endereço do site a visitar (pandora.com) e navegue.

Os métodos são os mesmos que foram usados para acessar o YouTube quando ele foi bloqueado, e são os mesmos que você pode usar para acessar qualquer outra coisa que seja bloqueada em seu país ou em sua rede.

Antes que chovam comentários perguntando: sim, se o administrador de sua faculdade não bloqueou os open proxies, deve servir para você acessar o Orkut bloqueado de lá. Já o MSN bloqueado é mais complicado, mas você pode tentar acessar, via open proxy, o Meebo. De qualquer maneira, você não devia fazer isso. A rede é da faculdade, e eles é que mandam lá. Deve ter uma lan house aí na esquina onde você pode perder seu tempo no Orkut com tranqüilidade.

Tagged with:
 

Imite o Mac OS X você também

On 11 de maio de 2007, in Sem categoria, by elcio

Dashboard, Exposè, estilo Aqua, tudo já foi copiado no elegante Mac OS X. Mas a marca registrada do sistema ainda é o Dock. Há uma porção de cópias interessantes para o Dock em diversos ambientes. Mas, com javascript e CSS, eu nunca tinha visto uma razoável. Até que vi essa aqui. Veja esse Dock rodando nesse exemplo.

Muito bom. Tanto o código quanto o resultado visual.

Ah, se você tiver um tempinho para estudar o código, vai passar a odiar um pouquinho mais o Internet Explorer ;-)

Tagged with:
 

Aprenda expressões regulares!

On 9 de maio de 2007, in Sem categoria, by elcio

Exemplos de expressões regulares PHP. Expressões prontas para uma porção de coisas.

Seguem também uns exemplos brasileiros bem comuns:

CPF='\b([0-9]{3}\.?){3}-[0-9]{2}\b'
CNPJ='\b[0-9]{2,3}\.?([0-9]{3}\.?){2}\/[0-9]{4}-[0-9]{2}\b'
CEP='\b[0-9]{2}\.?[0-9]{3}-[0-9]{3}\b'

Expessões regulares permitem fazer com uma linha de código coisas que, de outra forma, levariam um bocado de código e tempo. Veja, por exemplo, este trecho de Javascript:

// Exibe o texto da página, removendo todas as tags
t=document.body.innerHTML
t=t.replace(/<.*?>/g,"")
t=t.replace(/[ \t]+/g," ")
t=t.replace(/(\n ?)+/g,"\n")

Pode dar um pouco de trabalho aprender expressões regulares[bb], mas eu garanto que o tempo que você investir nisso se paga muito rápido.

Tagged with:
 

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.

Tagged with:
 

Tudo Mais

On 8 de maio de 2007, in Geral, by elcio

Meu outro blog. Será que vai dar certo?

Tagged with:
 

Songbird ainda não está pronto para mim

On 7 de maio de 2007, in Geral, by elcio

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?

Tagged with:
 

Instalei o PidGin 2.0

On 5 de maio de 2007, in Sem categoria, by elcio

Acabo de instalar o tal PidGin 2.0.0, o substituto do Gaim, o programa que, ao ser lançado, causou tanto movimento que derrubou o site oficial. Ele está disponível para Windows e Linux[bb]. Para quem não sabe:

O Pidgin é um cliente de mensagens modular capaz de usar o AIM, MSN, Yahoo!, Jabber, ICQ, IRC, SILC, SIP/SIMPLE, Novell GroupWise, Lotus Sametime, Bonjour, Zephyr, Gadu-Gadu e QQ de uma vez só. Ele é escrito usando o GTK+.

Baixei os fontes do SourceForge, o pacote pidgin-2.0.0.tar.gz, aqui no meu Ubuntu 6.10. Depois o processo foi:

$ tar -xzvf pidgin-2.0.0.tar.gz
$ cd pidgin-2.0.0.tar.gz
$ ./configure
$ make
$ sudo make install

Assim mesmo, como manda o figurino, sem nenhum errinho. Ele leu meus contatos e contas do Gaim e já abriu conectando, pronto para usar.

É o bom e velho Gaim, com pequenas melhoras e novas funcionalidades, mais rápido e muito, muito mais bonito. A interface também deu uma boa melhorada em relação à usabilidade. Além disso, agora ele conecta em ainda mais redes que eu não vou usar ;-)

Updated: endereço do site corrigido. Obrigado pessoal.

Tagged with:
 

A experiência de uso Linux

On 4 de maio de 2007, in Sem categoria, by elcio

Sobre as grandes diferenças: Coisas que posso fazer em Linux e em windows não

Sobre as semelhanças (e as pequenas diferenças): Linux[bb] x Windows

Se você trabalha com internet, essa série deve interessá-lo:

Por falar nisso, no terceiro artigo dessa série o perguntou nos comentários:

Como você, vim do Windows/DreamWeaver para Linux/?(ainda). Gostei do
que vi no QuantaPlus, realmente é excelente, porém um das vantagens que
eu via ao usar o DreamWeaver com seu FTP era
o de ter sempre a certeza de pegar a última versão do programa e não
precisar me preocupar em enviar o arquivo certo e se está na última
versão. Eu abria o arquivo direto do ftp, ele baixava o último
(inclusive as dependências) abria na minha tela, eu editava (um ou mais
de um) salvava e o DreamWeaver já efetuava o Upload. Eu gostaria de
saber como é o seu procedimento agora. De repente eu também mudo e vejo
as vantagens. Sempre devemos estar aberto a aprender, né?

Tentei responder por lá, mas o sistema matemático parece funcionar com uma matemática diferente da minha. Então minha resposta vai aqui:

araujo,O Kate faz isso que você está querendo. Ele tem uma barra lateral de navegação em arquivos. Você pode adicionar um favorito ali no formato:

ftp://usuario:senha@servidor.com.br/pasta

Também suporta uma série de outros protocolos, como o sftp. Adicionando o favorito, é só clicar nele que o Kate lista os aruqivos e pastas. Clicando num arquivo o Kate abre diretamente do FTP, e se você salvar, salva direto lá também.

A dobradinha nautilus/gedit também torna isso transparente para você. Se você se conecta a um servidor de FTP pelo nautilus, pode clicar com o botão direito em qualquer arquivo e escolher “Abrir com Editor de Textos”. O nautilus também coloca o servidor de FTP como um dos caminhos possíveis nas caixas de abrir e salvar do gedit.

Tagged with:
 

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.

Tagged with:
 

O que você faz de diferente quando não está na frente do computador?

On 3 de maio de 2007, in Sem categoria, by elcio

O Nando me convidou para a brincadeira. Então lá vai:

Quando não estou na frente do computador, eu:

  • Assisto seriados com minha mulher e brinco com minha filha. É o que eu mais gosto de fazer. Se você está pensando “ah, isso não é diferente” é porque nunca nos viu brincando.
  • Toco gaita. Gaita cromática, na igreja. E de vez em quando canto. Com uma predileção especial por música a capella.
  • Cozinho. Quase sempre aos domingos. Quase sempre massa.
  • Jogo banco imobiliário. Jogo outras coisas também, mas nesse é difícil alguém ganhar de mim.

Já que abrimos para o off-topic pessoal, outras coisas curiosas a meu respeito:

  • Fiz magistério no segundo grau. Isso mesmo, você leu certo. Foi em Petrópolis, no IPAE. Uma das melhores coisas que fiz na vida foi ter ido estudar lá.
  • Cresci freqüentando o clube de desbravadores, no qual ainda colaboro esporadicamente como voluntário. Ali tive a oportunidade de fazer algumas coisas inesquecíveis da minha adolescência, como explorar cavernas, descer a Serra do Mar a pé, acender uma fogueira sem fósforos, e cozinhar nela minha própria comida, andar 80 km de bicicleta num dia, desfilar no sambódromo no 7 de setembro (já defilei segurando troféu, bandeira, marchando, tocando bumbo e trompete) e, o mais interessante de tudo, dormir ao relento.
  • Falo 33 idiomas diferentes. Mas as pessoas só entendem quando eu falo português. E eu só as entendo quando falam português.

Vou convidar para participar do jogo:

E agora voltamos a nossa programação normal

Tagged with:
 

Saudações amigos piratas!

O Digg perdeu o controle de seu próprio site por causa da singela seqüência de números[bb] acima. Uma história interessante que vale a pena acompanhar. Sua primeira tendência pode ser a de criticar o Digg pela censura. Mas, pense bem, se fosse o seu pequeno negócio de milhões de dólares que estivesse ameaçado de processo judicial, será que você seria realmente tão corajoso assim?

Continue reading »

Tagged with: