Publi

  • Enviar notificaciones desde nuestros scripts con notify-send

    notificacionEs un tema que se ha tratado varias veces en otros blogs y tutoriales a lo largo de Internet, y es que algo que tienen en común muchos entornos de escritorio de GNU/Linux en la actualidad es un demonio de notificaciones, éste recibe mensajes de las aplicaciones que quieran escribir una notificación (valga la redundancia), y los muestra en pantalla.
    Lo bueno que tiene hacerlo así es que cualquier aplicación que quiera escribir algo, sólo tiene que enviar el texto y sólo tenemos un dibujante, eso reduce bastante el coste en memoria (si tenemos cuatro aplicaciones y las cuatro se dedican a lo mismo, estamos desperdiciando memoria), por otra parte, unifica el estilo (en el mismo ejemplo de antes, tendríamos cuatro formas de dibujar distintas y a lo mejor, cada una con un estilo diferente) y por otra parte, dada la filosofía que siguen estos proyectos, nos proporcionan herramientas para enviar notificaciones fácilmente.… Leer artículo completo

  • Una nueva etapa para el blog

    Después de 3 años me he decidido a cambiar un poco el blog. Pero sólo un poco, si sois antiguos visitantes habréis visto que el tema es muy parecido, he decidido coger el tema que me gustaba, cambiar un poco el esquema de colores y la distribución (he cambiado el pie de página, y he puesto la parte principal de tamaño variable entre otras cosas) y modificarle un poco el código.… Leer artículo completo

  • Ejecutar scripts mientras inicia el sistema

    botas

    En ocasiones, queremos automatizar tareas al arranque del ordenador, tal vez para ofrecer asistencia remota (y enviarnos la IP del ordenador), actualizar una base de datos, correr scripts en una página web, hacer que el ordenador emita un sonido, inicializar un sistema antirrobo, o incluso interactúe con un arduino.

    En muchas ocasiones, incluir nuestros scripts en /etc/rc.local basta, en Debian y derivadas lo encontramos fácilmente, en otras distribuciones también hay forma de hacerlo, aunque si necesitamos algo más complicado, como por ejemplo ejecutar varios scripts en un directorio determinado, en varios runlevels y que cuando se apague el ordenador se ejecuten otros scripts diferentes he hecho un pequeño init-script.… Leer artículo completo

  • [Bash] Llamar a una variable cuyo nombre lo contiene otra variable

    numbers

    Imaginemos el caso en que tenemos tres variables (ROJO=5 ; VERDE=6 ; AZUL=7), y una función a la que le pasaremos el nombre del color y nos devolverá su valor (así visto parece tontería, pero luego podremos normalizarlo, aclararlo, oscurecerlo, etc).

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ROJO=5
    VERDE=6
    AZUL=7

    function get_color()
    {
       echo ${!1}
    }

    get_color ROJO

    Efectivamente si en Bash escribimos ${!VARIABLE} no nos devuelve el nombre que contiene la variable, sino que devuelve el valor de la variable cuyo nombre es $VARIABLE.… Leer artículo completo

  • Solucionar problema con «Timeout»s y «Broken pipe»s con ssh y scp

    fantasma

    En ocasiones, cuando la conexión SSH que tenemos establecida no es muy estable (a mi me surgía el problema con un dispositivo Wifi que en ocasiones se desconectaba y no podía transferir ficheros largos porque a mitad se desconectaba), puede que nos hayamos encontrado con este problema.

    Para solucionarlo, debemos editar /etc/ssh/sshd_config o /etc/sshd_config (dependiendo de nuestra distribución). Primero buscaremos la línea que comienza con ClientAliveInterval y pondremos su valor a 100 o menos (son los segundos para que el servidor envíe una señal al cliente para ver si está vivo).… Leer artículo completo

  • Aventuras devolviendo una licencia de Windows que venía de serie con un portátil

    Software libre, sin licencia de Windows

    Este post cuenta con una actualización del 27 de Agosto de 2013, que cuenta acerca de las devoluciones de Windows 8.

    Hace un par de meses, me compré un portátil nuevo, el anterior había cumplido 6 años y por motivos laborales debía cambiarlo. El caso, es que, como casi todos los ordenadores actualmente, viene con una versión de Microsoft Windows7 recomendada hasta la saciedad por el fabricante, que aunque lleguen a decir alguna vez que Ubuntu es más seguro que Windows, al poco tiempo y por la cuenta que les trae vuelven a recomendar Windows.… Leer artículo completo

  • Siento la tardanza

    Siento haber tardado tanto en responder comentarios y actualizar algún artículo, el trabajo no me deja tiempo para el blog, y escribo y lo mantengo cuando puedo. Espero darle un empujón estos días.

    Gracias a tod@s por vuestra consideración.… Leer artículo completo

  • Accediendo a bases de datos MySQL desde C++

    photo-1423592707957-3b212afa6733_r

    Muchos estamos acostumbrados a utilizar bases de datos en PHP pero cuando se trata de un programa de escritorio almacenamos los cambios en archivos sin contemplar esta posibilidad.

    Usar una base de datos puede ser un gran aliado a la hora de hacer aplicaciones que almacenen gran cantidad de información o vayamos a acceder desde varios puntos a dicha información (programas multipuesto, por ejemplo).

    También es de gran utilidad si construimos un software que haga más ligeras ciertas tareas dentro de un servidor web (necesitamos la posibilidad de ejecutar programas sobre el servidor y tal vez de compilarlos allí, pero es una opción bastante buena, en ocasiones un script puede ejecutarse de forma demasiado lenta.… Leer artículo completo

  • Guardar un log con las excepciones producidas en C++

    logSobre todo a la hora de crear un programa se pueden generar muchas excepciones, bueno y cuando estamos usándolo de forma normal también, y todos sabemos del típico cliente/amigo/usuario que nos llama de madrugada o a una hora normal diciendo:
    – «El programa me da error» –
    – «¿Qué error te da el programa?» – respondemos
    – «Nada error, solo eso» –
    – «Bueno, ¿seguro que no salía nada más?» – insistimos
    – «Sí, muchas letras y cosas que no tenían sentido» – nos responde para bajarnos la moral – «¿qué puede ser?»
    Nuestra respuesta ahora depende de la relación que tengamos con esa persona, ya sea cliente, amigo, usuario, desconocido… o destornillador, digo, desarrollador (que hay algunos que también…).… Leer artículo completo

  • Escribir con colores en la terminal al estilo C++

    Hace mucho, publicaba en esta web stermp, es una versión libre de la biblioteca conio para C. Esa biblioteca muy popular en los 90 escribía en colores por la consola, pero propietaria y sólo para entornos DOS y Windows.

    Aunque cuando utilizamos C++, es normal querer utilizar un método más acorde con lo que estamos haciendo, es decir, utilizar streams.

    Para ello, podemos utilizar el siguiente código:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    class ccolor
    {
     public:
      ccolor(unsigned short c)
        {
          setColor(c);
          background=-1;
        }

      ccolor(unsigned short fc, unsigned short bc)
        {
          setColor(fc);
          background=(bc<BRILLO_MIN)?
    Leer artículo completo