Publi

  • Píldora: Operador ternario en Python y en C (con ejemplos)

    Operador ternario en Python

    En programación, hay un momento en el que descubres ciertas técnicas. Y, a partir de ese momento, ya no puedes vivir sin ellas. Eso me sucedió con el operador ternario. Esta estructura nos permite ahorrar código, lo que significa escribir menos líneas y hacerlas más sencillas. Tomaremos tres argumentos, uno de ellos será una condición y los otros dos serán valores (llamémosles a y b). Básicamente, puede solucionar una situación muy común:

    Si condición se cumple, la variable c = a.

    Leer artículo completo
  • Píldora Bash: Incluir archivos en nuestro script sin miedo a que nos cambien el directorio de ejecución

    Incluir archivos en Bash sin complicaciones

    Es una buena práctica en cualquier lenguaje de programación, siempre que sea posible, el tener el código dividido en varios archivos. Esas divisiones harán que nuestro código esté mejor organizado en bloques o compartimentos diferenciados. Y, por supuesto, en nuestros shell scripts no vamos a ser menos.

    De hecho, es muy común tener varios shell scripts en un directorio y todos ellos compartirán un código común. Y, por supuesto, está muy feo copiar y pegar ese código común en todos los archivos.… Leer artículo completo

  • Foto: Chuleta de atajos de teclado de Emacs

    Chuleta de Emacs

    Estos días atrás he estado publicando fotografías casi diarias en mi cuenta de Instagram sobre electrónica, piezas de mi museo personal de hardware o de informática. Hoy tocaba poner una fotografía de algo que lleva tiempo conmigo, una chuleta de teclas rápidas para Emacs. Con la que podemos realizar algunas de las acciones más comunes sin levantar los dedos del teclado. Aunque parece difícil, en poco tiempo te familiarizas con ella y ya te sale solo.… Leer artículo completo

  • ¿Cómo cerrar un puerto TCP ocupado por una aplicación en GNU/Linux?

    Cuando vamos a establecer una comunicación entre dos máquinas a través de una red TCP/IP, vamos lo que estamos haciendo a diario miles de veces con nuestro ordenador mientras navegamos por Internet, lo hacemos a través de un puerto. Imaginemos que tenemos un sistema de comunicación rudimentario entre 10 amigos, con 5 cables y, cada cable, nos permite hablar con uno de nuestros amigos, pero claro, como sólo tenemos 5 cables, sólo podemos hablar con 5 amigos al mismo tiempo, así que en algún punto del recorrido deberá haber alguien con la capacidad de enchufar y desenchufar esos cables.… 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

  • Operador coma. Cómo incorporarlo a nuestro día a día con muchos ejemplos en C

    El operador coma. ¿Cómo empezar a usarlo?
    Seguro que lo has visto cientos de veces por ahí, pasando desapercibido en multitud de programas hechos en C. Es más, incluso el primer día que empezaste a ver programación os visteis las caras y casi no te diste cuenta. Incluso puede que lo hayas utilizado sin siquiera ser consciente de lo que hace en realidad.

    Otros muchos sí que sabréis de qué va este operador, y me gustaría que los que sí sabéis de qué va, sugirierais más ejemplos en los comentarios.… Leer artículo completo

  • Crea tus propias webs dinámicas en C++ de forma fácil y usando plantillas para no compilar a cada cambio

    Screenshot 12-08-2016-020848
    Esto forma parte de un pequeño proyecto que mantengo desde hace algo más de un año. El objetivo es crear un sistema con el que servir webs desde C++, que sea más o menos fácil de mantener y generar, flexible, que soporte enrutadores, plantillas, hosts virtuales con el fin de poder utilizarlo para diferentes tipos de aplicaciones a modo de panel de control web.

    Sobre todo está pensado para aplicaciones internas y no para desarrollos web públicos, por temas de seguridad y rendimiento cuando la carga aumenta considerablemente, aunque sí que podría ser utilizado sin problemas en segundo plano por nuestras aplicaciones web por eso de que en ciertas operaciones, un programa hecho en C++ rendirá mucho mejor que cualquier Javascript, Java, PHP, etc.… Leer artículo completo

  • Cómo empotrar datos dentro de un ejecutable hecho en C

    photo-1453179592584-e2587867cfff

    En nuestras andanzas como programadores, seguro que nos hemos encontrado alguna vez en esta situación. Tenemos un programa que vamos a distribuir, pero que tiene ciertos archivos asociados (imágenes, texto, scripts, etc) que deben ir junto con el programa.
    En un primer momento podemos distribuir los archivos junto con el programa, y es una buena solución hasta que a alguien le da por cambiar esos archivos y consiguen que nuestro programa haga cosas diferentes a aquellas para las que ha sido pensado originalmente.… Leer artículo completo

  • 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

  • Ese inesperado día en el que decides devolver el favor

    photo-1418874586588-88661ed80c4a

    El mundo del software libre es amplio y complejo. Se ha hablado mucho de las 4 libertades del software libre, definidas por Richard M. Stallman1 (libertad de usarlo con cualquier propósito, libertad de estudiarlo y modificarlo de acuerdo a tus necesidades, libertad de compartir las copias del programa y libertad para mejorarlo). Si lo pensamos, desde un punto de vista humano, tal vez pensemos que todos los programas de nuestro ordenador son así.… Leer artículo completo