Publi

  • Ejecutando tareas desde consola simultáneamente con GNU Parallel


    Los ordenadores cada día son más potentes. Y una de las formas de poder ejecutar tareas de forma más rápida, es simultanearlas. Por un lado, es lógico que si una tarea está esperando un dato (ese dato puede venir del disco, del usuario por medio del teclado o el ratón, o descargándoselo de Internet), es normal que el ordenador decida ejecutar otras cosas para no perder el tiempo. Y de hecho se ha aprovechado esto para tener varios programas en ejecución, constantemente dando y quitando el acceso al procesador.… Leer artículo completo

  • Monta microservicios web rápidamente en Python con web.py


    Python es uno de los lenguajes de moda. En sus múltiples usos: para escritorio, aplicaciones científicas, web, scripting y mucho más. Algo que también está de moda son los microservicios. Grosso modo, un microservicio es un componente independiente que implementa una funcionalidad de nuestra aplicación. Será una pieza de un puzzle mayor que, dadas unas especificaciones, podremos mejorar, reescribir, cambiar de lenguaje, utilizar bases de datos diferentes, etc.

    Y como ambas tecnologías están de moda, vamos a juntar lo mejor de los dos mundos y combinarlo.… Leer artículo completo

  • Cómo distribuir cálculos entre varios núcleos para acelerar procesos de computación [ejemplos en C++]

    Distribuir cálculos entre varios hilos de ejecución
    Hace años, más o menos a finales del siglo XX y principios del XXI y, como vimos en mi anterior post, hubo una guerra por los Megahercios. Es decir, las grandes compañías de procesadores, en aquella época Intel y AMD que, aunque había más fabricantes, éstos eran los que más sonaban, peleaban para que sus procesadores corrieran más que los de la competencia. Es más, como el usuario de a pie siempre se ha regido por la frase: «burro grande, ande o no ande«, siempre querrá un procesador con más megahercios, una cámara con más megapixels o una televisión con más pulgadas.… Leer artículo completo

  • Obtener información básica sobre procesos del sistema Linux en C y C++ (parte 3)

    procesos del sistema

    Cuando te independizas y te vas a vivir a un piso o a una casa te preguntas, ¿cómo serán mis vecinos? Por un lado tendremos al típico que deja la basura en la puerta de su casa durante todo el día y esparce olores al resto de los vecinos; o el que desea compartir la música que escucha con los demás y el que cuando entra al edificio y ve que vas a entrar va corriendo al ascensor para no esperarte… Aunque como procesos en ejecución en un entorno Linux muchas veces queremos saber cómo son nuestros vecinos y, al contrario de lo que puede parecer en una comunidad de vecinos, éstos suelen ser mucho más receptivos y dispuestos a darnos información.… Leer artículo completo

  • Windows10 y los sistemas operativos modernos

    IMG_20160527_220015
    Windows10 lleva casi un año entre nosotros y, sinceramente no lo he tocado hasta el viernes pasado, y tampoco tenía demasiado interés. Como muchos lectores sabrán no uso Windows como sistema operativo principal desde 2004, cuando dejé Windows2000 definitivamente.
    Aunque más o menos, me vi obligado a utilizar WindowsXP en muchos ordenadores, incluso instalar máquinas virtuales de Windows para utilizar algún programa aislado, o revisar la configuración específica de algún software en particular sólo disponible en esa plataforma.… Leer artículo completo

  • Cómo conocer CPU y memoria ocupada por un grupo de procesos con el mismo nombre

    photo-1463123081488-789f998ac9c4

    En multitud de ocasiones, mientras estamos trabajando con nuestro ordenador, o incluso con un servidor remoto, se presenta la necesidad de saber la memoria ocupada o la CPU consumida por un determinado proceso.
    Para ello tenemos herramientas como top o ps (entre otras) que nos permiten conocer dicha información. Podemos encontrar multitud de tutoriales para ambos comandos, sólo daré una pincelada aquí.

    ps

    Casi siempre que uso ps suelo hacerlo de la siguiente manera:

    $ ps ax

    para así mostrar todos los procesos que están corriendo actualmente, y si queremos obtener información sobre memoria y CPU podremos ejecutar:

    $ ps axl

    o

    $ ps axo pid,pcpu,pmem,size,cmd

    Si queremos obtener más datos como ID de proceso (pid), % de CPU (pcpu), % de memoria (pmem), tamaño en memoria (size), comando que genera el proceso (cmd).… Leer artículo completo

  • Cómo expulsar todas las sesiones MySQL de un usuario en particular desde un script

    502729552_aaa355b1ce_o

    Muchas veces, puede que tengamos una aplicación no muy bien depurada en nuestro servidor web. A dicha aplicación le hemos dado su propio usuario MySQL y observamos que las conexiones no se cierran adecuadamente.

    Temporalmente puede que la solución sea expulsar de vez en cuando todos los usuarios que siguen activos, con el fin de no saturar nuestro servidor MySQL. Puede que en otros servicios que tengamos activos hayamos visto el mensaje «Too many connections» impidiendo así el acceso a los demás servicios.… Leer artículo completo

  • Monitorizar nuestro sistema desde una aplicación en C++11

    14255861975_42cb043745_k

    Nuestros programas, muchas veces necesitan conocer información sobre el ordenador donde se están ejecutando. Una característica muy interasante y útil (para mi gusto) es que los sistemas Unix nos proporcionan una interfaz para conocer muchas cosas a través del sistema de archivos, de esta forma podemos conocer la información estemos donde estemos y usemos en lenguaje que usemos (no tenemos que tener una API en nuestro lenguaje que pida al sistema la información ni nada).… Leer artículo completo

  • Pausar aplicaciones haciendo click en la ventana correspondiente

    Todo empezó un caluroso día del mes pasado. Cuando, estando trabajando, utilizando Firefox como navegador encuentro información interesante acerca de mi actual proyecto. Aunque no era el único programa en ejecución, el hecho es que tenía toda la RAM llena, y unas 20 ventanas abiertas. De repente, recibo una llamada de teléfono y tengo que ponerme inmediatamente con otra cosa. La página que tengo en mi navegador, es muy pesada, y el ordenador empieza a ir un poco lento, además, el ventilador de la CPU se pone en marcha, muy rápido y de manera muy ruidosa, haciendo que, hasta mi interlocutor se da cuenta de ello.… Leer artículo completo

  • 31 Atajos de teclado que podemos usar en nuestra terminal o consola

    Foto: Thomas (Flickr CC)

    ¿ Qué podemos hacer en nuestra terminal a un golpe de teclado ? Muchas más cosas de las que nos imaginamos. Hay muchas teclas alternativas, algunas no funcionarán en versiones muy antiguas, otras son teclas algo más fáciles pero en ocasiones algunas terminales remotas no aceptan esos códigos y pueden no funcionar. Las teclas alternativas suelen estar especificadas en /etc/inputrc . También incluyo alguna palabra clave que suele ser el significado de la tecla, o alguna aclaración mnemotécnica para no olvidarnos (o eso pretende).… Leer artículo completo