Cómo comprimir masivamente ficheros JPEG desde GNU/Linux

2017-05-07 - Categorías: GNU/Linux
apisonadora

Hoy traigo de nuevo otro pequeño HOWTO. Esta vez se trata de una pequeña gran utilidad que viene en los repositorios de las distribuciones de Linux. Hablo de Jpegoptim, es una utilidad con la que puedes comprimir ficheros en el formato JPEG desde línea de comandos.

Seguro que habrá muchas herramientas que se hagan valer de esto, proporcionando una interfaz gráfica para lanzar el programa. Pero la línea de comandos es algo muy pontente. Sobretodo para entornos de servidor en donde no tienes entorno gráfico para administrar. O para programar tareas lanzando este comando.

Un poco de teoría

JPEG es un formato de compresión de imágenes con pérdida de calidad. ¿Esto qué quiere decir? Pues simplemente eso, que las imágenes se pueden comprimir permitiendo pérdida de la calidad en favor del tamaño final que queramos alcanzar. Esto no se puede hacer con todos los formatos de imagen.

Esta pérdida de calidad nos permitirá ajustarla a lo que necesitemos sacrificando todo lo que queramos hasta llegar a un tamaño adecuado. Cosa bastante necesaria cuando estamos trabajando en optimizar una web; ya que este es uno de los factores de puntuación de la calidad.

Otro punto a tener en cuenta para las imágenes en webs, es que queremos que sean progresivas. Por simplificar la teoría, esto hará las imágenes de forma que tengamos varias versiones cada vez de mejor calidad en una misma imagen. En una web que se está visualizando, comenzará a pintarse la versión más ligera en cuanto se descargue. Así sucesivamente, hasta llegar a la de mayor calidad. Esto tiene un impacto directo en el tiempo de la primera visualización de las imágenes de una web.

Instalación

En mi caso, como ando con las distribuciones Ubuntu basta con ejecutar lo siguiente desde un terminal:

$ sudo apt-get install jpegoptim -y

También está para Windows, Mac, Solaris.. aquí hay algunas más: http://www.kokkonen.net/tjko/projects.html

Y ahora, a comprimir masivamente

Propongo este comando:

find ./directorio/ -type f -name "*.jpg" -exec time jpegoptim --strip-all --all-progressive --max=90 {} \;

Con esto comprimirás todas las imágenes del directorio en cuestión sobreescribiendo las originales, haciéndolas progresivas si no lo son, y además, reduciéndolas a una calidad del 90%.

Sólo queda esperar y ver los resultados.

Tengo que decir que se usan comandos como find, time, combinado con jpegoptim que es el ejecutable que comprime. Ya dependiendo de lo que necesites recomiendo consultar la documentación oficial ejecutando lo siguiente:

$ find --help
$ time --help

o

$ jpegoptim --help

..para ver todas las opciones posibles.

Web del proyecto: https://github.com/tjko/jpegoptim

Web del autor: http://www.kokkonen.net/

Espero que sirva. ¡Un saludo!


Java: serializando objetos para guardar y recuperar en ficheros (editado)

2017-05-01 - Categorías: Java
Logo de Java

Desenpolvando un poco temas de Java, hoy traigo un pequeño howto para guardar datos que tenemos representados en clases, en ficheros, sin complicarnos demasiado la vida. Es decir, a veces, necesitamos algo rápido para guardar en ficheros o para transmitir información por la red.

La clase Java, el objeto, debe implementar la interfaz Serializable, y así será fácilmente guardable como fichero de texto. Al hacer un objeto serializable, de forma automática se podrá convertir en una cadena de texto, con lo que podremos guardar este contenido fácilmente en un fichero, transmitirlo por la red, en una BD, etc.. ¡vamos a grano!

Continuar leyendo..

GNU/Linux: inspeccionar uso del disco gráficamente con Ubuntu MATE

2017-04-28 - Categorías: GNU/Linux

Siguiendo con el post anterior para ver en qué gastamos el espacio del disco duro. Hoy me he encontrado con una utilidad gráfica que nos sirve para lo mismo, pero más fácil porque sólo con el ratón podemos inspeccionar el estado del disco duro. Esta aplicación nos va a servir para nuestro ordenador personal o de trabajo si tenemos Ubuntu MATE, pero sólo nos servirá para un servidor si es que lo tenemos instalado con el entorno gráfico.

Se llama analizador de uso de disco de MATE y viene ya instalado por defecto. Así que no tenemos más que ir a Aplicaciones > Herramientas del sistema > Analizador de uso de disco de MATE. Veremos una pantalla tal y como la siguiente:

Continuar leyendo..

GNU/Linux: en qué gasto el espacio del disco duro

2017-04-24 - Categorías: General / GNU/Linux
GNULinux

¿Qué hacemos si nuestro duro se esta llenando en un sistema GNU/Linux? Lo primero será encontrar qué ficheros, o más bien qué directorios, son los que más ocupan para ir borrando o moviendo lo ficheros.

Hoy traigo un pequeño HOWTO para encontrar en qué se nos va el espacio más rápido, desde línea de comandos. Si estás en un ordenador personal te ahorrará tiempo, y si estás en un servidor remoto no hay otra manera.

Continuar leyendo..

SEO técnico, ponle nota a tu web

2017-04-10 - Categorías: Amazon Web Services / General / GNU/Linux / Magento / PHP / Prestashop / SEO / Symfony / WordPress
Alexa up

Montar una web con lo imprescindible, ponerle el contenido y diseño, y olvidarnos de ella.. sería como comprarnos un coche y ya no preocuparnos nunca por pasarle una revisión. Sería como si nos diera igual si hay una bajada de potencia del motor, que las ruedas no estuvieran bien hinchadas. Quizá una bujía deja de dar los chispazos al 100%..

Y no sólo están los problemas de mal-funcionamiento, sino que quizá también hay algunas mejoras extras. No todo viene de casa, y puedes hacer que el coche vaya mejor. ¿Porqué no entonces dedicarle ese tiempo a nuestra web para revisar esas cosas? Es más, ¿porqué no poner a un mecánico que sepa lo que está haciendo? Está claro que nos podemos quedar tal cual, nuestro coche andará. Pero queremos que no le falte esa alegría, que responda sin pereza. Resumiendo, queremos que la maquinaria esté bien engrasada, sacando el 100% de su rendimiento. Entonces necesitaremos a un especialista que toque, pero no de oídas, sino que sepa lo que está tocando.

Continuar leyendo..

Programar copias de seguridad diarias con Webmin+Virtualmin

2017-03-30 - Categorías: Amazon Web Services / General / GNU/Linux

Una de las tareas de servidor más comunes, o lo debería ser, es la copia de seguridad de los archivos. Si no queremos tener más problemas que los necesarios nos conviene tener una copia. Así que aquí estoy de nuevo escribiendo sobre Virtualmin, este gran proyecto Open Source que nos brinda una brillante interfaz de usuario web. Traigo un pequeño HOWTO para programar las copias de seguridad con este software.

Continuar leyendo..

Prestashop: activar el modo catálogo

2017-03-27 - Categorías: Prestashop
Logo de Prestashop

Una cosa que puede ser útil para un Prestashop es ponerlo en modo catálogo. Cuando hacemos esto, Prestashop se limitará a sólo mostrar los productos que tengamos visibles. Además se deshabilitarán todas las funcionalidades de una tienda online. Es decir, que no se podrá añadir productos al carro ni hacer la compra.

Sin embargo, se podrá seguir trabajando en el panel de control todo lo que necesitemo. Además, en el front, los visitantes seguirán pudiendo visitar los productos, buscarlos, ver las fichas detalladas, navegar por las categorías.. Así que si no queremos poner a la venta productos lo que tenemos que hacer es poner Prestashop en modo catálogo.

Cómo

En el panel de contrl entramos en Preferencias > Productos activamos el modo catálogo como se muestra en la imagen siguiente y le damos a guardar:

Prestashop modo catálogo

Cómo hacer un píxel de conversión

2017-03-24 - Categorías: General
Pixel de conversión, chocolate cookie

Imagina que contratas a una persona para que te haga publicidad en varias webs. Llegas a un acuerdo de darle un monto por cada visita que llega a través de la publicidad que te hace. O un porcentaje por venta que llega de su web. Pero ¿cómo saber si este comprador que ha llegado a tu web viene de haber visto la publicidad de esta persona que te publicita?

Esto se puede hacer con los llamados píxeles de conversión. Simple y llanamente son páginas web que estan en el servidor de tu negocio que se dedican a enviar cookies, incrustándose en las páginas que te hacen publicidad mediante iframes o llamadas de Javascript. Entonces, si alguno de dichos visitantes llega a tu negocio con una de esas cookies, ya sabes que ha visitado la web que te está haciendo publicidad y le darás las gracias con razón 😉

Continuar leyendo..

Salvando mis archivos en la nube con Mega

2017-03-19 - Categorías: General / GNU/Linux

Una de las alternativas de almacenamiento en la nube más prometedoras es Mega. Proviene de la antigua Megaupload, de la mano de Kit Dotcom, fundador de Megaupload. Lo pusieron en marcha Kim junto a su equipo de trabajo, parece que como respuesta al cierre y confiscado de Megaupload debido a la piratería. Mega puede parecer algo novedoso, sin embargo, no es más que el mismo sistema de almacenamiento en la nube de archivos pero mucho más elaborado que el anterior. Salió al mercado hace ya cuatro años, en el 2013. Fue tanta la expectativa que hubo millones de usuarios que se registraron en muy poco tiempo hasta colapsar sus servidores. A día de hoy Kim Dotcom se ha desvinculado del proyecto, y navegando un poco puedo leer reseñas que hablan que hay alrededor de 50 millones de usuarios registrados en Mega.

Sus principales bazas en el mercado del almacenamiento en la nube han sido dos: los famosos 50 Gigas gratis, y su esfuerzo por la privacidad de los usuarios.

Continuar leyendo..

Magento: cómo hacer overriding de las plantillas .phtml del backend

2017-02-27 - Categorías: General / Magento / PHP
Magento logo

Es ingente la cantidad de cosas que se pueden hacer en un Magento recién instalado. Es un CMS orientado al eCommerce muy completo. También muy orientado a la optimización para motores de búsqueda (SEO). Tiene muchas características que le dotan de gran flexibilidad. Entre ellas es la «sencilla» forma de ampliar funcionalidades sin que nada se rompa. Siempre claro, que hagamos lo que en programación se llama overriding. De esta forma, no tocaremos los ficheros originales, ampliando o modificando su funcionamiento en otro espacio de trabajo.

Qué es hacer overriding

Es la forma correcta de hacer las cosas. Si queremos modificar o ampliar funcionalidades de un CMS, lo que siempre debemos de hacer es overriding. Por ejemplo, en WordPress es bastante habitual encontrarte con plantillas que se han modificado. Si se han modificado con el editor que te trae WordPress en el mismo panel de control, sin antes haber hecho una plantilla hija de la original, el problema es que esto no es hacer overriding. Y cuando vamos a actualizar la plantilla.. ¡zasca! se borran todos los cambios hechos.

Continuar leyendo..

PHP7: paralelizando procesos, aprovechando el procesador al 100%

2017-02-06 - Categorías: General / GNU/Linux / PHP
php7-logo

Igual que en otros lenguajes de programación, aquí en PHP también tenemos disponibles funciones del estándar POSIX para gestionar procesos, obtener información de ellos, hacer colas FIFO, enviar señales, hacer procesos hijos, esperar a que terminen unos para continuar otros, matarlos.. etcétera. Todo esto te dará lo que necesitas para pasar de una programación lineal, paso a paso, a una programación concurrente, paralelizando los procesos.

Esto se usa desde línea de comandos. No recomiendan en absoluto que se active y se use esto sobre servidor web, ya que los servidores web tienen sus propias estrategias de paralelización. Pero si como yo, has estado trabajando desde línea de comandos con este tema. Y has llegado a tareas que tardan mucho tiempo y se lanzan desde línea de comandos. Con esto podrás lanzar en paralelo todas las tareas que necesites, así aprovecharás todos los núcleos del procesador, y terminará antes el proceso completo.

Necesitarás tener activado el módulo PCNTL en PHP. Para saber si ya lo tienes activado ejecuta php -i, si no edita el php.ini para activarlo.. En PHP7 ya me venía activado. Con esto te evitas también la engorrosa instalación de Pthreads recompilando PHP con ZTS, además de la instalación posterior de Pthreads. Simplemente usando el mencionado PCNTL..

Continuar leyendo..

Prestashop 1.7: las apariencias engañan, muchos cambios donde no se ve

2017-01-23 - Categorías: General / Prestashop
Prestashop back-end inicio

El 7 de noviembre de 2016 se publicó la nueva versión 1.7 de Prestashop. Esta versión trae un remake del 100% del core, reescrito con Symfony. Cuando leí sobre esto, empezó a intrigarme más y más. Quería ver cómo iba este proyecto. Pasó por mis manos un proyecto que funciona en Prestashop 1.6, ¡qué lástima!, no íbamos a actualizarlo. Pero ahora sí, tenemos entre manos un nuevo proyecto, y tenemos que estimar a ver si lo montamos sobre Prestashop 1.7. Así que manos a la obra..

Continuar leyendo..

© 2024 JnjSite.com - MIT license

Sitio hecho con WordPress, diseño y programación del tema por Jnj.