Mechasoft: Blog de Matías J. Magni

…dedicado al Open Source y al delirio del Autor…

  • Matías J. Magni

  • RSS Ubuntu

    • Tutorial: Continuous delivery of snaps with Circle CI 19/01/2018
      Bullet-proof continuous delivery of software is crucial to the health of your community, more than a way to run manual tests, it also enables your early adopters to test code and give feedback on it as soon as it lands. You may be already using to do so for snaps, but in some cases, […]
    • Canonical brings Slack to the snap ecosystem 18/01/2018
      The digital workspace will now be available to all Linux users London, UK – 18th January 2018 – Canonical, the company behind Ubuntu, today announced the first iteration of Slack as a snap, bringing collaboration to open source users. Slack is an enterprise software platform that allows teams and businesses of all sizes to communicate effectively. Slack work […]
    • Spectre Mitigation Updates Available for Testing in Ubuntu Proposed 17/01/2018
      Canonical holds Ubuntu to the highest standards of security and quality.  This week we published candidate Ubuntu kernels providing mitigation for CVE-2017-5715 and CVE-2017-5753 (ie, Spectre / Variants 1 & 2) to their respective -proposed pockets for Ubuntu 17.10 (Artful), 16.04 LTS (Xenial), and 14.04 LTS (Trusty).  We have also expanded mitigation to […]
    • LXD Weekly Status #30 16/01/2018
        Introduction The main highlight for this week was the inclusion of the new proxy device in LXD, thanks to the hard work of some University of Texas students! The rest of the time was spent fixing a number of bugs, working on various bits of kernel work, getting the upcoming clustering work to go […]
    • Monitor your Kubernetes Cluster 16/01/2018
      This article originally appeared on Kevin Monroe’s blog Keeping an eye on logs and metrics is a necessary evil for cluster admins. The benefits are clear: metrics help you set reasonable performance goals, while log analysis can uncover issues that impact your workloads. The hard part, however, is getting a slew of applications to work […]
  • RSS LUGMen

    • Se ha producido un error; es probable que la fuente esté fuera de servicio. Vuelve a intentarlo más tarde.
  • Archivos

printf(“Hola Mundo!”);

Posted by Matías J. Magni en 20/11/2008

Bueno mi nombre es Matías Magni y con esta sentencia doy comienzo a este blog destinado a los lenguajes de programación, el código abierto, discusiones sobre tecnologías, etc, etc… La idea es devolver un poco a la comunidad de internet por todo lo que he aprendido gracias a ella. Espero que les guste mi blog y espero ver sus comentarios. Saludos!


Posted in Inicio | 4 Comments »

Cómo integrar CoreUI a Meteor usando React

Posted by Matías J. Magni en 29/07/2017

Les comento que he subido a Github una implementación de CoreUI para integrarlo a un proyecto Meteor-React.

Les dejo un par de links y espero que les guste:

Instrucciones para la instalación:

$ sudo curl | sh
$ git clone
$ cd coreui-meteor-react
$ meteor npm install --no-optional


$ meteor

URL: http://localhost:3000/

Posted in Uncategorized | Leave a Comment »

Posted by Matías J. Magni en 02/05/2013

Les comento gente que he mudado mi blog a blogger de Google:

Así que será la última vez que publique en wordpress. Les dejo una guía rápida para hacer la migración a blogger desde wordpress:

1. Ir a Herramientas > Exportar (LINK: Nota: reemplazar MI-CUENTA con el nombre de su cuenta de wordpress.

2. Hacer click en Exportar y nos descargará el archivo xml.

3. Ir al sitio: para convertir el archivo de wordpress en uno compatible con blogger.

4. Estando en el sitio seleccionamos el archivo que descargamos de wordpress y hacemos click en “Convert”.

5. Vamos a blogger y creamos un nuevo blog.

6. Nos vamos a la configuración del blog y hacemos click en: Configuración › Otros.

7. ¡Listo! En la “Herramientas del blog” nos aparece la opción “Importar blog”.

Posted in Uncategorized | Etiquetado: , , , | Leave a Comment »

Activar xdebug en PHP

Posted by Matías J. Magni en 20/11/2012

Configuración en php.ini para activar xdebug:


Posted in Uncategorized | Etiquetado: | Leave a Comment »

Configurar un servidor LEMP (Linux, Nginx, MySQL, PHP5)

Posted by Matías J. Magni en 03/06/2011

1. Instalamos el servidor web nginx:

# apt-get install nginx

Iniciamos el servicio:
# /etc/init.d/nginx start

2. Instalamos MySQL:

# apt-get install mysql-server mysql-client

3. Instalamos PHP5:

# apt-get install php5-cgi php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json

Editamos el archivo /etc/php5/cgi/php.ini:
# vim /etc/php5/cgi/php.ini
Agregamos la siguiente línea o la descomentamos en el caso de que ya exista:
cgi.fix_pathinfo = 1

4. Instalamos Lighttpd:

Debemos instalar Lighttpd para proporcionar una interfaz Fast CGI del intérprete de PHP, ya que no viene incluida con Nginx.
# apt-get install lighttpd

Lo quitamos del arranque:
# update-rc.d -f lighttpd remove

5. Configuramos la interfaz Fast CGI:

Creamos el script de inicio:

# vim /etc/init.d/php-fastcgi

Escribimos las siguientes lineas de código dentro del mismo:

#! /bin/sh
# Provides:          php-fastcgi
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Start and stop php-cgi in external FASTCGI mode
# Description:       Start and stop php-cgi in external FASTCGI mode

# Author: Kurt Zankl <[EMAIL PROTECTED]>

# Do NOT "set -e"

DESC="php-cgi in external FASTCGI mode"

# Exit if the package is not installed
[ -x "$DAEMON" ] || exit 0

# Read configuration variable file if it is present
[ -r /etc/default/$NAME ] && . /etc/default/$NAME

# Load the VERBOSE setting and other rcS variables
. /lib/init/

# Define LSB log_* functions.
# Depend on lsb-base (>= 3.0-6) to ensure that this file is present.
. /lib/lsb/init-functions

# If the daemon is not enabled, give the user a warning and then exit,
# unless we are stopping the daemon
if [ "$START" != "yes" -a "$1" != "stop" ]; then
        log_warning_msg "To enable $NAME, edit /etc/default/$NAME and set START=yes"
        exit 0

# Process configuration

        # Return
        #   0 if daemon has been started
        #   1 if daemon was already running
        #   2 if daemon could not be started
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \
                || return 1
        start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON \
                --background --make-pidfile --chuid $EXEC_AS_USER --startas $DAEMON -- \
                $DAEMON_ARGS \
                || return 2

        # Return
        #   0 if daemon has been stopped
        #   1 if daemon was already stopped
        #   2 if daemon could not be stopped
        #   other if a failure occurred
        start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE > /dev/null # --name $DAEMON
        [ "$RETVAL" = 2 ] && return 2
        # Wait for children to finish too if this is a daemon that forks
        # and if the daemon is only ever run from this initscript.
        # If the above conditions are not satisfied then add some other code
        # that waits for the process to drop all resources that could be
        # needed by services started subsequently.  A last resort is to
        # sleep for some time.
        start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
        [ "$?" = 2 ] && return 2
        # Many daemons don't delete their pidfiles when they exit.
        rm -f $PIDFILE
        return "$RETVAL"
case "$1" in
        [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
        case "$?" in
                0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
                2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
        log_daemon_msg "Restarting $DESC" "$NAME"
        case "$?" in
                case "$?" in
                        0) log_end_msg 0 ;;
                        1) log_end_msg 1 ;; # Old process is still running
                        *) log_end_msg 1 ;; # Failed to start
                # Failed to stop
                log_end_msg 1
        echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
        exit 3

Le damos permisos de ejecución:

# chmod +x /etc/init.d/php-fastcgi

Ahora creamos el archivo de configuración:

# vim /etc/default/php-fastcgi

Y agregamos lo siguiente:


# Which user runs PHP? (default: www-data)


# Host and TCP port for FASTCGI-Listener (default: localhost:9000)


# Environment variables, which are processed by PHP


Agregamos la interfaz Fast CGI en el arranque del sistema:

# update-rc.d php-fastcgi defaults

6. Configuramos Nginx y el vhost por defecto:

# vim /etc/nginx/sites-available/default

En el virtual host por defecto cambiamos las lineas de código para que se vean así:

server_name localhost;
location ~ \.php$ {
	fastcgi_index  index.php;
	fastcgi_param  SCRIPT_FILENAME  /var/www/nginx-default$fastcgi_script_name;
	include fastcgi_params;

Reiniciamos el servidor:
# /etc/init.d/nginx restart

Por último agregamos el servidor web al arranque del sistema:
# update-rc.d nginx defaults

Posted in Uncategorized | 1 Comment »

Cambiar el tamaño a una lista de imágenes en Linux

Posted by Matías J. Magni en 16/05/2011

Bueno este artículo está destinado a aquellos desarrolladores web que como yo se encuentran a menudo con el problema de cambiar el tamaño de una lista de imágenes de una sóla vez, ya sea porque un módulo de una galería trabaja con cierto tamaño en las imágenes o para reducir el tráfico en su sitio.

Aquí les dejo el script que cambia el tamaño de las imágenes contenidas en un directorio y las guarda dentro del directorio images-resized:

mkdir images-resized
for file in *.$1
convert "$file" -resize $2\! +profile '*' "images-resized/${file%%.$1}.$1"

Ejecución del script:

$ ./ <extension_archivos> <dimension>

Ejemplo de ejecución del script:

$ ./ jpg 640×480

Posted in Uncategorized | Leave a Comment »

Como eliminar los archivos Thumbs.db en Windows

Posted by Matías J. Magni en 14/01/2010

Esto es totalmente útil cuando se trabaja con SVN y no queremos hacer commit de esos molestos archivos.

  1. Inicio > Ejecutar…
  2. cmd
  3. attrib -a -s -h /s thumbs.db (Tarda un tiempo considerable el comando en terminar)
  4. Abrir el explorador de Windows.
  5. Herramientas > Opciones de Carpeta … ficha Ver.
  6. En la sección bajo Configuración avanzada, buscar la opción No alojar en caché las vistas en miniatura.
  7. Presiona Aceptar.
  8. Ahora realizar una búsqueda de los archivos thumbs.db existentes en tu PC y eliminarlos.

Posted in Uncategorized | 13 Comments »


Posted by Matías J. Magni en 23/04/2009

Si al intentar actualizar el Ubuntu desde el Gestor de actualizaciones nos sale un error del tipo:

Error al obtener La Suma MD5 difiere

o en inglés:

Failed to fetch Hash Sum mismatch

Se soluciona cambiando el servidor de Argentina por el servidor principal. Para eso abran el Synaptic y vayan a Configuraciones > Repositorios y cambien el servidor.

Espero que les sirva porque me leí mil foros y no conseguí nada, fue un momento de iluminación cuando se me ocurrió hacer eso 😛

Posted in Uncategorized | 1 Comment »

Añadir subtítulos a un video en Linux

Posted by Matías J. Magni en 02/03/2009

Para llevar acabo esta tarea deberemos instalar avidemux. En Ubuntu lo podremos instalar con la siguiente línea:

$ sudo apt-get install avidemux

Luego lo que deberemos hacer se ve en el siguiente video:

O podríamos usar mencoder desde la línea de comandos:

$ mencoder mi_video.avi -oac pcm -ovc lavc -lavcopts vcodec=xvid:mbd=2:trell:autoaspect -sub -subfont-text-scale 3 -o video_final.avi

Posted in Uncategorized | Leave a Comment »

Flash sin sonido en Ubuntu con Firefox 3.0

Posted by Matías J. Magni en 02/03/2009

Leyendo en internet me he dado cuenta de que es un problema muy frecuente así que publico aquí la solución que funcionó para mí.

Abrir una consola y escribir la siguiente línea:

$ sudo apt-get install libflashsupport

Posted in Uncategorized | Leave a Comment »

Comprimir y descomprimir .rar .ace .zip en Ubuntu

Posted by Matías J. Magni en 19/01/2009

Escribimos en consola:

$ sudo aptitude install rar unace unrar p7zip p7zip-full arj unzoo

Y nuestro gestor de archivadores por defecto podrá soportar estos formatos.

Posted in Uncategorized | 1 Comment »