Publi

  • 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

  • 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

  • BITes: Passwords en RAM, routers, servicios, OpenShot 2.0, silencio y algo de humor

    12391903_1296607033723521_1586297891790579764_n

    Esta semana he hecho muchas cosas en C++ que iré repartiendo en el tiempo, poco a poco iré redactando posts e iré organizando un poco la información para ponerla legible y un poco más humana.

    Ayúdame a seguir online

    Nota: en el resto de este post, veremos enlaces que pone Ayúdame. Estos enlaces son exactamente iguales a los que hay al lado, pero tienes que tragarte unos segundos de publicidad.… 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

  • Monitorizar nuestro sistema desde una aplicación en C++11

    14255861975_42cb043745_k

    Nuestros programas, muchas veces necesitan conocer información sobre el ordenador donde se están ejecutando. Una característica muy interasante y útil (para mi gusto) es que los sistemas Unix nos proporcionan una interfaz para conocer muchas cosas a través del sistema de archivos, de esta forma podemos conocer la información estemos donde estemos y usemos en lenguaje que usemos (no tenemos que tener una API en nuestro lenguaje que pida al sistema la información ni nada).… Leer artículo completo

  • Un hito en el blog 256 = 2^8 Me gusta en Facebook y otras cosas del 256

    Es un momento interesante y curioso en la historia del blog. Ya no puedo almacenar el número de likes de Facebook en un byte. Es una tontería, pero me ha hecho ilusión y dado el carácter el blog no podía dejarlo pasar.

    ¿Qué tiene de especial?

    Tal vez sea por la forma de sus dígitos, por su sonido al pronunciarse (personalmente me gusta más el 256 que el 512) o que es el número de combinaciones que se pueden formar con la unidad mínima de memoria direccionable en la mayoría de las arquitecturas de computadoras actuales.… Leer artículo completo

  • Variables compartidas entre procesos hijos en C [fork()]

    Otra forma de enfrentarse con la concurrencia, en el maravilloso mundo de hacer varias cosas al mismo tiempo, es utilizar procesos hijos con fork(). La principal diferencia con respecto a los threads es que éstos son procesos completos, es decir, el sistema operativo les ha dado una zona de memoria de código, otra de datos, y otra de pila, a diferencia de los threads que compartían código y datos, sólo tenían la pila diferente.… Leer artículo completo

  • Magia en Bash 50 ejemplos en una sola linea (o dos)

    Bash es una de las herramientas más potentes que tenemos a nuestro alcance, aunque no sólo de bash trata el artículo, sino de trucos para consola, one-liner como dirían muchos (aunque habrá algunos two-liners) que podemos utilizar y pueden hacernos la vida un poco más fácil:

    Cadenas de texto

    Trim

    Es una herramienta que utilizaremos para recortar nuestra cadena basándonos en los a la ìzquierda y a la derecha, en este caso nos basaremos en los espacios, que es uno de sus usos más comunes (así podemos obtener la cadena limpia tanto por delante como por detrás.… Leer artículo completo

  • [Arduino] Utilizando la memoria Flash en lugar de la SRAM para constantes

    temp_ardublogOtra cosa no, pero los Arduino no son conocidos por su gran memoria RAM, y es que, por ejemplo en la serie Diecimila, con el Atmega168 tenemos 1Kb de RAM, con el Atmega328, hay 2Kb de RAM, aunque puede que para algunos de nuestros programas nos quedemos un poco cortos.

    Una gran ayuda para esto puede ser utilizar las constantes que cree nuestro programa, en forma numérica de tabla de valores constante, o de cadena de caracteres, por ejemplo, para enviar mensajes predeterminados por el Serial, decir el nombre de la aplicación, la versión, etc.… Leer artículo completo