Publi

  • Cómo obtener información de salud de tu sistema Linux o tu servidor en C y C++ (I. Memoria)

    Es algo necesario para el buen funcionamiento de nuestras aplicaciones. Para añadir robustez a nuestros sistemas, haciendo que éstos se comporten de manera adecuada en situaciones imprevistas. Por ejemplo, si necesitamos crear un archivo y añadir cierta información, podemos, a priori, comprobar que el dispositivo en el que vamos a escribir tiene suficiente espacio libre, lo que nos puede ahorrar suplicios si los ficheros son demasiado grandes. También deberíamos ser capaces de comprobar que un disco de red está conectado antes de trabajar con él y, en muchos casos, anticiparnos a largas esperas y bloqueos por parte del sistema operativo.… Leer artículo completo

  • Cómo empotrar datos dentro de un ejecutable hecho en C

    photo-1453179592584-e2587867cfff

    En nuestras andanzas como programadores, seguro que nos hemos encontrado alguna vez en esta situación. Tenemos un programa que vamos a distribuir, pero que tiene ciertos archivos asociados (imágenes, texto, scripts, etc) que deben ir junto con el programa.
    En un primer momento podemos distribuir los archivos junto con el programa, y es una buena solución hasta que a alguien le da por cambiar esos archivos y consiguen que nuestro programa haga cosas diferentes a aquellas para las que ha sido pensado originalmente.… Leer artículo completo

  • 7 Tareas comunes que echamos de menos en SQLite si venimos de otra base de datos SQL.

    5577388841_c86d1b41c2_o

    Si en nuestra aplicación utilizamos una base de datos SQLite pero no estamos muy familiarizamos con la forma de trabajar de este pequeño motor, esta es tu guía. Aunque SQL es el mismo para muchas bases de datos (sobre todo las que tienen estas tres letras en su nombre: MSSQL, MySQL, PostgreSQL…), siempre hay unas pequeñas diferencias.
    Esto no es una guía completa de SQLite, sólo una pequeña chuleta para algunas tareas comunes que pueden traernos de cabeza.… 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

  • Generando imágenes en C, sólo por diversión, empezando desde cero (Parte I)

    colores_y_formasHace tiempo que no pongo nada de imagen digital, y ya tenía ganas. No haremos nada complicado, pero muchas veces, cuando empezamos a programar, pensamos en representar el contenido de un array en una imagen, o para esas veces en que pensamos que un simple algoritmo nos puede ayudar a crear la imagen que queremos.

    Cómo generar las imágenes

    Para generar las imágenes, vamos a pensar en un buffer sencillo, lineal de tipo unsigned char, o uint8_t, para imágenes en blanco y negro… vamos a empezar con imágenes sencillas, ya meteremos color… y más cosas.… Leer artículo completo

  • Obtener diferencia entre una zona horaria y UTC en PHP

    2744390812_c6e2aa449b_o

    Puede parecer extraño pero, a veces, cuando nuestros visitantes son de diferentes franjas horarias conviene adaptar las horas a cada uno de los usuarios. No es plan que en pleno 2015 obliguemos a los usuarios a hacer las conversiones.

    También es posible que, estemos extendiendo un CMS que ignore por completo el default_timezone_set o que lo defina a placer, y nos encontremos en un dilema cuando tenemos que tratar con la hora.… Leer artículo completo

  • Pintar una gráfica con gnuplot de datos extraidos de SQLite

    Gráfica de datos extraídos de SQLite

    Como parte de uno de mis últimos proyectos, recopilo datos periódicamente y los almaceno en una tabla SQLite. Pero, al final, los datos no valen para nada si no somos capaces de tener una visión global de lo que ha pasado a lo largo del periodo de tiempo. Y para eso, ¿qué mejor que pintar los datos en una gráfica?

    Ya que los datos los almaceno en SQLite, utilizaré el cliente sqlite3 y para pintar las gráficas, gnuplot.… Leer artículo completo