31 enero, 2009

Script para respaldos incrementales tipo instantáneas (snapshots) inspirados en backintime.

Hice un script para respaldar la información que tengo en mi computadora, lo que hace es lo siguiente:

1. Hace respaldos incrementales de los directorios que se le indican.
2. Los respaldos son del tipo instantáneas (snapshots).
3. Muy sencillo de respaldar y recuperar directorios.

Los respaldos de tipo instantáneas son muy útiles, ya que puedo ver todos los archivos de un directorio y decidir los que me hacen falta, pudiendo navegar por ellos dependiendo de la periodicidad del respaldo.

El que sean incrementales es útil ya que se ahorra espacio solo copiando aquellos archivos nuevos o que tuvieron cambios.

Ahora bien, no importa que un archivo no haya tenido cambios, este aparecerá en cada instantánea que se haya tomado del directorio donde se encontraba, pero solo ocupara espacio como un archivo, esto se logra creando vínculos fuertes o duros al archivo, es decir se encuentra en todas las instantáneas pero solo ocupa un espacio.

Esto da la facilidad que se pueden hacer respaldos cada hora si se desea, si solo se modificó un archivo de 100Kb solo se ocupará el espacio de 100kb, pero para nosotros será como si tuviéramos un nuevo respaldo con todos nuestros archivos.

Si hasta aquí estás convencido, entonces te puedo contar porque hice este script.

Desde hace algún tiempo hago respaldos de los directorios más importantes de mi equipo a otro disco duro de mi mismo equipo, y tiene algún tiempo que lo hago a un NAS que configuré, el problema que me encontré con mi tipo de respaldos es que si solo necesito un archivo, tengo que obtener todo el respaldo, y una vez que lo obtengo saco el archivo, otro problema es que como no son respaldos incrementales, ocupo mucho espacio en cada respaldo y no puedo tener muchos.

Cuando leí de unos nuevos programas para respaldar como son backintime, flyback o timevault; los cuales se encuentran inspirados en el sistema de respaldos de MAC OS X llamado Time Machine. Pensé que podía ser una buena oportunidad para cambiar mi sistema de respaldos.

Probé con el que sonaba que tenía más movimiento, en este caso el backintime, pero lo que no me gustó fue que al menos el que yo probé, si yo hacía un pequeño cambio en un archivo volvía a sacar un respaldo completo de todo mi directorio o directorios que estaba respaldando. En un principio pensé que a lo mejor algo estaba haciendo mal, pero buscando un poco en los foros del programa leí algo como lo siguiente: "si solo modifico un mb de información, ¿porqué se tiene que respaldar todo el directorio de nuevo?". Según comentaban este era un comportamiento similar en Time Machine.

Por esta razón busqué alguna herramienta que hiciera algo similar a lo que necesitaba, en mi búsqueda encontré un programa muy sencillo llamado rdiff-backup, este hace un respaldo del directorio que se le indica y va haciendo respaldos incrementales del mismo con la periodicidad que se necesite, pero tiene un gram problema, recuperar o inclusive revisar si un archivo de una determinada fecha tiene una modificación se vuelve bastante engorroso, uno tiene que navegar mediante la línea de comandos, e inclusive ir sacando del respaldo archivo por archivo lo que uno va necesitando, sin saber a ciencia cierta si el archivo es o no es lo que uno necesita.

Sistemas como rdiff-backup se basan en el hecho de que si yo hago un respaldo de un directorio, lo más seguro es que si recupero voy a saber de que día necesito recuperar el archivo, y de que muy seguramente voy a necesitar el respaldo completo. Este principio era muy válido en tiempos anteriores donde uno corría procesos diarios semanales y quincenales, y sabía la fecha del último proceso válido, pero en las épocas actuales uno no sabe en que fecha modificó un archivo y si en realidad es el que necesita, además de que a lo mejor solo se necesita un archivo de un respaldo de varios gigabytes de información.

La idea de tomar instantáneas me había agradado y me parecía la mejor forma de resolver mi problema, por lo que investigando un poco más, ubiqué una serie de páginas que me indicaban como hacer respaldos incrementales rotativos "Mejorando mi estrategia de copias de seguridad" y "Easy automated snapshot-style backups"; los que me dieron las bases para completar un script que cumpliera lo que necesitaba para mis respaldos.

Que es lo que hace el script:

  1. Realiza respaldos de los directorios que se le indican.
  2. Los deja donde uno le diga
  3. Puedo navegar entre los archivos de cada respaldo que a mis ojos es como si tuviera todos los archivos del directorio con la misma estructura del directorio original.
  4. Recupero el archivo que necesito con un simple copiar y pegar.
  5. Los respaldos son incrementales, es decir no me genera más espacio por archivos que no se hayan modificado.
  6. Me indica la fecha y hora de los respaldos.
  7. Decido el tiempo que deseo conservar los respaldos, ya sea en días o borrándolos de forma manual.
El script en bash es como sigue:


#!/bin/bash
#
# Programa para realizar respaldos de un directorio, la ventaja es que hace
# un respaldo del tipo instantánea (snapshot) donde en cada dia el usuario
# puede encontrar todos los archivos tal y como se encontraban al momento
# en que se hizo el respaldo.
#
# Además para el usuario es como si se hubieran respaldado todos los
# archivos, pero en realidad solo se respaldan los cambios, creándose
# enlaces duros a los archivos existentes.
#
# Se recibe como parametro el directorio para dejar los respaldos.
#
# Los respaldos se dejan en un directorio que indica la fecha y hora
# del respaldo, de esa forma queda más fácil navegar por ellos.
#
# Los respaldos conservan integra la estructura y permisos del directorio
# que respaldan.
#
# ****VARIABLES IMPORTANTES****
#
# $1 - Parametro que indica el directorio donde van todos los respaldos
# $2 - Parametro que nos dice el numero de dias que se conservan los respaldos
# $fecha - Fecha del respaldo y nombre del directorio donde se va a
# guardar el respaldo actual
# directorios - Archivo que tiene los directorios que se van a respaldar
# $directorio - Directorio que se está respaldando
#
# 29 de enero del 2009
# Destructor

# Obtiene fecha y hora de respaldo
fecha="$(date "+%Y-%m-%d-%H:%M:%S-%A")"
echo
echo "============================================================"
echo "Fecha y hora del respaldo $fecha"

# Borra respaldos mayores al numero de dias que se especifiquen
echo
echo "============================================================"
echo "Respaldos borrados"
find $1 -maxdepth 1 -name '2*' -mtime +$2 -print -exec rm -rf {} \;

# Obtiene el directorio de respaldo más reciente
for archivo in $(ls -t $1 --group-directories-first)
do
echo "El respaldo anterior se encuentra en $archivo"

# Respalda cada uno de los directorios indicados en el
# archivo de respaldo llamado directorios
for directorio in $(cat $1/directorios)
do
echo
echo "**************************************************************"
echo "Respaldando el directorio $directorio"

# Crea directorio para respaldar
mkdir -p $1/$fecha$directorio
rsync -av --delete --link-dest=$1/$archivo$directorio/ $directorio/ $1/$fecha$directorio/
done
echo
echo "///////////////RESPALDO CONCLUIDO//////////////////"
exit 0
done

Para usarlo es muy sencillo, solo se debe hacer lo siguiente:

1. ¿Donde voy a guardar los respaldos?

Con tener un directorio en mi equipo, en un disco duro externo, o en otro equipo con espacio para lo que necesito debe ser suficiente, digamos que el directorio donde voy a guardar los respaldos se llama: /mnt/Multimedia/Respaldos.

2. ¿Qué directorios voy a respaldar?

Dentro del directorio donde voy a guardar los respaldos se debe crear un archivo con nombre "directorios" que por cada línea indique los directorios que se van a respaldar, más o menos como sigue:

/home/rponcedeleon/Documentos
/mnt/Imagenes/Portables
/mnt/Imagenes/Proyectos
Tener cuidado de no colocar la diagonal final en los directorios que se van a respaldar.

3. Copiar el script que se encuentra en las líneas superiores y darle permisos de ejecución, yo le puse por nombre respaldo.sh, pero en realidad puede ser el que se quiera.

4. Decidir los dias que se necesitan guardar los respaldos.

Ahora ya se puede ejecutar el script, podemos probarlo con una ejecución directa desde el directorio donde hayamos guardado el script, por ejemplo:

sh respaldo.sh /mnt/Multimedia/Respaldos 30
Con esto le estamos indicando que queremos hacer un respaldo de los directorios que se encuentran en el archivo directorios que debimos haber guardado en /mnt/Multimedia/Respaldos, y que solo queremos conservar 30 días de respaldos.

Al ejecutar el script podemos observar que nos indica la fecha del respaldo, si existe algún respaldo anterior, los respaldos que borró, y los archivos que respaldó; en este caso por ser nuestro primer respaldo nos va a dar mucha información y se va a tardar bastante, los siguientes respaldos serán más breves.

El script nos debe entregar una salida, similar a esta:

============================================================
Respaldos borrados

============================================================
Fecha y hora del respaldo 2009-01-31-23:39:22-sábado
El respaldo anterior se encuentra en 2009-01-31-20:19:28-sábado

**************************************************************
Respaldando el directorio /home/rponcedeleon/Documentos
sending incremental file list
./
CIC/Programas/
CIC/Programas/respaldo.sh

sent 83531 bytes received 365 bytes 167792.00 bytes/sec
total size is 1040765788 speedup is 12405.43

**************************************************************
Respaldando el directorio /mnt/Imagenes/Portables
sending incremental file list
./

sent 1176 bytes received 19 bytes 2390.00 bytes/sec
total size is 491212357 speedup is 411056.37

**************************************************************
Respaldando el directorio /mnt/Imagenes/Proyectos
sending incremental file list
./

sent 51036 bytes received 329 bytes 34243.33 bytes/sec
total size is 3357108911 speedup is 65357.91



Ahora, si vamos al directorio /mnt/Multimedia/Respaldos, podemos observar que tenemos un nuevo directorio de tipo 2009-01-30-13:28:02-viernes, que tiene el respaldo de los directorios que le indicamos, tal cual la estructura de los directorios originales, y conservando los permisos originales, vínculos, archivos ocultos, es decir todo.

Si volvemos a ejecutar el script, observaremos que ahora la información es menor, sino cambiamos nada solo serán mensajes de avisos, y si volvemos a navegar en nuestro directorio de respaldos a lo mejor veremos un nuevo directorio como el que sigue 2009-01-30-13:40:02-viernes.

Es decir, tenemos dos directorios de respaldo, y si navegamos en él, tenemos todos los archivos de nuestros directorios; es decir tenemos dos instantáneas de respaldos, pero si observamos el espacio en disco, los archivos no están duplicados.

Esta es la maravilla, solo respalda los archivos modificados o nuevos, pero podremos navegar por nuestros respaldos con la ayuda de nuestro navegador favorito, de hecho el directorio de respaldos pudiera lucir como sigue:


Aquí se observa como con la ayuda de mi navegador (konqueror) busco entre los diferentes respaldos que conservo para ubicar un archivo, lo interesante de esto es que no se duplica espacio en disco y sigo conservando la facilidad de buscar en cuantos respaldos necesite, de una forma sencilla, sin aprender una nueva interfaz y si quiero puedo tener muchos respaldos al día.

Para mayor facilidad puede ser conveniente que la salida del script la mandemos a un archivo de bitácora donde puedo ver con más calma lo que pasó durante su ejecución, esto lo puedo lograr con una línea como la que sigue:
sh respaldo.sh /mnt/Multimedia/Respaldos 30 >> /home/rponcedeleon/respaldo.log
Con los dos ">>" le indico que la salida del script se vaya a un archivo respaldo.log que se encuentra en /home/rponcedeleon, que si el archivo no existe lo crea, y si existe le agrega más líneas.

Para dejar sus respaldos que se ejecuten cuantas veces necesiten lo pueden incluir en cron, o en anacron.

En mi caso yo lo incluí al arranque de mi sesión, entonces antes de hacer algo, lo primero que hace mi sistema es respaldar cualquier cosa que pude haber hecho en mi sesión anterior.

Por la forma en que se encuentra el script puedo respaldar diferentes directorios con diferentes criterios; a lo mejor algunos necesito hacer un respaldo a la semana, o cada tercer día; o conservar solo una semana de respaldos o un mes; solo debo correr el script con parámetros diferentes.

Por otro lado no existe problema en quitar o agregar directorios al respaldo, desde el momento que lo hagamos podremos apreciar el cambio en el respaldo correspondiente, ya que el script respeta la estructura de directorios que se le indique.

Esperando que este script les sea tan útil como a mi, me despido.

Como ver RMVB en ubuntu desde Cualquier Reproductor (Linux)



Ps buenas noches...


Hoy estuve buscando una pelicula dos dos para ver xq la noche estaba algo lluviosa i d weba asi que buscando recorde que alguna vez la use, es una paginita bonita para descargar las peliculas y algunas series bonitas jajajaja (http://sdd-fanatico.blogspot.com/) la cual uso amenudo y ps baje una pelicula "X" y ps cuando trate de verla con algun reproductor... ps q no se podia xq no tenia los codecs adecuados, estuve bajando y bajando para los win32 para el mplayer pero ni aun asi... hasta que me tope con una pagina

http://www.taringa.net/posts/linux/1189426/Como-ver-RMVB-en-ubuntu-desde-Cualquier-Reproductor-(Linux).html

la cual anexo para no robarme todo el credito...jojojo

-- para empezar abrimos una terminal, ojo, yo uso ubuntu 8.04

-- luego ponemos en la terminal

sudo wget http://www.medibuntu.org/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/medibuntu.list
El anterior comando descarga un source y lo agrega al source.list.


-- Posteriormente colocamos este otro comando

wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add - && sudo apt-get update
El anterior comando agrega las llaves publicas GPG para el correcto funcionamiento del source, después de esto actualiza los repositorios para incluir los antes agregados en las futuras descargas y actualizaciones.


-- Despues colocamos

sudo apt-get install w32codecs
El anterior comando instala los Codecs w32 para la lectura de la mayoria de contenedores multimedia privativo


-- Por ultimo colocamos

sudo apt-get install libdvdcss2
El anterior comando instala la librería libdvdcss2 que permite un buen funcionamiento a la hora de lectura DVD-Video.


-- También es muy recomendable instalar los restricted, los cuales los instalamos con este comando:

sudo apt-get install ubuntu-restricted-extras
Listo con esto ya pueden ver sus archivos rmvb desde cualquier reproductor jejejeje


espero que les sirva de gran utilidad hay un reproductor en windows pero como la vdd ya casi no uso windows mas que en el trabajo pues no se que onda pero ps en linux aca esta la solucion


29 enero, 2009

Fuentes de Windows en Wine

Bueno, la idea me vino a la mente cuando utilizaba el emu8086 (cual es para windows) en debian lenny, pero tengan certeza que debe funcionar en otras distribuciones. La tarea es sencillísima, lo primero que debemos hacer es: crear un respaldo de las fuentes, por si las moscas, así entonces movemos la carpeta de Fuentes:

# mv /home/tu_usuario/.wine/drive_c/windows/Fonts /home/tu_usuario/.wine/drive_c/windows/Fonts.org

Donde es claro que tu_usuario es tú usuario ¿ok?

Luego podemos:

1 Crear una carpeta Fonts en /home/tu_usuario/.wine/drive_c/windows/ y colocar las fuentes ahí correspondientes de Windows (Si no tienes windows puedes pedir que algún amigo te las provea)

2 Crear un enlace para compartir las fuentes de Windows que tienes instaladas asumo en tu pc y en disco duro previamente montado.

# ln -s /punto_de_montaje_windows/WINDOWS/Fonts/ /home/tu_usuario/.wine/drive_c/windows/Fonts
Donde también debo indicar que la dirección a la carpeta punto_de_montaje_windows, es lo ella misma dice ;) así que no olviden cambiarla.

Por lo general, las fuentes que trae wine trabajan bien, pero en esta ocasión me topé que la aplicación mostraba valores NULL de los cuales obtenía un cuadro, además de la necesidad de ver el código ascii.

Ok, Saludos. (Hoy no hay chistes)

25 enero, 2009

Script para visualizar las redes inalambricas por medio de conky

Script para visualizar las redes inalámbricas por medio de conky
script para monitorizar redes inalámbricas en conky
script para poner wireles en conky
script para ver wireles en conky

Descargalo de aqui:
http://www.mediafire.com/?njdtzll9emt

----------------------EDITADO----------------------
La ultima ves que use esta forma no me funciono, asi que si no te funciona, usa este método:
http://zer0-azucar.blogspot.com/2009/03/mostrar-redes-inalambricas-en-conky.html

----------------------EDITADO----------------------

primero que nada, tienes que saber que para monitorizar por medio de un comando las redes inalámbricas necesitas usar el comando iwlist, así que antes de ates de ponerlo en marcha tienes que hacer un par de cosillas bien sencillas, los pasos en forma general son:

1.- obtener permisos para ejecutar iwlist sin contraseña root
2.- crear una carpeta para el script y configurar el script para esa carpeta
3.- configurar el conky para ver las redes inalámbricas

1.- como yo uso el comando "sudo" junto con "visudo" voy a suponer que tu también lo usas, asi que vamos a configurar el archivo "/etc/sudoers"

$sudo nano visudo
Vamos a crear un alias para los usuarios que va a poder usar el comando iwlist, así que agregamos la linea:
User_Alias LISTREDES = usuario

en donde "usuario" es el usuario que podrá usar el comando, si quieres agregar a mas usuarios solo separarlos con una coma "," ejemplo:
User_Alias LISTREDS = usuario,usuario2,usuario3

Ahora vamos a agregar una linea mas casi al final para decir que podra usar ese comando sin contraseña de root
LISTREDES ALL = NOPASSWD: /sbin/iwlist

ahora cerramos con Ctrl + x y le decimos que si queremos guardar los cambios, tu tuvimos un error de dedos saldrá un promt preguntándonos que queremos hacer, oprimimos la tecla "e" para editarlo de nuevo, corregimos y cerramos (hasta que nos salga bien chindaos!!)

podemos probar si tenemos derechos de usar el comando poniendo en terminal:
$/sbin/iwlist wlan0 scanning


donde "wlan0" es la interfase que tengamos para la red inalámbrica, sino sabes cuales tienes pones en terminal:
$sudo ifconfig


ahora hacemos un link para no tener que poner siempre "/sbin/", en terminal ponemos:
$ sudo ln /sbin/iwlist /user/bin/iwlist


2.- el script esta configurado para ser usado en la carpeta ".list_wireless" de tu usuario, asi que tienes 2 opciones, o lo configuras para que trabaje en la carpeta que se te antoje, o le haces una carpeta para la cual esta configurada,

opción 1.- configurarla para trabajar en la carpeta que se te antoje: primero lo habrimos con un editor de texto
$mousepad list-wireless.sh


buscamos la linea que diga:
dir=~/.list_wireless

y ponemos en lugar de "~/.list_wireless" la carpeta donde queramos usarlo; guardamos y cerramos

opción 2.- hacerle una carpeta para la cual ya esta configurado:
$mkdir ~/.list_wireless

$cp list-wireles.sh ~/.list_wireless/


recuerda estar en la misma carpeta del script y fijarte de los guiones y guiones bajos

3.- configurar conky para ver las redes inalámbricas

Abrimos con un editor de texto la configuración de conky
$mousepad .conkyrc

y ponemos estas lineas en la sección donde queramos (obvio después de TEXT)ver la lista de redes inalámbricas (preferentemente hasta el final)

${execi 10 /home/tu-usuario/.list_wireless/list-wireles.sh}
${tail /home/tu-usuario/.list_wireless/redes_disponibles 15 5}


en la primera linea:
10 sera la cantidad de segundos que esperara para ejecutar el escaneo de redes
en la segunda linea:
15 es la cantidad de lineas que escribirá del archivo, las primeras 15 redes inalámbricas
5 sera la cantidad de segundos esperados para leer el archivo que contiene la lista de redes inalámbricas

como la salida del archivo que contiene la lista de redes no es instantaneo, considera el tiempo que se tomara para el escaneo de estas

recuerda cambiar "tu-usuario" por el nombre del usuario que utilices, también acuerdate que el intervalo tanto de ejecución del script como de lectura del archivo n puede ser menor al de actualización del conky en si

El script genera 3 archivos:
1.- "redes-name" que contiene la lista de los nombres de redes
2.- "redes-señal", contiene la señal o la calidad de señal de las redes
3.- "redes-disponibles" es la lista final del nombre de las redes y la calidad de estas
asi que no te asustes si ves 3 archivitos mas

24 enero, 2009

Scrip para cambir de wallpaper en fluxbox

Script para cambiar el wallpaper/fondo de escritorio de forma aleatoria cada cierto tiempo en fluxbox

Descargado de aquí:
http://www.mediafire.com/?wwl4nt2ziyg

1.- solo descomprime, te colocas en la carpeta del script y das permisos de ejecución al script de instalación y lo ejecuta
$ chmod +x instalar.sh
$ cd wallpaper-flux-blog
$ bash ./instalar.sh


2.-Debes editar el archivo wallr.sh para que le anexes la dirección donde se encuentran tus archivos de imagen
La carpeta solo debe de contener estrictamente imágenes, puede contener imágenes y/o algún otro tipo de archivo, usa el editor de textos que tengas instalado en mi caso uso mousepad
$ mousepad ~/.wallpaper-flux/wallr.sh

buscas una linea que empiece con:
dir1=

si solo tienes una carpeta de imágenes ponla ahí, por ejemplo:
dir1=~/Imagenes/wallpapers

si tienes mas de una carpeta con wallpapers puedes especificarla con:

dir2=
dir3=
dir4=


Los cuales deje comentados, solo descomentalos para usar mas de un directorio

por precaución (como ya mencione) deje comentado desde el directorio 2 hasta el 8 así que des-comentalos

Esta programado para cambiar el wallpaper cada 30 min, puedes cambiar eso en la linea:
sleep 1800

solo cambia “1800” por el número de minutos expresados en segundos
Ahora, a disfrutar!!!!!

Notas:
  • En la carpeta que tengas los wallpapers solo debes tener imágenes
  • Los nombres de la(s) carpeta/subcarpetas no deben tener espacios o caracteres como acentos
  • No te recomiendo que ejecutes el script por medio del archivo ~/.fluxbox/init, para hacerlo por medio del archivo “init” sigue leyendo

ahora, seria conveniente:


Ejecutar el script al inicio de cesión de fluxbox


Editamos el archivo “~/.fluxbox/startup” si lo hacemos desde terminal:

$mousepad ~/.fluxbox/startup


buscamos la linea que tenga:
exec /usr/bin/fluxbox

y antes de esta ponemos:
/home/tu-suario/.wallpaper-flux/wall.sh &

solo cambia “tu-usuario” por el usuario que uses y en caso de no usar ese directorio, pon el directorio donde hayas colocado el script, recuerda poner “&” al final de la línea, guardas y cierras

Ahora cada ves que inicies fluxbox iniciaras el script

cualquier duda o comentario sera bienvenido, estoy a sus ordenes

========ACTUALIZACIÓN==================

- ya puedes tener el numero de wallpapers que quieras, no solo de 10 a 999
- al cerrar fluxbox se cierra el programa
========ACTUALIZACIÓN==================
- compuse un errorcito que tenia y no lo habia notado jeje, cosas que pasan!!
- tomando en cuenta que ahora los wallpaper quedan guardados y no es necesario ejecutarlos de nuevo al inicio elimine parte del post
- mejorare otras cosas, esto es solo temporal
 ========ACTUALIZACIÓN==================
-ahora si compuse el error jeje (ahora si se cierra al cerrar fluxbox, sorry por no componerlo bien la ves anterior)
-las carpetas ya pueden tener archivos de otro tipo, ya hay un filtrado para imagenes
-ya no necesitas descomentar en 2 lineas, solo descomentas las lineas del directorio, pones tus directorios y listo
-solo puede haber un script de wallpaper corriendo, esto por motivos de seguridad jeje
-ya no se genera un archivo extra con el listado de los wallpapers
-menos código
-cuenta con un script de instalacion (esto desde la actualización anterior (se me paso escribirlo)

======ACTUALIZACIÓN=================
-Hice una version "especial" que permite recortar y ajustar el tamaño del wallpaper para las dimenciones del monitor, ademas de agregar sombras, este es el link
http://zer0-azucar.blogspot.com/2010/03/script-wallpaper-random-con-recorte-y.html

===============================================

21 enero, 2009

en Linux, todo es posible....

Este video lo tengo en mi blog personal, pero lo use aqui porque la verdad si me provoco el sentimiento jejeje



Si, me leo cursi, pero creo que en linux se puede todo, lo que siempre deseasteis y quisiste hacer

19 enero, 2009

Si un hamster puede.....

hahaha, gracias a el amigo Bicho, me mando el link para este video =)



Animo!!! tu puedes dejar Windows!!!

Brincar proxys

Bueno pues en alguna ocasion trate de entrar a alguna pagina "prohibida" y no lo pude hacer de la forma normal, asi que buscando en internet entre alguna pagina (la cual omito... no por querer adueñarme del credito sino xq no recuerdo cual era...:p) y encontre que algunas de estas paginas "prohibidas" tienen una seguna via, por ejemplo y la mas comun "http://www.metroflog.com".

Esta pagina en algunos servidores proxys no la permiten ya que estas en la oficina y no tienes el acceso permitido, pues solo tienes que quitarle las "w's", es decir: "http://metroflog.com", con esto lograras entrar a esta pagina pero si en dado caso no pudieras acceder a ella de esta forma existen muchas tecnicas para poder hacerlo.

Una de estas "Tecnicas", es www.google.com, asi es... google lo puede hacer...

¿como?

simplemente se van al apartado de traduccion y colocan la pagina a la que desean acceder, y listo, es todo asi con esto podran entrar a las paginas PROHIBIDAS!!!

Como todo, algunas paginas se limitan usando este metodo, luego publicaremos un articulo, si estas en windows y quieres brincar un proxy sin perder preferencias en dichas paginas.


saludos


bless para el gory


17 enero, 2009

Instalemos la Canon PIXMA MP210 en Debian Lenny :)

Bueno, esta es una réplica del post del blog de maiku xD, así que no se preocúpen, ya le pedí permiso y ya me dijo mis palabrotas y todo, así que ustedes tranquilos.

Hoy se van a enojar con lo simple que es instalar la multifuncional Canon PIXMA MP210 en su Debian Lenny, tanto que pensarán que esta entrada no tiene razón de ser ni existir.

Este día tengo un poco de ánimo, así que haremos paso a paso la instalación.

Ante todo, he obtenido los drivers de la impresora del siguiente sitio: http://support-au.canon.com.au/EN/search?canonsearch=1&lang=EN&category=All-in-One+Printers&series=All-in-One+Printers&model=PIXMA+MP210&menu=Download


Y busqué los siguientes paquetes: cnijfilter-common_2.80-1_i386.deb y cnijfilter-mp210series_2.80-1_i386.deb


(estas corresponden a IJ Printer Driver Ver. 2.80 for Linux(debian Common package) y IJ Printer Driver Ver. 2.80 for Linux(debian Package for the MP210 series) respectivamente en el sitio citado anteriormente)

De no aparecer las páginas direccionadas, creo que con hacer una pequeña búsqueda en google seremos felices.

Bueno, una vez descargados, vamos a lanzar:

# dpkg -i cnijfilter-common_2.80-1_i386.deb

#dpkg -i cnijfilter-mp210series_2.80-1_i386.deb

Y…. ¿ya está instalada? Bueno, los drivers sí, enciende y conecta tu impresora y…. es hora de ir al navegador favorito y tecleamos en su barra de dirección: http://localhost:631 para abrir la administración de cups (asumo, tienen cups instalado y corriendo como demonio he, creo que por defecto viene así, de lo contrario solo tendrán un error al insertar la anterior dirección, ha, cups es ahora una marca registrada de apple inc. O_o! ) Y buscaremos el enlace ha administración.

canonmp21001

He aprovechado con la imágen anterior a señalar que debemos seleccionar: “Encontrar nuevas impresoras” Y…..

canonmp21002

Seleccionamos nuestra canon MP210 que apunta al USB donde se colocó. Ojo “Puerto USB donde ustedes lo conectaron” en mi caso es el #1, a ustedes le puede apuntar a otro lugar, como #2 etc, etc. La segunda opción no la utilicé, si gustan, pruébenla y nos cuentan qué sucede.

canonmp21003

Uff, Acá todo bien, click en siguiente je je je….

canonmp21004

Lo último sería click en “Añadir impresora”

Y hasta ahí todo, provemos si imprime a partir de algún documento, eso debe ser todo, de lo contrario, depurar errores ok.

Oye, maiku…. pero la PIXMA PM210 es multifuncional, ¿y dónde jodidos has dejado la parte del escáner?

Bueno, les debo esa información sobre cómo manipularla al gusto, pero con los drivers anteriores incluye para el escáner. Así que con buscar en nuestros repos alguna aplicación que trabaje bien y en eso debería terminar la historia. Por mi parte lanzo:

# scanimage >> imagen.pnm

Y obtengo scans fácilmente. Claro tengo sane instalado, asumo igual ustedes.

Ok, eso es todo, nos leemos. (Ni siquiera esto le cambié xD)

13 enero, 2009

Como usar wget para descargar archivos de Megaupload

Podemos utilizar wget para dejar descargando archivos desde terminal todo el dia, de esta forma si se cierra tu browser no te afectara en lo absoluto, o también podrías hacer un script y dejarlo bajando desde una terminal, si se llega a cerrar la cesión grafica seguiria descargando

Primero conseguimos el link de descarga, damos click derecho en el botn de descarga y le damos click en la opcion de copiar la direccion de descarga











Despues vamos a la terminal, nos colocamos en el directorio donde querramos descargar los archivos y ponemos:
$wget -c 'http://direccion-del-archivo-para.descargar'

recuerda poner comas sencillas ( ' ) al principio y an final del archivo, vamos a la siguiente pagina de descarga de megaupload, copiaremos el enlace de descarga y volveremos a ponerlo en terminal, pero esta ves antes de anexar el wget dejaremos un espacio y pondremos &&
wget -c 'http://www25.megaupload.com/files/5ba0f5b6f545710b992f99871f719202/Heat%20Guy%20J%20-%2011.avi' && wget -c 'http://www787.megaupload.com/files/cda751936342d52e444011d13e7599ee/Heat%20Guy%20J%20-%2012.avi'

Para pegar texto en terminal usa "Ctrl+Shift+v"
Despues volveremos a ir a la siguiente pagina de descarga y repetiremos el proceso, hasta que hayamos anexado todos los archivos deseados a descargar quedandonos de la siguiente forma:
$ wget -c 'http://www25.megaupload.com/files/5ba0f5b6f545710b992f99871f719202/Heat%20Guy%20J%20-%2011.avi' && wget -c 'http://www787.megaupload.com/files/cda751936342d52e444011d13e7599ee/Heat%20Guy%20J%20-%2012.avi' && wget -c 'http://www328.megaupload.com/files/ada95a19034cdea4982f9c2b4b299a23/Heat%20Guy%20J%20-%2013.avi' && wget -c 'http://www534.megaupload.com/files/41235bebefc6df56f0ad4047ea059e11/Heat%20Guy%20J%20-%2014.avi'
Para crear un script de descargas solo crea un archivo de texto y nombralo "descargas.sh", despues lo habres y colocas al inicio: "#!/bin/sh"
en la siguiente linea pondras todo el codigo que pondrias en la terminal, quedando mas o menos asi:

#!/bin/sh

wget -c 'http://www25.megaupload.com/files/5ba0f5b6f545710b992f99871f719202/Heat%20Guy%20J%20-%2011.avi' &&
wget -c 'http://www787.megaupload.com/files/cda751936342d52e444011d13e7599ee/Heat%20Guy%20J%20-%2012.avi' &&
wget -c 'http://www328.megaupload.com/files/ada95a19034cdea4982f9c2b4b299a23/Heat%20Guy%20J%20-%2013.avi' &&
wget -c 'http://www534.megaupload.com/files/41235bebefc6df56f0ad4047ea059e11/Heat%20Guy%20J%20-%2014.avi'

Despues solo resta otorgarles permisos de ejecución
$chmod +x descargas.sh

para ejecutarlo desde terminal solo pones:
$sh descargas.sh
En cualquier momento puedes terminar de ejecutar el script con Ctrl+c y dspues si deseas volverlo a ejecutar, se sguira descargando desde el mismo punto en que se quedo

saludos!!!

========================================================

-EDITADO-
Por cierto, gracias a mi compañero Maiku, la idea original es de el

11 enero, 2009

Como ejecutar los screenlets desde terminal en fluxbox /ejecutar al inicio los screenlets

Sabemos que existe dentro de la misma aplicación, opciones para ejecutarse al inicio, ya sea en gnome o en kde, pero, que pasa si usamos fluxbox? o simplemente queremos hacer todas las llamadas de ejecucion del inicio desde un script?

Primero revisamos la lista de los screenlets que tenemos instalados:
$screenletsd --cli list

nos saldra una lista parecida a esta:

$ screenletsd --cli list
ACPIBattery
AppMenu
Brightness
Calc
Calendar
ClearCalendar
ClearRss
ClearWeather
Clock
CompositeToggler
Control
Convert
CopyStack
DigiClock
Diskusage
EvolutionContacts
Example
FeedReader
Flower
Gmail
Kclock
Launcher
MailCheck
MainMenu
Meter
Mount
MyIp
Netmonitor
Notes
NowPlaying
Output
Pager
Picframe
Places
Radio
RingSensors
Ruler
Search
Sensors
Sidebar
Slideshow
Speech
Stocks
Storage
Sysmonitor
Test
Tomboy
Trash
VolumeControl
WallpaperClock
Windowlist
Youtube


Esta lista corresponde a los screenlets que tenemos instalados, es importante para que así sepamos los nombres de los que ejecutaremos al inicio
Después abrimos y editamos el archivo startup
$sudo mousepad ~/.fluxbox/startup

y unas lineas antes de la linea que diga: "exec /usr/bin/fluxbox" ponemos los comandos de los screenlets que queremos iniciar, prueba antes en terminal de la siguiente forma:
$screenletsd --cli run nombre-del-screenlet &

Recuerda poner "&" después de cada comando en el archivo de inicio "startup"
Nos quedaría mas o menos de la siguiente manera:

screenletsd --cli run Sensors &
screenletsd --cli run Diskusage &
screenletsd --cli run ClearCalendar &
screenletsd --cli run Launcher &

exec /usr/bin/fluxbox


Saludos!!!

08 enero, 2009

Como cambiar el formato de la hora en Fluxbox

Editamos el archivo init

$mousepad ~/.fluxbox/init


Buscamos la seccion que contene "strftime" que seria una linea como esta:

session.screen0.strftimeFormat: %k:%M

%k y %M representan el formato en que sera mostrada la hora del panel, las demas variables las encontramos en el manual del strftime, lo conseguimos de la siguiente forma:

$ man strftime
las variables son:

%a El nombre abreviado del día de la semana según la localización en curso.

%A El nombre del día de la semana, completo, según la localización en curso.

%b El nombre abreviado del mes según la localización en curso.

%B El nombre completo del mes según la localización en curso.

%c La representación preferida de fecha y hora para la localización en curso.

%C El siglo (año/100) como un entero de 2 dígidos. (SU)

%d El día del mes como un número en base diez (en el rango de 01 a 31).

%D Equivalente a %m/%d/%y. (Sip - sólo para norteamericanos. Los norteamericanos deben darse cuenta que en otros países %d/%m/%y es bastante común. Esto significa que en un contexto interna cional este formato es ambiguo y no se debería usar). (SU)

%e Como %d, el día del mes como un número decimal, pero un cero inicial se reemplaza por un espacio. (SU)

%E Modificador; use formato alternativo, ver más abajo. (SU)

%F Equivalente a %Y-%m-%d (el formato de fecha de ISO 8601). (C99)

%G El año con siglo como un número decimal según el estándar ISO 8601. El año de 4 dígitos correspondiente al número de la sem ana ISO (ver %V). Éste tiene el mismo formato y valor que %y, salvo que si el número de la semana ISO pertenece al año anterior o siguiente, ese año se utiliza en su lugar. (TZ).

%g Como %G, pero sin siglo, es decir, con un año de 2 dígitos (00-99). (TZ)

%h Equivalente a %b. (SU)

%H La hora como un número en base diez en formato de 24 horas (en el rango de 00 a 23).

%I La hora como un número en base diez en formato de 12 horas (en
el rango de 01 a 12).

%j El día juliano (día del año) como un número en base diez (en el
rango de 001 a 366).

%k La hora (en un reloj de 24 horas) como un número decimal (en el rango de 0 a 23); los dígitos individuales son precedidos por un blanco. (Ver también %H). (TZ)

%l La hora (en un reloj de 12 horas) como un número decimal (en el rango de 1 a 12); los dígitos individuales son precedidos por un blanco. (Ver tambíen %I). (TZ).

%m El mes como un número en base diez (en el rango de 01 a 12).

%M El minuto como un número en base diez (en el rango de 00 a 59).

%n Un carácter de nueva línea. (SU)

%O Modificador; use un formato alternativo, ver más abajo. (SU)

%p O ‘AM’ ("Ante Meridiem", antes del mediodía) o ‘PM’ ("Post Meridiem", después del mediodía) de acuerdo con el valor del tiempo dado, o la cadena de caracteres correspondiente según la localización en curso. El medio día se trata como ‘pm’ y la media noche como ‘am’.

%P Como %p pero en letras minúsculas: ‘am’ o ‘pm’ o una cadena correspondiente para la localización actual. (GNU)

%r El tiempo en notación a.m. o p.m.. En la localización POSIX esto es equivalente a ‘%I:%M:%S %p’. (SU)

%R El tiempo en notación de 24 horas (%H:%M). (SU) Para una versión que incluya lo segundos, ver %T más abajo.

%s El número de segundos desde la Época, es decir, desde 1970-01-01 00:00:00 UTC. (TZ)

%S El segundo como un número decimal (en el rango de 00 a 61)

%t Un carácter tabulador. (SU)

%T El tiempo en notación de 24 horas (%H:%M:%S). (SU)

%u El día de la semana como un número decimal, en el rango de 1 a 7, siendo 1 el Lunes. Ver también %w. (SU)

%U El número de la semana del año actual como un número en base decimal, en el rango de 00 a 53, empezando por el primer domingo como el primer día de la primera semana. Ver también %V y %W.

%W El número de la semana del año actual como un número decimal según el estándar ISO 8601:1988, donde la semana 1 es la primera semana que tiene al menos 4 días del año actual y el lunes como el primer día de la semana. Ver también %U y %W. (SU)

%w El día de la semana como un número decimal, en el rango de 0 a 6, siendo el domingo el cero. Ver también %u.

%W El número de la semana del año actual como un número decimal, en el rango de 00 a 53, empezando con el primer Lunes como el primer día de la primera semana.

%x La representación preferida de la fecha (sin la hora) para la localización en curso.

%X La representación preferida de la hora (sin la fecha) para la localización en curso.

%y El año como un número en base diez sin la centuria (en el rango de 00 a 99).

%Y El año como un número en base diez, incluyendo la centuria.

%z El huso horario como las horas de diferencia respecto a GMT. Necesario para emitir fechas conformes a RFC822 (usando "%a, %d %b %Y %H:%M:%S %z"). (GNU)

%Z La zona horaria, nombre o abreviatura.

%+ La fecha y hora en el formato de date(1). (TZ)

%% Un carácter de porcentaje literal, ’%’.

Elejimos los que mejor nos parescan, por ejemplo:

session.screen0.strftimeFormat: %d/%B %k:%M

guardamos el archivo y reiniciamos el gestor de ventanas

07 enero, 2009

Dos buenos softwares para Exploración Astronómica en Debian Lenny

Para quienes nos estamos adentrando al mundo de la astronomía, estas herramientas son en verdad útiles, antes de empezar de lleno a conocer nuestro cielo. Se trata de Stellarium y Celestia.

Celestia permite tener un modelo 3D tanto del sistema solar como de constelaciones y estrellas, su ambientación 3D es muy buena y asemeja mucho a un gran viaje con cada búsqueda. Nos hará sentir como exploradores mientras barremos unidades astronómicas en segundos.


Rápida instalación en debian lenny:

#apt-get install celestia

Por otra parte, si somos fieles a la astronomía clásica, hecha desde nuestro techo xD, con binoculares o simplemente con los ojos, Stellarium es lo que buscamos. Para mí el mejor; permite tener en la pc una imágen exacta de lo que tenemos en el cielo, ya que podemos configurar nuestra ubicación geográfica. Además de hacer acercamientas muy detallados de algunos objetos importantes



Rápida instalación en debian lenny:

#apt-get install stellarium

Para ambas herramientas necesitamos:

  • Ser humano o compatible
  • Ganas de conocer el cielo
Saludos

06 enero, 2009

mi escritorio de enero


Como bajar el bitrate a un archivo de audio

Como reducir de tamaño un archivo, canción, mp3
con el soundconverter es muy facil:

$sudo apt-get install soundconverter


si queremos como resultado un mp3 solo lo seleccionamos, seleccionamos el modo de bitrate Constante y la calidad: Muy Bajo














Para usar mp3 necesitaras la biblioteca de lame, la instalas asi:

$sudo apt-get install gstreamer0.10-lame
Si no encuentras el paquete, es probable que no tengas los repositorios multimedia, sigue este link para instalar el repositorio multimedia en debian:
http://zer0-azucar.blogspot.com/2009/01/instalar-repositorios-multimedia-en.html

Referencia:
http://soundconverter.berlios.de/gstreamer-mp3-encoding-howto/

04 enero, 2009

Instalar Repositorios Multimedia en Debian

Habres el synaptic ó desde una terminal pones:

$gksu synaptic&
le damos click en Configuracion|Repositorios
Después le damos click en Nuevo y rellenamos los siguientes espacios:



















si estas usando otra distribucion o simplemente no quieres usar los repositorios testing en la parte de Distribución es donde deves de cambiar, por ejemplo: stable, testing o unstable
Click en Aceptar, recargamos los repositorios y cerramos

Ahora bajamos la llave de este sitio:
http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb

y lo instalamos de forma normal o desde terminal:

$sudo dpkg -i debian-multimedia-keyring_2008.10.16_all.deb
recargamos los repositorios

$sudo apt-get update


y tenemos listo los repositorios

Referencia:
http://www.debian-multimedia.org/

03 enero, 2009

Como poner la cancion del moc en amsn

Como usar el plug-in Music del amsn para ver la canción del reproductor moc
Como mostrar la canción que se esta reproduciendo en el moc

Primero instalas el plug-in Music para el amsn, lo descargas de aqui:
http://www.amsn-project.net/getURL.php?id=193











Despues de instalarlo y revisar que funsiona apropiadamente, entras a la carpeta:
~/.amsn/plugins/music

ahi encontraras entre otros los scrips de configuracion de los reproductores soportados ( infobanshee inforhythmbox infojuk infototem infoamarok infolisten), en mi caso eleji el totem
Haces una copia del archivo a modificar, ejemplo:

$ cp ~/.amsn/plugins/music/infototem ~/.amsn/plugins/music/infototem_respaldo


ahora habres con el editor de tu preferencia el archivo que elejiste a modificar:

$ mousepad ~/.amsn/plugins/music/infototem


veras una configuración como esta:


#! /bin/sh
TOTEM=`ps aux | grep totem | grep -v grep | grep -v info`
if [ -n "$TOTEM" ]
then
totem --print-playing
else
echo 0
fi
exit 0


solo cambias desde then hast antes de fi por lo siguiente:


mocp -Q %song
else
mocp -Q %title


Te quedara de la siguiente forma:


#! /bin/sh
TOTEM=`ps aux | grep totem | grep -v grep | grep -v info`
if [ -n "$TOTEM" ]
then
mocp -Q %song
else
mocp -Q %title
fi
exit 0


Guardas el archivo y reinicias el plug in, asegurate de seleccionar e reproductor correspondiente al archivo que modificastes


Este métido se puede utilizar para cualquier reproductor no incluido, solo tienes que saber la linea de salida en terminal que te daria como resultado la cancion que escuchas

02 enero, 2009

Instalar openoffice.org 3 en Debian Lenny desde repositorios

En un principio, saludos amigos lectores de Ze0-azucar

Me siento honrado de ser parte de este blog y espero colaborar con cosas sencillas pero útiles.

Éste día vamos a instalarnos openoffice.org 3 aunque no he notado cambios dramáticos además del soporte de lectura ficheros de office 2007.

Bueno, sin complicaciones vamos a agregar ésta linea a nuestro sources.list:

deb http://ftp.fr.debian.org/debian experimental main

no están en los repositorios a los que estamos acostumbrados, pero sí en los repositorios de experimental.

#no olvidemos el
#apt-get update

Ahora al punto, el método de instalación será

# apt-get install -t experimental openoffice.org

Por otra parte, puede que existan algunas dependencias incumplidas, por lo que lo mejor sería habilitar los repositorios de sid. Éste nos puede servir:

deb http://ftp.fr.debian.org/debian/ sid non-free


Y volver a intentar la instalación.

No olvidemos que -t experimental es obligatorio.

Si luego de la instalación tenemos ciertas cualidades que no aparecen, como lo es la ayuda o la revisión ortográfica, debemos lanzar el comando con -t experimental, de lo contrario, buscará en los repositorios habituales

Ejemplos:

#apt-get install -t experimental openoffice.org-l10n-es
#corrección ortográfica español.

#apt-get install -t experimental openoffice.org-help-es
#ayuda en pantalla español.

Saludos y espero sea de ayuda.

(ok, gory, deja de tildarme de aragán)

Como Reproducir archivos .midi

Esto en GNU/LINUX

$sudo apt-get install timidity


después en terminal:

$ timidity archivo.midi


Referencias:
http://javoaxian.blogspot.com/2008/04/reproducir-archivos-midi-en-gnulinux.html

Curso Online de HTML 4.0

Altamente recomendado:
http://www.programacion.com/html/tutorial/curso/

como cambiar el icono del blogg/hacer un icono para blog

Con esto también podremos cambiar el icono del navegador

si ya tienes el icono y sabes editar con html la plantilla del blog, colocas esto:

<link href='http://direccion_de_tu_icono.png' rel='shortcut icon'/>

-no importa mucho si la extención de la imagen es .ico ó .png
- el icono que biene del blogger original tiene 2 capas, la primera de 32x32 pixeles y la segunda con 16x16 pixeles

Como hacer un icono para blog con gimp
lo primero si estas en linux es instalarlo (si no lo tienes instalado):

$sudo apt-get install gimp


habres el gimp y le das en Archivo|nuevo, a continuación elijes la resolucion, al principio no importa la resolucion que pongas, ponle una resolucio que se te haga comoda para hacer tu icono

- Puedes agregarle una capa alfa a la capa, asi cuando borres el fondo, este quedara transparente

al terminar de hacer tu dibujo, solamente escalas la capa a un tamaño de 32x32 pixeles, cmo ya mencioné no es necesarioq ue sea precisamente de extencion .ico, puedes guardarla como imagen .png

Para subir un icono ó imagen a una pagina/servidos para el blog

en lo personal prefiero "google page Creator" http://pages.google.com tienes que hacer una cuenta, en la parte inferior e la derecha se encuentra un cuadrito, le das click en upload y despues seleccionas el archivo de tu sistema, despues de haber subido el archivo le das click derecho sobre las lineas azules del archivo que subistes, copias el link y ese link lo usaras para agregarlo a tu blogg

Para agregar el codigo del icono en tu blogg ( explición un poco mas detallada)

estando ya en el escritorio de tu blog, te vas a la opcion de diseño|Edición de HTML buscas la parte donde este justo una linea antes de </head> esto vas a colocar:


<link href='http://direccion_de_googlepages/para_el/icono.png' rel='shortcut icon'/>

le das click en "Guardar plantilla" y habres la pagina de tu blog para verificar que se hayan efectuado los cambios



Referencias:
http://soplandoalcierzo.blogspot.com/2007/01/favicons-como-cambiar-el-icono-del.html

01 enero, 2009

Heme aquí

Feliz año 2009 apreciables nuevos lectores, a partir de este momento me encontrarán posteando algunas cosillas interesantes, o no, a través de este blog, espero que la mayoría lo sea.

Hablaremos de todo un poco, creo yo, principalmente sobre cómputo debo reconocer, pero no estoy peleada con otros temas, así que, si en algún momento encuentran mi colaboración un tanto ecléctica les pido que comprendan.

Este inicio de año pinta algo complicado en el rubro de lo económico para los que tenemos el privilegio de vivir en este paraiso llamado México así que a vivir una vida economicamente responsable compatriotas. (como que sone a cierto político de baja estatura y poco cabello jejeje). Lo cierto es que ya seguiremos hablando de miles de temas no solo económicos.

Windows, Linux están en la lista si llegamos a encontrar algo mas de que hablar les comentamos.

Hasta pronto.

Bienvenidos!!!!

Les doy la bienvenida a los lectores de zer0-azucar, un blog simple que no empalagoza en el cual encontraran contenido diverso, para todos los gustos pero mayoritariamente computación

Zer0-azucar se define asi: Ser 0 azucar; esto es, un ser que no tiene nada de dulce, es simple!!, no empalaga ni pretende hacerlo, con esto doy la bienvenida a los lectores, tengan en cuenta que cada autor le imprimira sus toques personales a sus post's (de los cuales solo ellos son responsables)

Atte: Gory