Publi

  • Cómo aplicar filtros de GIMP a un vídeo

    photo-1464602083226-de2c1675e946

    Estoy subiendo vídeos a mi canal personal de Youtube. Aunque sólo tengo algunos pequeños tutoriales, postales de navidad y cosas así. He decidido subir algunos vídeos y cortos antiguos. Aunque están grabados con una cámara analógica y en cinta magnética, lo que significa que el vídeo tiene mucha pérdida y poca calidad. En un intento por darle algo más de definición, o al menos que el visionado sea algo más agradable, pensé en un filtro de Gimp (Desenfocado Gaussiano Selectivo), y estaría muy bien poder aplicarlo a todos los fotogramas.… Leer artículo completo

  • Singletons en C++. Intentando que sean seguros en hilos (thread safety) II

    Singleton thread-safeAyer hablábamos de la creación de un sigleton y de que nuestro ejemplo no era «thread safe», vamos, que en un entorno con varios hilos de ejecución cabe la posibilidad de que el comportamiento esperado no siempre se cumpla.

    Ahí encontrábamos diferencias entre C++ (<11) y C++11 ya que esta última revisión incluye tratamiento de threads y algunas cosas más que trataremos aquí.

    Lo primero que podemos pensar, es que al traernos la instancia de nuestro singleton se crea una sección crítica, la cuál podemos regular con un mutex, provocando que siempre que vayamos a obtener una instancia de nuestro objeto pasemos por el semáforo, y aunque dos threads quieran pelearse por ver quién crea antes el recurso, sólo uno lo conseguirá finalmente.… Leer artículo completo

  • Concurrencia, cuando varios hilos (threads) pelean por el acceso a un recurso [ejemplos en C]

    Si estamos desarrollando nuestra aplicación multi-hilo y además compartimos información entre el hilo principal y el secundario, o entre varios hilos tenemos que tener en cuenta el tipo de acceso a las variables compartidas.
    Por ejemplo, si sólo vamos a permitir que un hilo escriba, y todos los demás lean, casi no vamos a tener problemas, pero si cualquier thread de nuestra aplicación va a poder escribir en cualquier momento, tenemos que tener cuidado con cómo lo hacemos, ya que si varios hilos intentan escribir un recurso, sólo la última escritura será efectiva, y si el valor antiguo de la variable es crítico, en muchos casos no se tendrá en cuenta.… Leer artículo completo

  • Jugando con threads y mutex en C++11

    Hace poco tuve un problema en el que la concurrencia era fundamental para realizar la tarea en el mínimo tiempo posible, y decidí darle una oportunidad a C++11 y a algunas de sus nuevas características (todo esto ya lo podíamos hacer con las bibliotecas Boost por ejemplo, pero da alegría poder hacer muchas cosas desde std 🙂

    Aprovechando mi experiencia he decidido poner un pequeño ejemplo de cómo realizar una aplicación concurrente en esta revisión de C++, cosa que veo la tarea más fácil del mundo y, por supuesto nos beneficiará a todos a la hora de buscar el paralelismo.… Leer artículo completo