Inicio de sesión

Raulito el Friki

Raulito El Friki



Hay actualmente 0 usuarios conectados.


  • José Martínez
  • iampa
  • elministro.
  • jcastro00
  • Liraryu

Agregador de canales de noticias

Fedora, Red Hat, RHEL 7, & Open Source. (Or: How RHEL 7 is literally “Beefy.”)

Rbergeron - Mar, 06/10/2014 - 16:59

Many of you probably noticed (or were gleefully anticipating) the release of Red Hat Enterprise Linux 7 today. Which means it’s a really super day to be a Red Hat employee — seeing the culmination of so much open source work come together as the next major version of our flagship product is pretty inspiring.

Of course, I have a unique perspective on this process, having been the Fedora Program Manager (aka: schedule wrangler) and Fedora Project Leader over the Fedora 15 – Fedora 20 time frame, and RHEL 7 is largely based on Fedora 19, with bits of 20 pulled in as well. So much of what I’m reading today about the features and capabilities of RHEL 7 is very much a reminder of many points in those release cycles, and the effort and sweat the Fedora Project community put into that work. (And in some cases, blood and tears as well. Well, maybe not blood. But probably hot dogs.)

To give a bit more insight into this process, without truly taking you down the rabbit hole, here’s the short version of how Fedora integrates technologies, and serves as the upstream for Red Hat Enterprise Linux:

  • Hundreds of upstream project communities are working every day to improve their own code bases. At certain points determined by those communities, they release versions of their projects.
  • Fedora Project community members, who are often also involved with those upstream communities, will work to integrate new projects and updated releases of existing projects into its distribution, Fedora; and in fact, the inspiration to create new, innovative technologies in the Linux distribution space often evolves out of the community as well. Fedora is released approximately every 6 months, and strives to have the latest-and-greatest versions of those projects available. This makes for a fast-paced, cutting-edge distribution that offers a view into innovations that many folks have not otherwise tried.
  • Every few years, Red Hat Enterprise Linux will take a snapshot of Fedora at a time when they feel it has evolved a feature set that is compelling and rich in new capabilities that the market is ready for, and will shape that over time into a major release of RHEL.  In today’s case – RHEL 7.

I thought it would be fun to look back over the past several releases of Fedora and take a look at some of the most innovative features that were developed and integrated into Fedora over that time period which have now made their way into RHEL 7.

  • systemd (introduced in Fedora 15) – “a system and session manager for Linux, compatible with SysV and LSB init scripts,” to quote the project page itself. The project has continued to innovate since that point, introducing additional enhancements in subsequent releases, such as these in Fedora 19:
  • USB network redirection (Fedora 16) – the ability to redirect a USB device to another machine on a network. Most notably useful for connecting a USB device from one machine to another inside a qemu-kvm virtual machine.
  • Anaconda, the installer, got a major facelift in the form of a new UI (Fedora 18), and enhancements “under the hood” also enable easier integration of new storage technologies  in the future into the installation experience.
  • Storage management enhancements, including a command line utility, and library (libStorageManagement) that provides an open source storage API for storage area networks and network attached storage (introduced in Fedora 18.)
  • Virt improvements everywhere. Including:
    • virtio-rng (Fedora 19), making entropy available from the host to guests, preventing entropy starvation
    • Live VM migration without shared storage (Fedora 19), doing… well, just that. Eliminating the need for shared storage in a live VM migration.
  • High Availability & cluster changes and improvements, including the move from rgmanager to Pacemaker (Fedora 17).
  • Firewalld became the new firewall solution in Fedora 18, enabling firewall changes to be applied without rebooting (among many other features).

And that, my friends, is quite literally the tip of the iceberg. Over the course of Fedora 14, 15, 16, 1718, and 19, more than 250 features, upgrades, or significant changes (such as defaults) were made to packages in Fedora.  And as a result – features you’ll find in RHEL 7 have largely already received thorough testing and use, and are very much ready for prime-time, enterprise usage. (Which is why, as noted in the blog post title, RHEL 7 is Beefy — as “Beefy Miracle” was the release name of Fedora 17. I suppose the most accurate way to put it would really be to say that RHEL 7 has partial Beefy content.)

While not all of the changes or features made Fedora have made their way into RHEL 7, a significant portions of those that have are documented in the RHEL 7 Release Notes. And for those that didn’t, many of them have been made available through Fedora’s EPEL (Extra Packages for Enterprise Linux) repositories, thanks to the awesome Fedora Project community members who do this work.

So if you see someone playing with RHEL 7 today and they look a bit overwhelmed at all the newness, give them this tip: There may be a lot of new in RHEL 7, but Fedora is already building the future of RHEL 8, *right now* – so if they want to get a leg up on the next major release, or if they want to influence what that next release looks like, Fedora is the place to do it.

Sistema Educativo de El Salvador utilizará software libre

Espacio Linux - Mar, 06/10/2014 - 16:12
Aunque parezca una noticia motivadora, la razón no es una iniciativa pro software libre de los ministerios de dicho país. “La viceministra de Ciencia y Tecnología, Erlinda Handal, reconoció que el Ministerio de Educación (Mined) no tiene dinero para pagar la renovación de licencias de software a Microsoft y ese es uno de los motivos por […]

Tazas/Mugs Geek Friki

Kioscofriki - Lun, 06/09/2014 - 21:30
Continuamos presentándoles el Recuento de todos los productos que tenemos para ustedes, en esta oportunidad les venimos a presentar las tazas, también llamadas mugs. 

De nuestra linea "Si se puede imprimir, se puede crear" puedes colocar en ella las imágenes de tu preferencia, nombres, logos, imágenes, fotos, escudos, no hay restricciones, ni condiciones.

Hechas de cerámica con una medida de 11 oz, puedes consumir en ellas tus bebidas calientes (o frias) preferidas: como café, té, chocolate caliente, sopa o lo que prefieras. Si quieres ver los modelos hechos hasta el momento puedes visitar nuestra galería de Tazas/Mugs. Para hacer tus encargos puedes comunicarte por nuestro correo o por cualquiera de nuestras redes sociales
• ❖ • Twitter • ❖ • Facebook • ❖ • Google+ • ❖ • Pinterest • ❖ • Instagram • ❖ •

Si es de pago, no me interesa

Jose Salgado - Lun, 06/09/2014 - 17:05
si es de pago no me interesa

Hace ya algún tiempo vi un comentario en twitter que me dejó bastante sorprendido. Había aparecido en un periódico una noticia que era de interés, pero estaba en la sección destinada a subscriptores, por lo que para leerla había que pagar. Un usuario contestó con la demoledora frase: Si es de pago, no me interesa.

Estamos acostumbrados a que no pagar por los servicios, y cualquiera que tenga mínimas nociones de contabilidad, una empresa necesita ingresos. Podemos buscar alternativas a como generarlos, pero si matamos la más directa, más fácil y que más implica una relación entre cliente y proveedor, nos vemos abocados a un mercado que, para mi humilde opinión, puede ser nuestra tumba.

Está claro que si no quieren pagar por nuestro producto, tendremos que empezar a buscar opciones como puede ser la publicidad. Llenar la página de banners, pop-ups, robapáginas y cualquier otro tipo de formato a fin de poder monetizar. Para nuestra desgracia, aunque la inversión en publicidad ha aumentado y casi ha superado a la inversión en televisión, lo que reciben los medios por ella es casi miseria y compañia. Cuando se paga a menos de veinte céntimos el CPM, calcular cuantas páginas se han de servir para poder pagar un sueldo de mileurista: tendrías que tener aproximadamente tres millones de páginas vistas. Y eso que estamos contado el sueldo neto, si contamos sueldo bruto, costes de servidor, etc, la cifra se dispara.

Otra variable es que cada vez se hace menos CPM y se va a CPC, CPL o cualquier otro tipos estrategia orientada a resultados, con lo que da igual las páginas que tengas sino los objetivos que puedas cumplir.

Si esto no fuera poco, existen varios plugins para navegadores que eliminan la publicidad, así que tendrás usuarios que deambularán por tu web sin que vea ningún banner, y lo más divertido, que serán totalmente invisible a nivel estadístico.

Te queda la opción para monetizar de intentar usar los datos de los usuarios para venderlos luego. Crear un sistema que permita registrarse a cambio de ciertas ventajas y de que nos den información relevante: sexo, profesión, edad, ingresos, etc…. No es una estrategia de la cual estar muy orgulloso, pero ya que nadie quiere pagar y uno está obligado a cumplir con hacienda, busca recursos debajo de las piedras.

Por último, y el que tiene toda la pinta de establecerse como una fuente muy importante de ingresos, y una más que notable molestia para los usuarios, es el in-app payment. Es algo que está muy presente en el mundo móvil por la facilidad de pago que ofrece, y es una estrategia bastante simple: te doy algo gratis, pero a la que quieras hacer algo te toca pagar. Si es un juego, pagas por una vida extra o una funcionalidad, y así con todo.

Y estamos llegando a esta mezcla donde tendremos publicidad, venderán nuestros datos y encima nos colocaran micropagos hasta en las sopa porque desde un principio, alguien dijo que si es de pago, no me interesa.

Si un día estáis aburridos, dares un paseo por cualquier market de aplicaciones para móvil, y fijaos en los comentarios, sobretodo en las aplicaciones de pago. Van desde el clásico: yo no pienso pagar por esto hasta el es una aplicación genial, ¿dónde me la puedo bajar pirata?.

Yo no se si conocéis a algún desarrollador de software, en mi caso, el padre de una de las amigas de mi hijo se dedica a desarrollar, y os puedo jurar que es una persona normal, que tiene casa, hipoteca, paga el colegio y trabaja como el que más. No veo yo como podrá seguir existiendo en este mundo del todo gratis, si nadie saber reconocer que su tiempo y esfuerzo se ha de recompensar si vas a usar alguna de sus aplicaciones.

La alternativa está clara, y a día de hoy creo que ya no hay vuelta atrás, pagaremos con publicidad, pagaremos con nuestros datos, y volveremos a pagar con micropagos, y todo esto, por despreciar el trabajo de otras personas cuando somos los primeros en quejarnos cuando no nos piden que hagamos algo gratis, sobretodo si somos fontaneros, electricistas o paletas.

Película: Pirates of the Caribbean: The Curse of the Black Pearl

Esto es un resumen del artículo Si es de pago, no me interesa escrito para Exelisis. Visita la web para más información y compártelo si crees que es interesante.

Integration of IFTTT with Alfresco

Tony de la Fuente - Lun, 06/09/2014 - 12:17
If you are not aware about what IFTTT is, I recommend you to take a look in to this and then come back here to continue reading this blog post. Here a brief demo about this integration, more details and configuration steps below. Once you know what “if THIS then THAT” is, I want […]

Si vas a emprender, necesitas tener dos contactos clave

Jose Salgado - Dom, 06/08/2014 - 17:05
Si vas a emprender estos son tus dos mejores amigos

Emprender está de moda, tenemos programas para promocionar este tipo de enfoque profesional, sale cada dos por tres un artículo en algún periódico de tirada nacional, en resumen, ser emprendedor es casi como ser astronauta en los años sesenta. Claro que hay una pequeña diferencia, no todos los emprendedores lo son porque quieren y los astronautas si. Y segundo, no existía un grupo de gente que sin tener la más remota idea de astrofísica, física, pilotaje y demás áreas de conocimiento necesaria, se dedicaran a dar cursos de formación para astronautas, algo que si ocurre en el mundo del emprendedor.

Yo no puedo decir que sea un experto pero por el camino que llevo andado, os puedo asegurar que sólo hay dos perfiles importantes a la hora de emprender. Puedes conocerlos en puntos distintos del viaje, pero sin duda, ningún proyecto llegará a buen puerto sin su existencia. Olvidáos de los planes de negocio, del ROI, de la estrategia de marketing, sin estas dos buenas personas, no llegaréis más allá de la esquina.

Del primer perfil hemos hablado bastante, es ese perfil de persona que conoce a todo el mundo, que sabe navegar por los entresijos del poder, y que aunque no posea una gran músculo financiero, sabe conseguirlo a base de su red.

Sobre el segundo, es el que pocas veces he visto en estos saraos de emprendeduría, pero que al final, vas a acabar de bruces con el: el abogado. Da igual cual sea tu sector, no importa a que te dediques, es irrelevante tu modelo de negocio, siempre necesitarás un abogado para dar forma legal a tu empresa. Y no solo es eso, sino crear la estructura que te permita operar en este mundo sin ceros ni unos.

Es importante ser consciente que la ley nos obliga a todos, y ya seas digital o analógico, existe un gran número de normativas que has de cumplir a la hora de empezar un negocio. Y como cada entidad administrativa tiene potestad legislativa, no son lo mismo las condiciones que se necesitan para abrir un comercio en Barcelona que en Madrid, los requisitos de seguridad no son iguales….

Imaginaos que queréis abrir una cadena de restaurantes, tenéis que cumplir no sólo la normativa nacional al respecto de sanidad, emisión y escape de gases, sino que tenéis que adaptados a cada comunidad autónoma, a cada ciudad, y esto, si es una gran cadena, es una pesadilla para la empresa. Necesitas un abogado experto para que guíe a la empresa en este proceloso mundo legal y poder ejercer tu negocio sin que el funcionario de turno empiece a amargarte el día -y no porque tenga un extraño placer en hacerlo, sino que simplemente intenta hacer cumplir una ley-.

El abogado te dirá que elementos necesitarás, que detector de fugas de gas, está homologado para poder cumplir la ley, que tipo de contratos puedes hacer, que horario comerciales, un largo etcétera que alguien de operaciones o de RRHH simplemente desconocen, y que sería más caro intentar que lo comprendieran que contratar a unos buenos abogados.

Por eso, insisto que más allá del networker -que todos destacan como importante- empieza a pensar también en que firma legal te va a acompañar a llevar tu proyecto del papel al registro mercantil.

Película: Outbreak

Este post está patrocinado.

Esto es un resumen del artículo Si vas a emprender, necesitas tener dos contactos clave escrito para Exelisis. Visita la web para más información y compártelo si crees que es interesante.

Migración a KVM-QEMU desde ViurtualBox

El blog de Emi - Dom, 06/08/2014 - 13:11
Tras haber probado con éxito la solución de virtualización compuesta por Qemu-KVM, 
decidí en la nueva instalación de Fedora 20, prescindir de VirtualBox y 
migrar las máquinas virtuales a la nueva plataforma.
La verdad es que no he tenido problemas con VirtualBox. Lo he utilizado con los 
repositorios de Oracle, antes Sun, instalando la extensión para usb desde que esta salió.
Lo uso desde que eliminé la partición Windows del PC, hace ya varios años.
Lo primero que hay que comprobar es si el procesador admite las extensiones de virtualización
[user@home ~]$ lsmod | grep kvm
kvm_amd 60017 0 
kvm 460181 1 kvm_amd
kvm_intel 44896 2
kvm 159656 1 kvm_intel
La primera respuesta es con procesador amd y la segunda con procesador intel. Se comprueba 
que en ambos casos soporta la virtualiación.
Para instalar kvm-qemu:
Como root:
[root@home ~]$ yum install @virtualization
Una vez instalado, iniciar el servicio “libvirtd”, sin esperar a reiniciar el equipo.
[root@home ~]$ systemctl start libvirtd
Convertir las máquinas a formato utilizable por la nueva plataforma, para no perder el tiempo en 
reinstalación, sobre todo de Windows 7, que es eterno, con las actualizaciones que parece 
que nunca acaba. Cuando pasan tres días aún salen descargas.
Tenía dos mv, una con Windows 7 y otra con ReactOS. Se puede ejecutar como usuario, 
no hace falta ser root.
[user@home ~]$ qemu-img convert -f vdi -O qcow2 Windows-7.vdi Windows-7.qcow2

[user@home ~]$ qemu-img convert -f vdi -O qcow2 ReactOS.vdi ReactOS.qcow2
Para cambiar el directorio de instalación de las máquinas, aprovechar una partición distinta, y en 
caso de una reinstalación del sistema no borremos, por error, las máquinas instaladas 
tenemos que tener presente.
El directorio por defecto es: /var/lib/libvirt/images
Hay que editar el fichero: /etc/libvirt/storage/default.xml
Buscar la linea “/var/lib/libvirt/images” y sustiuir por el directorio deseado. 
En mi caso fue: /mnt/DATOS/ VIRTUALIZACION/Images. Es una partición distinta a “/”.
Los ficheros de configuración de las distinta máquinas se guardan en el directorio:
Tienen la extensión xml. Editandolos se pueden cambiar parámetros que de forma 
gráfica no es posible.
Por ejemplo para cambiar la memoria de video sustituir en ram y en vram las cantidades 
de memoria asisgnada:
por ejemplo: 64 MB – 64 x 1024 = 65536 128 MB – 128 x 1024 = 131072
Para iniciar Windows 7 desde interfaz gráfica:
Lanzar “Gestor de máquina virtual” virt-manager e introducir la password de root.
Pulsar el icono de “Crear una máquina virtual nueva”, marcar en “Importar imagen 
de disco existente”, pulsar en “adelante” y en la siguiente pantalla, darle al botón 
explorar, y se mostrarán las máquinas disponibles, marcar la deseada, y seguir el asistente.
Con ello está la máquina creada. Mas fácil …..

Configurando un sitio estático con flask

Ernesto-ecrespo - Dom, 06/08/2014 - 03:00
Continuando con la serie de artículos sobre el microframework de desarrollo web flask, ahora se mostrará como crear un sitio estático.

Este artículo se basa en un artículo en inglés llamado Introduction to Flask, Part 1 - Setting up a static site.

Se usará el mismo archivo utilizado en los artículos anteriores (, en este caso simplemente se agregará el decorador y la función que se va a usar que será para llamar una página de bienvenida.

Aparte del archivo se necesita crear dos directorios, uno llamado templates el cual contendrá la plantilla html y el otro se llamará static que contendrá archivos estáticos como archivos css y archivos javascript.

ernesto@heimdall:~/proyectos/tutorialflask$ ls -l
total 12
-rw-r--r-- 1 ernesto ernesto  792 jun  7 20:56
drwxr-xr-x 2 ernesto ernesto 4096 jun  7 21:09 static
drwxr-xr-x 2 ernesto ernesto 4096 jun  7 21:10 templates

El archivo tendrá la siguiente información adicional:
#Se agrega el renderizado de la plantilla

from flask import Flask,request,redirect,render_template

#Se usa el decorador ruta para ver el url bienvenido.


#Se crea la funcion welcome que renderiza una plantilla html.

def welcome():

    return render_template('bienvenido.html')  # renderiza la plantilla bienvenido.html.

Ahora en el directorio templates se crea el archivo bienvenido.html con el siguiente contenido:

Se ejecuta la aplicación y se consulta el url

Ahora se usará un estilo que se llama bootstrap para descargarlo lo puede hacer desde el enlace. Al bajarlo y descomprimirlo copie los archivos bootstrap.min.css y bootstrap.min.js al directorio static, como se muestra a continuación:
ernesto@heimdall:~/proyectos/tutorialflask$ ls -l static/
total 132
-rw-r--r-- 1 ernesto ernesto 99961 feb 13 12:54 bootstrap.min.css
-rw-r--r-- 1 ernesto ernesto 29110 feb 13 12:54 bootstrap.min.js

A continuación se muestra los nuevos cambios a la plantilla bienvenido.html para que use los archivos mencionados anteriormente.

Ahora se abre el navegador al url y se obtiene lo que muestra la siguiente figura:

WOM, la memoria anti NSA

Espacio Linux - Sáb, 06/07/2014 - 20:47
Mucho se ha hablado sobre como la NSA y las empresas pueden controlar nuestras computadoras de manera remota, y podemos dar por sentado que una de las áreas más desprotegidas de nuestro sistema es la memoria RAM, el problema es que este tipo de memoria tan popular a probado no ser tan segura como uno […]

Micro framework flask (parte 2)

Ernesto-ecrespo - Sáb, 06/07/2014 - 19:30
Continuando con el artículo inicial sobre el microframework flask, ahora se muestra el manejo de distintas rutas de urls, se muestra también como obtener información sobre el navegador que se está utilizando para ver la página y por último como redireccionar una ruta a otro url.

A continuación se muestra el código de
#de flask se importa Flask, request y redirect.

from flask import Flask,request,redirect

#Se crea la instancia del objeto Flask.

app = Flask(__name__)

#Se define el decorador ruta en este caso será la raíz del url, donde

#se muestra hola mundo desde flask


def hola_mundo():

    return "Hola Mundo <strong>desde Flask</strong>"

#En este caso el decorador ruta maneja un directorio ususuario y se coloca el nombre del 

#usuario en el url 


#Se define la función usuario donde se le pasa el nombre

#devuelve un texto que dice hola y el nombre del usuario.

def usuario(nombre):

    return "<h1> Hola, %s </h1>" % nombre

#Se define la ruta navegador


#Se crea la función navegador

#donde se obtiene el headers de User-Agent el cual maneja el nombre

#del navegador que se está usando, la función navegador retorna un string con

#el nombre del navegador.

def navegador():

    user_agent= request.headers.get('User-Agent')

    return "<h1>Su navegador es: %s </h1> " % user_agent

#Se define la ruta redirect


#se crea la función redir el cual retorna el nuevo url que será este blog.

def redir():

    return redirect('')

#Se define la ejecución del servidor.

if __name__ == '__main__':

A continuación se ejecuta
 * Running on
 * Restarting with reloader

Se abre el navegador colocando en el url el nombre que se desea mostrar en este caso ernesto:

La imagen muestra el resultado:

Ahora se colocará el url que permite mostrar la información del navegador:

La siguiente figura muestra el resultado:

Para terminar se colocará el url que permite redireccionar un url a otro url, en este caso se grabará un screencast para mostrar la acción.
El url es:

El vídeo se muestra a continuación: 

PMO y SMO. Diferencias, Similitudes y Colaboracion !!!

Victor Fernandez - Sáb, 06/07/2014 - 06:37

Aprovecho este articulo para transmitir que el pasado 3 de Junio tuve la oportunidad de poder participar como ponente en el IX Congreso Academico Internacional del itSMF,

En esta ocasion en concreto, la tematica del congreso mas alla de Gestion de Servicios TIC y del Gobierno IT, giró en torno a varios pilares claves, como se puede apreciar en la agenda:

- Tendencias (Cloud Computing, Movilidad y Big Data)
- Gestion TI
- Gobierno IT
- Compliance IT
- Legal IT

Personalmente ha sido un placer poder disfrutar tanto de su preparacion como de la realizacion del evento igualmente de forma compartida con todos los profesionales del sectos como con la organizacion del itSMF,

Como en anteriores ocasiones, dejo aqui la presentacion:

¿Porqué la #Swap es importante? Un ejemplo práctico

Xenode - Sáb, 06/07/2014 - 01:42

Hace días publicamos un artículo donde mencionábamos 7 tips para mantener tu linux rápido y responsivo con el tiempo. En el último punto, (el 8vo) se mencionaba algo sobre "los mitos de la swap" y las de alguna manera "falsas" afirmaciones que algunas personas hacen sobre "estar mejor sin swap" o "haciendo poco uso de ella".

En el artículo citado se explica a fondo porqué esto es más falso que cierto (así que si les interesa saber y no lo han leído háganlo) Pero citaré otro ejemplo práctico a continuación:

Y... Se nos cayó el clúster

Ayer, varias horas después de lanzar el deployment de alta disponibilidad para Xenode Systems de pronto alguien nos envió un tweet mencionando que encontró un error en la página. Esto no era normal puesto que todos los sistemas estaban operacionales según el sistema de alertas y de tener error, (al no ser fatal según un chequeo rápido puesto que como ya expliqué los sistemas supuestamente estaban operando de manera normal) éste debería repararse por sí solo antes de ser notado por alguna persona debido a la naturaleza failover del clúster.

Hice la revisión de la página y ¡sorpresa! Error 404 en la página principal... (NOTA: Este tipo de error se tiende a deber a un comportamiento errático dentro del replica set de MongoDB); El debugging me llevó tan solo unos minutos y logré rastrear el punto de origen hasta un reseteo no programado en nuestro VPS dentro de DigitalOcean (que detecté gracias al comando uptime). Al principio señalé culpables con el dedo:

  • Que si DigitalOcean ("seguro reiniciaron los VPS", me dije)
  • Que si MongoDB (No estoy seguro de la causa, pero igual tuve mis sospechas)

Así que abrí un ticket de soporte y en lo que me atendían seguí haciendo el debugging del sistema. Al final resultó que la falla no estaba ni en el replica set de MongoDB (per sé) ni era culpa del staff de DigitalOcean (per sé), sino a que el enlace con la VPN que comparten las máquinas del clúster se había roto y no podían "encontrarse" de regreso. Según un miembro del staff de soporte en DigitalOcean, lo más probable era que el rebooteo inesperado se haya debido a que de pronto el VPS consumió tanta RAM que se quedó sin memoria y decidió reiniciarse por sí solo (como pude verificar tras checar /var/log/messages efectivamente). Esto me pareció extraño puesto que aún cuando el droplet tiene poca memoria tampoco es como si hiciera mucho y además tiene una swap montada sobre un SSD (que debería ser rápida a comparación de la montada sobre un disco duro) como memoria de respaldo.

Después recordé que habilité tuned dentro de mi VPS pero no en el perfil que uso normalmente para mis servidores sino en el de virtual-guest (ya que un VPS es una máquina virtual en sí) mismo que decrementa el valor de vm.swappiness por defecto y lo deja en 10 en lugar de 60 (siendo este último lo normal), haciendo que el sistema use menos swap de la que tiene en total y por ende se quede sin memoria más rápido al acabarse la RAM disponible.

Obviamente la solución radicaba en cambiar dicho comportamiento para que el sistema usara la memoria TOTAL disponible (RAM + SWAP) de manera normal en lugar de discriminar el uso de swap en favor de "más velocidad" ya que para un VPS (aún siendo una máquina virtual) que hace lo que el que tenemos para el clúster dicha discriminación no tiene sentido y/o beneficio (sobretodo cuando la swap se monta sobre de un SSD y se tiene zRAM habilitado). Con dado conocimiento en mente, cambié el perfil de tuned al que uso normalmente en los servidores físicos (throughput-performance, mismo que mantiene el valor de vm.swapiness en el 60 convencional) y añadí más swap sobre SSD al VPS para evitar que estas cosas pasaran en el futuro.

Así que como verán, ¡la swap es importante! tanto que su falta o disposición puede significar MUCHO para el uptime de tu sitio web, sobretodo en entornos con RAM limitada.

Habilitar Presto (DRPM) en DNF

Fedora Nicaragua - Vie, 06/06/2014 - 10:27
DNF es una bifurcación de YUM que va a reemplazar a este último en futuras versiones de Fedora, he estado probando DNF para administrar paquetes pero había una funcionalidad que estaba extrañando: el uso de DRPM para reducir el tamaño de las descargas al momento de actualizar el sistema.

Dado que el uso de DRPM al actualizar es una de las cosas que me gustan mucho de Fedora abrí un bug para consultar al respecto., he de admitir que la respuesta de los desarrolladores no tarde en llegar para informarme que ese era un cambio que ya se había implementado en una versión anterior de DNF, para que DNF descargue paquete DRPM al actualizar hay que hacer lo siguiente:

1- Con nuestro editor de textos de preferencia y con privilegios de administrador abrir el archivo: 


2- Agregar al archivo la siguiente linea: 


Guardamos el archivo y listo, creo que este tipo de cambios necesitan un poco mas de documentación que una nota en una nueva versión del paquete.

MongoDB: bypass the 2GB/4GB limit on 32/64 Bits

Xenode - Vie, 06/06/2014 - 05:18

If you have a 32-Bit server, you might have noticed that MongoDB by default doesn't allow you to store more than 2GB of data on a specific mongod process (for 64 Bits deployments the limit is 4GB) So, how can we bypass these limits? the answer is with sharding:

NOTE: I'll be using a Fedora Linux as main O.S. for my examples, these commands may also apply for CentOS/RHEL and with very little modifications, any *nix O.S. out there.

What is sharding?

Sharding is the process by which we split (replication included) a MongoDB database across multiple servers (or mongod processes running on a single machine like in this case). Let's see how to implement it:

First: Configure a Shard

We'll need to setup a shard on the machine so it can use two mongod instances (and sync between them) instead of one. You can initiate as many "nodes" as you need to increase your storage (in groups of three, as they're replica sets): Every usable mongod you add to the shard is going to increase database's total storage by 2GB/4GB (depending on wether you're on a 32/64 bit machine); In this particular case, we're going to launch 2 usable mongod instances and one arbiter in one shard (usually for every shard we launch, we put in it only three nodes in a "replica set fashion" and if we need more nodes, we create another shard of three); But in this case as I said before I'll create one shard with two nodes in it (so in a 32-bit machine this setup will increase my storage up to 4GB just as the default limit in a 64-bit one):

1. su -
2. mkdir -p /data/shard0
3. chown user /data/shard0
4. cd /data/shard0
5. mkdir -p rs1 && mkdir -p rs2 && mkdir -p rs3
6. chown user rs1 && chown user rs2 && chown user rs3
7. service mongod stop && chkconfig mongod off
8. mongod --replSet myShrd --logpath "s0-r1.log" --dbpath /data/shard0/rs1 --port 37017 --fork --shardsvr
9. mongod --replSet myShrd --logpath "s0-r2.log" --dbpath /data/shard0/rs2 --port 37018 --fork --shardsvr
10. mongod --replSet myShrd --logpath "s0-r3.log" --dbpath /data/shard0/rs3 --port 37019 --fork --shardsvr

Here, you have to replace user with your standard username (not root) and myShrd with the name you want for your shard, then, we'll continue in a standard user terminal (not root):

1. mongo --port 37017
2. config = {_id: "myShrd", members: [{_id: 0, host: "Hostname.local:37017"}, {_id: 1, host: "Hostname.local:37018"}, {_id: 2, host: "Hostname.local:37019" arbiterOnly: "true"}]}
3. rs.initiate(config)

Second: Create ConfigServers

And that will fire up our Replica set ready for sharding... (Note that you need to change myShrd with the name of your shard in the above commands also); Then we exit the mongo shell with CTRL+D and we need to create a config-servers setup, normally for production we'll use three of these (no matter how many shards/nodes we have):

1. su -
2. mkdir -p /data/config
3. chown user /data/config
4. cd /data/config
5. mkdir -p config-a && mkdir -p config-b && mkdir -p config-c6. chown user config-a && chown user config-b && chown user config-c7. mongod --logpath "cfg-a.log" --dbpath /data/config/config-a --port 47017 --fork --configsvr8. mongod --logpath "cfg-b.log" --dbpath /data/config/config-b --port 47018 --fork --configsvr9. mongod --logpath "cfg-c.log" --dbpath /data/config/config-c --port 47019 --fork --configsvr

Same rules apply here, change user with your standard (non-root) username in the commands

Third: Tie-up Everything

Now we need to "connect the dots" with a mongos process:

1. su -
2. mongos --logpath "mongos-1.log" --configdb Hostname.local:47017,Hostname.local:47018,Hostname.local:47019 --fork
And finally (as a standard user, non-root) we "glue" everything with:

1. mongo
2. db.adminCommand({addshard: "myShrd/Hostname.local:37017"})
3. db.adminCommand({enableSharding: "myDB"})
4. db.adminCommand({shardCollection: "myDB.collection", key: {theKey: 1}})


  • myShrd is the name of your shard (selected in the first step)
  • myDB is the name of the DB where you want sharding enabled
  • myDB.collection is the the collection (in the DB) you wanna shard
  • theKey is the name of the indexed field you're going to use as a shard key

All of this might seem a little cumbersome at first but is easy to get used to it, just try it and you'll see...

Extra: Running all on boot

The best way I've found to make this setup work at boot, is with an autostart script runned via the nohup command (so we can keep a log). The script doesn't seem to work with other methods such as rc.local, just autostart... To implement this, just run the following commands to download the script and make it executable:

1. wget -O ~/replSet.sh2. chmod +x ~/

Once downloaded, edit it according to your own setup (change the Hostname variable, the name of the shard, the paths, etc). If your server has a graphical desktop then adding this script won't be hard: for example in GNOME we just have to open the gnome-session-properties dialog (via Alt+F2) and add the following command there:

nohup path/to/the/script

And that's pretty much it, you're now bypassing MongoDB's limits by using sharding. Verify by rebooting your computer (so the script can run) and then enter the mongo shell in a terminal, you'll see something like:

Carnaval de Matemáticas: Resumen de la edición 5.4: “Martin Gardner”

Gaussianos - Vie, 06/06/2014 - 05:00

Unos días después de terminar el plazo para realizar contribuciones a la Edición 5.4 del Carnaval de Matemáticas dedicada a Martin Gardner os traigo el resumen de la misma con todas ellas (espero no haber olvidado ninguna).

En esta ocasión has sido 30 aportaciones en forma de posts provenientes de un total de 17 blogs. Destaca, como es habitual, nuestra querida Marta Macho que desde ZTFNews ha realizado la friolera de 11 contribuciones, además de la que ha hecho desde el Cuaderno de Cultura Científica. Como en las otras dos ocasiones en las que fui anfitrión del Carnaval de Matemáticas (edición 2.2 y edición 3.1415) os las presento todas ordenadas por días.

Fuera de fechas

1. Números naturales “linealmente independientes”, de Misterio, educación y ciencia.

2. Fractales en la 12ª Feria de la Ciencia de Sevilla y en Ciencia en Acción 2014 de Barcelona, de Juegos Topológicos.

3. Mirando con ojos matemáticos, de Los Matemáticos no son gente seria.

Jueves 22 de mayo

4. La belleza de los números en estado puro: matemáticas visuales, de Scire Science.

5. Cómo usar el baile de la yenka para estudiar el número Pi, de Cifras y Teclas.

6. Sigo contando, de Números y algo más…

7. Thomas Harriot, de PiMedios.

8. Cultura con “M” de matemáticas: una visión matemática del arte y la cultura (2014), de ZTFNews.

9. Ojalá sea una imagen trucada, de Divertido no es lo contrario de serio, sino de aburrido.

Viernes 23 de mayo

10. Golígonos, goliedros y demás, de Números y algo más…

11. Silla anular, de ZTFNews.

12. El coeficiente de Gini, de ZTFNews.

13. Premio #CarnaMat53, de Tito Eliatron Dixit.

Sábado 24 de mayo

14. William Whewell, polímata, de ZTFNews.

15. Geometría de ecos, de ZTFNews.

Domingo 25 de mayo

16. Sucesiones de Horadam – Soluciones enteras, de Números y hoja de cálculo.

17. Cuando la democracia choca con las matemáticas… ¿justicia?, de Scire Science.

18. Raymond Smullyan, divulgando las matemáticas a través del juego, la magia y el humor, de ZTFNews.

Lunes 26 de mayo

19. Respuestas de alumnos ‘matemáticos’ (II), de El mundo de Rafalillo.

20. Mary Taylor Slow (1898-1984), de ZTFNews.

Martes 27 de mayo

21. Comparando áreas, de Tito Eliatron Dixit.

22. Mikhail Mikhailovich Postnikov, topólogo algebraico, de ZTFNews.

23. Círculos de piedra, de ZTFNews.

24. El fútbol anarquista, de ZTFNews.

Miércoles 28 de mayo

25. Parascevedecatriafobia, un caso especial de triscaidecafobia, del Cuaderno de Cultura Científica.

26. Celebrado el evento #50MatUGR, 50 aniversario de las Matemáticas en la UGR, de Gaussianos.

27. Milutin Milanković y la teoría matemática del clima, de ZTFNews.

28. “¡Es la magia! ¡Traed matemáticas!”, de Activa tu neurona.

29. Árboles y gúgoles en el Mundial 2014, de Matifutbol.

Jueves 29 de mayo

30. Un dragón en una caja, de Las MATES nos han rodeado !.

Si veis que alguna de vuestras entradas no aparece en este listado o encontráis algún error en alguno de los enlaces no tenéis más que indicarlo en un comentario y en cuanto pueda lo arreglaré.

Y como siempre ya sabéis que podéis votar para elegir la ganadora del Premio #CarnaMat54 entre todas entras entradas. El plazo para la votación terminará el día 20 de junio, y os recuerdo que debéis dar 4, 2 y 1 punto a las tres entradas que más os hayan gustado (con que indiquéis el número que corresponde a cada una de ellas en el listado anterior es suficiente). Los votos debéis dejarlos en un comentario en este mismo post, y en él también tendréis que incluir un enlace a vuestro perfil en la web del Carnaval.

Muchas gracias a todos por vuestras aportaciones y vuestros votos.

Entra en Gaussianos si quieres hacer algún comentario sobre este artículo, consultar entradas anteriores o enviarnos un mensaje.

Construye tú también el poliedro de Császár.

¿Chrome congela tu máquina? 3 tips para hacer que consuma menos RAM/recursos

Xenode - Jue, 06/05/2014 - 22:48

Últimamente he tenido un grave problema que me desespera bastante... Cuando estoy usando Google Chrome de modo heavy duty ocasionalmente termina congelando mi máquina. Tras mucho investigar (e incluso considerar el comprar más RAM (pues ahorita tengo 4GB solamente en mi máquina de escritorio), di con la combinación perfecta de tips que terminaron solventando el problema de raíz:

1) Comprimir RAM/Swap (sólo linux)

Si como yo usas un sistema operativo linux (yo uso fedora) el primer paso que te recomendaría seguir sería habilitar un optimizador de RAM/Swap como podrían ser zRAM (para ubuntu y derivadas) o Zswap (para el resto de distribuciones). En OS X a partir de la versión Mavericks ya tenemos una función similar por defecto en el sistema con AppNap y en Windows no hay manera realmente funcional de aplicar este tip, so si estás en Windows puedes obviar este paso.

2) Evitar la ejecución en segundo plano

Algunas apps de Chrome tienden a mantener su proceso abierto para siempre (como un daemon) aún cuando el navegador está cerrado, esto termina haciendo que aunque cierres chrome procesos atados al navegador se sigan ejecutando consumiendo tu RAM. En versiones recientes del navegador (con la inclusión de las apps standalone y otras mejoras) ya no hay una razón práctica para dejar esta función activa, por lo que para desactivarla nos iremos a Configuración>Mostrar Configuración Avanzada>Sistema y deshabilitaremos la opción pertinente:

Con tan sólo habilitar estos 2 tips, noté que los freezes causados por chrome se redujeron a la mitad, pero aún eran notorios... So, seguí optimizando.

3) Instalar The Great Suspender

The Great Suspender es una extensión que se encarga de suspender las pestañas abiertas inactivas automáticamente por nosotros. Instalamos la extensión, nos vamos a su menú de configuración y la adaptamos de la siguiente manera:

NOTA: Si te encuentras con que tus pestañas están siendo suspendidas muy seguido para tu gusto, cambia 5 mins por 15 mins, en mi caso los 15 fueron la medida justa y perfecta :)


Una vez aplicando estos tips (y reiniciando chrome), veremos que nuestra PC deja de congelarse por culpa del navegador, así tengamos un buen puñado de pestañas abiertas como se acostumbra a usar hoy en día. Un tip extra que puedes aplicar para optimizar aún más el consumo de recursos por parte de Chrome es desactivar las extensiones (ojo: no apps) que no uses realmente o que no necesites a diario, activándolas sólo cuando te sean necesarias. Es importante mencionar que las extensiones son en parte las culpables del mayor consumo de recursos por parte de Chrome a lo largo del tiempo, so gestionarlas a voluntad es una buena práctica también.

Instalar MongoDB en CentOS/RHEL 6.x [Live 5/06/2014]

Xenode - Jue, 06/05/2014 - 17:31

Para instalar MongoDB en CentOS/RHEL tenemos que hacer lo siguiente:

1) Agregar el repositorio oficial

1. su -
2. touch /etc/yum.repos.d/mongodb.repo
3. nano /etc/yum.repos.d/mongodb.repo

Y en el archivo que nos saldrá ponemos el código del repo acorde a nuestra arquitectura:

32/64 Bits (recuerda presionar en Raw):

2) Instalar Dependencias & MongoDB

sudo yum install gperftools-libs mongodb-org

3) Configurar

1. su -
2. mkdir -p /data
3. sudo chown user /data
4. service mongod start
5. chkconfig mongod on

NOTA: Reemplaza user por el nombre de tu usuario estándar en el sistema (no root); El último comando sólo se corre si quieres que MongoDB se inicie al arranque del sistema automáticamente con las opciones por defecto.

Unos tienen la fama, y otros cardan la lana

Jose Salgado - Jue, 06/05/2014 - 17:05
unos cardan la lana y otros tienen la fama

Es algo que siempre ha pasado, pero ahora, gracias a la tecnología y al dospuntocerismo -como dice el bueno de Antonio Pérez Ortega- estamos llegando a niveles realmente extraordinarios, personajes que se han posicionado como expertos en una materia, que por algun mecanismo extraño de desconozco, empiezan a extender su sabiduría -por llamarlo de alguna manera- a otras áreas, de cuya sapiencia es más que discutible.

En esta última semana he tenido que ver con mis propios ojos como aparecía un experto para opinar sobre un simposium, lo cual tendría su sentido si tuviera algún conocimiento al respecto. Lo gracioso es que el propio experto ha reconocido no tener ni idea, y que tampoco esperaba tenerla porque no era un tema que le interesara. Por otra parte, en otro medio altamente subvencionado, expertos que antes sabían como cardar la lana, hablaban sobre la influencia del nenúfar en la capa de ozono. Que me aspen Joe.

Antes de empezar este post, he estado buscando cual era la frase exacta de un refrán: cría fama y échate a dormir. Al final he descartado la frase porque me apetecía sobremanera poner el fotograma de Gene Wilder y esa oveja picarona. Pero lo que me ha llamado la atención era la explicación que se ofrecía sobre este refrán en concreto: Una vez que se adquiere buena fama, poco trabajo cuesta conservarla, pues no se da crédito ni a la evidencia que merecería descrédito.

Realmente no puedo estar más de acuerdo. Podemos discutir toda una eternidad sobre el porqué alguien adquiere un status de experto, pero lo que es meridianamente claro es que tenemos menos memoria que Dorys, el pez de Nemo. Uno de estos expertos realizó una de esas predicciones que quedan tan bien y se ajustan perfectamente a los titulares de un periódico, el problema es que al día siguiente la realidad le dio por llevarle la contraria. ¿El resultado?, no ha pasado nada. Nadie ha cuestionado su fiabilidad, sus predicciones, y sigue por ahí pululando dando lecciones de no se sabe bien que, porque sigue posicionado como guru en el subconsciente de los periodistas -principales culpables de todo este jaleo- y da igual que diga que la tierra es plana, porque seguirá siendo un experto.

El problema resultante es que las personas que si cardan la lana, los que trabajan doce horas al día, los que se pelean con proyectos, clientes, ideas, retos, siguen estando a la sombra. Son personas que no existen para los medios, y por definición, para la mayoría de la población. Es posible que por este mismo principio, muchas de estas personas se hayan lanzado a construir su propia marca personal, pero cuando todos intentan hacer lo mismo, la misma abundancia de teóricos expertos, hacen que los que ya estaba posicionados suban todavía más y se conviertan expertos de todo.

Curiosa paradoja, cuanto más quieran destacar los profesionales, más destacarán los que solo saben aparecer ante los focos.

Película: Everything You Always Wanted to Know About Sex But Were Afraid to Ask

Esto es un resumen del artículo Unos tienen la fama, y otros cardan la lana escrito para Exelisis. Visita la web para más información y compártelo si crees que es interesante.

Instalar NodeJS & NPM en CentOS/RHEL 6.x [Live 5/06/2014]

Xenode - Jue, 06/05/2014 - 15:46

Para instalar a éstos 2 dentro de tu sistema CentOS/RHEL 6.x sólo necesitarás agregar los repos de los que hablamos anteriormente en esta guía y después correr:

1. su -
2. yum -y install nodejs npm

Más tarde (como tu usuario estándar) puedes instalar paquetes como Coffeescript o ExpressJS con comandos como:

npm install coffee-script express

por ejemplo.

Instalar Ruby y Ruby on Rails en CentOS/RHEL 6.x [Live 5/06/2014]

Xenode - Jue, 06/05/2014 - 15:04

Si quieres instalar el lenguaje de programación Ruby y su framework web más famoso Ruby on Rails dentro de Red Hat Enterprise Linux o CentOS 6.x esto es lo que tienes que hacer:

NOTA: Necesitarás tener agregados los repos de los que hablamos en esta guía

1) Instalar dependencias

1. su -
2. yum -y install git git-core mercurial subversion bzr nodejs curl wget

2) RVM

NOTA: La instalación de RVM, Ruby y Rails requiere hacerse desde un usuario estándar con privilegios de sudo

1. wget -O
2. umask g+w
3. source ~/.profile
4. rvm requirements

El último comando nos pedirá una contraseña y se pondrá a instalar más dependencias necesarias para la compilación de ruby y sus gemas en el sistema luego seguimos con:

sudo chown -R user:user /home/user/.rvm/

Reemplazando user por tu nombre de usuario... Más tarde necesitaremos descargar la versión de ruby que queramos usar. Yo generalmente me voy por la última versión estable disponible, misma que se puede checar desde acá.

3) Ruby

Al momento que escribo esto dicha versión es la 2.1.2, por lo que seguiré el tutorial basándome en ella (recuerda cambiar dicho número por el indicado para la última versión cuando sigas este tutorial):

rvm install 2.1.2

Ese comando descargará y compilará dicha versión en nuestro sistema. Luego corremos:

1. source "~/.rvm/scripts/rvm"
2. rvm --default use 2.1.2

Añadimos RVM a nuestro bashrc:

echo "source ~/.rvm/scripts/rvm" >> ~/.bashrc

(O bien, ~/.zshrc  si usas ZSH por ejemplo)

y proseguimos.

4) Rails

1. gem update --system
2. gem install rubygems-update
3. update_rubygems
4. gem install rails --no-ri --no-rdoc

¡Listo! Podemos verificar la instalación exitosa de Ruby y Ruby On Rails en nuestro sistema con:

1. ruby -v
2. rails -v


Suscribirse a Fedora-es sindicador