Publi

  • 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

  • Permitir que nuestros usuarios ejecuten tareas controladas en nombre de otro. #SUID #SGID – Con ejemplos y ataques

    Uno de los puntos fuertes de un sistema Unix es su forma de gestionar los privilegios de usuario. Se suele decir que el malware en GNU/Linux sólo afecta al usuario por el que entra (y podrá hacer todo lo que éste pueda hacer), por lo tanto será muy difícil (nada es imposible, y siempre hay bugs) que un programa ejecutado con privilegios de usuario normal afecte al sistema completo.

    Eso sí, otro de los puntos fuertes de un sistema tipo Unix, es que nos deja automatizar absolutamente todo.… 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 crear ventanas semitransparentes en Gtk+-3.0 con GtkMM

    Screenshot 17-02-2016-070256
    Es algo que está muy chulo, y puede hacer que la experiencia de usuario de nuestras aplicaciones sea mucho mejor, además de dar un punto friki si queremos intercalar información de fondo, o queremos hacer una animación, una ventana splash chula mientras arranca nuestro programa, etc.

    Lo que tenemos que hacer es que nuestra ventana se pinte en un contexto RGBA (rojo, verde, azul, alpha), donde alpha es nuestro valor de opacidad.… Leer artículo completo

  • Programas que me han salvado la vida este 2015

    programas

    En 2012 hice un post con las 5 aplicaciones que me salvaban la vida cada día. Esta vez no pondré límite, aunque para este año quiero analizar la persistencia en el tiempo de dichos proyectos. Como siempre, estos programas tienen licencias libres y corren bajo Linux, y no incluyo en la lista un navegador de Internet, un gestor de correo, servidor gráfico, etc; sino algunos programas para aumentar la productividad o hacer algo que no podía hacer antes, es más, voy a poner sólo programas con interfaz gráfica, que veamos que en GNU/Linux no sólo usamos una terminal:

    Blender

    Screenshot 01-10-2015-181000
    Aunque ya lo había utilizado para cosas pequeñas (no es que lo que he hecho sea muy grande), ha sido el gran descubrimiento de este 2015 para mí.… Leer artículo completo

  • Buscar un archivo en el PATH en C

    En principio si vamos a ejecutar un programa con popen() o exec*() no habría problema. Siempre que exec sea de la familia de los exec*p(), es decir execvp(), execlp(), execvpe(), ya que estos buscan en la variable de entorno PATH el ejecutable, aunque los demás exec no lo hacen y requieren el fichero y path completo.

    Podemos utilizarla, por ejemplo para ahorrarle a exec el trabajo de tener que buscar en el PATH si vamos a hacer muchas llamadas a un ejecutable o para mostrar al usuario la ruta y el nombre de archivo de un programa que va a ejecutar.… Leer artículo completo

  • Preparando nuestro entorno para Arduino sin Java

    Arduino Emacs

    Como comenté en el post anterior, la plataforma Arduino viene con un IDE hecho en Java, no es muy completo, pero nos hace el apaño, aunque, como es mi caso, estoy acostumbrado a Emacs. Aunque esta guía no estará limitada a este editor, ni a Ubuntu (o basados en él).

    El objetivo, es usar nuestro IDE o editor preferido para trabajar con estos pequeños bichos programables.

    En principio tenemos que instalar las herramientas para compilar los programas para la plataforma (esto es común con todas las instalaciones).… Leer artículo completo

  • La pesadilla de cambiarse a Windows

    No suelo hacer un post sólo para enlazar un artículo, pero este me ha parecido interesante.

    Y es que muchos vez un cambio a Linux como algo oscuro y siniestro, pero hay personas que consideramos el cambio a Windows como algo tremendamente difícil.

    La pesadilla de cambiarse a Windows – Paraíso Linux

    Personalmente, ¿ por qué uso Linux ?

    • Me hace más productivo
    • Me da más sensación de seguridad
    • Me permite hacer más cosas
    • Me gusta aprender algo cada día

    Todo va mucho más allá de la filosofía del software libre.… Leer artículo completo

  • Andanzas en Facebook: Diálogos

    Una de las posibilidades que nos brinda la plataforma Facebook para crear aplicaciones es la de tener diálogos con el Look&Feel de la propia red social. Y todo esto sin crujirnos la cabeza para hacerlos. Podemos hacer diálogos simples (con un botón) o de decisión (con dos botones), y además pueden ser pop-ups:

    Diálogo Pop-upo contextuales:

    Diálogo contextual de FacebookPara ello sólo bastan algunas líneas de FBJS:

    1
    2
    3
    4
    5
    6
    7
    var usuario_pulsa_ok = function() {
     // Ejecutaremos este código cuando el usuario acepte el diálogo
             };
             
             var dialog = new Dialog(Dialog.
    Leer artículo completo