Acorda pra Web!

Tecnologia que vai mudar nossas vidas, depois do café.

Arquivo de March, 2007

Parei de usar MySQL

Saturday, March 31st, 2007

A maioria dos bancos de dados hoje em dia roda no sistema cliente/servidor. Isso significa que o banco de dados fica como um serviço e toda vez que a aplicação necessita de dados, ela conecta com esse serviço e pega as informações. Isso também significa que você tem que instalar o Gerenciador, configurar conexões, hostnames, portas e tudo mais. Quem já instalou PHP+MySQL pessoalmente sabe que é um saco, mesmo que já tenha decorado tudo.

sqlite.gifO SQLite tem uma abordagem diferente: você não precisa instalá-lo, não precisa configurá-lo. Ele é uma biblioteca em C que gerencia bancos de dados direto no sistema de arquivos. Todo seu banco de dados fica em um arquivo e essa pequena biblioteca controla o arquivo. Configuração Zero.

Além dessas pequenas vantagens, o SQLite é de duas a três vezes mais rápido que o MySQL em consultas normais e pode chegar a ser até 60 vezes mais rápido que qualquer gerenciador de bancos de dados.

Existe uma única desvantagem no SQLite: ele tem limitações na hora de incluir dados. Por usar o sistema de arquivos, a fim de manter a integridade do banco, sempre que algo for adicionado ao banco de dados o SQLite trava o arquivo para que não seja corrompido. Cada inserção no banco de dados demanda tempo mínimo, cerca de 0,010 segundos, o que fica praticamente imperceptível para sites pequenos e médios. O problema é com sites com mais de 500 inserções únicas de caminhos diferentes por segundo. Bom, o problema nem é tão grande, afinal 99% dos sites não chega a ter esse grande volume de inserções.

Que tal começar a usar SQLite?

Ladrão, Ladrãozinho!

Friday, March 30th, 2007

Li recentemente no Blog do Cardoso sobre a punição que ele dá pra quem rouba banda das imagens dele.

A coisa acontece assim: você posta uma imagem no seu site e alguém vai lá e simplesmente copia o endereço e coloca em seu próprio site. Quando a imagem é acessada, a SUA banda é consumida e não a do sacana.

Em casos pequenos dá até pra se divertir, colocando alguma imagem pornográfica no lugar da anterior e consequentemente mudando o site do infeliz.

634673.jpg

O Que aconteceu recentemente no MySpace foi algo muito, muito maior. O MySpace permite que você instale temas para personalizar sua página, e muitas pessoas oferecem temas para download.

O Fundador e chefe executivo da Newsvine Mike Davidson criou um tema muito popular e disponibilizou para qualquer um usar, desde que colocasse os créditos e hospedasse as imagens em seu próprio servidor.

O Candidato a presidente John McCain usou esse tema em seu MySpace. (silêncio). McCain é contra o casamento gay.

À esquerda vocês podem ver que ele nem teve a coragem de tirar a mensagem “No requests for design help please” (Sem pedidos de ajuda pra design por favor) que Mike colocou em seu tema. O Senador (ou seu péssimo web designer) apenas linkou a imagem diretamente, sem dó.

Mike explica toda sua revolta com isso no post Hacking John McCain em seu blog.

Abaixo vemos a nova versão que Mike colocou em seus servidores. Nela podemos ler uma mensagem que em português significa “Caros eleitores, Hoje anuncio que eu mudei minha posição e agora dou todo apoio ao casamento gay… em particular o casamento entre duas mulheres apaixonadas”.

634672.jpg

Abaixo ele ainda coloca “Discuta as eleições de 2008 em www.newsvine.com”.

Um caso similar aconteceu quando a Microsoft fez hotlink de uma imagem do Flickr, de um álbum de um de seus ex-funcionários.

Após algumas medidas o funcionário trocou a foto dele por uma uma um pouco diferente. A screenshot do resultado está aqui e ficou por um período de tempo nesse post aqui. Agora só tem uma notinha xoxa lá sobre o ocorrido.

As empresas e esse senador não tem noção do que fazem mesmo. Colocar uma imagem externa sem autorização em um site é pedir pra levar ferro. Ainda mais quando os alvos são assim grandes.

E aí, alguém quer fazer hot link de algo daqui? :)

Vi no famoso TechCrunch.

Mudando URLs do WordPress

Thursday, March 29th, 2007

Esses dias precisei mudar a estrutura as URIs do Acorda pra Web! Na de antes, os posts continham a data embutida, assim:

“http://www.acordapraweb.com/2007/03/28/exemplos-de-web-semantica/”
Eu queria que ficasse assim:

“http://www.acordapraweb.com/acorda-uma-introducao-a-web-semantica”

Mudei no painel de permalinks e tentei um plugin pra fazer os redirecionamentos automáticos, e não deixar os posts anteriores quebrados. O plugin não funcionou.

Além do mais, o plugin não mudaria as URLs das categorias do blog, que antes tinham “category” como ação e agora tem “tag”.

Resolvi mecher no .htaccess e finalmente consegui o que eu queria. Agora as páginas com a estrutura antiga redirecionam permanentemente para as novas. Direitinho como o Google manda!

Usei essas linhas no meu .htaccess:

htaccess
RedirectMatch 301 ^/category/(.*) /tag/$1
RedirectMatch 301 ^/([0-9]*)/([0-9]*)/([0-9]*)/(.*) /$4

Moleza, né?

Galeria de Imagens em CSS Puro

Thursday, March 29th, 2007

Esses dias lembrei de uma galeria de fotos bem dinâmica que fiz em CSS Puro. Funcionou em todos os navegadores na época.

O mais legal dela é a abordagem minimalística do CSS. Não uso uma classe por foto, tudo é baseado na tag img e pra ativar a galeria basta adicionar uma única class="photopreview" na lista não-ordenada que contém as imagens.

Fiz duas versões, aqui e aqui. As fotos (e um pouco de inspiração) eu roubei da galeria que o Maujor fez.

Essa galeria também é legal pra mostrar como os navegadores implementam diferente cada coisa no CSS. No Firefox por exemplo você pode clicar e arrastar sobre as fotos (segunda galeria) que a propriedade active se mantém. Já nos demais, acontecem coisas estranhas.

Provavelmente essa galeria é muito menor do que qualquer uma feita em Flash ou Ajax. Não tem efeitos de transparência nem transição, mas é elegante e funcional.

Com um pouco mais de trabalho dá pra colocar miniaturas reais nela (as que usei são apenas redimensionamentos) e zoom real também. Preferi evitar a fadiga e deixar o código simples, a idéia da galeria é apenas transmitir uma….. idéia.

Exemplos de Web Semântica

Wednesday, March 28th, 2007

Provavelmente você já ouviu falar de Web Semântica. É uma realidade próxima que estamos observando nascer. A melhor maneira de explicar como ela funciona é por exemplos:

Caso 1: O Blogueiro Semântico

650192_magnify.jpg

Como a Web Semântica poderia ajudar a escrever em um blog? Sem dúvida a imagem ideal que tenho é apenas digitar e o blog criar os links pra mim.

Ao citar o fictício Blog do Zé em um post, a minha aplicação de blogs deveria consultar a blogosfera e automaticamente linkar o texto citado ao blog. Caso houvesse mais de um resultado por “Blog do Zé” na blogosfera ele me daria a opção de escolher.

Uma aplicação de blog também poderia me dar sugestões pra links dentro do meu próprio blog. Se estou falando sobre algo que já comentei antes, ela poderá me sugerir links baseando-se no conteúdo que escrevo.

Caso 2: Loja Virtual Inteligente

O futuro de agregadores de produtos como o Buscapé é tornar-se cada vez mais semântico. O ideal seria que os produtos listados já mostrassem o custo final com frete incluso pro endereço do visitante e tudo mais. O próprio navegador já armazenaria preferências como a forma de parcelamento, pagamento e entrega prediletas do comprador.

Caso 3: Busca Pelo Mundo

Com a combinação de mapas e internet podemos criar uma rede com informações sobre pontos geográficos. Isso significa que no futuro, do seu celular, você pode encontrar o local mais próximo que venda comida chinesa e saber o preço, se há vagas no estacionamento e qual o melhor caminho pra chegar lá. Basta que o restaurante chinês mantenha atualizadas suas informações.

Fácil assim

Essas caracteristicas de integração podem ser conseguidas hoje, só que precisa haver uma comunicação entre o restaurante e a operadora de celular, entre a loja e o indexador de protudos e por aí vai.

A Web Semântica só estará pronta quando os sites começarem a usar as tecnologias padronizadas que irão tornar tudo isso possível, como o RDF.

Integração já existe, o que não existe é integração livre e padronizada, sem que eu tenha que fazer cada conexão com os mapas, blogs e demais recursos manualmente.

Jogos 3D em JavaScript

Tuesday, March 27th, 2007

Esses dias vi lá no fechaTag um post sobre Ajax 3D e resolvi dar uma pesquisada.

Screenshot do jogo CanvascapeDá uma olhada nesse jogo em JavaScript feito com a tag canvas e a técnica de RayCasting e nessa calculadora que traça gráficos das funções.

Existem também algumas coisas menos 3D como esse joguinho de módulo lunar.

De qualquer forma, é legal ver que os jogos estão entrando nesse caminho. Ainda falta muito pra conseguir chegar no nível de um Flash por exemplo, mas é um ótimo começo.

Por enquanto essa tag canvas só existe no Firefox e Safari, mas existe um jeitinho pra rodar tudo no Internet Explorer usando o VML (um avô do SVG).

Nunca vi um site XHTML

Tuesday, March 27th, 2007

Sério mesmo, nunca vi um site em XHTML. Vou explicar:

Todos que começaram sua longa jornada na descoberta da metodologia Tableless de desenvolver páginas, o lado branco da força, já ouviram falar de XHTML.

Dizem que é uma versão melhorada do HTML, porque fecha as tags, não comprime os atributos, é uma reformulação do HTML em XML. Só isso não é a proposta do XHTML.

XHTML significa eXtensible Hyper-Text MarkUp Language, ou Linguagem extensível de marcação de hipertexto. A grande diferença está na palavrinha extensível.

A parte que todos conhecem do XHTML é o menos importante: ele tem que ser válido. Válido pra que? Pra que possamos extendê-lo, pra que possamos tirar dele coisas que nunca acharíamos que fosse possível.

Já vi inúmeros sites que se declaram XHTML, validam seu XHTML e no fim só usam os módulos padrão, ou seja: tudo que está disponível no HTML. Perda de tempo. Como já disseram o Bruno e o Lachlan Hunt: Esquece o XHTML e usa HTML.

Extender o XHTML significa que podemos usar novas tags, atributos e semântica nele através do XML.

Podemos criar uma equação matemática usando MathML, então usar JavaScript e fazer cálculos baseados na mesma através do DOM.

Podemos criar gráficos vetoriais em SVG e usando DOM saber quantos círculos aquela imagem tem, ou então criar uma animação baseada em JavaScript direto nos elementos gráficos, sem usar DIV’s. (Em uma maneira muito similar ao Flash com seu ActionScript)

Você pode inclusive criar seu próprio módulo XHTML, o que significa que usar XHTML pode ser tão livre quanto escrever em XML.

O motivo do título é que nunca vi ninguém extendendo o XHTML, apenas usam ele como se fosse HTML. É como comprar uma bicicleta de 18 marchas e andar sempre na mesma marcha. Ainda estou pra ver um site em XHTML.

Liguei meu computador no dia errado

Monday, March 26th, 2007

Recentemente colocaram a pérola Shutdown Day no ar. É um site que incentivou as pessoas a desligarem seus PCs no dia 24/03 e fazerem qualquer outra coisa.

Aqui no Acorda pra Web! tivemos a menor visitação da semana no dia 24. Será que foi por causa do sábado (que nunca tem muita visitação) ou vocês realmente desligaram seus computadores?

shutdown.JPG

(Não reparem na pífia visitação do blog!)

Li lá no A Vida Mata a Pau um post legal sobre o assunto. Desligar meu pc só pra provar que consigo? Pra que?

Você desligou seu pc? E você blogueiro, como foram suas visitações no sábado dia 24?

Que editor de códigos você usa?

Monday, March 26th, 2007

Eu uso o PSPad unicamente por falta de opção. Ele conecta ao FTP e salva diretamente, o que torna ele o mais próximo do que eu queria.

PSPad LogoTambém é interessante porque ele é portável: levo ele no meu pendrive e posso editar sites onde eu quiser.

O que eu queria mesmo é um editor web-based. Um tipo de Google Docs para códigos.

Testei o Codepress, mas ele não é um editor em si, somente um tipo de biblioteca de coloração de sintaxe. Também testei um outro (que nem lembro o nome) que rodava somente em PHP4, o que me desanimou profundamente.

Quando não consigo usar meu PSPad, tenho que recorrer a um webftp. Eu uso o net2ftp , ele acessa os arquivos do meu site e posso editar ele usando o Codepress (citado lá em cima) ou um textarea em html normal. Só que pra salvar, ele recarrega a página e perco muito tempo nisso, queria algo que salvasse em tempo real, clicando no salvar e podendo digitar novamente sem carregar tudo. Típico AJAX.

O grande problema é que eu nunca estou no mesmo lugar. Mesmo quando vou pra casa de um amigo, tenho meus insights programísticos e de lá mesmo abro o net2ftp e escrevo algumas linhas.

Por que será que nenhuma startup web2.0 financiada por milhares de dólares ainda não criou algo tão simples e tão infinitamente útil?

E você, que editor de códigos usa?

Desafio para Designers

Sunday, March 25th, 2007

O Maujor colocou no seu blog recentemente um desafio para designers: Refazer o design do Zen Garden do Maujor, um clone brasileiro inspirado no CSS Zen Garden.Photoshop CS2 - A Bíblia
O prêmio para o vencedor será um livro Photoshop CS2 - A Bíblia e para participar basta enviar o desenho do layout, não precisa fazer a parte de CSS.

Além do prêmio dado pelo Maujor, a Dialhost e o iMasters darão prêmios adicionais aos participantes.

Quaisquer dúvidas podem ser esclarecidas lá no post sobre o desafio direto no blog.

Eu já fiz minha contribuição, recomendo a todos que participem!