Click Alphaville e microformats

Para quem ainda não sabe, há uma semana coloquei definitivamente no ar o Click Alphaville. Ele é um site que reune os sites, telefones, e-mails e endereços das empresas de Alphaville (Barueri) e região.

O site é bem funcional e interativo. Cada anúncio pode receber tags enviadas pelos usuários, comentários e classificação com até 5 estrelas.

Hoje implantei nele algumas coisas interessantes. A mais legal de todas é a especificação dosi microformats.

Microformats nada mais é do que pequenas marcações para deixar o código ’semântico’. Vários sites na internet já possuem essas marcações para ajudar mecanismos de buscas e desenvolvedores que usam o site como se fosse uma API.

No Click Alphaville, cada página de anúncio possui microformats nas TAGs, nos endereço e na classificação.

Quem utiliza o Firefox, pode usar uma extensão chamada “Operator” que lê estes microformats e disponibiliza-os na barra de ferramentas de forma fácil para interação. É possível pesquisar as tags em outros sites ou exportar o endereço como um cartão de visitas, por exemplo.

Quem quiser conferir, é só acessar o Click Alphaville e abrir qualquer anúncio.

Widget: Twitter no seu site

Eu desenvolvi hoje para meu blog um widget pra exibir o twitter na barra lateral. Como sou legal com todo mundo, vou disponibilizar ele para quem quiser colocar no seu site, blog, myspace ou outro lugar legal.

O widget é só um iframe. Logo, não requer muita inteligência/habilidade para instalação.

Para colocar em algum lugar, é só copiar o código a seguir substituindo “seunick” pelo seu nick no twitter ou algum termo que deseja buscar:

<iframe border="0" src="http://api.brunobarreto.net/twitter/widget.html?q=seunick"></iframe>

Para mudar altura e largura, é só seguir a especificação do iframe:

Exemplo:
<iframe width="430" height="300" style="border:none" src="http://api.brunobarreto.net/twitter/widget.html?q=twitter+widget"></iframe>

Irá gerar:

Update:
O código fonte! Está em php e você pode fazer download e usar como quiser.

Vigilância sanitária em PHP

From XKCD

Do XKCD

Já parou para se perguntar o motivo pelo qual você sempre esquece de limpar os dados que os usuários digitam dentro da aplicação que você está desenvolvendo?

Limpar ou validar esses dados pode previnir e resolver dezenas de problemas. Principalmente, resolverá problemas de segurança.

Em PHP, temos várias funções nativas que ajudam a validar e sanitizar as variáveis. Uma boa função que eu raramente uso (mas vou começar a usar) é a filter_var.

A função filter_var permite uma infinidade de validações que precisamos usar em todos os projetos. Dentre elas: validar e-mail, url, números inteiros, números decimais, remover html, remover caracteres especiais e etc.

A seguir mostro usos práticos de validação:

filter_var($variavel,FILTER_VALIDATE_BOOLEAN)
Retorna TRUE se $variavel for um valor boleano ou FALSE se não for.

filter_var($variavel,FILTER_VALIDATE_EMAIL)
Retorna TRUE se $variavel for um endereço de e-mail ou FALSE se não for.

filter_var($variavel,FILTER_VALIDATE_FLOAT)
Retorna TRUE se $variavel for um número com ponto flutuante.

filter_var($variavel,FILTER_VALIDATE_INT)
Retorna TRUE se $variavel for um número inteiro.

filter_var($variavel,FILTER_VALIDATE_IP)
Retorna TRUE se $variavel for um número IP.

filter_var($variavel,FILTER_VALIDATE_URL)
Retorna TRUE se $variavel for uma URL válida (não necessariamente precisa existir).

Os códigos mostrados acima, simplesmente validam a informação passada. Eles não alteram nada na variável. Diferentemente do que mostrarei a seguir, que são funções de sanitização da variável:

filter_var($variavel,FILTER_SANITIZE_STRING)
Remove códigos HTML e caracteres inválidos

filter_var($variavel,FILTER_SANITIZE_ENCODED)
Codifica $variavel de acordo com a RFC 1738

filter_var($variavel,FILTER_SANITIZE_SPECIAL_CHARS)
Converte caracteres especiais de HTML como aspas, “e” comercial em códigos HTML padronizados.

filter_var($variavel,FILTER_SANITIZE_EMAIL)
Remove caracteres que um endereço de e-mail não pode conter. É interessante usar esta função após validar com o FILTER_VALIDATE_EMAIL.

filter_var($variavel,FILTER_SANITIZE_URL)
Remove caracters que não são permitidas em uma URL. É interessante usar esta função após validar com oFILTER_VALIDADE_URL.

filter_var($variavel,FILTER_SANITIZE_NUMBER_INT)
Remove pontos, vírgulas e outros caracteres, deixando somente os números. Ex.: 1a2b3c => 123

filter_var($variavel,FILTER_SANITIZE_NUMBER_FLOAT)
Remove pontos, vírgulas e outros caracteres, deixando somente os números.

Senado decide que campanha eleitoral deve ser livre na internet

Abaixo segue reprodução da matéria da Agência do Senado:

O Plenário do Senado acaba de aprovar em votação simbólica nova emenda ao projeto de reforma eleitoral (PLC 141/09) definindo que é livre a manifestação de pensamento na internet e em outros meios eletrônicos de comunicação interpessoal durante a campanha eleitoral, sendo vedado o anonimato e assegurado o direito de resposta.

Com isso, os internautas podem se manifestar contra ou a favor de qualquer candidato em blogs, sites de relacionamento como Orkut e de mensagens instantâneas como o Twitter. Páginas de veículos jornalísticos também são beneficiadas.

O texto aprovado é fruto de acordo firmado em Plenário durante a discussão de duas emendas de teor semelhante, dos senadores Alvaro Dias (PSDB-PR) e Aloizio Mercadante (PT-SP), que suprimiam artigo do texto aprovado pela Câmara que restringia o uso da internet nas campanhas eleitorais. O intuito dos senadores era justamente liberar a campanha na rede mundial de computadores.

O novo texto foi apresentado pelos relatores da matéria, senadores Eduardo Azeredo (PSDB-MG) e Marco Maciel (DEM-PE) depois que Azeredo alertou os senadores para a possibilidade de que a simples supressão daquele artigo fizesse prevalecer o entendimento do Tribunal Superior Eleitoral (TSE), que também restringia o uso da internet. Concordando com as ponderações do senador, os parlamentares decidiram apoiar a nova redação, que agora precisará ser referendada pela Câmara dos Deputados.

Página de origem

Conferência Web W3C Brasil

(Post de divulgação da Conferência Web W3C no Brasil.)

Você pode ser um palestrante da 1a. Conferência Web W3C Brasil! Se você tem um caso prático e inovador de uso da web, ou fez uma pesquisa cujos resultados merecem ser compartilhados com toda a comunidade web brasileira, ou ainda tem o “pulo do gato” para ensinar em um tutorial, então atenda a nossa Chamada de ‘Papers’, Casos de uso e Tutoriais. O prazo é até 30 de setembro de 2009.

Obs.: Inscritos com trabalhos acadêmicos selecionados receberão passagem aérea para participarem da conferência.

Consulte o site http://conferenciaweb.w3c.br/chamada-de-trabalhos para obter informações mais detalhadas.

Temas que serão debatidos na conferência:

  • tendências da web
  • o uso de padrões: benefícios imediatos e futuro
  • acessibilidade e usabilidade
  • web semântica
  • web searching
  • mobile web
  • governo eletrônico
  • segurança e privacidade
  • modelos de negócios
  • comércio eletrônico / mercado eletrônico
  • redes sociais
  • cloud computing
  • web mining
  • serviços web
  • web 2.0 / web 3.0
  • reputação em sistemas Web / Credibilidade
  • recuperação de informação na Web
  • comportamento de usuários na Web

1a. Conferência Web W3C Brasil – CHAMADA DE TRABALHOS
Papers, Casos de Uso e Tutoriais
1a. Conferência Web W3C Brasil 2009
23 e 24 de novembro de 2009 – São Paulo, SP

endereço na web: http://conferenciaweb.w3c.br/chamada-de-trabalhos
endereço e-mail
: conferenciaweb@nic.br
grupo no facebook
: http://www.facebook.com/group.php?gid=122287968751
endereço para submissão de trabalhos
: http://www.easychair.org/conferences/?conf=wwwbrasil2009
prazo
: 30/09/2009

select * from internet: Yahoo! Query Language

A internet virou um banco de dados. Há um tempo, não tenho certeza quanto, mas faz mais de um ano, a Yahoo! lançou um produto chamado YQL (Yahoo! Query Language). O YQL é um webservice que permite fazer ‘queries’ em qualquer tipo de banco de dados aberto na web. É possível até fazer queries dentro de páginas XHTML.

Com uma sintaxe muito similar ao SQL, podemos usar o YQL para pré-processar feeds de blogs, arquivos XML e outras fontes de dados disponíveis na Internet.

Para acessar o console de testes, entre em: http://developer.yahoo.com/yql/console (é necessário possuir uma Yahoo! Conta).

Disponibilizo para download um arquivo compactado com um script em PHP com um exemplo do YQL. Nele, há um formulário onde deve ser digitado um nome de uma cidade e com duas queries simples, pegaremos a previsão do tempo naquela cidade. A previsão é fornecida pelo Weather Channel.

Clique aqui e faça o download do script ou teste ele online.

A Google sabe o que você fez no verão passado

O título não tem nada a ver com o post. Embora seja verdade.

Bom dia! Feriadão, dia da Revolução Constitucionalista de 32 e dia de ganhar café espresso de graça na padaria.

Para quem ainda não sabe, foi anunciado na última terça, 7 (sem alusões ao novo sistema da Microsoft), o Chrome OS. Ele será o sistema operacional desenvolvido pela Google para tentar desbancar a majestade do Windows a nossa tão odiada Microsoft. O sistema operacional será desenvolvido principalmente para netbooks, tendo em vista que o objetivo do OS é aumentar o consumo de serviços na plataforma web e não local. Imagino que ele não virá com openOffice, ou se vier, deverá ter uma boa integração com o Google Docs.

Uma boa também será o sistema de autenticação que poderá ser integrado com OpenID. Isso permitirá a criação de um desktop remoto com nossas preferências e arquivos pessoais hospedados em nuvem – sabendo que a capacidade de armazenamento dos netbooks é pequeno.

Como todo produto novo e importante da empresa, já temos supostas imagens. Sim, são fakes. Mas ilustram o post. Elas foram publicadas inicialmente aqui.

Onda de Choque Firefox 3.5 começa no Brasil

Amanhã, dia 30 de Junho de 2009, o Firefox 3.5 será lançado. A idéia é criar uma onda social e assim foi criado este projeto Shock. Cada país vai twittar, blogar, comentar, enviar e-mails, publicar – exatamenta as 15h50. Tudo começa no Brasil e depois terminamos todos juntos no outro dia depois que todos os paises e timezones fizerem suas ondas.

Here’s how the Shock waves will go down:

Tuesday, June 30th
1st Shockwave
3:50 PM in Brazil (BRT)
2nd Shockwave
3:50 PM in New York (EDT)
3rd Shockwave 3:50 PM in Chicago (CDT)
4th Shockwave 3:50 PM in Denver (MDT)
5th Shockwave 3:50 PM in San Francisco (PDT)

Wednesday, July 1st
Super Shock 3:50 PM in Brazil (BRT)

#fisl: Impressões iniciais

Olá leitores!

Faz um bom tempo que não escrevo nada aqui no blog. Isso deve-se à muito trabalho sendo realizado durante todo esse tempo em que estive fora.

Hoje, especialmente, tenho um bom tempo livre. Estou em Porto Alegre participando do décimo Fórum Internacional do Software Livre (10º FISL – www.fisl.org.br.). Deixo a seguir as primeiras impressões e minha experiência no evento:

Meu dia começa as 4h30. Acordo, tomo banho e vou direto para o aeroporto de Guarulhos onde pego um vôo da empresa Webjet direto para Porto Alegre. Chegando em POA, vou de táxi para o centro da cidade onde estou hospedado.

Depois de deixar as malas no hotel, pego uma lotação no valor de R$3,30 e vou direto para o centro de eventos da PUC do Rio Grande do Sul onde está acontecendo o 10º FISL.

Chegando lá, identifico-me como palestrante e pego a credencial para acesso à todas as áreas do evento. A primeira impressão nesta segunda foi dos estandes sendo montados e muita gente sem informação de onde ir para conseguir suas credenciais.

Quando todos estão credenciados, começa as 9h as palestras nos auditórios. As primeiras foram tranquilas. Quem pretendia acompanhar, assistiu sem nenhum problema. Após o almoço (no restaurante ‘Panorama’ no quarto andar por R$ 16,00 – sem bebida), as pessoas que quiseram assistir a palestras foram prejudicadas pelo número de participantes do evento. Sem brincadeira, todas as salas ficaram lotadas! Por decisão da PUC, nenhuma pessoa podia ficar em pé ou sentada no chão dentro do auditório.

A abertura oficial do evento estava programada para as 16h. Devido a superlotação do evento (impossibilidade de transitar entre os estandes e salas) resolvi voltar para o hotel e acompanhar tudo pela TV Software Livre.

Como a conexão aqui no hotel não é lá aquelas coisas, não consegui acompanhar nada. Resolvi dormir algumas horas (lembre-se que eu acordei as 4h3o). Ao acordar eu fui dar uma volta na cidade e descobri que após as 21h Porto Alegre morre. Não encontrei nenhum estabelecimento aberto. Tive que andar muito até encontrar um barzinho aberto. Chegando lá, assisti ao jogo do Grêmio que acabou perdendo por 3 a 1 para o Cruzeiro.

Após o jogo, retornei para o hotel e agendei meu despertar para as 7h de amanhã quando o café começa a ser servido. Boa noite.

Ganhe dinheiro na web com o conceito do SaaS

Apesar deste título de post ser altamente apelativo para os buscadores, este post vai servir mais para explicar o que é na verdade SaaS e o que ele tem a ver comigo e com você.

O SaaS (software as a service, do inglês: software como um serviço) é um modelo de desenvolvimento onde para que uma aplicação possa ser usada, a entidade responsável por esta deve fornecer uma licença de uso. Um bom exemplo de SaaS é o Google Apps, onde os grandes clientes da Google usufruem dos servidores de e-mails e arquivos pagando uma pequena mensalidade (o termo ‘pequena mensalidade’ me traz à memória a teoria do long tail de Chris Anderson que fica pra um próximo post).

Para mim, desenvolvedor web, o SaaS é uma grande oportunidade de ganhar dinheiro fácil. Durante minhas pesquisas no mundo virtual descobri que millhares de startups nacionais e internacionais estão crescendo rapidamente graças à esse modelo de trabalho (o qual adotarei em breve).

Um exemplo primitivo mas não incorreto de SaaS é o antigo site do HPG do IG que nasceu há um bom tempo e persiste até hoje nas entranhas do portal. Inicialmente gratuito, o HPG fornecia ferramentas fáceis para criar e gerenciar o conteúdo de um website por pessoas que não sabem programar ou empresas que não gostariam de contratar profissionais como designers, programadores e analistas de usabilidade para seus sites (todas estas funções era resumidas em uma palavra para o pessoal ‘antenado’ do recursos humanos: webmaster).

O uso de software como serviço ganha força com a recente explosão da cloud computing (computação em nuvens) – onde vários computadores interligados trabalham como uma equipe para aumentar a capacidade de processamento e armazenamento. Com esse aumento de capacidade de processamento as empresas aumentam a margem de possibilidades de uso de seus servidores para fornecer serviços para um maior número de empresas e/ou usuários a um custo relativamente baixo.

Um case antigo de SaaS que está dentro dos computadores das maiores empresas do mundo existe desde 1972. Claro que nesta época este serviço em nada parecia com o que temos atualmente. Mas a idéia por trás da lógica de negócios era a mesma. Estamos falando da SAP. A empresa foi fundada por cinco ex-engenheiros da IBM cujo objetivo era desenvolver um software de processamento em tempo real dos dados das empresas. Três décadas depois ela já marca presença em 120 países e mais de 50 mil funcionários empregados.

Histórias como essas da SAP não é uma ‘agulha no palheiro’ como muitas pessoas podem imaginar. O segredo está na idéia. Uma idéia valiosa quando bem empregada nesse modelo pode render alguns milhares, senão milhões. Portanto, caso queira investir nesse modelo de serviço, aqui vão algumas dicas:

  • Crie algo útil e inovador. Não tente reinventar a roda. Seja criativo.
  • Escolha um segmento de mercado. A SAP teve sorte em atingir vários ramos. Mas vá com calma. Não tente abraçar o mundo.
  • Encapsulamento é tudo. Quando eu falo de ‘encapsulamento’, me refiro a um sistema modular. Um cadastro de clientes serve pra praticamente todas as empresas do mundo, mas um cadastro de veículos pode não ser aplicável a todas. Um sistema modular ajuda a definir e justificar os valores cobrados pelo seu serviço.
  • Cobre pouco. No início seu serviço pode não ter muitas funções que podem ser implementadas mais tarde e cobradas adicionalmente. SaaS funciona muito bem em conjunto com a teoria do Long Tail. Vale a pena pesquisar sobre isso caso ainda não conheça.
  • Integração. Um software como serviço torna-se mais útil quando você pode integrar ele com facilidade em qualquer outra plataforma ou serviço.

Abaixo deixo alguns links para que você aprenda mais tudo o que foi falado aqui (a maioria citada já no post):

Serviços de SaaS bem sucedidos na web:

Não são só esses os casos de SaaS na web. SaaS, teoricamente falando, envolve todos os sites que fornecem um serviço útil aos seus usuários (o que engloba quase todos os sites atuais da chamada ‘web 2.0′). Sites e softwares como o Flickr, Google Maps, Live Messenger, Skype, Wordpress, entre outros também são considerados SaaS.