Tiago Madeira Inferências aleatórias de um cérebro em versão alpha

"Só se dedicará a um assunto com toda a seriedade alguém que esteja envolvido de modo imediato e que se ocupe dele com amor. É sempre de tais pessoas, e não dos assalariados, que vêm as grandes descobertas."
(Arthur Schopenhauer)

Arquivo do ano: 2007

06/12/2007

Plugin para WordPress: Google Images

Download (v0.1): Plugin Google Images (zip, 703 bytes)

Tudo começou quando ouvi falar que estavam sorteando camisas do Wordpress de graça. O Érico escreveu:

Ainda pensamos em premiar o leitor que desenvolvesse um plugin que exibisse imagens do Google Images através de uma tag (algo que estou procurando a um tempão), mas não achamos justo recompensar apenas com uma camisa algo tão trabalhoso assim. De qualquer forma se alguém estiver disposto a contribuir com a comunidade do WordPress (e comigo também!) premiarei com uma camisa do WordPress.

Pensei que, já que não tenho muita sorte, a maneira mais fácil de eu ganhar uma camiseta seria desenvolver o plugin. Na verdade, eu quis aproveitar a oportunidade pra praticar PHP, que está sendo meio deixada de lado ultimamente por causa do maravilhoso Ruby. Em uns 40 minutos saiu o plugin usando CURL e manipulação do código estranho do Google para exibir thumbnails a partir de uma determinada busca e linká-los para a página do resultado.

O uso do plugin é simples. Depois de ativá-lo na página de administração, coloque em qualquer lugar do template:

<?php
pluginGoogleImages("keyword1, keyword2, keyword3...", 10);
?>

... onde o primeiro argumento são as palavras-chave para procurar no Google e o segundo é a quantidade de imagens que deve ser mostrada, no máximo 20 porque senão ficaria muito lerdo ter que varrer mais de uma página de resultados.

Se não estiver perfeito ou alguém tiver alguma idéia, estou aberto a sugestões de mudança de código.

Technorati Tags: , , , , ,

Compare Preços de: notebooks, acer aspire, hp pavilion, computadores, pentium 4, nintendo wii, ps3, celulares, câmeras digitais

6 comentários

06/12/2007

Meme: Se eu tivesse um celular mágico…


Android Demo

Quem está ligado nas notícias sobre hi-tech sabe que a Open Handset Alliance, grupo de 30 grandes empresas de tecnologia e telefonia, está desenvolvendo o Android: the first complete, open, and free mobile platform.

A idéia é revolucionar o ramo e, pra isso, o Google lançou o Android Developer Challenge. In the Android Developer Challenge I, the 50 most promising entries received by March 3 will each receive a $25,000 award to fund further development. Those selected will then be eligible for even greater recognition via ten $275,000 awards and ten $100,000 awards.

O Android tem aceleração 3D (OpenGL), wi-fi, Kernel 2.6, libc, entre muitos outros recursos. O Google colocou na sua página um SDK (software development kit) para os desenvolvedores poderem programar pra ele em Java com uma documentação extensa, várias APIs e até vídeos explicativos. Com isso tornou-se fácil participar do desafio e concorrer a uma grana legal. Pode-se desenvolver o que der na telha, contanto que seja diferente de todo o resto que já foi visto nos celulares.

Agora vem a dificuldade: é preciso uma idéia inovadora, o lance é deixar o iPhone no chinelo. Então, depois dessa enrolação, lanço um meme: Se eu tivesse um celular mágico, o que eu gostaria que ele fizesse?

Se eu tivesse um celular mágico eu ia querer um tradutor simultâneo de voz. Ele funcionaria assim:

  1. Eu ligo para um chinês,
  2. seleciono que meu idioma de entrada é o português e que meu idioma de saída é o chinês,
  3. um software reconhece minha voz, traduz e fala mandarim com meu colega da China.

Não seria super útil? Convido para inventar outros recursos maravilhosos:

Technorati Tags: , , , , , ,

Compare Preços de: iPod, home theater, plasma, lcd, câmeras digitais, games, ps3

2 comentários

06/12/2007

Solução automática

Baixei via bittorrent os oito primeiros capítulos de The Big Bang Theory. Demorou quase uma semana porque fiz várias pausas, mas enfim consegui meus oito AVIs. Então, abri a pasta e vi que o nome deles é de The Big Bang Theory 101.avi até The Big Bang Theory 108.avi. Não é um problema, mas não gosto de nomes com espaço.

Solução óbvia? Renomear todos. Como faremos isso? As pessoas normais diriam: entrando no Nautilus, apertando F2 em cima de cada um e escrevendo o novo nome. Porém, o Tiago, num momento bem nerd, resolveu automatizar: basta criar um script em Ruby. Lá fui eu:

tiago@flick:~/The Big Bang Theory$ irb
irb(main):001:0> `ls`.to_a
=> ["The Big Bang Theory 101.avi\n", "The Big Bang Theory 102.avi\n", "The Big Bang Theory 103.avi\n", "The Big Bang Theory 104.avi\n", "The Big Bang Theory 105.avi\n", "The Big Bang Theory 106.avi\n", "The Big Bang Theory 107.avi\n", "The Big Bang Theory 108.avi\n"]
irb(main):002:0> `ls`.to_a.each{|i| i.trim}
NoMethodError: undefined method `trim' for "The Big Bang Theory 101.avi\n":String
        from (irb):2
        from (irb):2:in `each'
        from (irb):2
        from :0
irb(main):003:0> `ls`.to_a.each{|i| i.}
Display all 496 possibilities? (y or n)
irb(main):003:0> `ls`.to_a.each{|i| i.strip}
=> ["The Big Bang Theory 101.avi\n", "The Big Bang Theory 102.avi\n", "The Big Bang Theory 103.avi\n", "The Big Bang Theory 104.avi\n", "The Big Bang Theory 105.avi\n", "The Big Bang Theory 106.avi\n", "The Big Bang Theory 107.avi\n", "The Big Bang Theory 108.avi\n"]
irb(main):004:0> `ls`.to_a.each{|i| i.chomp}
=> ["The Big Bang Theory 101.avi\n", "The Big Bang Theory 102.avi\n", "The Big Bang Theory 103.avi\n", "The Big Bang Theory 104.avi\n", "The Big Bang Theory 105.avi\n", "The Big Bang Theory 106.avi\n", "The Big Bang Theory 107.avi\n", "The Big Bang Theory 108.avi\n"]
irb(main):005:0> `ls`.to_a.each{|i| i.chomp!}
=> ["The Big Bang Theory 101.avi", "The Big Bang Theory 102.avi", "The Big Bang Theory 103.avi", "The Big Bang Theory 104.avi", "The Big Bang Theory 105.avi", "The Big Bang Theory 106.avi", "The Big Bang Theory 107.avi", "The Big Bang Theory 108.avi"]
...
irb(main):017:0> `ls`.to_a.each{|i| `mv '#{i.chomp}' #{i.chomp.gsub(/^[^0-9]*/, '').gsub(/^./, 'S01E')}`}

Enfim, renomeados. Devo ter levado quase uns dois minutos, creio que mais do que levaria no Nautilus. Moral da história: nem sempre a solução automática é a mais rápida. Eu sempre tenho essa mania de deixar os problemas mais difíceis do que eles realmente são... Me digam: isso acontece com todos os programadores ou só comigo?

Ah! Agora o lado positivo: quando fui renomear as legendas (no formato The.Big.Bang.Theory.S01E01.HDTV.XviD-XOR.srt), já que eu já tinha esse modelo foi mais fácil; demorei somente cerca de 20s pra adaptá-lo. :)

Technorati Tags: , , ,

Compare Preços de: iPod, home theater, plasma, lcd, câmeras digitais, games, ps3

5 comentários

Assine via RSS

Assine gratuitamente o meu blog e receba todas as atualizações na hora, em seu agregador de feeds favorito.

Seja o 231º assinante

Busca no blog

Escreva palavras-chave para buscar e clique em Pesquisar.

Busca Google

Blogs de minha autoria

Publicidade

Dreamhost

Creative Commons - Some rights reserved tiagomadeira.net © Todo o conteúdo deste blog, exceto quando especificado o contrário, está licenciado sob uma Licença Creative Commons por Tiago Madeira. Os comentários são de responsabilidade de seus respectivos autores.