Publi

  • Píldora: Comportamiento de atajos de teclado en editline vs readline o bash vs mysql

    Uno de los grandes puntos a favor que tiene el ecosistema libre y comparten muchos programas para GNU/Linux es que comparten bibliotecas, o pueden compartirlas para implementar diversas funcionalidades. Y una de las bibliotecas que utilizamos a diario casi sin darnos cuenta es readline.
    Esta biblioteca implementa utilidades para la introducción de datos por teclado, así como manejo de historial y atajos. Lo que nos proporciona una mejor experiencia de usuario y nos permite manejar programas como bash, ksh, bc, gnuplot, ftp, el cliente de MariaDB o el modo interactivo de Python más fácilmente.… Leer artículo completo

  • Me mudo de casa, ¿qué tal me veis?

    Me cambio de casa, nuevo dominio

    Lo sé, estoy loco. Cerca de 10 años con el blog y ahora me da por comprar un dominio para el mismo. Mucho tiempo con totaki.com, dominio al que le tengo cariño, de un proyecto anterior. Uno de esos proyectos que quieres retomar, y no me pongo.

    Nunca he sido persona muy de SEO, ni me he preocupado demasiado por optimizar la web para buscadores. Eso sí, la mayoría de las visitas provienen del buscador por defecto de mucha gente, Mr.… Leer artículo completo

  • Cómo crear un plugin para WordPress. Making of de SimTerm (primera parte)

    simterm
    Son muchos los plugins para WordPress disponibles hoy en día, aunque la magia de este sistema de publicación radica en sus posibilidades para extenderlo. Así que aquí contaré la historia de la primera versión de mi primer plugin más o menos serio para WordPress: SimTerm. Contando, los pasos que di, lo que pude haber hecho de otra forma y lo que debí haber hecho de otra forma.

    Índice

    1. Instalación local de WordPress.
    Leer artículo completo
  • Usando SQLite en nuestros programas en C/C++ (I)


    Foto: Eirik Stavelin (Flickr CC-by)
    A menudo, nuestros programas necesitan almacenar información (temporal o no) de forma ordenada, rápida y que no nos complique la vida. Luego también necesitamos poder acceder a ella con la misma facilidad. Para eso vale SQLite. Tendremos un pequeño motor de base de datos que con sólo un par de archivos (.h y .c) más un archivo de datos lo tendremos todo listo.

    Una pequeña introducción

    SQLite nos proporciona una forma muy sencilla de introducir y eliminar información (si estamos familiarizados con el lenguaje SQL) sin las complicaciones de tener un motor de base de datos corriendo (MySQL, MariaDB, PostreSQL, MSSQL…).… Leer artículo completo

  • Por qué no debemos utilizar gets()

    getsA veces me sorprendo (como profesor de programación) de que en muchos sitios siguen enseñando la función gets() para la entrada de datos desde teclado sin explicar lo que puede pasar.

    gets() es una función peligrosa. Imaginemos que escribimos el siguiente programa:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #include <stdio.h>

    int main()
    {
      char cadena2[10];
      char cadena1[10];

      printf("c1: %x\nc2: %x\n", cadena1, cadena2);
      gets(cadena1);

      printf("Cadena 2: %s\n", cadena2);
    }

    Ahora la compilamos, ejecutamos e introducimos un texto de prueba:

    $ gcc -o test3 test3.c
    /tmp/ccK2P2ON.o: In function `main’:
    test3.c:(.text+0x32): warning: the `gets’ function is dangerous and should not be used.

    Leer artículo completo
  • Hola Mundo!

    Cuando grandes cantidades de bits desfilan ordenados creando una sinfonía imperfecta y hacemos que el mundo entero la escuche.
    Porque hacemos que cada melodía resida en conocimiento de la humanidad y sea conocida de generación en generación, sea versionada y tras siglos recordada.
    Es nuestra creación, nuestro legado al mundo y nuestro deber es compartirlo.

    Tras esta pequeña introducción os presento mi nuevo blog. Tratará sobre algunas de mis pasiones: la programación, la tecnología.… Leer artículo completo