lunes, 22 de agosto de 2022

Argentina tendrá una supercomputadora del TOP500

Por primera vez, Argentina contará con una supercomputadora situada en el TOP500.

El Ministerio de Ciencia y Tecnología anunció la adquisición de una supercomputadora destinado al cálculo científico. El cluster presenta por primera vez la potencia necesaria para encontrarse, al momento de su adquisición, en el ranking de las 500 supercomputadoras más rápidas del mundo.

El objetivo de este complejo de infraestructura es la de proveer capacidad de supercómputo al área de investigación científica nacional, una de las más pujantes en la región.


La supercomputadora contará con una CPU formada por un clúster de núcleos de procesamiento de unos 400 teraFLOPS, mientras que las GPUs asociadas alcanzarán los 2 PetaFLOPS. Estos complementarán fuertemente al equipo "Huarya Muyu" actual del Servicio Meteorológico Nacional, infraestructura de 340 teraFLOPS de 2017 pero con nula capacidad de coprocesamiento gráfico (vital para muchas tareas de cómputo de alto rendimiento). Además, reforzará los 147 teraFLOPS del clúster Serafín para investigación académica general de la Universidad Nacional de Córdoba (distribuido entre las máquinas "Mulatona", "Mendieta" "Eulogia" (de 6, 9 y 56 teraFLOPS respectivamente).

La supercomputadora brindará un servicio de cálculos competitivos a nivel regional, clave en el diseño de pronósticos meteorológicos, al tiempo que también será empleada en temáticas que involucran a diversos campos científicos, como son el modelado en sistemas complejos; los análisis genómicos; la producción de fármacos; el diseño industrial; la exploración de cuencas petroleras; la inteligencia artificial; y todo lo relacionado con ciencia de datos. 

Al respecto, Cindy Fernández, vocera del SMN y comunicadora meteorológica, apunta: “Pensar que vamos a tener a disposición de toda la ciencia una computadora de este tipo es algo increíble y que tiene grandes beneficios para toda la comunidad científica. Ya no vamos a tener que demorar nuestras investigaciones esperando el turno para utilizar los servicios computacionales de algún centro internacional, sino que podremos hacerlo acá mismo”

En simultáneo con la compra e instalación de este nuevo recurso se robustecerá el Centro Nacional de Supercómputo, como referencia de la red de centros del Sistema Nacional de Computación del Alto Desempeño. La instalación y compra de la supercomputadora se enmarca en el “Plan Estratégico para la Computación de Alto Desempeño en la Argentina: 2019-2024”, que se destaca por promover el fortalecimiento del sistema científico y tecnológico a nivel nacional, y su articulación con el sector productivo.

sábado, 13 de agosto de 2022

¿Cómo juego FreeCiv en Ubuntu?

En el incunable Apuntes de Historia Militar, Juan Perón expone los principales tratados en el arte de la conducción militar, pero también hace exposiciones sobre el desarrollo histórico de las grandes civilizaciones en conflicto. En tal tratado, también explica cómo instalar y jugar FreeCiv, el clon libre del Civilization en Ubuntu.

A lo largo de la historia se desarrollaron las primeras tribus de hombres, en los cuales certificaron, en la mancomunidad del cuidado de los unos por los otros, aquello que nos hace grandes.

Es así que - de estos individuos reunidos para capear a la naturaleza, recogiendo de ella lo que los sustentaba - podemos encontrar los primeros rasgos de lo que llamamos Humanidad. Algún fémur soldado es lo que arqueologicamente nos ha quedado como prueba de estos nobles hombres abandonaron la condición de bestias para formar las primeras Comunidades Organizadas: las tribus neolíticas.

Es así que los milenios transcurren no sin conflicto, pero el avance de la imaginación humana en su alabanza de lo superior, dota a su imaginación comunitaria, que es la cultura. Florecerá esta dando los primeros frutos perdurables en los asentamientos sedentarios Sumerios, conocedores de la metalurgia de la Edad de Bronce. Y su inspiración dada a través de la consolidación política aldeana, asida a la unificación cosmológica que permite la religión alfabetizada y el ábaco, nos ofrecerá ya los primeros trazos de un Estado Portentoso, ideológicamente consolidado por una Cosmovisión reglada. Daremos así con aquella gran civilización conocida, la Egipcia.

Tendremos así, en los obeliscos y monumentos del gran Ramsés II y del Hitita Muwatalis, los primeros tratados que nos permiten historiar las grandes campañas militaraes que chocaron en el 1.274 a.C. chocaron por Kadesh.

La historia de estos acontencimientos ha surcado las generaciones hasta nuesatros días, y hoy la podremos representar no sólo en el aspecto militar, sino también en el político-económico y científico, gracias al ordenador muuido con software libre.

En particular, FreeCiv es un juego de estrategia por turnos inspirado en la superclásico frasnquicia Civilization de Sid Meier (MicroProse), y como tal su objetivo es construir y hacer crecer la más grande civilización humana.

Debemos explorar, expandir, explotar recursos, y exterminar enemigos. Competiremos contra nuestros oponentes en fundar ciudades, usarlas para sustentar ejércitos y economía, y finalmente, amoldar un imperio que sobreviva las pruebas del tiempo y salga victorioso. Cada oponente puede ser otra persona o estar controlado por la CPU. Todos los jugadores comienzan en los albores de la historia con unas cuantas unidades -típicamente con un explorador y un par de colonos en el 4.000 antes de Cristo - y compiten para expandirse desde estos humildes comienzos.

Su instalación en Ubuntu es sumamente sencilla, ya que podremos afrontarla desde la terminal. Para ello abrimos una consola con Ctrl+Alt+t e ingresamos los siguientes comandos de organización:

sudo apt update ;
sudo apt install freeciv freeciv-client-gtk3 freeciv-data freeciv-client-extras freeciv-sound-standard freeciv-server

Tras ingresar nuestra contraseña, podremos acceder al juego desde Aplicaciones / Juegos / FreeCiv.

Al hacerlo se nos presentará el menú inicial de FreeCiv, donde podremos configurar una partida con condiciones de azar contra la CPU mediante el botón Empezar una nueva Partida. También podremos afrontar escenarios predefinidos (Empezar un Escenario).

Al crear un juego, podremos escoger iniciar un escenario al azar, o bien elegir un mapa histórico (existen mapas regionales y del mundo, a diferentes tamaños (dependiendo de la dificultad que queramos). La duración de la partida depende del tamaño del mapa y la cantidad de oponentes, pero puede variar desde unos 100 turnos a varios miles, lo que sin duda requerirá media tarde o algunas semanas.

También podremos elegir una era determinada, nación, y líder.

Algo interesante de FreeCiv es que nos permite escoger entre diferentes reglamentos y estilos de juego. Entre ellos podremos contar con el Default (reglamento de FreeCiv Classic, similar al Civilization II pero con mejoras). Pero también podremos afrontar los más tradicionales Modo Civilization I (antiguo reglamento poco realista, de probabilística pura), el modo Civilization II (mi favorito, más realista gracias al hitpower, cuyo manual está aquí), un híbrido entre Civilization II y Civilization III (con mas micromanagement, zonas de influencia, polución y facilidades y mejoras como auto-mover o auto-producción). A la vez, podremos crear nuestro modos personalizado si así lo deseamos.

Al comenzar la larga partida tendremos la típica "niebla", donde la mayor parte de tu mapa estará en negro, salvo por el terreno explorado; sólo cuando nuestras piezas exploren y descubran los océanos y continentes del mundo, se nos revelarán al resto del mapa  (los jugadores pueden compartir sus mapas del mundo conocido mediante un pacto diplomático). Aún así, el mapa sólo presentará el terreno - no estaremos al tanto de los cambios en un área hasta que nuestras unidades la visiten nuevamente - por lo que no podremos observar el movimiento de las unidades del enemigo fuera del campo visual de nuestras unidades y ciudades: ¡es posible la sorpresa estratégica!.

El juego se desarrolla en turnos: los jugadores no consumen turnos, sino que operarán al unísono. Los turnos pueden tener una duración ilimitada mientras pensmos y ejecutamos la movida, cesando sólo cuando todos los jugadores hayan pulsado el botón de finalizar turno. En otras reglas de juego podríamos disponer un tiempo límite al final del cual se fuerza el cese del turno.

Al principio de cada turno todas las unidades reciben puntos de movimiento, los cuales invertiremos en los movidas y las acciones. Si realizamos una movida al principio del turno, una pieza puede quedar sin la capacidad de responder si un oponente luego se aproxima dentro del turno. Las unidades no acumulan puntos de movimiento extras al turno siguiente; cualquier punto de movimiento sobrante al final de la movida se pierde (a menos que la unidad reciba una orden como Fortificar, que sólo hace efecto al final del turno).

Podremos aprender si somos principiantes, aquí.

Las teclas de control representan las ventanas. 

F1 Vista general
F2 Unidades
F3 Naciones
F4 Ciudades
F5  Economía
F6 Investigar
F7 Maravillas del Mundo
F8 Mayores 5 ciudades
F9 Mensajes
F10
F11 Desarrollo demográfico
F12 Nave Espacial
* Logros

También podremos hacer acciones con las unidades mediante teclado, con:

G Mover
S Vigilar
Q Patrullar
X Autoexplorar
L Cargar en transporte
U Descargar de transporte
F Fortificarse/atrincherarse

En tanto que las ciudades o los constructores podrán trabajar

W Menú trabajo
B Construir (ciudades/unidades/caminos/irrigación)

Lo importante para motorizar una civilización es balancear los descubrimientos de sus sabios. FreeCiv cuenta con un importante árbol de investigación, en el cual podremos priorizar los descubrimientos importantes de la humanidad, tanto materiales como espirituales.

Criterios de Victoria

Para alcanzar el éxito se requiere un equilibrio entre expansión económica, potencia militar y desarrollo tecnológico. Estos deben ser armónicamente promovidos para lograr alguno de los tres criterios de victoria:

  • Se declara ganador por defecto cuando la última ciudad y la última unidad de todas las demás civilizaciones son destruidas. Este criterio es prácticamente imposible de lograr sin un avasallamiento civilizatorio completo.
  • Una vez que el progreso tecnológico alcanza la era espacial, es posible lanzar una nave espacial; la primera civilización cuya nave alcance el sistema de Alfa Centauri gana.
  • No dadas las condiciones anteriores, el juego finaliza en el año 2000 d.C., que nos encontrará Unidos o Dominados. En este caso, esto se determinará por los valores estadísticos las civilizaciones supervivientes, y la que tenga mayor puntuación será la ganadora.

Naturalmente, un gran Conductor fundará un gran gobierno: del tipo de gobierno dependerán los efectos de la civilización en su tratamiento sobre los recursos extractivos y labrables en cada ciudades fundada. Puedremos cambiar de gobierno descubriendo un nuevo tipo y después iniciando una revolución (en el menú de Gobierno; tardará unos cuantos turnos). Los más importantes estilos son:

  • Despotismo: Es el tipo de gobierno inicial. Cada casilla que obtenga más de dos unidades de algo (alimento, producción o comercio) tiene una penalización de una unidad. Los colonos usan dos unidades de alimento por turno como mantenimiento, las unidades militares no tienen mantenimiento a no ser que haya más unidades asignadas a la ciudad que habitantes. La ciencia solo puede establecerse a un máximo del 60%. Tiene Alta corrupción.
  • Monarquía: No hay penalizaciones en las casillas. Los colonos usan una unidad de alimento. Las primeras tres unidades de una ciudad no tienen mantenimiento. La tasa máxima de ciencia es del 70%. La corrupción es pequeña.
  • República: Cada casilla con comercio obtiene otra unidad de comercio gratis. Los colonos usan dos unidades de alimento y una de producción. Solo se tolera una unidad militar en el exterior de la frontera. Las unidades adicionales crean un ciudadano descontento. La corrupción es pequeña.

Estrategias para ganar

Decía el Mariscal de Sajonia que su mula no sabía nada de estrategia de FreeCiv. Pero que sus generales, que la habían estudiado, a veces sabían menos. Es que no seguían estas máximas que hasta una mula podría emular:

  1. Presiona F1, explora el mapa y busca buenos lugares para colonizar. Un buen lugar debe tener al menos 4 unidades de alimento (en las dos casillas usadas) y tanta producción como sea posible. No exploraba más de 3 o 4 turnos. Los mejores recursos son las ballenas y los faisanes. Las praderas y las llanuras son los mejores lugares para colonizar, maíz/oasis/búfalo son aún mejores recursos.
  2. Una vez construida la ciudad, inicia la producción de Colonos. Abre el informe de ciencia con F6 y pon a investigar Alfabeto y como meta República.
  3. Tan pronto como una ciudad alcance tamaño dos, haz click en ella y sitúa a todos los trabajadores en casillas con producción alta usando el minimapa. Si puedes permitírtelo, compra colonos.
  4. Sigue produciendo solo Colonos y construye ciudades cercanas. Deben estar al menos a 1 ó 2 escaques de distancia. No te gastes en construír regadíos, caminos o minas.
  5. Cuando República esté sólo a un paso de ser descubierta, cambia la meta a Navegación. Cuando descubras República, dispón la investigación en Cartografía e inmediatamente haz estallar una Revolución (menú Reino / Revolución). Cuando el gobierno cambie a República, construye caminos en los escaques usados.
  6. VARIANTE: Si eres descubierto por el enemigo, construye unidades defensivas en las ciudades tan pronto como puedas, como Guerreros o Falanges si es necesario por ser un escenario insular, barcos. Puedes elegir colaborar con sus vecinos, use el menú Jugadores para saber con quién puede hablar.
  7. Cuando la navegación esté a solo un paso, pon la meta en Motor de Vapor. Cuando descubras Navegación, construye unas cuantas Carabelas para explorar los alrededores y colonizar las islas cercanas. VARIANTE: A veces es útil investigar Comercio antes que Motor de Vapor para poder construir maravillas.
  8. Cuando la mayoría de los puntos de tu isla están tomados, comienza a crear caminos preferiblemente en praderas y llanuras. Usa los caminos para moverte rápidamente y conseguir comercio.
  9. Tan pronto como el Motor de Vapor sea descubierto, construye un montón de Patrulleras. Incrementa el porcentaje de impuestos para poder comprarlas. Acompáñalas con Jinetes cargados en Carabelas. Busca ciudades costeras de enemigo, ataca a sus defensores con las Patrulleras e invade las ciudades con Jinetes. Sitúa las Patrulleras en las ciudades tomadas como forma de defensa inicial.
  10. Después del Motor a Vapor puedes investigar Electricidad y Acero para poder construir mejores barcos; destructores y cruceros. Cuando tengas Acero, pon los impuestos al máximo e invierte todo en la guerra.

Es importante saber que además de jugar contra la CPU como era típico en antaño, gracias al Justicialismo podremos conectarnos a un servidor multijugador de FreeCiv. Para ello en la ventana inicial deberíamos clic en Conectar con un juego en Red, y definir alguna de las dos solapas que delimitan el funcionamiento multiplayer: en red local LAN o bien a través de internet.

Esto incorpora interesantes posibilidades para jugar entre amigos, al tejer alianzas y desplegar la diplomacia a través de chat. Ideal para disminuir la productividad en la oficina de un oligarca.

También contarmos con un descargador de mods. Para ello vamos a Aplicaciones / Juegos / FreeCiv Modpack Installer (gtk3).

Entre estos se encuentran modificaciones gráficas, de sonido, pero también del reglamento y gráficas (por ejemplo, similares a la Civilization III, con zonas de influencia, obra hidráulica, etcétera).

El uso de estos paquetes de mods se pueden configurar desde el menú Partida / Ajustes / Locales del Cliente. Por ejemplo, si instalamos un nuevo conjunto de cuadros isométricos (como tileset freeland-big) y buscamos en la pestaña correspondiente a gráficos. También podremos agrandar las tipografías (fuentes) si es necesario.

domingo, 31 de julio de 2022

¿Cómo hago radio streaming con butt en Ubuntu?

Ante la injusticia social predominante en la Argentina de mediados de la década de 1940, las radioemisiones se convirtieron en un vector técnico fundamental para el ideario Justicialista. En este aspecto Juan Perón instruye como propalar la doctrina stremeando con el butt, el emisor para radio en Ubuntu.

¡Trabajadores!

Un Movimiento que anhela la grandeza de la Patria y el Bienestar de su Pueblo necesita contar con alguien particularmente comprometido con la acción de Masas, individuo capaz de ejercer la unidad de conducción y acción interpretando la voz del Pueblo.

En esto veremos existe lo que podemos describir como una mancomunión simbiótica. El Conductor interpreta al Pueblo, y para ello ha de tener los oídos bien limpios y la retaguardia mas.

Es que para que nuestra Vanguardia descamisada vaya al frente, debe contar con una retaguardia bien cubierta, y esto se logra por medio de una adecuada propalación de adoctrinamiento.

El uso de la radio y el broadcasting nos ofrece una ventaja singular, al permitirnos propalar a través de este medio técnico un mensaje centralizado. El éter nos ha servido de perillas. En la época de las galenas ya esto era una Realidad Efectiva, y no quiero decirle en la época del transistor, donde incluso en la espesura del monte cualquier paisano puede sintonizar con su Spica.

No hay que tirar ningún viejo por la ventana, pero si bien la radio nos permite emitir el mensaje del Justicialismo por las ondas hertzianas, es también evidente que los medios telemáticos nos permiten un perfeccionamiento al que debemos abrazar para Combatir al Capital.

Es que las redes conmutadas de datos - cualquiera sean sus fórmulas - pueden también convertirse en un vector paquetizado de acción full-duplex capaz de transmitir canales de audio digitalizado (recibiendo respuesta por cualquier otro medio que nos cuadre). Para ello debemos operar con que se llama stream, o secuencias de paquetes de datos, en este caso representantes del sonido.

Esto se hace realidad gracias al sistema GNU que he legado al Pueblo. Entre sus opciones válidas encontramos el servidor Icecast, constitutivo de una excelente plataforma. Asumiendo que contamos con este herramental de planta, podremos disponer de algún cliente compatible con el mismo para realizar la emisión paquetizada en tiempo pseudo-real (realmente atravesado cierto mínimo retraso de contención, denominado período buffer).

Pues bien señores, sin duda el Butt es de los ángulos que podemos observar para estos menesteres. Con este curioso nombre, se trata de un emisor que podremos asociar a nuestro escritorio gráfico en Ubuntu, y con el cual podremos transmitir un stream de audio digitalizado hacia un servidor de audio Icecast o Shoutcast.

Lo primero para disponer su acción será configurar la entrada de audio del equipo de cómputo (si no lo tuviésemos hecho ya). Cualquier peronista podrá hacerlo directamente desde el configurador de sonido de sonido del sistema. En el caso de Ubuntu podremos desplegar esta opción desde Sistema / Preferencias / Hardware / Sonido, y en su solapa Entrada podremos escoger el dispositivo de entrada de sonido.

Os recomiendo escoger el "Monitor de Audio Interno estéreo analógico" o similar, que captura todo el audio de nuestra PC y la emitirá. Otra posibilidad es elegir algún conector analógico de audio interno estéreo, como la entrada de línea estéreo o la entrada de micrófono mono) de su placa madre o placa de sonido, y conectar a el micrófonos, reproductores, mesas de mezcla, un celular. En tal caso será importante regular el nivel del volumen de entrada, como lo veremos más adelante.

Naturalmente, si hemos optado por utilizar el servidor de audio JACK (con el cual butt también es compatible), tendemos un ruteo de audio virtualizado mas avanzado con lo cual, podremos configurarle su entrada, pero también podremos utilizar el servidor de audio tradicional.

No bien hayamos cumplido con este paso obvio, en segundo lugar debemos instalar la aplicación de streaming. Esto es simple de hacerlo desde la terminal, abriendo una con Ctrl+Alt+t e ingresando el siguiente comando de organización:

sudo apt update && sudo apt install butt

Una vez instalado este ominoso programa, podremos ejecutarlo desde Aplicaciones / Sonido y Video / butt.

Arrancará y demostrará en el display la indicación "idle" ("en espera").

Para configurar el servidor de emisión manualmente, en la ventana de Butt se hará necesario hacerlo por única vez. Para ello presionamos el botón Settings, lo que desplegará las ventana de configuración. 

En su solapa Main y en su apartado Server, debemos presionar el botón Add para agregar un servidor (podemos tener la cantidad que anhelemos). 

Se desplegará la ventana server, la cual habremos de utilizar para configurar los datos de un servidor de radio en vivo disponible (butt es compatible tanto con servidores de tipo ShoutCast e IceCast).

  • Name: Ingresa el nombre del servidor
  • Type: Elige Shoutcast o Icecast
  • Address: Dispone la URL del servidor
  • Port: Numero del puerto
  • Password: contraseña alfanumérica para el emisor.
  • IceCast mountpoint: Punto de montaje del fichero de stream
  • IceCast User: nombre del usuario

Conforme hayamos ingresados los datos del servidor de streaming remoto, guardamos la misma presionando el botón Save.

Acto seguido debemos compatibilizar las opciones de audio. Escoge la solapa Audio y dispone los datos en el apartado streaming que sean indicados por el propietario del servidor que utilices:

  • Codec: OGG/VORBIS o MP3.
  • Bitrate Escoge la calidad de audio del servidor en kilobytes por segundo

Opcionalmente podrás presionar el botón Advanced… y elegir un tamaño de Buffer (ms) adecuado para tu velocidad de transmisión. Por defecto es de 50, pero si tu velocidad de conexión es muy lenta puede querer elevarlo a 250 o más si la transmisión se entrecorta.

Ya ahora tenemos todos listo para comenzar a stremear por el butt. Para ello presionamos el botón Play.

El display indicará connecting… y una vez establecido en enlace, informará Streaming e indicará el tiempo de emisión.

A partir de este momento podremos utilizar nuestro reproductor de audio favorito para escuchar y emitir música a la vez. Todo lo que oigas en tu computadora será codificado al vuelo y emitido a nuestra radio en vivo. Si en tu equipo utilizas JACK podrás rutear tus dispositivos, utilizar micrófonos para emitir en vivo, etcétera.

Butt mostrará el audio por medio de sus vúmetros en forma de LED. Al respecto debemos tener cuidado de regular el nivel del volúmen entrada para que los niveles más altos de sonido (picos) lleguen únicamente al primer LED ámbar (en lo posible jamás deben llegar al rojo, señal de aturdimiento).

Debemos recordar que en el caso de utilizar el mezclador interno estéreo, todo lo que oigamos en el equipo será emitido por streaming al servidor de audio (probablemente de manera pública). Naturalmente que hemos de ser precavido con lo que emitimos.

El botón Rec nos permitirá utilizarlo como un grabador de audio.

Para detener la emisión, presionamos el botón Stop.

lunes, 25 de julio de 2022

¿Cómo cambio mi contraseña de Root en Ubuntu?

Hoy está de moda el uso de la biométrica para signar el acceso a los medios electrónicos más diversos, e incluso las huellas dactilares pueden cumplir tal rol. Pero quiero ver cómo entran a un sistema cuando les faltan las manos...

Pero mas vale eso que perder la memoria: olvidar una contraseña de sistema es algo que - a pesar de lo extraño - puede sucedernos sin que podamos preverlo. Es por ello que poder alterar la contraseña de un Ubuntu al cual tenemos acceso físico puede constituir un conocimiento que - en beneficio de todos - debemos llevar en nuestra mochila de mariscal.

Es sabido que en todo Movimiento ha de producirse en una Organización sin la cual, nada puede hacerse de forma duradera. Sólo la organización trascenderá en el tiempo, ya que los hombres, por simple biología, somos perecederos. Un sistema de cómputo de tipo GNU no podía estar ajeno a tal adagio, ya que en él los roles que caben a sus usuarios se basan en una férrea interpretación de una jerarquía doctrinaria. Es que sobre una masa de usuarios convencionales encontraremos a un Conductor, que en el sistema se denomina super-usuario - o en el idioma de Braden, "root". Este se sienta - por decir - en trono de oro, y es capaz de observar las acciones de todos los demás usuarios del ordenador. Su fin es convertirse en máxima autoridad administrativa del sistema y de su autenticación podrá poner coto a las acciones de cualquiera que intente obrar dentro de este software organizado. Es así que este Conductor será capaz por esta vía de sobreactuar o alterar las acciones y permisos de cualquier usuario normal.

Este es el verdadero motivo por el cual - al realizar en GNU acciones tales como la actualización de sistema, instalación de aplicaciones y configuraciones generales - se nos suele requerir certificar el permiso de root, por medio de una una contraseña de root, la cual es chequeada contra una almacenada de forma cifrada en el fichero /etc/shadow.

Pues bien señores, querrán saber ¿qué sucede cuando un usuario normal o un administrador de sistema olvida su contraseña de usuario?. Durante tales incidentes, podríamos considerar reinstalar nuestro sistema Ubuntu "a tontas y a locas". Pero el Justicialismo para todo tiene un backdoor que llena con la potencia de su Doctrina. Os guiaré por tanto para otorgar la penicilina que sane de manera definitiva este inconveniente.

Cambiar la contraseña del testigo de autenticación en Ubuntu, podremos abrir una terminal, e ingresar:

passwd

El sistema nos solicitará la contraseña actual, y tras introducirla a ciegas, nos solicitará la nueva contraseña dos veces. Como es sabido, convienen utilizar una contraseña fuerte que combine caracteres y números, y no sean palabras del diccionario.

Resetear la contraseña olvidada en Ubuntu

La solución a este problema radica reiniciar nuesatro Ubuntu, y acceder al menú de arranque Grub, y dar inicio al sistema a través del Modo de Recuperación.

Para ellos reiniciamos nuestro sistema, y una vez que se apague la pantalla de la computadora, debemos presionar repetida y continuadamente la tecla Esc o la tecla Mayúsculas hasta que nos redirija a la pantalla del menú de arranque Grub.

En la pantalla del menú GNU Grub encontraremos varias opciones de arranque. Debemos utilizar las teclas flechas arriba y flecha abajo del cursor para movernos y navegar hasta el segmento Advanced Options for Ubuntu (Opciones Avanzadas para Ubuntu), y la elegimos con la Tecla Intro.

Al hacerlo nos redirigirá a otra ventana de Grub y en ella debemos elegir la versión del kernel más reciente que nos redirigirá al Ubuntu (recovery mode).

Se cargará el kernel (debemos de esperar varios segundos hasta que la ventana negra termine su ejecución), y tras ello aparecerá la ventana del Menú de Recuperación ("recovery-menu") con varias opciones administrativas:

resume    Continuar con el arranque normal
clean    Intentar liberar espacio
dpkg    Reparar paquetes rotos
fsck    Revisar todo el sistema de archivos
grub    Actualiza el cargador de arranque
network    Activar la red
root    Consola de super-usuario
system-summary    Resumen de sistema

Habremos de navegar hasta la opción nomenclada como root - Consola de super-usuario (o bien "Drop to shell prompt" si está en inglés), y debemos presionamos la tecla Intro.

Debajo de las opciones del menú de recuperación, se nos indicará que podremos ingresar al intérprete del mantenimiento si presionamos la tecla Intro (o bien podremos usar Ctrl+d para abandonarlo y continuar con el arranque).

Una vez que se nos muestre un prompt similar a:

root@sistema:~#

Si por algún caso no tuviésemos la partición de root montada, debemos hacerlo, y con permiso de lecto-escritura (ya que normalmente se carga en modo sólo lectura).

 Esto ser hará introduciendo directamente en el prompt # el siguiente comando de organización:

mount -rw -w remount / 

(nota: en caso de que el disco ya esté montado, nos lo informará con un error).
 
Ahora ya podremos resetear la contraseña del root del sistema, e incluso de usuario si lo deseamos. Para poder hacerlo, debemos identificar al usuario asociado con ella. Para ver los usuarios del Ubuntu, los listaremos con:

ls /home


Luego de identificar al usuario administración alteraremos la contraseña de usuario que queramos mediante la siguiente sintaxis del comando passwd:

passwd usuario_root

El programa passwd nos permitirá cambiar la contraseña; nos solicitará ingresar dos veces "a ciegas" la contraseña nueva de modo de re-confirmar esta contraseaña nueva.

Ya hemos logrado resetear la contraseña del root del sistema Ubuntu. Naturalmente, de tener que hacer una copia, debemos resguardarla en un lugar sumamente seguro (una caja fuerte puede ser una buena opción, pero la mejor es contar con buenas neuronas).

Ahora podremos salir del intérprete de administración ingresando:

exit

Esto nos devolverá nuevamente a la ventana Recovery Menu. Debemos elegir ahora la opción resume - Continuar con el arranque normal

Podemos ignorar tranquilamente cualquier advertencia de modo gráfico, ya que un reinicio completo del sistema la solucionará.


Basado en la contraseña de usuario que hemos configurado, deberíamos ser capaces de reingresar nuevamente a nuestro sistema como usuario administrativo/root.

Con este conocimiento adquirido ya no debemos preocuparnos de perder el control de nuestros privilegios de Conducción en un sistema ubuntu, ya que podremos fácilmente recuperarlos.

Quitar el menú de recuperación de Grub

Sin embargo, gracias a esta enseñanza sabemos que esta famosa "contraseña de Ubuntu" es fácilmente modificable para quien tenga acceso al equipo en sí. Por tal motivo, si queremos seguridad en nuestro sistema, debemos recurrir a encriptados fuertes del disco rígido, o bien a quitar directamente la opción del menú de recuperación de Grub.
 
Esto debe meditarse ya que no podremos dar con estas soluciones de emergencia. Pero si queremos seguridad podremos contar con ella alterando la configuración de Grub. Para ello ingresamos:

sudo nano /etc/default/grub

Y buscamos la opción:

#GRUB_DISABLE_RECOVERY="true"

Y la descomentamos eliminando el #, de modo que quede:

GRUB_DISABLE_RECOVERY="true"

Guardamos los cambios con Ctrl+x y salimos del editor con Ctrl+q y finalmente actializamos el arrancador Grub para que tome los cambios que le hicimos con

sudo update-grub

Al reiniciar el equipo dejaremos de contar con la opción de recuperación y contaremos con un equipo algo más asegurado contra intrusiones (pero sin posibilidad de activar el modo de recuperación).

jueves, 21 de julio de 2022

¿Cómo instalo Lotus 1-2-3 y WordPerfect para Unix nativamente en Ubuntu?

Juan Perón consagró el nativismo a la política nacional haciéndose partícipe de la experiencia originaria. En una entrevista con su biógrafo, honra tal condición y expone cómo instalar Lotus 1-2-3 y WordPerfect de forma nativa en Ubuntu.

(...)

Me contaba mi abuela que cuando Lobos era apenas un fortín, ellos ya estaban allí… Mi abuela inmemorial era lo que bien podemos describir como una mujer machaza, que conocía todos los secretos del campo. Cuando la vieja solía contar que había sido cautiva de los indios yo le preguntaba: "Entonces abuela… ¿yo tengo sangre india?" Me gustaba la idea ¿sabe? Y creo que, en realidad, tengo algo de sangre india. Míreme: pómulos salientes, cabello abundante… En fin, poseo el tipo indio. Y me siento orgulloso de mi origen indio, porque yo creo que lo mejor del mundo está en los humildes.

De esto he obtenido valiosas experiencias, aunque esta siempre se encuentra situada en tiempo y espacio, y éste es intransferible. El software privativo puede llegar a ser más evolucionado que el libre, pero cuanta más inteligencia tiene el ser humano, cuantos más medios económicos y culturales disfruta, más peligro puede traer a sus semejantes. Y esto sin duda se refleja en la RAM. En lo que respecta al uso de nuestro cómputo, podríamos fungir el uso de aplicaciones antiguas utilizando un emulador, pero siempre digo que en computación "emular es meter la mula".

Mas vale operar software de manera nativa, y esta indiada es posible satisfacerla en GNU con Linux usando cierta maña, siempre que demos rienda suelta a las compilaciones obradas para UNIX, y engualichando aquellos viejos portes de sistemas operativos privativos.

Lotus 1-2-3 Release 3.1 para Unix System V/386 en Ubuntu

Vean señores, pocos pueden albergar dudas aún que Lotus 1-2-3 se convirtió, por mérito propio, en la aplicación asesina del IBM PC, y como tal resultó increíblemente popular ya desde sus inicios en 1982. El programa era como las tres marías: unía una planilla de cálculo, una base de datos, y la interesante función de gráficas estadísticas, en un paquete de ocasión que podía revolearse en cualquier negocio que se cuadrase. Esta inteligente opción, unida a una máquina que era capaz de operarlo, no tardó en desplazar a las microcomputadoras hogareñas más limitadas. Pero fíjese m'hijo como fue esta cosa: lo extendido del programa hizo que Lotus se regodease en dinero, y para 1990 maloneó un Lotus 1-2-3 nativo para Unix, certificado para el prominente SCO Xenix y su hijo SCO UNIX (aquél que incorporaba ya un kernel oficialmente licenciado por la AT&T).

Aún así, podría parecer que adaptar el Lotus 1-2-3 Release 3.1 de AT&T Unix System V/386 para correr nativamente en nuestra toldería GNU con Linux actual es tarea insuperable. Al fin y al cabo tendríamos que descargar dependencias de antediluvianas, hacernos con las imágenes de diskettes de Lotus 1-2-3 para este UNIX, engualichar y compilar todo. Pero mi rol como Conductor de Movimiento me ha impuesto hacerlo, y en tal capacidad he de decirle que podrán obrar de manera cristiana gracias al Justicialismo. Esto implica abrir una terminal con Ctrl+Alt+t y pegar en la consola el siguiente grupo de Comandos de Organización:

sudo apt install build-essential git lib32ncurses-dev gcc-multilib -f ;
cd ~ ;
git clone https://github.com/taviso/123elf ;
cd ~/123elf ;
./objdump --info | grep coff-i386 ;
./binutils.sh ;
./gzip.sh ;
wget https://archive.org/download/123-unix/123UNIX1.IMG ;
wget https://archive.org/download/123-unix/123UNIX2.IMG ;
wget https://archive.org/download/123-unix/123UNIX3.IMG ;
wget https://archive.org/download/123-unix/123UNIX4.IMG ;
wget https://archive.org/download/123-unix/123UNIX5.IMG ;
./extract.sh ;
make ;
sudo make install

Estos procedimientos automatizados solicitarán en primer medida vuestra contraseña de root, y tras ingresarla en el termina, se irá al humo: La CPU obrará en secuencia y tras unos pocos segundos o minutos (dependiendo de lo vivo que sea el microprocesador), ¡tendremos instado Lotus 1-2-3 para UNIX System V/386 telúricamente en nuestro sistema operativo Ubuntu!

Para ejecutar ahora Lotus 1-2-3 en la terminal, simplemente le pegamos el siguiente grito:

123

Esta planilla de cálculo era - por entonces - muy amigable de utilizar. La pantalla se componía por un "panel de control" o barra de menú, un área de hoja de trabajo, y una línea de status.

La navegación entre celdas se realizaba moviendo el puntero de celda iluminado con las flechas del cursor, lo que podíamos combinar con la tecla Fin para desplazarnos a la última celda libre.

Debíamos utilizar / para activar el menú con ayuda explicativa y movernos con las flechas del cursor


Por ejemplo, para cargar un fichero podremos usar /f para ir al menú "File" ("fichero") y escoger la opción Retrieve ("cargar") o bien Save ("guardar"). Lotus utilizaba varios formatos, entre ellos .123, .wks, .wk1, .wk2, .wk3, .wk4, lo que nos permitirá abrir archivos del año del ñaupa (compatibles hoy con la mayoría de las aplicaciones como LibreOffice).

Para introducir el texto podíamos utilizar F2, y podíamos darle cierto formato mínimo con circunflejo, diéresis, o comilla, de esta forma: ^textocentrado, 'justificadoizquierdo, o "justificadoderecho.

Las funciones de cálculo de la planilla utilizaban la @ en lugar del =. Sin embargo, estas solían tener el mismo nombre que las actuales, así que podremos utilizar @SUM, @AVG, @INDEX, e incluso @HLOOKUP sin problemas.

Lotus 1-2-3 contaba con gráficas ASCII, lo que le daban por entonces cierto prestigio.

Incluso podríamos disfrutar de su interactividad en la misma tabla, años por delante del inefable Exc€l.

Una de las funciones típicas era la de poder abrir un intérprete, desde el menú System. (cerrándolo con exit o Ctrl+d volveríamos a Lotus). Para salir de esta clásica planilla de cálculo, nos dirigimos al menú Quit. Tras responder afirmativamente, cerraremos Lotus.

Debemos considerar que las muy extendidos modificaciones con Alt se reemplazan hoy con Ctrl. De este modo:

F1: Ayuda contextual
Ctrl+F1: Compone
F2: Editar
Ctrl+F2: Graba macros
F3: Nombre
Ctrl+F3: Corre macros
F4: Abs
Ctrl+F4: Deshacer
F5: Ir a.
Ctrl+F5:
F6: Ventana
Ctrl+F6: Zoom
F7: Solicitud
Ctrl+F7
F8: Tabla
Ctrl+F8
F9: Cálculo
Ctrl+F9
F10: Gráficos
Ctrl+F10

Si bien como todo programa UNIX que se precie, Lotus 1-2-3 Release 3.1 cuenta con una página man de instrucciones (podremos verla ingresando man 123), será útil visitar la Wiki de Lotus 1-2-3 para Unix. Pero no solo eso: tendremos a nuestra disposición la frondosa Documentación original de Lotus 1-2-3 para Unix, especialmente la Guía Rápida Inicial, el Manual de Referencia, el Tutorial (todos ellos en el idioma de Braden).

Una vez realizada estas tareas de compilación, ya no será necesario conservar el código fuente del Lotus. Lo podremos eliminar con:

rm -R ~/123elf

Wordperfect 7.0 para Unix en Ubuntu

Otros de los programas que podremos correr nativamente en Ubuntu es el superclásico procesador de texto WordPerfect.

A diferencia del Lotus 1-2-3, WordPerfect no fue originalmente una aplicación escrita para M$-DO$, sino que fue realizado en la Universidad Brigham Young para la minicomputadora Data General Nova. Sería recién a partir de 1980 que esta notable aplicación resultó portada pensando en los sistemas más pequeños, iniciando con M$-DO$ en 1982, pero otras microcomputadoras hogareñas como las microcomputadoras Atari ST, Commodore Amiga, y la Appl€ II y IIG$ (sobre MacO$ clásico), así como otros entornos tales como DEC OpenVMS, NeXTstep, e incluso IBM OS/2. Junto a todas estas tribus, existieron versiones apuntadas para las estaciones de trabajo provistas de los variados UNIX desperdigados por las Pampas, incluyendo SCO Xenix.

WordPerfect contaba con una interfaz de usuario absolutamente idiosincrática que dependía de una utilización cuasi demencial de las teclas de función y de el manual de WordPerfecto 7.0 para UNix, un bibliorato de 600 páginas. Cada una de estas teclas contaba con un significado diferente, el cual podía combinarse con Mayúsculas, Alt y Ctrl. Aún así era complicado de recordar, por lo que incluso sus usuarios experimentados debían recurrir a una plantilla de teclado (una tira de cartón perforado adaptable al reborde del teclado IBM estándar del momento, que servía para nomenclar las teclas de función.

Esta plantilla funcionaba como una especie de protección contra copia, ya que como las versiones pirateadas no lo traían, era prácticamente imposible de utilizar sin este ridículo machete. Más de uno fotocopió esta plantilla, la caló con un cutter y aprovechó tal enjundio para reemplazar la original.

En particular gracias a éste, el compañero Tavis Ormandy ha sido capaz de recompilar la versión de Corel WordPerfect 7.0 que lo tenía como destinatario, con lo cual seremos capaces de utilizarlo en ventana de terminal en modo texto (incluso en una consola de Linux).

Podremos instalar este WordPerfect 7 de modo texto en cualquier distribución de Ubuntu o Debian de 32 bits, y correrá feliz en un 256 MB de RAM. Para instalarlo en Ubuntu abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo dpkg --add-architecture i386 ;
sudo apt update ;
cd /tmp ;
wget https://github.com/taviso/wpunix/releases/download/v0.03/wordperfect7.0_i386.deb ;
sudo dpkg -i wordperfect7.0_i386.deb
mkdir ~/.wprc/ ~/.wprc/wp70/
cp -r /opt/wp70/wpmacros/ ~/.wprc/wp70/

Acto seguido, podremos ejecutarlo por medio de

wp

La primera vez quer lo corramos se nos presentará el splash y estaremos en el clásico editor, ¡en nuestra terminal!

Podremos empezar a ingresar texto a la vieja usanza directamente, notando que no acepta codificación UTF-8.

Si queremos la clásica visión de fondo azul, debemos ir a Files / Setup / Display y elegimos 1 (Colors/Fonts/ Atributes) y en el cuadro de diálogo ponemos todas las opciones "BG" ("Fondo") en "f", que representa al color azul, y presionamos F7 para aplicar el cambio.

También podremos usar Files/Setup/Location of Files y establecer la opción 2 en /home/$USER/.wprc/wp70/wpmacros/ si deseamos contar con macros editables.



WordPerfect no era WYSIWYG, por lo que para ver el código fuente típico de WordPerfect, hemos de obrar con Ctrl+Mayúsculas+F3.

En particular debemos entender que WordPerfect 7 for Unix contempla cierta combinación extraña de características del WordPerfect clásico (las versiones para PC previas anteriores a la 5): F1 repite caracteres y F3 para Ayuda, y otras que se encontraban a partir de la versión 5 y posterior, incluyendo los menús pull-down, aunque aquí se acceden con Esc+= en lugar de utilizar Alt o F10 como en DOS.

En fin, WordPerfect para Unix es un procesador de texto poderoso y capaz, que no requiere escritorio gráfico alguno y podremos finalmente ejecutar de forma nativa en Ubuntu. De hecho, es el más rico procesador de texto para modo texto que haya existido o existirá.

martes, 19 de julio de 2022

Estrenamos nuevo diseño

El blog Ubuntu Peronista se ha caracterizado por su enconada lucha por el adoctrinamiento de las Masas en el banderas del Justicialismo y del Software Libre, y por su duradero diseño. Hoy estrenamos un remozado del mismo, pensado para adecuarse con mayor comodidad a los monitores de definición extrema.

Esto responde a la masificación del estándar Full HD, con unos 1920 pixels de ancho en lugar de los anteriores 800 o 1024 de la antigua norma SVGA. El nuevo diseño también es capaz de operar también en los modernos monitores 4K o 5K . Los resultados con la función HiDEP han mejorado.


Nuevo nuevo diseño, que es el del Pueblo, mejora la visibilidad de sus tipografías en teléfonos celulares ya que ahora no se requiere hacer zoom a nivel fijo para leerlo, y adopta su inefable "modo nocturno" si el usuario lo desea.
No obstante los cambios, el blog mantiene su clásico concepto gráfico panfletario, soportado por las masas obreras peronistas movilizadas.

Ubuntu Peronista se declara como puntal de avance en la lucha por un Software Libre, Justo y Soberano.

domingo, 17 de julio de 2022

¿Cómo compilo la última versión de DOSBox-X en Ubuntu?

¡Trabajadores!

Los cimientos de las realizaciones que hemos instaurado para el pueblo son sólidos y se reflejan en la felicidad de todos los Argentinos. No podía ser de otra manera, en tanto mantengamos el rumbo de la liberación que, hemos de decirlo, es el único camino que nos resultará venturoso.

El año 2000 nos encontrará unidos, o dominados, y esta hoja de ruta que les dejo habrán de recorrerla sin desviarse demasiado. Si lo hacen, no sólo pincharán la goma del auto, sino que se irán a la banquina. 

Todo lo que hemos hecho ha sido mirando hacia adelante, y confiando en el momento en el cual otros tengan el volante, podrán conducir de una forma que sin ser la mejor, sea al menos virtuosa.

En esto hay que replicar también lo que hace a sistemas de cómputo. Veamos un ejemplo que podrá ilustrarnos, como decía el Mariscal de Sajonia.

DOSBox-X se trata de una versión expandida del famoso emulador de MS-DO$. En particular, a diferencia del DOSBox clásico, DOSBox-X es más simple de configurar e incluye opciones corregidas en cuanto al direccionamiento y virtualización del hardware, además de contar con opciones extras.

Para poder utilizarla debemos primero compilarla: "Compilar, base para Ejecutar. Ejecutar, base para Copiar. Y Copiar, base para Compartir". En Ubuntu 20.04LTS y superiores esto puede fácilmente con el afán del guión de programación surtido por el compañero Fanta.

Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:

cd ~
git clone http://git.56k.es/fanta/compile-Dosbox-x
mv compile-Dosbox-x/ .compile-dosbox-x/
cd ~/.compile-dosbox-x/
wget https://dosbox-x.com/images/dosbox-x-logo.svg

...tras lo cual procederemos a compilarlo mediante:

sudo ./compileDosBox-x.sh
sudo mv
~/.compile-dosbox-x/dosbox-x-logo.svg /usr/share/icons/

Acto seguido, podremos ejecutar DOSBox-X desde Aplicaciones / Juegos / DOSBox-X.

La primera vez que lo hagamos, nos solicitará un directorio de trabajo. En mi caso prefiero crear uno llamado ~/.jdos.

...cumplido este requisito estaremos inmediatamente en la máquina virtual...

Y tras ella se dará incio al intérprete de DOS. Podremos hacer pantalla completa con F12+F,

 También será posible montar un directorio como unidad de disco (C: en el MS-DOS). Por ejemplo, si quiesiera montar un directorio llamado ~/.jdos utilizaríamos en el emulador:

mount c ~/.jdos

De entrada contaremos con un equipo XT compatible, de mediocres performance (emulada a 3 MHz). Pero nada quita que - virtualmente - podamos "meter mano al gabinete"  y así configurar los distintos aspectos del emulador con F12+c.

Naturalmente, también podríamos editar a mano el fichero de configuración ~/.config/dosbox-x/dosbox-x-0.84.2.conf. En mi caso me gusta indicarle el montaje automático del directorio .jdos que utilizo para almacenar programas de DOS.

Las teclas de atajo por defecto son:

  • F12+f Conmuta pantalla completa.

  • F12+q Lanza un ejecutable de DOS.
  • F12+r Resetea la máquina virtual DOSBox-X.

  • F12+b Reinicia el DOS emulado.

  • F12+c Configuración gráfica.

  • F12+m Da inicio al mapeador de DOSBox-X.

  • F12+Esc Conmuta la barra de menú pulldown.

  • F12+Del Envía un evento de teclas especial (por defecto un reset con Ctrl+Alt+Del) al sistema huésped.

  • F12+{+} Incrementa el volumen de sonido del DOS.

  • F12+{-} Disminuye el volumen de sonido del DOS.

  • F12+] Incrementa los ciclos emulados de DOS

  • F12+[ Diminuye los ciclos emulados de DOS.

  • F11+= Incrementa los ciclos de emulación de CPU de DOSBox-X.

  • F11+- Diminuye los ciclos de emulación de CPU de DOSBox-X.

  • F12+arriba Incrementa el tamaño de la fuente TrueType.

  • F12+Abajo Disminuye el tamaño de fuente TrueType.

  • F12+Izq Resetea la velocidad de CPU actual a la normal.

  • F12+Der Activa el bloqueo de velocidad de DOSBox-X.

  • F12+d Cambia entre imágenes montadas de CD.

  • F12+o Cambia entre imágenes montadas de diskettes.

  • F12+p Captura la pantalla actual en formato PNG.

  • F12+I Inicia/Detiene captura de video en AVI.

  • F12+W Inicia/Detiene captura de sonido en WAV.

  • Alt+Pause Inicia depurador.

  • F12+[,] Selecciona el slot previo para guardar o cargar.

  • F12+[.] Selecciona el siguiente slot de grabación para guardar o cargar.

  • F12+S Guarda el estado actual en el slot de grabación elegido.

  • F12+L Carga el estado del slot de grabación.

  • F12+Pause Pausa la emulación (presione nuevamente para continuar).

  • Ctrl+F5 Copia todo el texto en la ventana de DOS y la pega en el portapapeles.

  • Ctrl+F6 Pega el texto del portapapeles en la ventana de DOS.

  • Ctrl+F9 Sale de DOSBox-X.

  • Ctrl+F10 Captura el mouse para usarlo en el DOS Emulado.

También podrán pasar DOSBox-X al castellano y configurarlo mediante un fichero de configuración que os dejo a mano:

cd ~/.config/dosbox-x/ ;
wget https://raw.githubusercontent.com/joncampbell123/dosbox-x/master/contrib/translations/es/es_ES.lng ;
https://caja.texto-plano.xyz/peron/config/dosbox/dosbox-x-0.84.2.conf ;

A diferencia del DOSBOX Clásico, ahora contaremos con menúes pulldown que nos permitirán ajustar variadas opciones (incluyendo montaje más simple de diskettes e imágenes de CD, desde el menú DOS).
 

También contaremos con opciones avanzadas, como un menú de configuración de sonido más sencillo (con el que podremos utilizar Soundfonts para simular sonido AWE-32 o bien Roland MT-32).

Entre otras novedades se encuentra la implementación de fuentes TrueType. Gracias a ello podremos cambiar la tipografía en el modo de terminal DOS (aunque en general prefiero fuentes PxPlus VGA Square para tal menester).

En definitiva, una excelente opción para jugar con antiguo software DOS por la Liberación del Pueblo y de su Hardware.

Podrán encontrar la documentación en la Wiki oficial de DOSBox-X.