Entradas

BASIC: El lenguaje que ha marcado una época

Imagen
El 1 de mayo se cumplirá un nuevo aniversario del lanzamiento de, quizá, el lenguaje de programación más importante para la consolidación de la computación en el mundo: BASIC. El Beginner's All-Purpose Symbolic Instruction Code (BASIC) fue originalmente lanzado en esta fecha de 1964 como un sistema de tiempo compartido desarrollado por los Dres. John George Kemeny y Thomas Eugene Kurtz. Su finalidad era que los estudiantes aprendieran con rapidez a utilizar este sistema de tiempo compartido, lo cual era importante en una época donde los lenguajes de alto nivel estaban enfocados a entornos científicos y estrictamente matemáticos (como con Fortran) o al de los negocios (COBOL o RPG). El ingreso de BASIC fue un respiro de frescura para la creación de aplicaciones de propósito múltiple, tal como lo define su acrónimo.

Su enorme facilidad de uso atrajo la atención de una oleada de usuarios, programadores y hackers que lo llevó a ser adoptado por distintas plataformas. Sin embargo, no f…

Los ciberataques en el trabajo en casa

Imagen
Ha habido un importante incremento en la ingeniería social y en los ataques conocidos como "pescar" (phishing). Un ataque de "pesca" es aquél donde se nos hace llegar alguna comunicación que parece ser legítima, y nos lleva a algún sitio o nos invita a obtener algún archivo con la finalidad de obtener información bancaria, de acceso a redes o de diferentes índoles con oscuros fines. En la actualidad, estos ataques se están aprovechando de los temores y ansiedades propias de los tiempos que estamos viviendo con el encierro e incertidumbre merced al COVID-19. Es importante mantener la calma y la cabeza muy fría para tener los sentidos alerta ante esta crisis y ataques.

Tales ataques utilizan distintos métodos: suplantación de identidad de algún sitio Web, el phishing de voz (vishing), así como mediante mensajes textuales (smishing), y todos se basan en las mismas tácticas: explotar las emociones humanas. En esta explotación infunden algún sentido de urgencia y se va…

Evitar que Windows 10 actualice drivers en Windows Update

Imagen
Una de las cosas que más descomponen a las computadoras es que Windows Update instale automáticamente controladores o drivers a través de Windows Update. Ya en más de una ocasión me ha pasado que si bien todo funciona correctamente, a Windows Update se le ocurre actualizar un controlador y, entonces, el sonido ya no funciona bien, los gráficos ya no funcionan adecuadamente, algún dispositivo trabaja de manera errática, etcétera. En mi caso, siempre he preferido hacer manualmente las actualizaciones de controladores para, así, asegurarme que todo esté funcionando de maravilla.

Éste es uno de los problemas, incluso, más repetidos en las empresas, muy al margen de las actualizaciones de anilos de Windows (que, al momento de escribir este artículo, van en la versión 9.09). En esta ocasión veremos cómo inhibir a Windows Update dentro de Windows 10 para evitar que actualice los controladores de dispositivos en el equipo. Ello lo veremos paso a paso.

1. Primero, hay que escribir en la línea…

La ventana de la centuria (o el posible problema del 2020)

Imagen
Hace más de 20 años, el mundo enfrentaba un galimatías: El Y2K o también conocido como "El problema del año 2000". El problema se refería a una situación particular de algunos programas y computadoras, donde las fechas (por limitaciones de espacio) se escribían como una secuencia de 6 números: 000000 (que podía significar: mmddaa, ddmmaa o aammdd, eso lo establecía el programador). Como puede verse, 2 números para referirse al año requería de que la computadora sumara 1900 para poder hacer una fecha válida. Así, 190998 podía significar 19 de septiembre de 1998 (una vez que la computadora sumara 1900).

El problema con esta suma constante, es que las máquinas estaban llegando al borde del siglo, que terminaría en el año 2000, y que a la hora de tener una fecha como 190900, el sistema lo interpretaría como 19 de septiembre de 1900, y no de 2000 como debía de esperarse. Hay distintos problemas relacionados con esto y, en general, se relacionaban con problemas de cálculo en los …

Los disipadores correctos

Imagen
Durante un buen tiempo, alrededor de unos seis meses, estuve utilizando un par de computadoras que ensamblé en gabinetes pequeños. Se trató de dos AMD Ryzen 5 2400G con 16GB de RAM y SSD M.2 de 256GB. La idea era que funcionaran para ciertas necesidades que yo tenía y utilizar algunos componentes que yo había conservado.

Una de mis finalidades es que los mencionados equipos funcionaran de manera muy silenciosa. El problema era ése, que simplemente no funcionaban de manera silenciosa. Había momentos en que el ruido de los ventiladores era bastante evidente y eso me tenía algo molesto.

Sin embargo, como bien dicen por allí, "herrero, azadón de palo" le di largas y largas al asunto, y en algún momento me puse a utilizar unos que tenía tanto de Cooler Master como de ThermalTake, y la diferencia fue prácticamente nula: El ruido seguía estando presente.

Así, decidí que me haría de unos disipadores Wraith Stealth sin leds (la verdad, es que no necesito foquitos en mi máquina) que …

Habilidades humanas para desarrolladores: El trato con la gente

Imagen
Cuando hablamos de los desarrolladores, prácticamente la idea que se viene a la mente es: "¡Háganse a un lado! Sólo quiero escribir código". Sin embargo, es muy importante tener en cuenta un detalle: No importa qué tanto le guste codificar, ello quedará al servicio de alguien. Es decir, quien utilizará el programa resultante de un frenético proceso de codificación será una persona.

Hay quienes podrán argumentar que algunos códigos serán servicios sin interfaz humana o que lo que se estará codificando es alguna funcionalidad del sistema que no será usada por personas pero, al final, su función habrá sido realizada para satisfacer necesidades de automatización de personas.

Así, antes de llenarse la cabeza de que uno, como desarrollador, no requiere tener interacción alguna con personas, será mejor que se detenga y analice nuevamente semejante idea: el resultado siempre quedará al servicio de alguna persona. Para ello echaremos mano de un concepto muy conocido en el ámbito de …

Normalización de bases de datos (Parte 6 y última): Quinta y sexta formas de normalización (5NF) (6NF)

Imagen
En los demás de la serie hemos ya analizado las formas de normalización hasta la 4a. Hoy veremos la quinta y la sexta formas de normalización (5NF y 6NF).
Quinta forma de normalización La 5NF fue presentada por el Dr. Ronald Fagin en 1979 en una conferencia denominada "Formas normales y operadores de bases de datos relacionales". Una base de datos cumplirá con la quinta forma de normalización si satisface las siguientes condiciones:

Que cumpla con la 4NF.No puede escindirse más sin pérdida. Para poder comprender mejor el concepto, veamos el siguiente ejemplo. Supongamos que tenemos una tabla que nos describa la siguiente declaración: "Si una empresa fabrica ciertos productos y un vendedor los vende, entonces el vendedor siempre venderá los productos de esa compañía". Para el caso, la tabla quedaría así:
Tabla VEPVendedorEmpresaProductoV1E1AspiradoraV1E1PaneraV1E2Tijeras de podarV1E2AspiradoraV2E2PaneraV2E2Base de sombrillaV2E2AspiradoraV3E2TelescopioV3E1AspiradoraV3…