viernes, 10 de abril de 2015

Comprimir archivos PDF desde tu Mac con la terminal

Después de probar una infinidad de programas de escritorio para comprimir archivos PDF y en su mayoría de pago, ninguno me convencía o cumplía con mis necesidades, así que llegué a la siguiente solución; utilizar Ghostscript para comprimir archivos PDF muy pesados.

Y...  ¿Qué es Ghostscript?

Ghostscript es un interprete de PostScript, archivos PDF y una librería de gráficos, disponible bajo la licencia de GNU GPL Affero license la cual nos permite usarla sin costo alguno.

Para instalar Ghostscript en Mac es muy simple, la instalación se puede realizar utilizando el instalador de paquetes Homebrew, para esto abrimos una terminal y escribimos el siguiente comando:

brew install ghostscript

Una vez instalado Ghostscript ya es posible comprimir archivos PDF, ahora escribimos en la terminal:

gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/screen -dCompatibilityLevel=1.1 -sOutputFile=miarchivocomprimido.pdf miarchivooriginal.pdf

Dependiendo del tamaño del archivo PDF original, este proceso puede demorar algunos segundos o minutos, una vez termine, como resultado tendremos un archivo PDF comprimido y con calidad de impresión para la web.

Listo! pero... recordar un comando con tantos parámetros puede ser algo difícil y poco productivo, para automatizar este proceso lo recomendable es generar una función que pueda hacer esta tarea mucho más fácil, para generar la función abrimos la terminal y editamos el archivo ~/.bash_profile, para esto escribimos:

sudo vi ~/.bash_profile

Una vez en modo edición, hasta el final del contenido del archivo, creamos la función comprimepdf() de la siguiente manera:

comprimepdf(){
      gs -sDEVICE=pdfwrite -dNOPAUSE -dQUIET -dBATCH -dPDFSETTINGS=/${3:-"screen"} -dCompatibilityLevel=1.1 -sOutputFile=$2 $1}

Ahora, para probar que la función esta trabajando de forma correcta, salimos del mode edición del archivo ~/.bash_profile y escribimos en la terminal el siguiente comando para poder recargar el shell y tener disponible la función.

source ~/.bash_profile 

Ahora si! ejecutamos la función:

comprimepdf mi-archivo-original.pdf mi-archivo-comprimido.pdf

lunes, 18 de febrero de 2013

Error Code: 1175 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column - [RESUELTO]


Por seguridad cuando se trabaja con MySQL Workbench no se permite hacer un DELETE,UPDATE o TRUNCATE sin usar la clausula WHERE, si se intenta ejecutar alguna de las siguientes sentencias obtenemos el siguiente error:

Error Code: 1175
You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column

Cuando se esta trabajando sobre una base de datos remota esta bien que la tengamos habilitada porque así podemos evitar una catastrofe en nuestra base de datos,  pero cuando estamos trabajando  sobre una base de datos local en nuestro entorno de desarrollo no necesitamos tanta seguridad, por ello hoy les comparto esta 
sencilla forma de deshabilitar la opción por defecto:

Antes de usar DELETE, UPDATE o TRUNCATE, escribimos:

SQL_SAFE_UPDATES=0;

Listo !!! ahora ya podemos hacer Actualizar , eliminar o vaciar nuestra tabla.

lunes, 31 de diciembre de 2012

Error Parse error: syntax error, unexpected $end en CentOS 6.3


Hoy el último día del 2012 me encontraba programando una aplicación web con soporte para iniciar sesión con Google Apps, Gmail, Facebook y Twitter con PHP, pero me encontre con un problema que me quito un par de horas resolver ya que en el navegador solo aparecia el tan común error 500, revisando un poco más a fondo en los Logs de Apache encontre un poco más a detalle el error me mostraba lo siguiente:

Error Parse error: syntax error, unexpected $end in /var/www/html/miproyecto/index.php

EL error indica que hay un error de sintaxis al final del código, pero revisando mi código veo que todo se encuentra bien, entonces porque el error???, muy simple... me encuentro usando CentOS como distro y por default esta distro se encuentra configurada para entornos productivos, así que para corregir el problema es muy sencillo (de verdad es muy sencillo), solo hay que modificar una directiva en el archivo php.ini para corregir el problema.

La directiva que hay que modificar es short_open_tag que por dafault como comentaba en CentOS se encuentra desactivada, lo que tenemos que hacer es buscar la directiva short_open_tag y habilitarla.

Lo primero que tenemos que hacer es abrir el archivo php.ini con el siguiente comando:

sudo vi /etc/php.ini

Enseguida buscar ela directiva short_open_tag y habilitarla con el valor on.

short_open_tag = on

Esta directiva determina cuando php reconoce los tags la forma en que deben de ser procesados entre <? y ?> o <?php ?> ,es recomendado no usar los tags cortos  de php, si no más bien usar , de esta forma evitar que php confunda y termine de analizar el código de forma incorrecta.

Espero les sea de ayuda este sencillo tip, este es mi último post del 2012.

Feliz año nuevo.

sábado, 29 de diciembre de 2012

Autocompletar en la terminal en CentOS 6.3

Después de 3 dias de usar CentOS todo iba  de maravilla,pero hoy me di cuenta de un detalle tan pequeño pero tan importante para mi productividad, cuando me encontraba en la terminal escribiendo no me autocompletaba los comandos al pulsar la tecla TAB.

Esto es debido a que las distros basadas en Red Hat no tienen activada/instalada la característica de autocompletado por default como las distros basadas en Debian que si lo tienen activo.

Para instalar el paquete que nos permita el autocompletado realizamos los siguientes pasos:

1.- Abrimos nuestra terminal

2.- Como es una instalación, debemos hacerlo con un usuario root con privilegios escribiendo en la terminal el comando:
su
3.- Una vez cambiamos de usuario escribimos el siguiente comando para instalar el paquete:
yum install bash-completion
4.- Por último solo tenemos que cerrar nuestra terminal para que los cambios se apliquen, enseguida volver a  abrir la terminal y escribimos una parte del comando y al presionar la tecla TAB nos realizara el autocompletado.

Espero les sea de ayuda... es algo tan pequeño pero verdaderamente increible ya que nos ayuda a ser más productivos. 

viernes, 28 de diciembre de 2012

Descomprimir archivos rar en CentOS 6.3


Para descomprimir archivos rar en CentOS utilizaremos el paquete unrar,lo primero que tenemos que hacer es descargar el paquete usando el comando wget

wget ftp://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/unrar-4.1.4-1.el4.rf.i386.rpm

Una vez que descargamos el paquete, nos posicionamos en el directorio donde lo descargamos y escribimos el siguiente comando para instalarlo

rpm -Uvh unrar-4.1.4-1.el4.rf.i386.rpm

Para ver el contenido del archivo rar sin descomprimir utilizamos el siguiente comando:

unrar l miarchivo.rar

Para descomprimir el contenido del rar en el mismo directorio utilizamos el siguiente comando:

unrar e miarchivo.rar

Para conocer más opciones del comando unrar solo tenemos que escribir lo siguiente en la terminal

man unrar







Saber la versión de Centos

A veces necesitamos saber la versión de la distro que usamos.. es por eso que quiero compartir un comando muy sencillo pero verdaderamente útil.

Si lo que necesitamos es conocer la versión de nuestro CentOS, solo tenemos que abrir la terminal y escribir el siguiente comando: 

cat /etc/redhat-release

Como resultado obtendremos la versión que usamos de CentOS, por ejemplo en mi caso me devuelve el siguiente resultado:

"CentOS release 6.3 (Final)"

Espero les sea de mucha ayuda este simple comando.

Instalar Rhythmbox en CentOS 6.3

Con este post iniciare a escribir acerca de CentOS, específicamente sobre la versión 6.3, mi intención es contribuir a mejorar la cantidad de información en español acerca de CentOS, no me adentrare a explicar la instalación de esta distro ya que en internet existen algunos tutoriales muy bien explicados con el procedimiento de la instalación, AQUÍ pueden leer uno en español.

Bueno pues como primer post de CentOS me gustaria explicarles como instalar Rhythmbox Music Player.

Para los que ya estan familiarizados con otra distro, podran comprobar que es verdaderamente sencillo realizar instalaciones, por ejemplo el comando sudo sigue siendo utilizado para realizar tareas con privilegios, la diferencia es que en CentOS tenemos un comando llamado YUM.. que nos servira para instalar, actualizar o eliminar paquetes de nuestra distro.

Lo primero que tenemos que hacer es abrir nuestra terminal y escribir el siguiente comando:

sudo yum install rhythmbox

A continuación nos preguntara si aceptamos la instalación, para ello escribimos la letra "y" (SIN LAS COMILLAS) y presionamos la tecla enter para iniciar la instalación del paquete.

Listo!!! ahora ya estamos listos para reproducir nuestra colección de música.