Archivos en la Categoría: Linux

Todo sobre el SO Libre más importante de la historia.

Hoy por fin pude hacer que mi iPhone sincronice bien desde Linux. Quiero decir, ya lo había logrado antes, unos meses atrás, con libgpod, gtkpod y todas esas cosas (ni da explicar, la web ya está demasiado saturada de tutoriales sobre eso).

El problema que tenía era que las tapas de los álbumes (Cover Artwork) se sincronizaban mal (en distintos álbumes) o directamente ni se copiaban. Hoy, probando de nuevo a ver si habían arreglado ese “bug”, descubrí la solución.

Cuando ya creía que iba a pasar lo mismo que la última vez (es decir, poder copiar música al iPhone pero tener que volver a window$ a usar el iTune$ para arreglar las tapas rotas), descubrí un ¿hack? de alguno de tantos foros/tutoriales sobre el tema…

al montar el iPhone con fuse, le agregamos un “-o workaround=rename” para que quede algo tipo:

sshfs -o workaround=rename root@iphone:/var/mobile/Media /media/iPhone

Después de eso, y de correr gtkpod (como root… no encontré otra forma), descubrí que al modificar las covers, se sincronizaban correctamente al iPhone. Por desgracia todas las que tenía estaban mal, asique las tuve que arreglar una por una, pero bueno, ahora funciona !! :D

Hace unos días volví a poner la placa capturadora de TV (marca Kozumi) que había comprado hace un tiempo, y que aquella vez tanto me había costado configurar en Linux.

Esta vez, en cambio, fue bastante fácil. No se si se lo debo a Ubuntu 7.10 que tiene mejor soporte o a algún otro factor, pero gracias a mis viejas notas pude configurarla muy rápido y sin problemas (nota mental: anotarse howto’s de las cosas que configuramos es una inversión a futuro de tiempo :) ).

Además de poder ver la tele en mi computadora, siempre había querido configurar algo que había visto en ArgenTeam, un script que además de mostrarnos el nombre del canal, muestra información del programa que estamos viendo.

¿Cómo hacen eso? Parsean la info desde el sitio de Multicanal, y el resultado en formato XML es leído por el programa visualizador de TV, para mostrarlo en pantalla.

Así que abandoné el viejo y querido KdeTV y pasé a usar TVtime, qué además de ser más pro y tener mejores filtros para la calidad de video, sigue siendo un proyecto mantenido y activo.

No voy a detallar todos los pasos para configurar XMLTV, tv_grab ni varias dependencias de scripts en Perl que necesitamos para lograrlo; este sitio resume efectivamente en un how-to lo necesario para hacerlo andar. Lo único que les recomendaría, es que si están sintonizando un cable argentino como yo, reemplacen el tv_grab_es por tv_grab_ar :P

Una vez que logré generar el XML con la programación, lo agregué al crontab para que se actualice todos los días y saber siempre qué es lo que estoy mirando. Les dejo algunas screenshots de mi escritorio para que lo vean más claro:

(clic en las imágenes para verlas en tamaño completo)

Cuando se cambia de canal, se ve la info como en las dos primeras imágenes. Si se hace clic sobre la pantalla, se ve la info en el recuadro gris, como en la última imagen.
También muestra la hora de comienzo y fin del programa, y el nombre del canal, obviamente.

Un lujo, tal cual en las señales de televisión digital. Bueno, con una calidad horripilante de imagen, pero la información del programa está :P

Cuando instalamos Ubuntu, por default no está la papelera en el Desktop (porque ya hay un ícono en el panel de gnome).

Resulta que yo la saqué del panel, porque uso uno solo para ahorrar espacio, y no se me ocurría como poner la papelera en el Desktop. Lo primero que hice fue poner un shortcut a “trash:” (url para nautilus) o a ~/.Trash también sirve… Pero obviamente dicho ícono “casero” no cambiaba dinámicamente si la papelera está llena o vacía.

Hoy me cansé y googlié, y descubrí que el siguiente comando pone la papelera visible en el Desktop:

gconftool-2 --set /apps/nautilus/desktop/trash_icon_visible -t bool true

Cabe aclarar que odio la Papelera de Reciclaje, me parece un concepto pelotudísimo, pero bueh, a veces uno borra sin apretar shift, y es práctico ver si el tacho ese tiene basura sin depurar.

!=

Muy bueno este texto que explica bien porqué Linux no es Window$.

Tiene partes muy copadas, como este fragmento que pongo a continuación:

[...] The issues arise because group 1 is made up of people who enjoy being able to tear their OS apart and rebuild it the way they like it, while group 2 tends to be indifferent to the way the OS works, so long as it does work.

A parallel situation that can emphasize the problems is Lego. Picture the following:

New: I wanted a new toy car, and everybody’s raving about how great Lego cars can be. So I bought some Lego, but when I got home, I just had a load of bricks and cogs and stuff in the box. Where’s my car??

Old: You have to build the car out of the bricks. That’s the whole point of Lego.

New: What?? I don’t know how to build a car. I’m not a mechanic. How am I supposed to know how to put it all together??

Old: There’s a leaflet that came in the box. It tells you exactly how to put the bricks together to get a toy car. You don’t need to know how, you just need to follow the instructions.

New: Okay, I found the instructions. It’s going to take me hours! Why can’t they just sell it as a toy car, instead of making you have to build it??

Old: Because not everybody wants to make a toy car with Lego. It can be made into anything we like. That’s the whole point.

New: I still don’t see why they can’t supply it as a car so people who want a car have got one, and other people can take it apart if they want to. Anyway, I finally got it put together, but some bits come off occasionally. What do I do about this? Can I glue it?

Old: It’s Lego. It’s designed to come apart. That’s the whole point.

New: But I don’t want it to come apart. I just want a toy car!

Old: Then why on Earth did you buy a box of Lego??

It’s clear to just about anybody that Lego is not really aimed at people who just want a toy car. You don’t get conversations like the above in real life. The whole point of Lego is that you have fun building it and you can make anything you like with it. If you’ve no interest in building anything, Lego’s not for you. This is quite obvious.

As far as the long-time Linux user is concerned, the same holds true for Linux: It’s an open-source, fully-customizeable set of software. That’s the whole point. If you don’t want to hack the components a bit, why bother to use it?
[...]

Y como el man lo liberó bajo una licencia de distribución de Creative Commons, le vamos a hacer la atribución requerida.

Linux is NOT Windows: http://linux.oneandoneis2.org/LNW.htm by Dominic Humphries.

Navegando encontré una página muy piola de Manga’s para ver online, www.onemanga.com. A medida que iba viendo que Manga’s había para leer, a ver si reconocía alguno (no soy muy otaku que digamos), empecé a ver las imágenes y descubrí un patrón en las URLs…

cada página es una imagen JPG. la URL es casi siempre la misma, con el siguiente formato (entre corchetes los valores variables):
http://img[SERVIDOR_DE_IMAGENES].onemanga.com/mangas/[NRO_DE_MANGA]/[NRO_DE_CAPITULO]/[NRO_DE_PAGINA].jpg
Al darme cuenta de esto se me ocurrió instantáneamente que se podía programar algo para manipular dinámicamente cualquier Manga publicado en ese sitio.

Sin perder más tiempo me puse a programar, en BASH (el intérprete de comandos de Linux) un script no muy largo, que se encargue de:

  1. Tomar por parámetro los datos necesarios para el Manga en cuestión (img_server, manga_id, chapter_id, etc).
  2. Hacer un bucle que intente descargar (con el comando wget) cada página jpg (si existe).
  3. Una vez que tenga todas las páginas del capítulo ya descargadas, comprimirlas en formato RAR.
  4. Renombrar el RAR a la extensión CBR para que pueda ser leído por programas como Comix o similares.

EDIT: Lo subí a google docs y lo publiqué (así no lo borran jamás). Lo pueden ver acá.

Requerimientos para correr el script:

  • Linux o algún emulador de BASH (Cygwin? ni idea)
  • Comando wget (asumo que en linux ya viene por default, pero no estoy seguro con Cygwin o similares)
  • RAR (apt-get install rar, ubuntu-users!)

El script tiene un par de constantes que deberían editar según sus necesidades (como en qué directorio guardar el archivo CBR) pero salvo por eso el resto es “pretty straightforward”.

Uso:
./download_manga.sh [image_server_id] [manga_id] [chapter_id]

La PSP, como todos saben, tiene muchos programas y utilitarios (si tenemos la suerte de haberle hackeado el firmware para que soporte homebrew apps). Algunos de los que más uso son Bookr y PSPComic, lectores de PDF y CBR, respectivamente. Para los despistados, CBR (que significa, probablemente, Comic Book Rar) es un archivo de formato rar con imágenes JPG dentro, que son mostradas secuencialmente por medio de programas visualizadores de comics.

Resultó que Bookr no es una de las mejores aplicaciones jamás creadas en el universo conocido… y también influye el hecho de que la PSP está diseñada para jugar videojuegos hechos específicamente para su hardware, y no para mostrar PDFs. La cuestión es que un PDF muy pesado (léase manuales de rol con imágenes escaneadas, texto vectorial, etc) la hace recontra re garompa, es decir, la cuelga. Leer un PDF que es todo texto anda bien, pero yo necesito consultar mi manual en mi PSP, cuando estoy en la mesa de rol con mis amigos, para hacerme el capo, cheto y geek. En fin, dado que los comics que probé en la PSP resultaron visualizarse de maravilla, incluso graphic-novels de 300 páginas, sin mosquearse, deduje “ahá, el formato CBR se lo banca re bien esto, PSPComic está bien hecho… o los JPG sin vectores le cuestan menos…”. Conclusión: Necesitaba convertir mis PDFs a CBRs.

convertir un PDF de una página, por ejemplo, a un JPG, es una pavada. Si tenemos convert. Pero yo necesitaba convertir todas las páginas del PDF a JPG… Entonces usé pdftk. Por último tendría que almacenarlo en un RAR (sin compresión) y renombrarlo a CBR.

Me dispuse a hacer un script en BAsh, para Linux, que me convierta PDFs a CBRs.

Antes que nada recuerden que tienen que tener funcionando convert, pdftk y rar. En Ubuntu se instalan así:
# apt-get install imagemagick pdftk rar

Y aquí les dejo el scripcito que libero con todo mi amor bajo la licencia “agarrá-usá-y-dame-el-crédito”. Modo de uso:
# ./pdf2cbr.sh archivo.pdf

#!/bin/sh
#
# pdf2cbr.sh: Converts PDF files to CBR (comic books)
#
# Parameters: ideally only the PDF filename ( as $1 )
#
# Requires "ImageMagick Convert", RAR and PDFTK
#
# Ver 1.0
#
# By TaTooKa
# http://blog.tatooka.com.ar
echo "Creating PDF directory..."
mkdir $1_pages
cd $1_pages
echo "Splitting PDF file into individual PDFs... (This might take a while)"
pdftk ../$1 burst
# Removing PDFTK report
if [ -e doc_data.txt ]
then
rm -f doc_data.txt
fi
PAGE_COUNT=`ls | wc -l`
echo "$PAGE_COUNT PDFs generated."
echo "Converting each PDF page to JPG..."
for file in *.pdf
do
convert -density 100x100 $file $file.jpg
rm -f $file
let PAGE_COUNT--
echo "$PAGE_COUNT pages left."
done
# remove ".pdf" from filenames
for file in *.jpg
do
mv $file ${file%pdf.*}jpg
done
echo "Creating RAR file..."
rar a $1.rar *.jpg
echo "Renaming RAR to CBR format..."
mv $1.rar ../$1.cbr
echo "Removing used directory and remaining garbage..."
cd ..
rm -Rf $1_pages
if [ -e $1.cbr ]
then
echo "File $1.cbr generated."
fi
echo "All Done !"

Gracias a este chabón que hizo un script parecido y me sirvió para programar el mío (god bless open-source), y ojo que la idea la tuve solo y no se la robé a este otro chabón.

Nota al pie: Si tu PSP no soporta homebrew (porque sos un cagón que no la quiere hackear, o porque tenés plata para comprar los UMDs originales) y no podés usar PSPcomic, podés modificar el script sacando la parte que almacena en el rar, y meter todos los JPGs en un directorio, y verlo como imágenes secuenciales en la PSP.

La moraleja es: Pasensé a Linux mientras puedan !! ILusos !!

Vía ExtraLife.

Esto es lo que pasa en la nueva versión de Kwin para el próximo KDE4, cuando crashea un programa o ventana…

Para los ilusos, esto está rendereado con Kwin Composite, asique… ok, crédito parcial para KDE.

Vía 1.21 GigaWatts.

Cómo sería el editor de texto Vi si hubiese sido desarrollado por Micro$oft?

No, no, no digan Notepad. Acá hay un gif animado a modo de ejemplo.

Vía Viva Linux.

Martén Rich me identifica con el personaje de turno de esta tira del famosísimo XKCD.