JOINs en SQL

Explicando a un amigo cómo funcionan los JOIN en SQL [1] me confundí por un momento con otra cosa y le dije puras falsedades hasta que reaccioné y me di cuenta de que estaba confundido, o —como diría Les Luthiers— reflexionando por caminos sinuosos, digamos, razonando fuera del recipiente.

Además, para una persona que no ha manejado JOINs antes, o que los ha manejado pero tiene dudas, es mejor mostrar un ejemplo. He optado por preparar uno y dejarlo aquí fines de apoyo didáctico.

Tenemos dos tablas: viviendas y colores. Para la vivienda almacenamos el nombre del dueño y el color. Para la tabla de colores almacenamos el color y su fórmula en formato hexadecimal. Después tenemos los cuatro tipos principales de JOIN. ¿Qué diferencia hay entre los cuatro?

Sigue leyendo

Rejuveneciendo mi laptop: introducción

Mi laptop actual es una Samsung NP-R540. Es una computadora de gama baja que compré en 2012, así que no esperes grandes especificaciones.

  • Procesador: Intel Core i3-370M (Arrandale, primera generación) de 64-bits. Tiene dos núcleos (4 núcleos virtuales con Hyperthreading).
  • RAM: 4 GB de RAM
  • HDD: 500 GB (465 GiB) de disco duro (5400 rpm)
  • Disco óptico: DVD-RW
  • OS: Windows 7 Home Premium
Fotografía de laptop Samsung R540

Samsung R540

Desde entonces 8 años han pasado: las teclas se han desgastado, algunos tornillos se han caído, pero sobre todo, el software y la Web se han inflado en tamaño y procesamiento. Cada vez batallo más con la laptop. Sin embargo, esta laptop ha resultado compatible con Linux y eso para mí cuenta mucho. El año pasado decidí que en 2020 rejuvenecería la laptop: hacerle un mantenimiento a mayor profundidad para que quede cómodamente utilizable de nuevo.

Sigue leyendo

Ahorra tiempo con GNU Make

He subido un nuevo video a YouTube, titulado «Ahorra tiempo con GNU Make(español)»

Es la grabación de mi presentación en la reunión de los sábados en LinuxCabal el pasado sábado 23 de marzo de 2019 en Guadalajara, México.

Explico cómo funciona GNU Make y cómo se usa. Uso algunos demos con dificultad incremental como ejercicio para justificar y mostrar algunas características de GNU Make. Concluyo haciendo un generador de un blog estático con GNU Make.

Gracias por las preguntas de los asistentes.

Liga al video en YouTube: https://www.youtube.com/watch?v=HFSbIqZ0Sw8

Git Rebase vs Git Merge

Durante mi presentación de Git Intermedio en LinuxCabal recibí una pregunta que, aunque en su momento contesté, no pude ser convincente. La pregunta: ¿por qué y cuándo usar Rebase en lugar de Merge, especialmente considerando que Merge es un proceso más transparente?

Siento que en ese momento me fui con una finta: al plantear la pregunta de esa manera se implica que Merge y Rebase son dos operaciones diferentes que sirven para lograr el mismo objetivo. Este concepto es equivocado. Contestar la pregunta sin corregirla sólo nos va a llevar a respuestas incorrectas y confusas. La realidad es que Merge y Rebase son operaciones distintas y con diferente propósito pero tienen similitudes que las hacen parecer operaciones similares.

Explico primero lo que es cada uno. Es importante mantener en mente que en Git los commits son estados del contenido (snapshots). Git almacena contenido, no diferencias ni parches.

Sigue leyendo