¿Por qué procrastino?

Esta es una respuesta que le di a un participante de Programadores y Estudiantes en Discord. No puedo afirmar que lo que le dije sea efectivo, pero a mí me ha sido útil.

Su pregunta:

Cuando quiero aprender a programar siempre me distraigo o digo «ahorita le sigo». ¿Alguien sabe cómo solucionar eso?

Leer más

Q&A: PostgreSQL: LEFT JOIN por tipo de registro

Esta publicación corresponde a una respuesta que he dado via chat en el grupo de ayuda PosgreSQL en Español en Telegram.

Un usuario tiene una tabla con dos columnas: tipo_objeto e id_objeto. Los objetos se almacenan en otras tablas, pero la tabla en la cual se almacena el objeto depende del tipo de objeto. En algunos contextos esto se denomina relaciones polimórficas.

Por ejemplo, se puede tener una tabla de recursos en la cual se almacena una lista de recursos por departamento. Los recursos pueden ser humanos o materiales. Tendríamos la tabla humanosmaterialesrecursos. Lo interesante es que en la de recursos tendríamos los campos siguientes: fk_depto_id, tipo_recurso, recurso_id. Este último campo es un identificador que se encuentra en la tabla humanos o materiales según lo que indique tipo_recurso.

¿Cómo hacer un LEFT JOIN entre la tabla que almacena la relación y las tablas con los objetos?

Leer más

Actualicé IPv6 Toolkit en Debian

He actualizado IPv6 Toolkit in Debian. IPv6 Toolkit es una herramienta de diagnóstico y evaluación para los protocolos de IPv6, escrito por Fernando Gont.

Principalmente, esta actualización previene que IPv6 Toolkit sea eliminado de Bullseye, pues la compilación se había roto bajo el nuevo GCC 10.

Esta es la bitácora de cambios completa (en inglés):

Leer más

Rejuveneciendo mi laptop: chasís, resultados y conclusiones

Esta es la octava y última parte de la serie Rejuveneciendo mi Laptop en la que narro, componente por componente, el proyecto en el cual busco darle una nueva vida a mi vieja laptop. Para la tabla de contenido, visita el primer post: Introducción: los problemas.

El tema pendiente: el chasís

No hay mucho que trabajar en este aspecto, pero sí hubo algunos pequeños detalles:

  1. ¿Se acuerdan de la pieza extraña cuya foto agregué en el post anterior? Le hice un par de rendijas con un mototool. Las rendijas se ven horribles pero están discretas. Preferí eso que volver a abrir la laptop. Debería ayudar a controlar la temperatura un poco al permitir un poco más de aire fresco al ventilador.
  2. Cuando le puse el disco SSD, rompí la carátula del DVD anterior y quedó pegada con cinta adhesiva negra. Inicialmente la iba a dejar así porque no se notaba (al ser negra la tapa inferior de la laptop) pero encontré un DVD de remplazo barato en MercadoLibre y lo compré. Esta vez no rompí la carátula y ya no tiene ese horrible hack. Ya se ve como se veía originalmente.
  3. Hace 2 años, cuando le mandé hacer el mantenimiento a la laptop, el teclado quedó mal colocado. Ahora con este proyecto, lo acomodé como corresponde.
  4. Cada que se abre la laptop existe el riesgo de romper postes de tornillos. Desde la primera vez que abrí la tapa de la memoria, una pieza sonaba al mover la laptop. Ahora que abrí la laptop eliminé todas las piezas sueltas.

Parece mentira que cosas tan simples como un teclado bien acomodado, la eliminación de piezas sueltas y la carátula bien puesta, cambie toda la percepción sobre la edad de la laptop.

Leer más