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: wordpress, plugin, google, images, curl, php
Compare Preços de: notebooks, acer aspire, hp pavilion, computadores, pentium 4, nintendo wii, ps3, celulares, câmeras digitais
06/12/2007
Meme: Se eu tivesse um celular mágico…
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:
- Eu ligo para um chinês,
- seleciono que meu idioma de entrada é o português e que meu idioma de saída é o chinês,
- 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:
- Rafael Slonik, novo-MUNDO
- Cardoso, Memeblog
- José Oliveira, blog homônimo
- Bia Kunze, Garota Sem Fio
- j. noronha, O Fim da Várzea
- Ricardo Cobra, blog do Cobra
- Clauber Stipkovic Halic, CSH
- Ibrahim Cesar, 1001 Gatos de Schrödinger
- Tiago Celestino, blog homônimo
- John Artmann, Sócio Fusão
Technorati Tags: meme, blogosfera, android, google, wi-fi, mobile, celular
Compare Preços de: iPod, home theater, plasma, lcd, câmeras digitais, games, ps3
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: ruby, nautilus, irb, shell
Compare Preços de: iPod, home theater, plasma, lcd, câmeras digitais, games, ps3
Assine via RSS
Assine gratuitamente o meu blog e receba todas as atualizações na hora, em seu agregador de feeds favorito.
Busca no blog
Escreva palavras-chave para buscar e clique em Pesquisar.
Veja também...
Blogs de minha autoria
- 1001 Gatos de Schrödinger (discordianismo e mindfuck)
- Algoritmos computacionais (estudo para olimpíadas e aprendizagem sobre lógica de programação)
Artigos por mês
- April 2008
- February 2008
- December 2007
- November 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- October 2006
- September 2006
- August 2006
- June 2006
- May 2006
- April 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005
- September 2005
- August 2005
- July 2005
- June 2005
- May 2005
- April 2005
- March 2005
- February 2005
- January 2005
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.
