Publi

  • Compilando y subiendo los primeros programas al ESP8266. Usando GPIO y UART-

    Me ha gustado mucho la facilidad de uso (y sobre todo el precio) de este dispositivo. El ESP8266 puede dotar a nuestros proyectos de la conectividad que necesitaban y así adentrarnos en el Internet de las cosas o IoT.

    Lo primero es sentirnos cómodos con el entorno. Así que voy a proponer dos opciones. La primera, multiplataforma será utilizando el mismo entorno Arduino. En este caso, al final del proceso cuando estemos compilando o subiendo el código a nuestro chip seleccionaremos la placa ESP8266 y compilaremos para ella.… Leer artículo completo

  • Configuración Nvidia Optimus con driver privativo y Bumblebee.

    Dos monitores con Nvidia y Bumblebee

    La semana pasada hablaba sobre el estado del soporte Optimus para gráficos híbridos Intel+Nvidia en GNU/Linux. Aunque tenemos varias formas de implementar ese soporte en nuestro sistema operativo, finalmente me he decantado por instalar Bumblebee que hará que sólo las aplicaciones que utilicen la gráfica discreta (la Nvidia) la activen y la utilicen, para todo lo demás, utilizaré la Intel que, no es mala tarjeta, funciona muy bien, y consume menos energía.… Leer artículo completo

  • Trasteando con juguetes nuevos. Primeros pasos con el ESP8266

    ESP8266
    Esta pequeña placa de apenas 24x14mm contiene un microcontrolador y chip WiFi a/b/g (esas de 2.4GHz) y una memoria. Además de algunos leds, una antena y un oscilador. Cuesta muy poco dinero (apenas unos 3€ comprándolo en algunas tiendas de España y mucho menos si se compra directamente a China). Y encima consume muy poco, alrededor de 0.5W a pleno rendimiento y muchísimo menos en alguno de sus modos de sueño y bajo consumo.… Leer artículo completo

  • 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

  • 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

  • Iteradores y generadores en PHP o por qué deberíamos utilizar yield más a menudo [con ejemplos]

    Es uno de los grandes desconocidos de PHP. Una de esas características que, estando presentes en otros lenguajes no son tan ampliamente utilizadas como deberían. De hecho, en PHP, ¿cuántas veces hemos iterado con datos que tenemos en memoria? Es decir, recorremos los elementos de un array uno a uno y realizando operaciones con cada uno de ellos. Entonces pueden pasar varias cosas, puede que los recorramos todos, o puede que cuando se cumpla una determinada condición decidamos que no vamos a recorrer más.… Leer artículo completo

  • Vicio con el teclado, comandos, manías y coletillas que nos salen sin pensar

    photo-1445605081472-9788fb3bc02f

    Como apasionado de la consola, soy una de esas personas que tarda menos en escribir un comando y pulsar enter que en cargar una interfaz gráfica, click, click, control, clic, arrastrar, soltar, click… y el tiempo es muy valioso.
    Eso sí, cuando empiezas a pegarle al teclado y escribir comandos en la terminal, parece que todo va más lento, una simple coma, o un espacio es capaz de fastidiarlo todo, pero cuando llevas mucho tiempo, lo tienes todo tan automatizado que te sale el alma.… 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

  • Cómo comprimir y descomprimir datos en memoria o textos en 128 líneas o menos en C

    photo-1417514645232-3042464af1da_r

    Si queremos que nuestra información ocupe menos, ésta es una buena forma de conseguirlo. Muy útil cuando queremos transmitir información y reducir los bytes transmitidos, es lo que hacen muchas páginas web actualmente, el servidor nos manda la página comprimida y luego el navegador se encarga de descomprimirla antes de mostrarla y como por lo general se tarda menos en comprimir-enviar-descomprimir que en enviar sin comprimir antes es algo que acelera la navegación web.… Leer artículo completo

  • Callbacks en C++11, llamando a métodos con un objeto asociado (II)

    2747581103_a6c79b8a38_o

    Hace dos semanas hablábamos de Callbacks en C++11 nuevas posibilidades para un software más potente . Empezamos con una pequeña introducción para “almacenar” una función en una variable o un argumento de función y llamarla desde ahí, incluso introdujimos las funciones anónimas o lambdas.

    Ahora, como no podía ser de otra forma, y dado que estamos en un lenguaje orientado a objetos, en el que queremos aprovechar todo su potencial. Vamos a hacer varios ejemplos en los que llamaremos a métodos de una clase de varias formas diferentes.… Leer artículo completo