Pesquisar este blog

quarta-feira, 7 de outubro de 2009

Baixando quadrinhos direto do OneManga.com

Para quem gosta de quadrinhos japoneses, o mangá, com certeza o site onemanga.com não é uma novidade. Sendo o melhor repositório online de quadrinhos traduzidos na web, ele é um ícone para os fãs de todo o mundo. Sua interface fácil e intuitiva, permite buscar na sua base de dados por quaisquer mangás que disponíveis e lê-los utilizando o seu navegador.

Uma das funcionalidades que o site não fornece é baixar todo um capítulo de uma vez. Bem, não que isso seja o fim do mundo, mas tem gente que gosta de colecionar, não é? Outro problema que um usuário pode achar é a necessidade de utilizar um navegador web, caso ele esteja acompanhando um quadrinho qualquer. Nem sempre você terá acesso a um, e mesmo que tenha, podem ser muitos cliques de distância até que você consiga achar o que procura, como descobrir qual o último capítulo lançado para um quadrinho.

Pensando nisso, eu andei buscando na internet por um script que facilitasse o meu acesso ao que o OneManga disponibiliza. Rapidamente, achei um script do Will Larson que vazia exatamente o que eu queria. O problema dele é que ele não baixa os quadrinhos, não funciona como um script por linha de comando, e, depois que o OneManga mudou seu layout, ele quebrou.

Buhou! Mas, como o mundo é belo, a coca-cola é gelada, e a pizza está quentinha, resolvi fazer minha própria versão. Busquei adotar parte da estrutura original que o Will usou e permitir que o script seja usado como standalone. O resultado final ficou bem legal e pode ser conferido aqui.

Para usá-lo, você deve copiar o texto do link em um arquivo onemanga.py e deve executá-lo por linha de comando. Esse script depende da biblioteca BeautifulSoup e foi testado com Python2.6.

Abraço aê!

terça-feira, 6 de outubro de 2009

Scite: editor poderoso para ambientes minimalistas!



Para programadores, uma boa IDE é um manjar dos deuses! Nada como desenvolver um aplicativo complexo com o auxílio e facilidades de um bom ambiente de desenvolvimento. Você consegue, fácilmente, ver partes do código que quebrou com uma mudança qualquer, pode fazer edições em massa, pode até desenhar interfaces gráficas visualmente! Uma excelente metralhadora, na guerra contra os prazos curtos e a falta de tempo!

Mesmo IDE's poderosas sendo o mais novo canivete de prata [ref: resumo de NoSilverBullet] do desenvolvimento de software, nem sempre ele é a melhor opção. Pequenos projetos ou edições rápidas não podem se dar ao luxo de levantar toda uma IDE em memória, antes de qualquer edição. E mais! Computadores minimalistas como os netbooks ou máquinas com poucos recursos necessitam de ferramentas que possibilitem o desenvolvimento rápido, ágil e prático.

Nesse sentido, o velho companheiro de guerra do desenvolvimento são os editores de texto, que não possuem os recursos poderosos das novas IDE's (pelo menos não por padrão), mas que oferecem facilidades de codificação tentadoras. Bons exemplos de editores, muito adequados para qualquer linguagem com sintaxe bem definida (xml, xhtml, css, python, ruby, lua, perl...) são o Gedit, Kate, Editra, Notepad++ e outros tantos.

Entre funcionalidades interessantes que um editor de texto mais complexo (notepad do Windows não conta, senhores!) oferece, estão:
  • highlight - o texto carregado na interface é colorido pelo editor, a fim de facilitar sua leitura
  • ferramentas de busca e substituição de trechos
  • padronização da codificação dos arquivos - ajuda a evitar problemas com caracteres estranhos como
  • autocomplete - nem sempre baseados na sintaxe, mas na morfologia
  • navegação no sistema de arquivos integrada
  • verificação ortográfica
  • outras funcionalidades...
Com tantas funcionalidades, alguns editores de texto, que são opções leves, acabam ficando bastante pesados. Para algumas pessoas, isso pode ser um problema.

Aí eu lhe pergunto: você faz parte deste grupo de algumas pessoas? Se sim, continue lendo.

Hoje, enquanto planejava um outro script python (às vezes eu programo para relaxar hohoho), eu me deparei com uma situação inusitada: mesmo tendo vários editores de texto aqui, eu não estava me sentindo confortável a usar nenhum deles. Não queria usar o Scribes (bugs...), nem o Editra (que eu chego a usar como IDE!), nem o Gedit (ando achando ele meio pesado), nem o Idle3 (bugs, muitos bugs!). Em uma busca rápida pela internet, achei um editor de texto que eu nunca uso. Na verdade, editor que eu ignoro, o Scite! Talvez por preconceito, mas resolvi testá-lo.

Como estou usando o Ubuntu Jaunty, instalar o Scite foi tão fácil quanto dar um:
#sudo apt-get install scite

Feito isso, o editor de texto minimalista e bonitão, Scite, já estava na minha máquina! Minhas primeiras impressões dele foi que ele tem um jeitão de Emacs. Os arquivos de configuração são baseados em arquivos texto simples, no melhor estilo Linux de se configurar algo, e que ele é muito rápido, muito MESMO! Para um editor cheio de opções (como as citadas na lista um pouco acima), ele me impressionou. É carregado em memória tão rápido quanto o LeafPad, que é um editor de texto super simples para edição de arquivos texto (os .txt da vida!).

Certo, o Scite é bonito e rápido, mais alguma coisa? Sim!

Além de indicar o Scite como editor de texto, gostaria de dar uma dica sobre como configurá-lo. Como falei, a configuração do Scite é baseada em arquivos de texto simples. Por isso, quando você quer mudar algo no Scite, como fonte, ou espaçamento das tabs, você tem que editar o arquivo de texto. O Scite oferece uma forma relativamente fácil de se fazer isso. Com o programa aberto, na opção de menu "Options", duas opções muito uteis lhe serão visíveis:

Open Global Options File e Open User Options File

Essas duas opções são importantíssimas pois, clicando nelas, você poderá editar os arquivos de texto com as opções do editor.

A primeira, Open Global Options File, possui uma lista com todas as opções padrão do Scite. Ela deve ser usada sempre que você quiser saber quais opções no Scite estão disponíveis.

Por exemplo:
A opção indent.size permite definir o tamanho de uma indentação, no Scite. Seu valor padrão é 8, e sua representação no arquivo global de configuração é indent.size=8.

A segunda opção, Open User Options File, serve para você definir novos valores para as opções padrão do arquivo global de configuração. Ou seja, quando você quer mudar uma configuração do Scite, você não edita o arquivo de configurações globais, você simplesmente copia a opção do arquivo global no arquivo de usuário e muda o valor dela.

Por exemplo:
Se você quisesse que a indentação da sua instalação do Scite fosse, por padrão, 4, você deveria escrever o seguinte no arquivo de preferências de usuário:
indent.size=4

Iaí, fácil, não? Bem que poderia existir uma janelinha com botõezinhos lindos para se clicar, mas como essa é uma abordagem bastante trabalhosa, acho que os caras não fizeram errado, em usar arquivos de texto para a configuração. Pior seria se uma opção fosse de difícil edição pelo simples fato de não existir o botãozinho para modificá-la, não?

Particularmente, aconselho que estas duas configurações estejam em seu arquivo de configuração:
# identação de 4 espaços
indent.size=4
# usar espaços no lugar de tabs para arquivos .py
use.tabs.*.py=0
# habilitar o autocomplete
autocompleteword.automatic=1

De qualquer forma, é isso. O Scite é muito bom, e até que o Idle resolvia ficar bonitinho e/ou sem bugs, eu vou usá-lo para escrever meus scripts simples. É isso. Abraço, senhores (e senhoritas!)!

Indicação de leitura: WalterCruz

quarta-feira, 30 de setembro de 2009

A importância da geladeira e colocando mp3 como toque de celular no Ubuntu!



Hoje em dia, as pessoas não dão mais a devida importânica a certos aspectos e ações do nosso dia a dia. O sorvete, por exemplo, já foi uma comida de reis! Antigamente, para comer sua casquinha favorita, era necessário mandar alguém às montanhas trazer o gelo, para só então, fazer aquele sorvetão gostoso. Como bancar uma espedição era caro, esse prazer ficava apenas para a realeza!



Com o advindo do compressor de vapor, graças ao senhor James Harrison(1857), a geladeira tornou-se possível, e com ela, outros avanços importantíssimos, como a cerveja gelada e o sorvete de casquinha! Fico pensando, se quando você vai na 50 sabores (sorveteria da minha cidade), se você pensa em todo o avanço científico por trás do seu sorvete! Não né? Pensa no sabor que vai escolher para as bolas rsrsrs. Falando nisso, tomei um sorvete chamado "Obama". Muito bom, a propósito!



De qualquer maneira, fora os insites sobre o dia a dia, tenho outro motivo nobre para essa postagem. E qual seria? Muito simples, caro gafanhoto, esses dias, encontrei uma música muito legal no MusicasDeBolso, interpretada pela senhorita Lulina. Como o título da música já diz, é uma "Música para colocar naquele som com o despertador". Eu, muito obediente, lo fiz! Agora, vou o processo pelo qual realizei tamanha façanha!

Primeiro, temos que pegar o vídeo da senhorita Lulina para obter sua música. Depois, cortá-la para um tamanho aceitável.

Bem, no Ubuntu, a melhor ferramenta para pegar vídeos do blip.tv é online. Por online, eu me refiro a esse site. O VideoSnag, mesmo com sua interface pobre, é bastante eficiente em pegar vídeos de sites de streaming. Funciona bem com Firefox e tudo! De qualquer maneira, use ele com o link do vídeo da Lulina. Baixado o vídeo, precisamos remover o áudio do vídeo.

Para remover o áudio, usei o avidemux, que é um conversor de vídeo multiformato. Bastante simples e compatível com gtk, ele é rápido e seguro. Carregue seu vídeo com ele, clique na aba "audio" e depois em "salve", para salvar o audio do vídeo em um arquivo separado. Feito isso, dê uma escutada no arquivo com a música. A música está demorando um pouco para começar, não é? Para um toque de despertador, esse comportamento não é interessante. Vamos cortar nosso mp3 então?

Para cortar o mp3, a ferramenta mais fácil e rápida que achei foi o mp3splt. Ela é por linha de comando, mas permite cortar seu mp3 rapidinho e sem complicação. Você informa qual o ponto de início e fim do corte, o nome do arquivo de entrada e o de saída. O mp3splt se encarrega do resto.

Exemplos
# corta arquivo.mp3 nos tempos 01:00 até 05:05 e salva em arquivo2.mp3
> mp3splt arquivo.mp3 arquivo2.mp3 1.0 5.05

# corta arquivo.mp3 nos tempos 00:10 até 04:10 e salva em arquivo2.mp3
# -f indica que o bitrate de arquivo.mp3 é variável
> mp3splt -f arquivo.mp3 arquivo2.mp3 0.10 4.10

Eu utilizei os tempos 0.11 e 5.02. Utilizem o tempo que mais lhe agradar!

Quem vem aqui também pode estar precisando converter algum arquivo para mp3. Como hoje foi um dia bom (entreguei meu copião e marquei a data de defesa da mono), vou ajudar nisso também. Para transformar um arquivo wav, por exemplo, em mp3, variável, podemos usar o lame. Instale-o pelo apt-get e use o seguinte comando para criar seu mp3:

# -h informa o lame para usar qualidade máxima
> lame -h arquivo.wav


Facin neh? Se quiser converter vários arquivos de uma vez, algo como:

# converte todos os arquivos terminados em .wav da pasta atual em mp3
> for i in *.wav; do lame -h `pwd`$i; done

Funciona bem. De qualquer maneira, é isso! Espero ter ajudado!

terça-feira, 8 de setembro de 2009

Convertendo arquivos .ogv

Se você usa o linux e já precisou gravar o que estava ocorrendo no seu desktop, por um motivo ou outro, "e conseguiu!" você provavelmente deve ter sido apresentado ao aplicativo recordmydesktop.

Até onde me consta, o recordmydesktop é, de longe, a melhor ferramenta para distribuições linux para gravar o que se passa no seu desktop. Essa funcionalidade, para quem não conhece, é muito boa para criar video-aulas de todo tipo, principalmente aquelas que demonstram a utilização de algum programa. Sabido disso, chegamos ao nosso problema. Esse maravilhoso, eficiente, intuitivo e prático aplicativo tem um pequeno inconveniente, ele apenas permite ao usuário salvar seus vídeos em formato ogv.

O problema disso é que, apesar de ser um excelente formato, ele não é lá muito compatível com a maioria dos programas disponíveis por aí. Mas, calma cocada! Para tudo se tem solução. Neste caso específico, a solução é passar o arquivo ogv para um formato intermediário, tornando-o compatível com programas populares como o avidemux, que pode fazer um tratamento posterior do vídeo, como cortá-lo e redimensioná-lo.

Para fazer a conversão de nosso ogv, vamos usar o mencoder, que é o conversor de arquivos de vídeo do mplayer. Para fazer a conversão, abra um console e execute o comando abaixo:

# mencoder -ovc lavc -oac pcm -lavcopts vcodec=ffv1 -o output.avi   input.ogv

Certifique-se que há uma boa quantidade de espaço no seu disco rígido.

Após executar esse comando, você terá um arquivo output.avi que poderá ser tocado pela maioria dos players e lido pelo avidemux. Agora, be happy ; )

Abraço!

terça-feira, 1 de setembro de 2009

Lendo os contatos de um arquivo .nbu com python

Bem, hoje comprei um novo celular que não era nokia. Sabido isso, me deparei com o problema de ter que passar todos os meus contatos do nokia para o meu novo celular. Nisso, usei o nokia studio para fazer o backup dos contatos, tudo bonitinho. Só que, ao trazer o arquivo de backup para o meu Ubuntu, descobri que o mesmo não possuia programas para extrair esses contatos, ou qualquer outra informação dos arquivos *.nbu (que são os arquivos de backup da nokia). Chateado, resolvi criar minha própria solução.

Para ler um arquivo em um formato desconhecido, o básico é você procurar o documento que descreve o formato utilizado. O legal é que eu não encontrei esse documento para os arquivos nbu, então, o que eu fiz? O que é desaconselhado e vulgarmente chamado de "trabalho de corno", joguei o código em linha de comando, em leitura binária, e fui tentar adivinhar o formato do arquivo no olho. Não que tenha sido uma grande dificuldade, mas com certeza abre espaço para erros de toda natureza. 

De qualquer forma, depois de alguns minutos estragando minha vista, consegui criar este script que lê os contatos de um arquivo nbu e os grava em um arquivo de saída. O código está meio porquinho, mas bastante funcional. Quem achar que pode contribuir com o código, sinta-se à vontade.
Abraço a todos.

quarta-feira, 26 de agosto de 2009

Para você que não entende o nome deste blog...continue lendo...

Que mulher nunca teve um sutiã meio furado,
Um primo meio tarado,
Ou um amigo meio viado?
Que mulher nunca tomou um fora de querer sumir,
Um porre de cair
Ou um lexotan para dormir?
Que mulher nunca sonhou com a sogra morta, estendida
Em ser muito feliz na vida
Ou com uma lipo na barriga?
Que mulher nunca pensou
Em dar fim numa panela,
Jogar os filhos pela janela
Ou que a culpa era toda dela?
Que mulher nunca penou
Para ter a perna depilada,
Para aturar uma empregada
Ou para trabalhar menstruada?
Que mulher nunca comeu
Uma caixa de Bis, por ansiedade,
Uma alface, no almoço, por vaidade
Ou, um canalha por saudade?
Que mulher nunca apertou
O pé no sapato para caber,
A barriga para emagrecer
Ou um ursinho para não enlouquecer?
Que mulher nunca jurou
Que não estava ao telefone,
Que não pensa em silicone
Que 'dele' não lembra nem o nome?
Só as mulheres para entenderem o significado deste poema!
Estamos em uma época em que:
'Homem dando sopa, é apenas um homem distribuindo alimento aos pobres.''
Pior do que nunca achar o homem certo é viver pra sempre com o homem errado.'
'Mais vale um cara feio com você do que dois lindos se beijando. '
'Se todo homem é igual, porque a gente escolhe tanto???'
'Príncipe encantado que nada.... Bom mesmo é o lobo-mau!!
Que te ouve melhor...
Que te vê melhor...
E ainda te come!!!


Este poema foi indicação de um amigo ; ) [neh nícolas?]

quinta-feira, 20 de agosto de 2009

Backup de jogos de psx no linux

Para quem tem jogos de playstation e gostaria de fazer seu backup no linux, gostaria de indicar o projeto psxim. Nele, foi criada uma ferramenta baseada no cdrdao e gtk que permite fazer backup dos seus jogos para o formato bin de forma fácil e rápida. Mas, qual a vantagem disso em relação aos jogos tradicionais? Muito simples. Arquivos .bin podem ser usados com emuladores como o pcsx que é muito bom e está disponível nos repositórios do Ubuntu.

Pois é, dica do dia!