Publi

  • Cómo distribuir cálculos entre varios núcleos para acelerar procesos de computación [ejemplos en C++]

    Distribuir cálculos entre varios hilos de ejecución
    Hace años, más o menos a finales del siglo XX y principios del XXI y, como vimos en mi anterior post, hubo una guerra por los Megahercios. Es decir, las grandes compañías de procesadores, en aquella época Intel y AMD que, aunque había más fabricantes, éstos eran los que más sonaban, peleaban para que sus procesadores corrieran más que los de la competencia. Es más, como el usuario de a pie siempre se ha regido por la frase: «burro grande, ande o no ande«, siempre querrá un procesador con más megahercios, una cámara con más megapixels o una televisión con más pulgadas.… Leer artículo completo

  • Generando imágenes en C, sólo por diversión, empezando desde cero (Parte I)

    colores_y_formasHace tiempo que no pongo nada de imagen digital, y ya tenía ganas. No haremos nada complicado, pero muchas veces, cuando empezamos a programar, pensamos en representar el contenido de un array en una imagen, o para esas veces en que pensamos que un simple algoritmo nos puede ayudar a crear la imagen que queremos.

    Cómo generar las imágenes

    Para generar las imágenes, vamos a pensar en un buffer sencillo, lineal de tipo unsigned char, o uint8_t, para imágenes en blanco y negro… vamos a empezar con imágenes sencillas, ya meteremos color… y más cosas.… Leer artículo completo

  • Stream de lo que se oye por nuestros altavoces con VLC y pulseaudio

    A veces, nos gusta compartir lo que nosotros escuchamos en nuestro ordenador con el resto del mundo y esta es una forma fácil de hacerlo. Ya sea porque tienes música en una habitación y quieras compartirla en otra habitación, o quieras reproducirla desde el móvil o porque quieras saber cuándo te llega un mensaje… bueno, hay muchos usos. Lo único que tienes que hacer es abrir un terminal y escribir:

    1
    $ pactl list | grep monitor

    Con eso obtenemos la lista de monitores de tu ordenador, yo sólo tengo uno: alsa_output.pci-0000_00_1b.0.analog-stereo.monitor

    Ahora, copiando todo eso, voy a VLC, y elijo emitir desde un medio de red, e introduzco en la URL del recurso: pulse://alsa_output.pci-0000_00_1b.0.analog-stereo.monitor , es lo mismo de antes, pero pulse:// delante, de esta forma:
    .… Leer artículo completo

  • Caché+Compresión+Palabras clave en ficheros CSS y JS

    photo-1445912842705-7ee858b234c9_r
    Cuando nos aventuramos en un proyecto web con más o menos visitas, queremos que sea lo más rápido para el usuario y para ello enviar la menor cantidad de información (si nuestro hosting nos cobra además por transferencia también ganamos por esto), para ello podemos comprimir la información (y ya lo soportan la mayoría de los navegadores).
    Aunque tenemos que tener en cuenta que si comprimimos información (la compresión es un proceso algo pesado), estamos gastando recursos de CPU que, si lo pensamos, estar comprimiendo la misma información a cada petición que nos hagan de un fichero Javascript es tontería; por tanto, una vez que lo comprimamos, lo almacenamos en disco, que este tipo de información no ocupa tanto.… Leer artículo completo