Resucitando KL1: el lenguaje del proyecto japonés de Quinta Generación, treinta años después
Entre 1982 y 1992, en la misma época en que las vidrieras electrónicas de Tokio ya anunciaban audio, video y calculadoras a los gritos1, Japón gastó el equivalente a 850 millones de dólares en el Fifth Generation Computer Systems Project (5GCS): una apuesta estatal a redefinir la computación alrededor de la programación lógica concurrente, corriendo sobre hardware paralelo diseñado específicamente para eso. El lenguaje central del proyecto se llamaba KL1 — Kernel Language 1. El proyecto se cerró en 1992 sin haber producido la “máquina que piensa” que prometía. Pero el código sobrevivió. Hace unos años lo recompilé en una laptop moderna y lo hice correr. Esta es la historia de esa reconstrucción.
Cómo instalar Vagrant en Ubuntu y Debian
Vagrant es un programa que aprovecha una plataforma de virtualización para proporcionar un workflow simple de gestión del ciclo de vida de las máquinas virtuales.
Como sistema de virtualización utilizaremos Virtualbox. Su principal ventaja es que es muy sencillo de poner en funcionamiento y además corre en diferentes sistemas operativos anfitrión, como Mac OS X, GNU/Linux y Ms Windows.
La instalación se puede hacer de diversas maneras: con paquetes del sistema operativo anfitrión (en caso que existan como en GNU/Linux), también se puede instalar a partir de los fuentes de cada proyecto, pues se trata de sistemas de software libre. En la primer manera tenemos el problema de que la versión que está empaquetada no siempre es la última estable. En el segundo caso, es muy engorroso instalar toda la cadena de compilador y entorno de desarrollo, luego clonar los repositorios fuentes, y compilar e instalar manualmente; incluso aunque de esta manera tengamos la versión del «último grito de la moda», cuando salga una nueva, vamos a tener que rehacer todo el procedimiento.
Vagrant: ¿Qué es eso?
Introducción
Vagrant1 es una herramienta que simplifica el workflow y reduce la carga necesaria para crear, correr y operar máquinas virtuales (VM) en tu computadora.
La interfaz de gestión es mediante mandatos en modo CLI (Command Line Interface). Admite las soluciones principales de virtualización: VirtualBox, VMWare, KVM, Hyper-V. Trabaja con las herramientas de gestión de configuración más populares: Ansible, Chef, Puppet, Salt.
Además facilita la distribución de entornos virtuales, lo cual permite que los agentes de la organización tengan un acceso simple, sin complicaciones a entornos patrón, por ejemplo: entornos de desarrollo de un framework Web, entornos de testing repetibles, etc.