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?

Leer más

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 … Leer más

Motivos para deshabilitar JavaScript (video en español)

Motivos para deshabilitar JavaScript. Está disponible en HD. Si le dan click al botón de YouTube, cambien la calidad por 720p para que se alcance a ver un poquito mejor la pantalla. Presentado el 26 de noviembre de 2013 durante la reunión mensual del grupo Tijuana.js. El audio está un poco fuerte, pero sirvió para … Leer más

JavaScript debe desaparecer de la Web

script

En recientes días escribí un post sobre cómo hacer nuestra navegación más segura usando Opera (en inglés). El principio de operación es simple: deshabilitar JavaScript por defecto excepto para aquellos sitio en los que plenamente confío.

No fue capricho. En alguna ocasión mordí un anzuelo y, sin intención, mi PC participó en un ataque masivo contra Freenode. ¿Cómo ocurrió? Visité una página que tenía un código malicioso de JavaScript, el cual se ejecutó automáticamente (tal vez gracias a onMouseOver o a onLoad) y mandó spam a dicha red. Me bloquearon varias horas y tuve que contactar a los administradores para explicar el caso. Ellos lidian con este tipo de cosas todo el tiempo (¡señal!).

alvarezp-banned

No es el único tipo de problema de seguridad de JavaScript. Tampoco es el único ataque facilitado por JavaScript: como referencia les dejo XSS, X/CSRF, Clickjacking, Revestimiento de interfaz (UI redressing), fuga de datos personales, etc. No que requieran de este lenguaje, sino que con él son mucho más fáciles de implementar sin que el navegador pueda detectarlos.

Busqué formas de evitar llegar a esa conclusión; después de todo, la mayoría de los sitios Web usan JavaScript. ¿Es posible que el navegador sólo ejecute código bien intencionado? No. Una computadora es tonta. No puede distinguir código malicioso. Incluso existe una broma sobre el tema. ¿Cómo le hacen los antivirus? Se basan en firmas y bases de datos alimentadas por humanos y aún así a veces arrojan falsos positivos. Peor aún, también arrojan falsos negativos.

Sin embargo yo necesito una forma de confiar en mi PC. En el momento en que pierde mi confianza, no sé si está interceptando lo que tecleo o lo que transmito, o si las páginas que me muestra son ilegítimas, o si los programas está alterados de otro modo. No sé si mis passwords y datos de tarjetas de crédito están siendo transmitidos por la red a algún cibercriminal. Y no, no estoy exagerando. Desde el momento en que pierde mi confianza tengo que aplicarle un análisis forense, aunque, por lo general, sale más rápido reinstalar.

Leer más