Publi

  • Encontrar la diferencia entre la salida de dos comandos en nuestra terminal

    Spot_the_difference

    Este es un pequeño truco que, en ocasiones me ha salvado un poco de tiempo. Un mini-post que tenía ganas de compartir por aquí y que hoy voy a empezar por el final. Es decir, poniendo el código:

    1
    $ diff <(comando 1) <(comando 2)

    Con esto, ejecutamos el comando 1, luego el comando 2 y se lo pasamos a diff en forma de pipe creada expresamente para la ocasión.… Leer artículo completo

  • BITes: LÖVE, HTTP2, Linux sin piratas, móvil con Debian, IPTables y más

    photo-1436124396594-54d90bf69c66_rComo casi todas las semanas, aquí traigo mi resumen semanal, en unos cinco enlaces que podemos visitar rápidamente para ver el estado del mundo linuxero, de programación y curiosidades.

    Help me!

    Como todas las semanas, pondré algún enlace con el título [Ayúdame], este enlace llevará publicidad, y yo ganaré un céntimo cada ciertos clicks, todo para pagar a fin de año el dominio y ayudar con el hosting, igual que la publi que hay siempre.… Leer artículo completo

  • Conocer el tipo MIME de un archivo gracias a GIO en lenguaje C

    3210986710_d3cbbdac55_b

    La biblioteca GIO nos proporciona una capa más sobre el manejo de archivos. Nos aíslan un poco de las llamadas al sistema operativo para hacer muchas operaciones sobre archivos facilitando el uso de la biblioteca en aplicaciones multiplataforma. Así como dándonos algunas funciones interesantes que ya vienen hechas.

    La gran ventaja de GIO frente al acceso normal a un archivo es que hace transparente al programador el acceso a sistemas de archivos compartidos (en Windows, Mac o Linux) sin tener que gastar mucho tiempo en todo eso.… Leer artículo completo

  • Hacer funcionar tu viejo ordenador de router, y filtrar por dirección MAC

    computers

    Si tenemos un viejo ordenador, una de las funciones que puede hacer es de router. Personalmente, yo lo tengo de router, centro de descargas, almacenamiento compartido, copias de seguridad remotas, ejecutar cron jobs en ciertos servidores que no los soportan y para ver películas en la tele.

    Para que un ordenador pueda funcionar como router, es tan fácil como incluir en /etc/sysctl.conf la siguiente línea:

    net.ipv4.ip_forward=1

    (Aún con IPv4, sí, aunque podemos utilizar el forward ipv6, teóricamente sin ningún problema)
    En muchos sistemas ya funcionaría, pero dependiendo de la distribución debemos dar un permiso adicional:

    $ sudo iptables -A FORWARD -j ACCEPT

    Aunque si queremos restricción por MAC tendremos que currar un poco más.… Leer artículo completo

  • 5 Aplicaciones que me salvan día a día

    Son pequeñas aplicaciones sin las cuales no podría salir adelante día a día. Aunque a veces no las mime demasiado y no les haga mucho caso, deberían saber que son importantes para mí, para mi vida online y yo informático. He intentado establecer un orden, pero todas ellas son muy importantes, por lo que ocuparían todas la primera posición:

    1. Keepnote

      Es un software muy completo y ligero para tomar notas, clasificarlas y buscar dentro de ellas.

    Leer artículo completo
  • No los llames virus para PC cuando son virus para Windows

    Estoy de vacaciones, pero he encontrado un link que merece la pena leer: http://www.linuxav.net/index.php/2010/03/no-los-llames-virus-para-pc-son-virus-para-windows/.

    Lleva toda la razón, en los medios se suele mencionar que los virus afectan a todos los PCs cuando en realidad sólo afectan a los que tienen Windows instalado.… Leer artículo completo

  • Limpiar el buffer de teclado en Linux con ejemplos en C y C++

    reducida

    A veces, mientras se está desarrollando un pequeño programa en C en el que hay entradas del usuario por teclado, hay veces que parece que se pulsan teclas solas, esto es debido a una entrada de teclado anterior que no ha llegado a volcarse entera en nuestras variables.
    Un ejemplo en cuestión lo tenéis aquí:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #include <stdlib.h>
    #include <stdio.h>

    #define MAX_NOMBRE 128

    int main(int argc, char *argv[])
    {
      char nombre[MAX_NOMBRE];
      int dia, mes, year;

      printf ("Introduce fecha de finalización (dd/mm/YYYY): ");
      scanf("%d/%d/%d", &dia, &mes, &year);
      printf ("Nombre de la tarea: ");
      fgets(nombre, MAX_NOMBRE, stdin);

      printf("La tarea %s termina el: %d/%d/%d\n", nombre, dia, mes, year);
      return EXIT_SUCCESS;
    }

    En un primer momento, cuando introducimos la fecha, tenemos que introducir «12/12/2010» por ejemplo y luego pulsar enter para que scanf() pueda finalizar, aunque esa pulsación de enter se queda almacenada en el buffer de teclado, siendo lo único que hay en el buffer en este momento.… Leer artículo completo